features ai assistant - WangYajun369/ai-writing-platform GitHub Wiki
AI 助手能力详解
适用版本:
1.7.0| 最后核对:2026-09-05
能力总览
| 能力 | 说明 | 依赖 |
|---|---|---|
| 流式对话 | 逐字实时输出,Markdown 渲染 | API Key |
| 推理思考展示 | 推理模型的思考过程可折叠查看 | DeepSeek / 智谱推理模型 |
| RAG 上下文检索 | 自动检索当前作品内容作为背景 | 可选(需 Embedding 索引) |
| 章节智能总结 | 原文 > 300 字自动总结后注入 context | 同对话模型 |
| 对话总结压缩 | 长对话自动压缩历史,控制 Token | 同对话模型 |
| AI 工具箱 | 29 个预设写作工具,5 大分类 | 同对话模型 |
| 请求详情查看 | 查看完整的 System/User Prompt 与 RAG 片段 | — |
| 用量统计 | Token 与字数统计,了解 API 成本 | — |
| 连接状态诊断 | 一键测试连通性并展示可用模型 | — |
1. 流式对话
输入消息后按 Enter 发送(Shift+Enter 换行),AI 回复逐字实时呈现,支持 Markdown(表格、代码块、列表、删除线等)渲染。
对话按作品维度独立存储:切换作品自动加载对应历史,重启应用后从 localStorage 恢复。
快捷提示词
消息为空时展示 4 个快捷入口:
- 帮我续写下一段
- 优化这段对话
- 推演剧情走向
- 分析人物性格
对话管理
- 清空当前作品的全部对话记录
- 单条消息支持:重试、复制、插入到编辑器、删除(二次确认)
- 点击消息可打开请求详情,查看完整 System Prompt、User Prompt、RAG 上下文片段(含来源与相关度百分比)
2. 推理思考过程
使用 DeepSeek 或智谱推理模型时,AI 在正式回答前先输出思考过程:
| 阶段 | 界面表现 |
|---|---|
thinking |
可折叠区域,展示推理过程 |
answering |
流式输出正式回答(Markdown 渲染) |
done |
显示 Token / 字数用量统计 |
点击可展开或折叠完整推理过程。
3. RAG 上下文检索
发送消息时,系统自动检索当前作品的相关内容作为背景信息注入 System Prompt,让 AI 参考你的实际写作内容。
检索范围:当前作品的章节(排除已软删除)+ 世界观卡片。
双策略:
有 Embedding 索引 → 向量语义搜索(sqlite-vec KNN,v1.6.0)
无 Embedding 索引 → FTS5 全文搜索 + SQL LIKE 关键词降级
管理索引
在 AI 面板输入框上方查看索引状态(已索引/总数):
stale = true表示内容已变更、索引过期,提示重新生成- 点击「生成索引」批量为全部章节与世界观卡片生成向量
- 生成过程按每批 20 条调用 Embedding API,自动轮询直到完成
提示:RAG 当前仅支持智谱 BigModel(
embedding-3),需在 RAG 配置区单独填写 API Key。
4. 章节智能总结
当当前章节原文超过 300 字时,AI 对话会先自动总结章节,再将总结注入 System Prompt:
原文 > 300 字 → 调用 summarize_chapter → 注入 system prompt
"当前编辑章节「xxx」的总结(原文1200字):\n[总结内容]"
好处:在有限的 context 窗口内让 AI 更高效地理解章节内容,同时显著降低 Token 消耗。
章节过短(< 50 字)自动跳过,内容截取前 8000 字符。
5. 对话总结压缩(滑动窗口)
长对话会随着轮次增长而线性消耗 Token。TimeWrite 采用滑动窗口 + 摘要压缩的双层 context 管理:
System Prompt(角色指令 + 章节总结 + RAG 背景 + 历史对话摘要)
↓
最近 N 轮完整对话(默认 N = 10,即 20 条消息)
↓
当前提问
- 每次 AI 回答完成后后台检查是否超出窗口边界
- 超出的旧消息自动压缩为摘要(不阻塞 UI,幂等)
contextWindowSize可在设置中调整(范围 1–50 轮)
6. AI 工具箱
29 个预设工具,5 大分类,以三栏独立窗口呈现:
| 分类 | 数量 | 代表工具 |
|---|---|---|
| 常用工具 | 7 | 章节总结、小说大纲生成、章节深度润色、小说扩写、续写、润色、改写 |
| 剧情设计 | 6 | 主线剧情设定、支线分解、剧情反转、核心冲突生成器、章节细纲 |
| 描写辅助 | 6 | 打斗描写、细节描写、感官描写、外貌描写、情感描写、环境/场景描写 |
| 世界设定 | 5 | 世界架构设定、人物设定、势力组织架构、境界/功法等级、物品设定 |
| 取名神器 | 5 | 人物名字定制、小说书名、古风姓名、门派势力名称、地点场景取名 |
- 每个工具的 System Prompt 可独立编辑,留空使用默认提示词
- 在设置 → AI 工具箱中可新增、编辑、删除自定义工具与分类
- 输出结果支持复制到剪贴板、插入到编辑器、查看详情
7. 用量统计
每次对话完成时(phase: done)附带用量信息:
| 字段 | 来源 |
|---|---|
inputTokens / outputTokens |
模型报告的 Token 数 |
inputChars / outputChars |
本地统计的字符数 |
便于了解 API 使用成本。
8. 连接状态诊断
AI 面板头部实时显示连接状态,点击可触发测试:
| 状态 | 图标 | 说明 |
|---|---|---|
| 空闲 | ⭕ 灰色圆点 | 未进行连接测试 |
| 检测中 | 🔵 旋转动画 | 正在测试连接 |
| 已连接 | 🟢 对勾 | 连接正常,显示服务商名称 |
| 错误 | 🔴 警告 | 连接失败,显示错误详情 |
与 Agent 自动化的区别
| 维度 | AI 助手(本页) | Agent 自动化 |
|---|---|---|
| 交互方式 | 多轮对话(v1.2 起由 Agent 引擎 writing 技能驱动) |
自主多步推理,自动调用工具 |
| 数据获取 | 上下文经引擎工具检索(RAG 后端预留) | 6 个数据库工具,按需读取章节/世界观 |
| 记忆 | 对话历史(滑动窗口压缩) | 三层记忆体,跨会话持久化 |
| 运行时 | 内嵌 Rust 主进程,无需外部服务 | 内嵌 Rust 主进程,无需外部服务 |
| 适合场景 | 快速提问、局部润色、灵感激发 | 大纲生成、全文一致性检查、复杂分析 |
常见问题
Q:AI 回复被截断? 检查设置中的「最大输出 Token」,确保设置足够大(默认 131072)。
Q:RAG 检索结果不相关?
索引可能已过期(面板显示 stale),重新生成 Embedding 索引即可。
Q:为什么每次对话都要重新总结章节? 当前未对章节总结做缓存。这属于已知优化方向,详见 优化报告。
更多问题见 FAQ。