云酒馆 - 功能模块梳理
本文档梳理了云酒馆(SillyTavern Cloud)项目的完整功能模块,分为核心功能(必须与原版酒馆兼容)和扩展功能(基于云端多用户场景的增强)两部分。
标记说明:✅ 已实现 | 🔧 部分实现 | ⬜ 待实现
一、核心功能模块(酒馆兼容)
1. 角色卡系统 (Character Card)
角色卡是酒馆的核心功能,必须完全兼容 SillyTavern V2 (chara_card_v2) 规范。
| 功能点 |
状态 |
说明 |
| 角色卡 CRUD |
✅ |
创建、读取、更新、删除角色卡 |
| V2 规范字段支持 |
✅ |
name, description, personality, scenario, first_mes, mes_example, creator_notes, system_prompt, post_history_instructions, tags, alternate_greetings |
| 角色头像 |
✅ |
头像上传与显示 |
| PNG 导入 |
✅ |
从 PNG 图片中提取嵌入的角色卡数据 (tEXt chunk) |
| JSON 导入/导出 |
✅ |
标准 JSON 格式导入导出 |
| PNG 导出 |
⬜ |
将角色卡数据嵌入 PNG 图片导出 |
| 角色书 (Character Book / Lorebook) |
🔧 |
数据模型已支持 characterBook 字段,但前端编辑器待完善 |
| 备选开场白 (Alternate Greetings) |
🔧 |
数据模型已支持,前端切换UI待完善 |
| Extensions 扩展字段 |
✅ |
JSON 扩展字段,兼容第三方扩展数据 |
| 角色卡搜索/筛选 |
✅ |
关键词搜索、标签筛选 |
| 批量管理 |
🔧 |
批量删除基础功能,批量导入待完善 |
2. 对话系统 (Conversation / Chat)
| 功能点 |
状态 |
说明 |
| 创建对话 |
✅ |
选择角色卡后创建对话会话 |
| 对话列表 |
✅ |
按时间排序、分页加载 |
| 消息发送/接收 |
✅ |
用户输入消息,调用 AI API 获取回复 |
| 流式输出 (SSE Streaming) |
✅ |
Server-Sent Events 实时流式显示 AI 回复 |
| 消息重新生成 (Regenerate) |
✅ |
重新生成最后一条 AI 回复 |
| 消息编辑 (Edit) |
⬜ |
编辑已发送的消息内容 |
| 消息删除 |
🔧 |
单条删除已支持,批量删除待实现 |
| 消息滑动 (Swipe) |
⬜ |
同一轮生成多个回复,左右滑动切换(酒馆核心交互) |
| 消息分支 (Branching) |
⬜ |
从任意消息节点创建分支对话 |
| 消息续写 (Continue) |
⬜ |
让 AI 继续上一条未完成的回复 |
| 停止生成 (Stop Generation) |
⬜ |
中途停止 AI 生成 |
| 对话历史导入/导出 |
⬜ |
导出为 JSON / JSONL 格式 |
| 对话标题自动生成 |
⬜ |
根据对话内容自动生成标题 |
| Token 计数显示 |
🔧 |
后端已统计,前端显示待完善 |
| 角色卡信息面板 |
✅ |
右侧面板显示当前角色信息 |
| 聊天背景 |
✅ |
支持自定义背景图片 |
| 主题颜色 |
✅ |
支持自定义主题色 |
3. AI 接口管理 (AI API Connection)
| 功能点 |
状态 |
说明 |
| OpenAI API 兼容 |
✅ |
支持 OpenAI 及兼容接口(如各类中转站) |
| Anthropic (Claude) API |
✅ |
原生支持 Anthropic API 格式 |
| 自定义 API (Custom) |
✅ |
可配置任意 OpenAI 兼容的 BaseURL |
| API Key 管理 |
✅ |
加密存储,支持多个 API 配置 |
| 模型列表获取 |
✅ |
根据 API 配置动态获取可用模型 |
| 连接测试 |
✅ |
配置后可测试 API 连通性 |
| 多配置切换 |
✅ |
对话级别切换 AI 提供商和模型 |
| Google AI (Gemini) |
⬜ |
原版酒馆支持,待接入 |
| NovelAI |
⬜ |
原版酒馆支持,待接入 |
| Text Completion API |
⬜ |
原版酒馆支持 text completion 模式(非 chat) |
| OpenRouter |
⬜ |
可通过 Custom API 实现,但缺少原生 model 路由支持 |
| Reverse Proxy 支持 |
⬜ |
原版酒馆的反向代理功能 |
4. 预设系统 (Presets / Sampler Settings)
| 功能点 |
状态 |
说明 |
| 预设 CRUD |
✅ |
创建、编辑、删除预设 |
| 采样参数 |
✅ |
temperature, top_p, top_k, frequency_penalty, presence_penalty |
| 高级采样参数 |
✅ |
repetition_penalty, min_p, top_a |
| Max Tokens 设置 |
✅ |
最大生成长度限制 |
| 停止序列 (Stop Sequences) |
✅ |
自定义停止序列 |
| 系统提示词 (System Prompt) |
✅ |
预设级别系统提示词 |
| 默认预设 |
✅ |
设置默认预设 |
| 预设导入/导出 |
✅ |
JSON 格式导入导出 |
| 指令模板 (Instruct Mode) |
⬜ |
原版酒馆核心功能:不同模型的 prompt 格式模板 (ChatML, Alpaca, Llama 等) |
| 上下文模板 (Context Template) |
⬜ |
控制角色卡各字段如何组装进 prompt |
| Prompt 排序 (Prompt Order) |
⬜ |
自定义 prompt 各部分的排列顺序 |
| Jailbreak Prompt |
⬜ |
越狱提示词(NSFW unlock) |
| Token Padding |
⬜ |
Token 预留/填充策略 |
5. 世界信息/知识书 (World Info / Lorebook)
世界信息是酒馆的核心 RAG 系统,用于根据关键词动态注入背景知识。
| 功能点 |
状态 |
说明 |
| 世界信息 CRUD |
⬜ |
创建、编辑、删除世界信息条目 |
| 关键词触发 (Keyword Trigger) |
⬜ |
消息中出现关键词时自动注入对应条目 |
| 正则匹配触发 |
⬜ |
支持正则表达式匹配触发 |
| 条件激活 (Conditional Activation) |
⬜ |
多条件组合激活策略 |
| 递归扫描 (Recursive Scanning) |
⬜ |
已触发条目内的关键词可继续触发其他条目 |
| 插入位置控制 |
⬜ |
控制条目注入到 prompt 的位置(depth) |
| 概率触发 |
⬜ |
条目以一定概率触发 |
| Token 预算 |
⬜ |
限制世界信息总 token 消耗 |
| 世界信息导入/导出 |
⬜ |
标准 JSON 格式 |
| 角色绑定 |
⬜ |
世界信息与角色卡绑定 |
| 全局世界信息 |
⬜ |
跨角色生效的全局世界信息 |
6. 群聊系统 (Group Chat)
| 功能点 |
状态 |
说明 |
| 创建群聊 |
⬜ |
多个 AI 角色参与的群聊 |
| 角色轮转策略 |
⬜ |
自动/手动选择下一个发言角色 |
| 角色激活/禁用 |
⬜ |
动态控制群聊中角色是否参与 |
| 群聊设置 |
⬜ |
发言顺序、回复长度、触发条件等 |
| 群组角色管理 |
⬜ |
添加/移除群聊角色 |
7. 用户人设 (User Persona)
| 功能点 |
状态 |
说明 |
| 人设创建/管理 |
⬜ |
创建多个用户人设档案 |
| 人设切换 |
⬜ |
在不同对话中使用不同人设 |
| 人设描述 |
⬜ |
用户角色的名称和描述,注入 prompt |
| 人设头像 |
⬜ |
用户人设的头像 |
| 默认人设 |
⬜ |
设置默认用户人设 |
二、Prompt 工程模块(酒馆兼容)
8. Prompt 构建系统
酒馆的 prompt 构建是其核心竞争力,必须完整兼容。
| 功能点 |
状态 |
说明 |
| 主系统提示词 (Main System Prompt) |
🔧 |
预设中已支持,独立管理待完善 |
| NSFW 提示词 |
⬜ |
NSFW 场景的系统提示词 |
| 角色卡提示词注入 |
🔧 |
基础注入已实现,完整排序策略待完善 |
| 作者注 (Author's Note) |
⬜ |
可在对话中途插入的引导提示 |
| 作者注深度控制 |
⬜ |
控制作者注在 prompt 中的插入位置 |
| 聊天历史截断 |
⬜ |
超出 token 限制时的截断策略 |
| 消息摘要 (Summarization) |
⬜ |
旧消息自动摘要压缩 |
| 自定义提示词排序 |
⬜ |
用户自定义 prompt 各部分的顺序 |
| 宏替换 (Macro Replacement) |
⬜ |
{{char}}, {{user}}, {{time}} 等宏变量替换 |
三、用户系统模块(云端增强)
9. 认证与账户
| 功能点 |
状态 |
说明 |
| 用户注册 |
✅ |
用户名 + 密码注册 |
| 用户登录 |
✅ |
JWT Token 认证 |
| Token 刷新 |
✅ |
自动刷新过期 Token |
| 登出 |
✅ |
安全登出,清除会话 |
| 个人资料管理 |
✅ |
昵称、邮箱、手机、头像 |
| 修改密码 |
✅ |
旧密码验证后修改 |
| 会话管理 |
✅ |
记录登录 IP、设备信息 |
| 第三方登录 (OAuth) |
⬜ |
GitHub、Google 登录(UI 已预留) |
| 邮箱验证 |
⬜ |
注册邮箱验证 |
| 找回密码 |
⬜ |
通过邮箱找回密码 |
四、UI/UX 模块
10. 界面与交互
| 功能点 |
状态 |
说明 |
| 深色主题 |
✅ |
默认深色主题,OLED 优化 |
| Glassmorphism 设计风格 |
✅ |
毛玻璃效果 |
| 响应式布局 |
✅ |
适配桌面端和移动端 |
| 三栏聊天布局 |
✅ |
侧边栏 + 聊天区 + 角色面板 |
| 消息 Markdown 渲染 |
🔧 |
基础 Markdown 已支持,需增强 |
| 消息代码高亮 |
⬜ |
代码块语法高亮 |
| 聊天背景切换 |
✅ |
自定义上传背景图 |
| 预设背景图库 |
⬜ |
原版酒馆自带的背景图集 |
| 主题切换 (亮色/暗色) |
⬜ |
目前仅暗色主题 |
| 自定义 CSS |
⬜ |
原版酒馆支持用户自定义 CSS |
| 快捷键支持 |
⬜ |
发送消息、新建对话等快捷键 |
| 拖拽排序 |
⬜ |
对话列表、角色排序等拖拽操作 |
| 消息字数/Token 统计面板 |
⬜ |
实时显示 token 用量 |
五、数据管理模块
11. 数据导入导出
| 功能点 |
状态 |
说明 |
| 角色卡 PNG 导入 |
✅ |
从 PNG 提取角色数据 |
| 角色卡 JSON 导入/导出 |
✅ |
标准 JSON 格式 |
| 角色卡 PNG 导出 |
⬜ |
将角色数据嵌入 PNG 导出 |
| 预设 JSON 导入/导出 |
✅ |
预设导入导出 |
| 对话历史导出 |
⬜ |
导出聊天记录 |
| 世界信息导入/导出 |
⬜ |
Lorebook 导入导出 |
| CharacterHub 一键导入 |
⬜ |
从 chub.ai 直接导入角色 |
| 完整数据备份/恢复 |
⬜ |
用户全量数据导出与恢复 |
六、扩展功能模块(未来规划)
以下功能基于云端多用户场景,以及现代 AI 应用趋势进行规划。
12. 角色市场 (Character Market)
| 功能点 |
优先级 |
说明 |
| 公开角色浏览 |
🔧 高 |
已有基础页面,需完善筛选和分类 |
| 角色评分/评价 |
⬜ 高 |
用户对角色卡进行评分和评论 |
| 角色收藏 |
⬜ 高 |
收藏喜欢的角色卡 |
| 角色分类/标签 |
🔧 中 |
完善标签系统和分类导航 |
| 热门/推荐排行 |
⬜ 中 |
按使用量、收藏量、评分排序 |
| 角色创作者主页 |
⬜ 低 |
创作者的个人页面,展示其角色 |
| 角色版本管理 |
⬜ 低 |
角色卡的版本历史和回滚 |
13. 社区功能
| 功能点 |
优先级 |
说明 |
| 预设分享 |
⬜ 中 |
用户分享自己的预设配置 |
| 世界信息分享 |
⬜ 中 |
分享 Lorebook |
| 精彩对话分享 |
⬜ 低 |
分享有趣的对话片段 |
| 社区讨论 |
⬜ 低 |
角色卡下的评论区 |
14. 高级 AI 功能
| 功能点 |
优先级 |
说明 |
| 多模态支持 (Vision) |
⬜ 高 |
发送图片给支持视觉的模型 |
| TTS 语音合成 |
⬜ 中 |
AI 回复转语音播放 |
| STT 语音输入 |
⬜ 中 |
语音转文字输入 |
| AI 图片生成 |
⬜ 中 |
集成 Stable Diffusion / DALL-E 在聊天中生成图片 |
| 向量数据库 (RAG) |
⬜ 中 |
更高级的知识检索增强生成 |
| 长期记忆 (Long-term Memory) |
⬜ 中 |
跨对话的角色记忆系统 |
| Function Calling / Tool Use |
⬜ 低 |
AI 调用工具能力(天气、搜索等) |
| 多模型混合 (Model Routing) |
⬜ 低 |
不同场景自动选择合适模型 |
15. 插件/扩展系统
| 功能点 |
优先级 |
说明 |
| 插件接口定义 |
⬜ 中 |
标准化的插件 API |
| JS-Slash-Runner 兼容 |
⬜ 中 |
兼容原版酒馆的 slash 命令脚本 |
| 自定义 Regex 脚本 |
⬜ 中 |
正则替换脚本(对 AI 输出进行后处理) |
| 扩展商店 |
⬜ 低 |
在线安装/管理扩展 |
16. 用户积分系统 (Credits System)
云端多用户场景下的积分经济体系,用于激励用户参与和控制资源消耗。
| 功能点 |
优先级 |
说明 |
| 积分消耗 |
|
|
| 对话 Token 扣费 |
⬜ 高 |
根据 AI 调用的 Token 数量实时扣除积分 |
| 分级计费策略 |
⬜ 高 |
不同模型(GPT-4、Claude、Gemini)不同费率 |
| 余额不足提醒 |
⬜ 高 |
积分低于阈值时提醒用户充值 |
| 消费记录查询 |
⬜ 中 |
详细的积分消费明细(时间、对话、Token、扣费) |
| 每日免费额度 |
⬜ 中 |
每日赠送基础免费 Token 额度 |
| 积分获取 |
|
|
| 每日签到 |
⬜ 高 |
连续签到获得积分奖励,断签重置 |
| 上传角色卡奖励 |
⬜ 高 |
上传公开角色卡获得积分(审核通过后发放) |
| 角色卡热度奖励 |
⬜ 中 |
角色被收藏/使用达到阈值时额外奖励 |
| 邀请好友 |
⬜ 中 |
邀请新用户注册获得积分 |
| 分享对话 |
⬜ 低 |
分享精彩对话片段获得积分 |
| 社区贡献 |
⬜ 低 |
评论、评分、反馈 Bug 等获得积分 |
| 积分管理 |
|
|
| 积分余额显示 |
⬜ 高 |
顶部导航栏实时显示当前积分 |
| 积分充值 |
⬜ 高 |
支持在线支付充值积分 |
| 积分套餐 |
⬜ 中 |
不同价格档位的积分包(充值越多单价越低) |
| 积分赠送 |
⬜ 低 |
用户之间转赠积分 |
| 积分有效期 |
⬜ 低 |
充值积分永久有效,赠送积分有效期限制 |
| 数据统计 |
|
|
| 积分流水账单 |
⬜ 中 |
收入/支出明细,支持导出 |
| Token 消耗统计 |
⬜ 中 |
按时间、模型、角色维度统计 Token 用量 |
| 积分排行榜 |
⬜ 低 |
展示积分最高的用户(可选匿名) |
17. 管理后台
| 功能点 |
优先级 |
说明 |
| 用户管理 |
⬜ 高 |
管理员管理所有用户 |
| 角色审核 |
⬜ 高 |
公开角色的审核机制 |
| 系统配置 |
⬜ 中 |
全局系统参数配置 |
| 数据统计仪表盘 |
⬜ 中 |
用户量、消息量、API 调用量等统计 |
| API 用量监控 |
⬜ 中 |
Token 消耗监控和限额管理 |
| 积分系统管理 |
⬜ 中 |
积分费率配置、手动调整用户积分、积分流水监控 |
| 日志管理 |
⬜ 低 |
操作日志和错误日志 |
| 公告系统 |
⬜ 低 |
向用户发布系统公告 |
17. 性能与体验优化
| 功能点 |
优先级 |
说明 |
| 消息虚拟滚动 |
⬜ 高 |
大量消息时的渲染性能优化 |
| 离线缓存 (PWA) |
⬜ 中 |
支持离线访问已缓存的对话 |
| WebSocket 实时通信 |
⬜ 中 |
替代 SSE 的双向通信方案 |
| CDN 加速 |
⬜ 中 |
静态资源 CDN 分发 |
| 图片压缩/懒加载 |
⬜ 中 |
角色头像等图片优化 |
| 国际化 (i18n) |
⬜ 低 |
多语言支持 |
七、开发优先级建议
第一阶段:核心兼容(P0 - 当务之急)
确保与原版酒馆的核心功能对齐
- 消息滑动 (Swipe) - 酒馆标志性交互,用户期望最高
- 世界信息/Lorebook - 酒馆 RAG 核心,角色扮演深度的关键
- 指令模板 (Instruct Mode) - 不同模型的 prompt 格式适配
- 上下文模板 (Context Template) - 角色卡信息注入方式
- 宏替换系统 -
{{char}}, {{user}} 等变量替换
- 用户人设 (Persona) - 用户角色设定
- 消息编辑 - 修改已发送消息
- 消息续写 (Continue) - 继续未完成的回复
- 停止生成 - 中断 AI 生成
第二阶段:功能完善(P1)
- 群聊系统
- 作者注 (Author's Note)
- 自定义 Prompt 排序
- 消息摘要/压缩
- 角色卡 PNG 导出
- 对话历史导出
- 消息分支
- Token 统计面板
第三阶段:云端增强(P2)
- 角色市场完善(评分、收藏、排行)
- 管理后台
- 多模态支持 (Vision)
- 预设/世界信息分享
- TTS/STT 语音功能
- 完整数据备份/恢复
第四阶段:生态扩展(P3)
- 插件/扩展系统
- AI 图片生成集成
- 长期记忆系统
- 社区功能
- 国际化
- PWA 离线支持
八、与原版酒馆的架构差异
| 维度 |
原版 SillyTavern |
云酒馆 |
| 部署模式 |
本地单用户 |
云端多用户 |
| 前端 |
jQuery + 原生 JS |
React + TypeScript |
| 后端 |
Node.js + Express |
Go + Gin |
| 数据库 |
文件系统 (JSON/PNG) |
PostgreSQL + GORM |
| 认证 |
简单密码/无认证 |
JWT + 会话管理 |
| AI 调用 |
前端直连 / 后端代理 |
后端统一代理 |
| 数据存储 |
本地文件 |
数据库 + 对象存储 |
| 扩展机制 |
iframe + 文件注入 |
插件 API (规划中) |
核心原则:功能上完全兼容原版酒馆的角色卡规范和核心交互体验,架构上利用云端优势进行增强。