Files
sillytavern-repalice/STATUS.md
2026-04-24 01:45:41 +08:00

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 组件
      • 聊天列表
      • 新建聊天
      • 删除/重命名
  • CenterPanel 组件

    • MessageList 组件
      • 消息渲染
      • Swipe 功能
      • 滚动加载
    • ChatInput 组件
      • 文本输入框
      • 发送按钮
      • 快捷命令
    • 流式响应显示
  • RightPanel 组件

    • CharacterDetail 组件
      • 角色信息编辑
      • 头像上传
      • 世界书绑定
    • WorkflowEditor 组件 (基础版)
      • 节点拖拽
      • 连接线绘制

优先级 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)
      • 关键用户流程
  • 安全性

    • 输入 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 库

📝 开发笔记

当前状态

  • 项目架构已搭建完成
  • 所有占位文件已创建
  • 类型定义完整
  • ⏸️ 等待开始实现具体业务逻辑

已知问题

  • 无 (尚未开始实现)

技术债务

  • 无 (项目刚启动)

风险提示

  1. SillyTavern 格式兼容性: 需要持续对照官方文档验证
  2. Vercel AI SDK v4: 较新版本,可能需要探索最佳实践
  3. 工作流引擎: 复杂度较高,需要仔细设计

最后更新: 2026-04-24
更新者: AI Assistant