|
|
@@ -0,0 +1,160 @@
|
|
|
+# 去AI味技能库设计
|
|
|
+
|
|
|
+## 目标
|
|
|
+
|
|
|
+新增一级入口「技能库」,第一版只管理去AI味技能。用户可以使用内置预设,也可以为当前项目手动添加多个去AI味技能;在 AI 会话、整章去AI味、选中文本去AI味时选择并调用指定技能。
|
|
|
+
|
|
|
+本设计不实现通用 Skill 库,只解决多个去AI味 Skill 的管理和调用。
|
|
|
+
|
|
|
+## 成功标准
|
|
|
+
|
|
|
+- 左侧主导航新增「技能库」入口,并纳入现有排序和隐藏能力。
|
|
|
+- 技能库可管理内置去AI味技能和项目自定义去AI味技能。
|
|
|
+- 用户可通过模板创建项目技能,也可手动编辑名称、说明和规则正文。
|
|
|
+- 每个技能都有开关;关闭后不出现在 AI 会话和章节去AI味选择列表里。
|
|
|
+- 当前项目记住默认去AI味技能。
|
|
|
+- AI 会话输入框底部提供技能图标,选中技能后当前会话持续生效。
|
|
|
+- 普通聊天和写作工作流都会注入当前会话选中的去AI味技能。
|
|
|
+- 整章去AI味和选中文本去AI味点击后先选择技能,再调用模型,并继续走现有预览确认流程。
|
|
|
+- 保留旧版 `de-ai-skill.txt`,并兼容为一个项目技能来源。
|
|
|
+
|
|
|
+## 范围
|
|
|
+
|
|
|
+第一版包含:
|
|
|
+
|
|
|
+- 技能库一级页面。
|
|
|
+- 5 个内置模板:综合去AI味、减少解释腔、对话口语化、打破工整句式、保留文艺感。
|
|
|
+- 项目级去AI味技能增删改查。
|
|
|
+- 内置技能关闭、复制为项目技能。
|
|
|
+- 项目默认技能。
|
|
|
+- AI 会话技能选择和注入。
|
|
|
+- 章节整章与选中文本去AI味技能选择。
|
|
|
+
|
|
|
+第一版不包含:
|
|
|
+
|
|
|
+- 通用 Skill 库。
|
|
|
+- 润色、审稿、写作风格等其他技能类型。
|
|
|
+- Skill 市场、导入导出。
|
|
|
+- AI 自动生成 Skill。
|
|
|
+- 删除或迁移清理旧版 `de-ai-skill.txt`。
|
|
|
+
|
|
|
+## 界面设计
|
|
|
+
|
|
|
+左侧主导航新增「技能库」,和章节库、大纲、灵魂、小说图谱同级。它不是主题、设置、切换项目,因此应纳入现有左侧功能栏排序和隐藏设置。
|
|
|
+
|
|
|
+技能库页面采用左侧列表加右侧详情编辑:
|
|
|
+
|
|
|
+- 左侧列表展示所有去AI味技能。
|
|
|
+- 每项展示名称、简短说明、来源标记:内置或项目。
|
|
|
+- 每项提供开关;关闭后隐藏于调用入口。
|
|
|
+- 当前项目默认技能显示“默认”标记。
|
|
|
+- 左侧顶部提供“新建技能”按钮。
|
|
|
+- 右侧编辑当前选中技能的名称、说明、模板来源和规则正文。
|
|
|
+- 内置技能不可直接编辑正文,只能关闭或复制为项目技能。
|
|
|
+- 项目技能可编辑、设为默认和删除。
|
|
|
+
|
|
|
+新建技能时先选择模板。选择模板后自动填入名称、说明和规则正文,用户可修改后保存为项目技能。
|
|
|
+
|
|
|
+## 数据设计
|
|
|
+
|
|
|
+项目根目录新增配置文件:
|
|
|
+
|
|
|
+```json
|
|
|
+{
|
|
|
+ "version": 1,
|
|
|
+ "defaultSkillId": "built-in:comprehensive",
|
|
|
+ "disabledSkillIds": [],
|
|
|
+ "projectSkills": [
|
|
|
+ {
|
|
|
+ "id": "project:example",
|
|
|
+ "name": "我的去AI规则",
|
|
|
+ "description": "适合当前作品的去AI味处理",
|
|
|
+ "templateId": "reduce-explanation",
|
|
|
+ "content": "完整 Skill 规则正文",
|
|
|
+ "createdAt": 123456789,
|
|
|
+ "updatedAt": 123456789
|
|
|
+ }
|
|
|
+ ]
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+内置技能由软件代码提供,不写入项目文件。项目文件只保存项目技能、默认技能和关闭状态。
|
|
|
+
|
|
|
+推荐内置技能 ID:
|
|
|
+
|
|
|
+- `built-in:comprehensive`
|
|
|
+- `built-in:reduce-explanation`
|
|
|
+- `built-in:dialogue-natural`
|
|
|
+- `built-in:break-regularity`
|
|
|
+- `built-in:literary-retain`
|
|
|
+
|
|
|
+兼容旧版:
|
|
|
+
|
|
|
+- 如果项目存在 `de-ai-skill.txt` 且没有 `de-ai-skills.json`,系统把它识别为一个项目技能。
|
|
|
+- 该技能可命名为“旧版自定义去AI味 Skill”。
|
|
|
+- 默认技能优先指向旧版自定义技能。
|
|
|
+- 不自动删除 `de-ai-skill.txt`。
|
|
|
+
|
|
|
+AI 会话数据增加:
|
|
|
+
|
|
|
+- `selectedDeAiSkillId?: string | null`
|
|
|
+
|
|
|
+含义:
|
|
|
+
|
|
|
+- 有值时,当前会话使用该技能。
|
|
|
+- `null` 表示本会话关闭去AI味技能。
|
|
|
+- 未设置时,使用项目默认技能。
|
|
|
+
|
|
|
+## 调用流程
|
|
|
+
|
|
|
+AI 会话:
|
|
|
+
|
|
|
+1. 输入框底部显示技能图标。
|
|
|
+2. 点击后展示已开启的去AI味技能,以及“关闭去AI味技能”。
|
|
|
+3. 用户选择技能后,当前会话持续使用。
|
|
|
+4. 换会话时,如果新会话没有单独选择过,则使用项目默认技能。
|
|
|
+5. 发送消息时,如果当前会话有可用技能,把技能正文作为系统规则注入。
|
|
|
+6. 普通聊天和章节生成、续写、改写等工作流都使用该技能。
|
|
|
+
|
|
|
+整章去AI味:
|
|
|
+
|
|
|
+1. 用户点击章节顶部“去AI味”。
|
|
|
+2. 弹出已开启技能列表。
|
|
|
+3. 用户点击技能后立即调用模型处理整章正文。
|
|
|
+4. 结果进入现有左右对比预览。
|
|
|
+5. 用户确认后替换正文,取消则不修改。
|
|
|
+
|
|
|
+选中文本去AI味:
|
|
|
+
|
|
|
+1. 用户选中文本并点击浮动工具栏“去AI味”。
|
|
|
+2. 弹出已开启技能列表。
|
|
|
+3. 用户点击技能后立即调用模型处理选中片段。
|
|
|
+4. 结果进入现有片段预览。
|
|
|
+5. 用户确认后只替换选中片段。
|
|
|
+
|
|
|
+## 回退规则
|
|
|
+
|
|
|
+- 没有项目配置时使用内置“综合去AI味”。
|
|
|
+- 项目默认技能被关闭或删除时,自动回退到第一个开启的内置技能。
|
|
|
+- 会话选中的项目技能被删除后,再次发送时回退到项目默认技能。
|
|
|
+- 所有技能都被关闭时,调用入口显示“暂无可用去AI味技能”,不发起模型调用。
|
|
|
+
|
|
|
+## 错误处理
|
|
|
+
|
|
|
+- 技能名称为空时禁止保存,提示“技能名称不能为空”。
|
|
|
+- 技能规则为空时禁止保存,提示“技能规则不能为空”。
|
|
|
+- 删除项目默认技能前弹出确认;删除后自动切换默认技能。
|
|
|
+- 关闭项目默认技能后自动选择下一个可用技能作为默认。
|
|
|
+- 内置技能不能删除。
|
|
|
+- 模型未配置时沿用现有模型不可用提示,不启动去AI味处理。
|
|
|
+- 整章或选中文本处理期间切换文件时,沿用现有文件保护,不把结果写入错误文件。
|
|
|
+
|
|
|
+## 测试计划
|
|
|
+
|
|
|
+- 配置读写:默认配置、旧版 `de-ai-skill.txt` 兼容、禁用技能、默认技能回退。
|
|
|
+- 技能库页面:新增、编辑、删除、开关、设为默认、内置复制为项目技能。
|
|
|
+- AI 会话:选择技能后普通聊天注入规则;换会话按项目默认恢复;关闭本会话技能后不注入。
|
|
|
+- 章节整章去AI味:选择技能后使用对应规则生成消息,预览确认后替换正文。
|
|
|
+- 选中文本去AI味:选择技能后只替换选区。
|
|
|
+- 左侧导航:技能库入口可排序、可隐藏。
|
|
|
+
|