7.9 KiB
7.9 KiB
项目状态清单
✅ 已完成
架构设计
- 确定技术栈 (NestJS + Vue3 + Vercel AI SDK)
- 设计 MVC 分层架构
- 规划目录结构
- 定义依赖注入策略
- 设计双数据格式策略
共享层 (Shared)
- SillyTavern 兼容类型定义 (
sillytavern.types.ts)- WorldInfo (世界书)
- CharacterCard (角色卡 V2/V3)
- ChatLog (聊天记录 JSONL)
- GenerationPreset (预设)
- 项目内部扩展类型定义 (
internal.types.ts)- 4种激活方式枚举 (PERMANENT, KEYWORD, RAG, LOGIC)
- LogicExpression (逻辑表达式)
- RAGConfig (RAG 配置)
- OutputSchema (Vercel AI SDK 输出 schema)
- Workflow (工作流定义)
- 数据转换器 (
converters.ts)- ST ↔ Internal 双向转换
- 日期格式规范化
- 激活类型推断
- Zod Schemas 运行时验证
- SillyTavern schemas
- Internal schemas
后端 (Server)
- NestJS 项目骨架
- TypeScript 配置
- 主入口文件 (
main.ts) - 应用模块 (
app.module.ts) - 核心基础设施
- HTTP 异常过滤器
- 日志拦截器
- 响应拦截器
- 业务模块占位
- ChatModule
- CharacterModule
- LLMModule
- ImportExportModule
- WorkflowModule
- 持久化层骨架
- PersistenceModule
- FileSystemRepository (占位)
前端 (Client)
- Vue3 + Vite 项目骨架
- TypeScript 配置
- Vite 配置 (含代理)
- 路由配置 (
router/index.ts) - Pinia Store (
useAppStore.ts) - 全局样式
- CSS Reset
- CSS Variables (主题系统)
- 布局组件
- MainLayout
- TopBar (占位)
- LeftPanel (占位)
- CenterPanel (占位)
- RightPanel (占位)
DevOps
- Docker Compose 配置
- Backend Dockerfile (多阶段构建)
- Frontend Dockerfile (多阶段构建 + Nginx)
- Nginx 配置 (反向代理 + 静态资源)
- .gitignore
- .env.example
- Monorepo package.json
文档
- README.md (项目概览)
- ARCHITECTURE.md (架构设计文档)
- QUICKSTART.md (快速开始指南)
- STATUS.md (本文件)
🚧 进行中
无 (当前处于架构搭建完成阶段)
⏳ 待实现
优先级 P0 (核心功能)
后端实现
-
持久化层
- FileSystemRepository 完整实现
- 文件路径管理工具
- 原子写入 (防止数据损坏)
- 自动备份机制
-
角色卡模块
- CharacterController (CRUD 端点)
- CharacterService (业务逻辑)
- PNG 元数据解析 (嵌入/提取 JSON)
- 角色卡验证器
-
聊天模块
- ChatController (CRUD 端点)
- ChatService (业务逻辑)
- JSONL 文件读写
- 消息 swipe 管理
- 聊天元数据管理
-
LLM 集成
- Vercel AI SDK 配置
- LLMController (聊天端点)
- LLMService (流式响应)
- Provider Factory (OpenAI, Anthropic)
- Token 计数和限制
-
世界书模块
- WorldInfoController
- WorldInfoService
- 激活策略实现
- KeywordActivationStrategy
- PermanentActivationStrategy
- RAGActivationStrategy
- LogicActivationStrategy
- 关键词匹配引擎
前端实现
-
API 客户端
- Axios 实例配置
- 请求/响应拦截器
- 错误处理
- API 方法封装
-
状态管理
- useCharacterStore
- useChatStore
- useWorldInfoStore
- useLLMStore
-
TopBar 组件
- 模型切换器
- 快速操作按钮
- 主题切换
-
LeftPanel 组件
- CharacterList 组件
- 角色卡片展示
- 搜索和过滤
- 拖拽排序
- ChatHistory 组件
- 聊天列表
- 新建聊天
- 删除/重命名
- CharacterList 组件
-
CenterPanel 组件
- MessageList 组件
- 消息渲染
- Swipe 功能
- 滚动加载
- ChatInput 组件
- 文本输入框
- 发送按钮
- 快捷命令
- 流式响应显示
- MessageList 组件
-
RightPanel 组件
- CharacterDetail 组件
- 角色信息编辑
- 头像上传
- 世界书绑定
- WorkflowEditor 组件 (基础版)
- 节点拖拽
- 连接线绘制
- CharacterDetail 组件
优先级 P1 (增强功能)
-
导入导出模块
- SillyTavern 格式导入
- SillyTavern 格式导出
- 批量导入
- 数据迁移工具
-
工作流引擎
- WorkflowService (执行引擎)
- 并行节点执行
- 条件分支
- 动态提示词拼接
-
RAG 库管理
- RAGLibrary CRUD
- 文档上传和解析
- Embedding 生成
- 向量检索
-
预设管理
- Preset CRUD
- 预设切换
- 采样参数 UI
-
通用组件库
- BaseButton
- BaseIcon
- BaseModal
- BaseInput
- BaseSelect
优先级 P2 (优化和测试)
-
性能优化
- 聊天列表虚拟滚动
- 图片懒加载
- API 响应缓存
- LLM 响应缓存
-
测试
- 单元测试 (Jest)
- Services 测试
- Tools 测试
- Converters 测试
- 集成测试
- Controller + Service 测试
- E2E 测试 (Playwright)
- 关键用户流程
- 单元测试 (Jest)
-
安全性
- 输入 sanitization
- 文件上传扫描
- API 速率限制
- CORS 严格配置
-
错误处理
- 全局错误边界
- 友好的错误提示
- 错误日志记录
-
文档
- API 文档 (Swagger/OpenAPI)
- 用户手册
- 开发者贡献指南
优先级 P3 (额外功能)
-
国际化 (i18n)
- 中文界面
- 英文界面
- 语言切换
-
主题系统
- 暗色/亮色主题
- 自定义主题色
- 主题保存/加载
-
快捷键
- 常用操作快捷键
- 快捷键自定义
-
插件系统
- 插件加载器
- 插件 API
- 示例插件
📊 进度统计
| 类别 | 已完成 | 总数 | 完成率 |
|---|---|---|---|
| 架构设计 | 5 | 5 | 100% |
| 共享层 | 6 | 6 | 100% |
| 后端骨架 | 8 | 8 | 100% |
| 前端骨架 | 9 | 9 | 100% |
| DevOps | 7 | 7 | 100% |
| 文档 | 4 | 4 | 100% |
| 核心功能 | 0 | ~50 | 0% |
| 增强功能 | 0 | ~20 | 0% |
| 测试优化 | 0 | ~15 | 0% |
| 总计 | 39 | ~114 | ~34% |
注: 当前处于架构搭建完成阶段,下一步开始实现核心业务逻辑。
🎯 下一个里程碑
Milestone 1: 基础 CRUD (预计 2-3 周)
- 完整的角色卡管理 (创建、读取、更新、删除)
- 基础的聊天功能 (发送消息、接收回复)
- 简单的 UI 界面 (可操作的组件)
- 本地文件系统持久化
Milestone 2: LLM 集成 (预计 1-2 周)
- Vercel AI SDK 集成
- 流式聊天响应
- 多 Provider 支持
Milestone 3: 导入导出 (预计 1 周)
- SillyTavern 格式兼容
- 数据转换器完善
Milestone 4: 高级功能 (预计 3-4 周)
- 世界书管理
- 工作流编辑器
- RAG 库
📝 开发笔记
当前状态
- ✅ 项目架构已搭建完成
- ✅ 所有占位文件已创建
- ✅ 类型定义完整
- ⏸️ 等待开始实现具体业务逻辑
已知问题
- 无 (尚未开始实现)
技术债务
- 无 (项目刚启动)
风险提示
- SillyTavern 格式兼容性: 需要持续对照官方文档验证
- Vercel AI SDK v4: 较新版本,可能需要探索最佳实践
- 工作流引擎: 复杂度较高,需要仔细设计
最后更新: 2026-04-24
更新者: AI Assistant