79 KiB
未完成页面 ASCII 原型与交互方案
依据:
docs/page-completion-audit.md
输出形式:Markdown + ASCII 低保真线框
设计目标:延续当前程序的桌面窗口、顶部标题栏、绿色主操作、卡片列表、独立二级窗口和底部 Tab 结构,不重新设计已完成的屏幕区域标注页。
1. 原型范围
本方案覆盖尚未形成业务闭环的页面与缺失状态:
| 分组 | 页面 |
|---|---|
| 主窗口补全 | 微信分身、知识库列表、Skill 市场、员工蒸馏 |
| 知识库 | 新增知识、知识详情 |
| Skill | 新增/编辑 Skill、Skill 详情 |
| 员工蒸馏 | 开始蒸馏、员工详情 |
| 系统配置 | 设置中心的 7 个分区 |
| 引擎工具 | 完整运行日志 |
不重复设计已完成的 /annotate 标注画布。
2. 统一页面结构
2.1 主窗口壳
一级窗口按 Tauri 当前配置的 500 × 900 纵向比例绘制;以下线框强调窄宽、纵向滚动和单列卡片。二级窗口仍按现有宽屏尺寸绘制,不做调整。
┌────────────────────────────────────────────┐
│ 页面标题 [◐][⚙][↻][退出] │
├────────────────────────────────────────────┤
│ │
│ │
│ 当前页面内容区 │
│ 单列卡片 / 纵向滚动 │
│ │
│ │
│ │
│ │
├────────────────────────────────────────────┤
│ [微信分身] [知识库] [Skill] [员工蒸馏] │
└────────────────────────────────────────────┘
2.2 二级窗口壳
┌──────────────────────────────────────────────────────────────────────┐
│ 二级页面标题 [主题] [关闭] │
├──────────────────────────────────────────────────────────────────────┤
│ │
│ 二级页面内容区 │
│ │
└──────────────────────────────────────────────────────────────────────┘
2.3 通用交互约定
[主按钮]:绿色,执行当前页面唯一主动作。[次按钮]:浅色或描边,不抢占主动作。[危险]:红色,操作前二次确认。●:正常或已启用;○:未启用;!:异常;…:处理中。- 所有异步按钮点击后进入
处理中并禁用,完成后显示成功或可恢复错误。 - 有未保存修改时关闭窗口,弹出“保存草稿 / 放弃修改 / 继续编辑”。
- 详情窗口必须携带实体
id,不能只传固定路由。 - 页面首次打开统一包含:骨架加载、加载失败、空数据三个状态。
3. 微信分身主页面补全
路由: /,主 Tab“微信分身”
目的: 完成引擎启停、启动前浮层检查、标注和日志入口;首页不常驻展示运行环境或检查项目。
3.1 默认停止状态
┌────────────────────────────────────────────┐
│ 微信分身 [◐][⚙][↻][退出] │
├────────────────────────────────────────────┤
│ │
│ │
│ ╭──────────╮ │
│ │ 引擎球体 │ │
│ │ STOP │ │
│ ╰──────────╯ │
│ 微信引擎未运行 │
│ 启动后等待并处理本地微信消息 │
│ │
│ [ 启动引擎 ] │
│ [开始标注] [查看完整日志] │
│ │
│ ┌─ 运行日志 ──────────────── [清空] ────┐ │
│ │ 12:30:01 等待启动 │ │
│ │ │ │
│ └──────────────────────────────────────┘ │
│ │
│ │
├────────────────────────────────────────────┤
│ [微信分身] [知识库] [Skill] [员工蒸馏] │
└────────────────────────────────────────────┘
3.2 启动检查浮层
┌────────────────────────────────────────────┐
│ 微信分身(背景变暗,不可操作) │
│ │
│ ┌──────────────────────────────────┐ │
│ │ 启动前检查 │ │
│ │ 正在确认引擎启动所需项目 │ │
│ ├──────────────────────────────────┤ │
│ │ ✓ 大模型配置与连接 │ │
│ │ ✕ 微信区域标注不完整 │ │
│ │ ○ 微信窗口 未检查│ │
│ ├──────────────────────────────────┤ │
│ │ 启动已停止 │ │
│ │ 请先完成联系人、聊天内容、输入框 │ │
│ │ 和发送按钮区域标注。 │ │
│ │ │ │
│ │ [关闭] [去标注] [重新检查] │ │
│ └──────────────────────────────────┘ │
│ │
└────────────────────────────────────────────┘
3.3 运行状态
┌────────────────────────────────────────────┐
│ 微信分身 [◐][⚙][↻][退出] │
├────────────────────────────────────────────┤
│ │
│ ╭──────────╮ │
│ │ 引擎球体 │ │
│ │ RUNNING │ │
│ ╰──────────╯ │
│ 微信引擎运行中 │
│ 已处理 26 条消息 · 队列 0 │
│ │
│ [ 停止引擎 ] │
│ [开始标注] [查看完整日志] │
│ [暂停自动发送] │
│ │
│ ┌─ 最近日志 ────────────────────────────┐ │
│ │ 12:38:21 新消息识别完成 │ │
│ │ 12:38:22 等待人工确认 │ │
│ └──────────────────────────────────────┘ │
├────────────────────────────────────────────┤
│ [微信分身] [知识库] [Skill] [员工蒸馏] │
└────────────────────────────────────────────┘
3.4 交互逻辑
| 操作 | 逻辑 |
|---|---|
| 页面打开 | 只读取并恢复引擎当前状态,不在首页常驻展示检查项目 |
| 启动引擎 | 点击后先打开模态浮层,并按“大模型配置与连接 → 区域标注 → 微信窗口”顺序检查 |
| 检查中 | 浮层锁定首页操作;当前项显示加载状态,尚未执行的项目显示“未检查” |
| 检查失败 | 立即停止检查和启动流程;失败项显示原因和修复入口,后续项目保持“未检查” |
| 重新检查 | 从第一项重新执行;不能从失败项跳过,也不能强制启动 |
| 全部通过 | 浮层显示“检查通过,正在启动”,继续启动视觉流和 Agent;启动成功后自动关闭浮层 |
| 启动失败 | 保留浮层并显示具体失败阶段;已启动的子进程按现有回滚逻辑停止 |
| 停止引擎 | 显示停止确认;停止中禁用重启和标注操作 |
| 重启 | 停止成功后重新打开同一检查浮层,通过检查后再启动 |
| 标注 | 打开现有真实标注流程;完成后重新读取区域 |
| 完整日志 | 打开 /window/engine-logs |
| 暂停自动发送 | 只暂停发送动作,不停止识别和建议回复;状态同步到托管设置 |
4. 知识库主列表补全
主 Tab: 知识库
目的: 在保留当前类型筛选和卡片结构的基础上,增加搜索、真实状态和任务反馈。
知识库仅使用 SQLite 全文相似度搜索(FTS5/BM25)。每条知识保存完整文本,不做向量化、不生成 embedding、不拆分内容切片;搜索结果以知识文档为单位返回。
┌────────────────────────────────────────────┐
│ 知识库 [◐][⚙][↻][退出] │
├────────────────────────────────────────────┤
│ [全部] [视频] [图片] [文件] [案例] [其他] │
│ │
│ [ 搜索标题、标签或内容摘要.............. ] │
│ [状态▼] [刷新] │
│ 共 24 项 · 生效 18 · 解析中 2 · 异常 1 │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ 销售冠军高意向客户跟进案例 │ │
│ │ 案例 · 私域成交 · 高意向 │ │
│ │ v2.4 ● 已生效 │ │
│ │ 更新 06-08 · 引用 128 · 全文 2.6 万字 │ │
│ └──────────────────────────────────────┘ │
│ ┌──────────────────────────────────────┐ │
│ │ 产品培训视频 │ │
│ │ v1.0 … 解析中 36% │ │
│ │ ███████████░░░░░░░░ │ │
│ └──────────────────────────────────────┘ │
│ ┌──────────────────────────────────────┐ │
│ │ 售后边界说明 │ │
│ │ v1.2 ! 解析失败 │ │
│ │ PDF 密码保护 [查看][重试]│ │
│ └──────────────────────────────────────┘ │
│ [ + ] │
├────────────────────────────────────────────┤
│ [微信分身] [知识库] [Skill] [员工蒸馏] │
└────────────────────────────────────────────┘
4.1 交互逻辑
- 类型、状态和搜索条件组合过滤;返回列表时保留过滤条件和滚动位置。
- 搜索调用 SQLite FTS5/BM25,对标题、标签和完整正文执行文本相似度排序;结果以知识文档为单位。
- 点击卡片携带
knowledgeId打开知识详情。 - 点击 FAB 打开新增知识窗口。
- 解析中卡片订阅任务进度;失败卡片直接提供“查看原因”和“重试”。
- 空态显示“暂无该类型知识”和“新增知识”按钮。
- 状态优先级:
解析失败 > 解析中 > 待审核 > 已生效 > 已停用 > 草稿。
5. 新增知识库原型
路由: /window/knowledge-create
形式: 4 步向导;每一步保留草稿。
5.1 步骤 1:基本信息
┌──────────────────────────────────────────────────────────────────────┐
│ 新增知识库 [主题] [关闭] │
├──────────────────────────────────────────────────────────────────────┤
│ ① 基本信息 ─── ② 来源导入 ─── ③ 全文预览 ─── ④ 发布设置 │
│ │
│ 知识标题 * │
│ [ 例如:售后退款政策............................................ ] │
│ │
│ 知识类型 * │
│ ( ) 文件 ( ) 图片 ( ) 视频 ( ) 案例 ( ) 其他 │
│ │
│ 标签 │
│ [ 私域成交 × ] [ 售后 × ] [ 输入标签后回车....................... ] │
│ │
│ 适用范围 │
│ [ 全部员工 ▼ ] │
│ │
│ 说明 │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ 说明知识用途、适用场景和限制 │ │
│ └────────────────────────────────────────────────────────────────┘ │
│ │
│ [保存草稿] [下一步:导入] │
└──────────────────────────────────────────────────────────────────────┘
5.2 步骤 2:来源导入
┌──────────────────────────────────────────────────────────────────────┐
│ ① 基本信息 ─── ② 来源导入 ─── ③ 全文预览 ─── ④ 发布设置 │
│ │
│ 导入方式: [上传文件] [粘贴文本] [选择本地目录] │
│ │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 拖拽文件到此处 │ │
│ │ 支持 PDF / DOCX / TXT / PNG / JPG / MP4 │ │
│ │ [选择文件] │ │
│ │ │ │
│ └────────────────────────────────────────────────────────────────┘ │
│ │
│ 已选择 │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ refund-policy.pdf 2.4 MB 等待解析 [移除] │ │
│ │ service-example.docx 860 KB 等待解析 [移除] │ │
│ └────────────────────────────────────────────────────────────────┘ │
│ │
│ ☑ 导入前对手机号、订单号等敏感信息进行脱敏 │
│ │
│ [上一步] [保存草稿] [开始解析] │
└──────────────────────────────────────────────────────────────────────┘
5.3 步骤 3:全文预览
┌──────────────────────────────────────────────────────────────────────┐
│ ① 基本信息 ─── ② 来源导入 ─── ③ 全文预览 ─── ④ 发布设置 │
│ │
│ 解析进度 72% 正在执行 OCR │
│ ████████████████████░░░░░░░░ │
│ │
│ 文件 2 · 成功 1 · 处理中 1 · 失败 0 [取消解析] │
│ │
│ [refund-policy.pdf] [service-example.docx] │
│ ┌─ 完整文本预览 ─────────────────────────────────────────────────┐ │
│ │ 第一章 退款申请范围 │ │
│ │ 退款申请需在订单完成后 7 日内提交。已使用的数字商品不支持…… │ │
│ │ │ │
│ │ 第二章 异常订单处理 │ │
│ │ 客户情绪激动时先确认问题,再说明退款边界…… │ │
│ │ [编辑全文] │ │
│ └────────────────────────────────────────────────────────────────┘ │
│ │
│ SQLite 搜索字段:标题 + 标签 + 完整正文 · 不切片 │
│ │
│ [上一步] [保存草稿] [重新解析] [下一步:发布设置] │
└──────────────────────────────────────────────────────────────────────┘
5.4 步骤 4:发布设置
┌──────────────────────────────────────────────────────────────────────┐
│ ① 基本信息 ─── ② 来源导入 ─── ③ 全文预览 ─── ④ 发布设置 │
│ │
│ 发布摘要 │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ 标题:售后退款政策 │ │
│ │ 来源:2 个文件 · 完整正文 2.6 万字 · 已脱敏 │
│ │ 预计影响:3 个 Skill、2 个员工 │ │
│ └────────────────────────────────────────────────────────────────┘ │
│ │
│ 发布方式 │
│ (●) 立即生效 ( ) 保存为待审核 ( ) 仅保存草稿 │
│ │
│ 版本说明 │
│ [ 首次导入退款政策.............................................. ] │
│ │
│ ☑ 我已确认内容不包含未经授权的个人敏感信息 │
│ │
│ [上一步] [保存草稿] [发布知识] │
└──────────────────────────────────────────────────────────────────────┘
5.5 交互逻辑
- 标题、类型为必填;校验失败时定位到第一个错误字段。
- 文件导入后生成本地任务;关闭窗口不取消任务。
- 解析失败保留成功文件,允许只重试失败文件。
- 每个来源文件保存完整正文,可编辑全文;至少存在 1 份非空正文才能发布。
- “保存草稿”在任一步可用;再次进入时恢复步骤、文件和编辑内容。
- 发布成功后关闭窗口,主列表新增对应卡片并定位到该项。
6. 知识详情原型
路由: /window/knowledge-detail?id=<knowledgeId>
┌──────────────────────────────────────────────────────────────────────┐
│ 知识库详情 [主题] [关闭] │
├──────────────────────────────────────────────────────────────────────┤
│ 售后常见问题与退款边界 v1.7 ● 已生效 [更多▼] │
│ 文件 · 售后 · 更新于 2026-06-05 · 引用 82 次 │
│ │
│ [概览] [全文内容] [引用关系 5] [版本历史 7] [错误记录] │
│ ───────────────────────────────────────────────────────────────── │
│ │
│ 基本信息 [编辑基本信息] │
│ ┌──────────────────────────────┬─────────────────────────────────┐ │
│ │ 来源:refund-policy.pdf │ 解析方式:PDF + OCR │ │
│ │ 创建人:本机管理员 │ 当前版本:v1.7 │ │
│ │ 生效时间:2026-06-05 │ 最近检索:12 分钟前 │ │
│ └──────────────────────────────┴─────────────────────────────────┘ │
│ │
│ 内容摘要 │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ 涵盖退款期限、数字商品限制、异常订单处理和安抚话术边界…… │ │
│ └────────────────────────────────────────────────────────────────┘ │
│ │
│ 使用情况 │
│ ┌────────────────┐ ┌────────────────┐ ┌────────────────────────┐ │
│ │ 本周命中 32 次 │ │ 引用 Skill 3 个│ │ 绑定员工 2 个 │ │
│ └────────────────┘ └────────────────┘ └────────────────────────┘ │
│ │
│ [重新解析] [创建新版本] [停用] [删除知识] │
└──────────────────────────────────────────────────────────────────────┘
6.1 标签页内容
- 全文内容:展示和搜索完整正文,可编辑全文;变更后创建新版本。
- 引用关系:列出引用该知识的 Skill 和员工;点击打开对应详情。
- 版本历史:版本号、发布时间、操作者、变更说明;支持比较和回滚。
- 错误记录:解析、检索、权限错误;支持复制错误和重新处理。
6.2 交互逻辑
| 操作 | 逻辑 |
|---|---|
| 编辑基本信息 | 标题、标签、说明可编辑;保存生成审计记录,不创建内容版本 |
| 重新解析 | 先显示影响说明;成功后创建新草稿版本,确认后替换生效版本 |
| 创建新版本 | 复制当前版本进入编辑,不直接覆盖线上版本 |
| 停用 | 二次确认;停用后检索不再命中,但历史引用保留 |
| 删除 | 先检查引用关系;存在引用时禁止硬删除,提示先解绑或仅停用 |
| 回滚 | 以历史版本内容创建一个新的当前版本,历史记录不删除 |
7. Skill 市场主列表补全
┌────────────────────────────────────────────┐
│ Skill 市场 [◐][⚙][↻][退出] │
├────────────────────────────────────────────┤
│ [全部] [内置] [自定义] │
│ [ 搜索 Skill 名称或能力................. ] │
│ [状态▼] [刷新] │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ 客户意图识别 │ │
│ │ 内置 · v2.1 ● 已启用 │ │
│ │ 线索分级 异议判断 下一步建议 │ │
│ │ 绑定知识 3 · 最近调用 16 次 │ │
│ │ [查看][开关●] │ │
│ └──────────────────────────────────────┘ │
│ ┌──────────────────────────────────────┐ │
│ │ 报价策略生成 │ │
│ │ 自定义 · v1.3 ● 已启用 │ │
│ │ 利润保护 阶梯报价 优惠边界 │ │
│ │ 测试通过 · 修改于 2 天前 │ │
│ │ [编辑][开关●] │ │
│ └──────────────────────────────────────┘ │
│ ┌──────────────────────────────────────┐ │
│ │ 售后安抚助手 │ │
│ │ 内置 · v1.0 ○ 已关闭 │ │
│ │ 情绪识别 补偿建议 工单摘要 │ │
│ │ [查看][开关○] │ │
│ └──────────────────────────────────────┘ │
│ [ + ] │
├────────────────────────────────────────────┤
│ [微信分身] [知识库] [Skill] [员工蒸馏] │
└────────────────────────────────────────────┘
7.1 交互逻辑
- 点击卡片或“查看/编辑”打开具体 Skill 详情,必须携带
skillId。 - 内置 Skill 只读,只允许启停和查看权限。
- 自定义 Skill 可编辑;编辑已发布 Skill 时先创建草稿版本。
- 启用前检查测试状态和权限完整性;不通过时跳转到对应配置项。
- 开关采用等待后端成功再更新,失败时保留原状态并显示原因。
8. 新增/编辑 Skill 原型
路由建议:
- 新增:
/window/skill-create - 详情:
/window/skill-detail?id=<skillId>
8.1 编辑页
┌──────────────────────────────────────────────────────────────────────┐
│ 新增 Skill [主题] [关闭] │
├──────────────────────────────────────────────────────────────────────┤
│ [基本信息] [执行定义] [权限授权] [沙箱测试] [发布设置] │
│ ───────────────────────────────────────────────────────────────── │
│ │
│ Skill 名称 * │
│ [ 报价策略生成.................................................. ] │
│ │
│ 类型 版本 │
│ [ 自定义 ▼ ] [ v1.0 ] │
│ │
│ 描述 │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ 根据客户意向、商品成本和优惠边界生成报价建议 │ │
│ └────────────────────────────────────────────────────────────────┘ │
│ │
│ 能力标签 │
│ [ 利润保护 × ] [ 阶梯报价 × ] [ 输入标签......................... ] │
│ │
│ [保存草稿] [下一步:定义] │
└──────────────────────────────────────────────────────────────────────┘
8.2 执行定义
┌──────────────────────────────────────────────────────────────────────┐
│ 系统提示词 [恢复默认] │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ 你是报价策略助手。不得突破配置的最低利润率…… │ │
│ └────────────────────────────────────────────────────────────────┘ │
│ │
│ 输入 Schema 输出 Schema │
│ ┌──────────────────────────────┐ ┌─────────────────────────────┐ │
│ │ customerLevel: string │ │ suggestedPrice: number │ │
│ │ productId: string │ │ reason: string │ │
│ │ maxDiscount: number │ │ risk: string │ │
│ └──────────────────────────────┘ └─────────────────────────────┘ │
│ │
│ 可调用工具 │
│ ☑ 查询商品信息 ☑ 检索知识库 ☐ 发送微信消息 ☐ 创建工单 │
│ │
│ [上一步] [保存草稿] [下一步:授权] │
└──────────────────────────────────────────────────────────────────────┘
8.3 权限授权
┌──────────────────────────────────────────────────────────────────────┐
│ 可访问知识库 [搜索知识] [全不选] │
│ ☑ 产品价格表 已生效 v3.2 │
│ ☑ 报价与折扣边界 已生效 v1.4 │
│ ☐ 售后退款政策 已生效 v1.7 │
│ │
│ 危险权限 │
│ ☐ 允许直接发送消息 │
│ 未授权时只生成建议,必须由人工确认。 │
│ ☐ 允许主动联系客户 │
│ 开启后仍受托管配置和白名单限制。 │
│ │
│ [上一步] [保存草稿] [下一步:测试] │
└──────────────────────────────────────────────────────────────────────┘
8.4 沙箱测试
┌──────────────────────────────────────────────────────────────────────┐
│ 测试输入 [载入样例▼] │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ 客户等级:A │ │
│ │ 商品:年度专业版 │ │
│ │ 客户问题:还能再优惠一点吗? │ │
│ └────────────────────────────────────────────────────────────────┘ │
│ [运行测试] │
│ ───────────────────────────────────────────────────────────────── │
│ ● 测试通过 · 1.8s · 820 tokens │
│ │
│ 输出结果 │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ 建议报价:¥8,800 │ │
│ │ 理由:客户等级 A,可使用 8% 优惠,仍高于最低利润线…… │ │
│ └────────────────────────────────────────────────────────────────┘ │
│ │
│ 工具轨迹 │
│ 1. 查询商品信息 ✓ 2. 检索报价边界 ✓ 3. 生成建议 ✓ │
│ │
│ [上一步] [保存测试样例] [下一步:发布] │
└──────────────────────────────────────────────────────────────────────┘
8.5 发布规则
- 必须完成至少一次成功测试,才能发布或启用。
- 输出不符合 schema、工具越权或超时均视为测试失败。
- 危险权限单独确认,并说明仍受托管配置控制。
- 发布后版本不可直接覆盖;继续编辑生成下一个草稿版本。
- 内置 Skill 详情使用同一结构,但隐藏编辑和发布按钮。
9. 员工蒸馏主页面补全
┌────────────────────────────────────────────┐
│ 员工蒸馏 [◐][⚙][↻][退出] │
├────────────────────────────────────────────┤
│ 把优秀话术沉淀成可评估、可授权的员工能力 │
│ [查看教程] [开始新的蒸馏] │
│ │
│ 当前任务 │
│ ┌──────────────────────────────────────┐ │
│ │ 销售冠军 Aileen 话术蒸馏 │ │
│ │ … 能力提取 72% │ │
│ │ ███████████████████░░░░░ │ │
│ │ 成功 248 · 失败 7 · 剩余约 3 分钟 │ │
│ │ [查看][取消]│ │
│ └──────────────────────────────────────┘ │
│ │
│ 已发布员工 │
│ [搜索员工................] [状态▼] │
│ ┌──────────────────────────────────────┐ │
│ │ 销售冠军 Aileen v3.2 ● 已启用 │ │
│ │ 企微私域成交 │ │
│ │ 高意向逼单 / 异议拆解 / 温和推进 │ │
│ │ 评分 96 · 本周调用 28 [查看详情]│ │
│ └──────────────────────────────────────┘ │
│ ┌──────────────────────────────────────┐ │
│ │ 客服主管 Mina v2.1 ○ 已关闭 │ │
│ │ 售后服务 │ │
│ │ 投诉降温 / 售后边界 / 情绪安抚 │ │
│ │ [查看详情]│ │
│ └──────────────────────────────────────┘ │
├────────────────────────────────────────────┤
│ [微信分身] [知识库] [Skill] [员工蒸馏] │
└────────────────────────────────────────────┘
9.1 交互逻辑
- “查看教程”打开标注清楚的帮助页,不使用无响应按钮。
- 任务进度来自
DistillJob,页面重开后继续显示。 - 点击任务进入任务详情,可查看当前阶段和失败样本。
- 取消任务需确认;已完成阶段数据保留,可稍后继续。
- 点击员工卡片携带
employeeId打开员工详情。
10. 开始蒸馏原型
路由: /window/distill-start
形式: 5 步向导。
10.1 步骤总览
┌──────────────────────────────────────────────────────────────────────┐
│ 开始蒸馏 [主题] [关闭] │
├──────────────────────────────────────────────────────────────────────┤
│ ① 来源导入 ─ ② 隐私处理 ─ ③ 能力提取 ─ ④ 效果评估 ─ ⑤ 发布员工 │
│ │
│ 数据来源 │
│ [导入微信聊天] [上传文档] [选择已有案例] │
│ │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ sales-chat-2026-06.json 1,286 条会话 ✓ 格式有效 │ │
│ │ champion-scripts.docx 38 条话术 ✓ 格式有效 │ │
│ │ follow-up-cases 12 个已有案例 ✓ 已选择 │ │
│ └────────────────────────────────────────────────────────────────┘ │
│ │
│ 数据范围 │
│ 时间:[2026-01-01] 至 [2026-06-30] 最少有效会话:50 条 │
│ │
│ [保存草稿] [下一步:隐私检查] │
└──────────────────────────────────────────────────────────────────────┘
10.2 隐私处理
┌──────────────────────────────────────────────────────────────────────┐
│ 扫描结果:发现 423 个联系人、86 个手机号、31 个订单号 │
│ │
│ 脱敏规则 │
│ ☑ 联系人名称替换为匿名编号 │
│ ☑ 手机号保留后四位 │
│ ☑ 订单号完全隐藏 │
│ ☑ 地址只保留省市 │
│ │
│ 脱敏预览 │
│ 原文:张三的订单 202606180018,手机号 13800138000 │
│ 结果:客户-023 的订单 ************,手机号 *******8000 │
│ │
│ ☑ 我确认仅处理已获授权的数据 │
│ │
│ [上一步] [保存草稿] [开始能力提取] │
└──────────────────────────────────────────────────────────────────────┘
10.3 能力提取
┌──────────────────────────────────────────────────────────────────────┐
│ 正在提取能力 72% │
│ ████████████████████░░░░░░░░ │
│ │
│ ✓ 数据清洗 1,286 / 1,286 │
│ ✓ 场景聚类 18 个场景 │
│ … 策略提取 13 / 18 │
│ ○ 边界归纳 等待 │
│ ○ 反例生成 等待 │
│ │
│ 已识别能力 │
│ [高意向识别] [异议拆解] [温和推进] [优惠边界] [长期跟进] │
│ │
│ 失败样本 7 条 [查看失败样本] │
│ │
│ [后台继续运行] [取消任务] │
└──────────────────────────────────────────────────────────────────────┘
10.4 效果评估
┌──────────────────────────────────────────────────────────────────────┐
│ 综合评分 92 / 100 ● 达到发布标准 │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ 场景命中 94% │ │ 拒答准确 91% │ │ 越权率 0.3% │ │ 一致性 89% │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
│ 测试样例 │
│ ✓ 高意向询价 建议合理 │
│ ✓ 超边界优惠 已拒绝越权 │
│ ! 售后退款混合场景 回答包含不确定信息 [查看] │
│ │
│ [重新评估] [导出评估报告] [下一步:发布] │
└──────────────────────────────────────────────────────────────────────┘
10.5 发布员工
┌──────────────────────────────────────────────────────────────────────┐
│ 员工名称 * │
│ [ 销售冠军 Aileen............................................... ] │
│ │
│ 业务领域 初始版本 │
│ [ 企微私域成交 ▼ ] [ v1.0 ] │
│ │
│ 授权能力 │
│ ☑ 客户意图识别 ☑ 报价策略生成 ☐ 售后安抚助手 │
│ │
│ 授权知识 │
│ ☑ 产品价格表 ☑ 报价边界 ☑ 高意向跟进案例 │
│ │
│ 初始状态 │
│ ( ) 发布后立即启用 (●) 发布但保持关闭 │
│ │
│ [保存草稿] [上一步] [发布员工] │
└──────────────────────────────────────────────────────────────────────┘
10.6 交互逻辑
- 从能力提取开始创建后台任务,关闭窗口后任务继续。
- “后台继续运行”关闭窗口并在员工蒸馏主页面展示任务卡片。
- 失败样本允许排除、修正分类或重新处理,但保留审计记录。
- 评估未达阈值时禁用发布,提供“查看失败项”和“重新提取”。
- 发布成功后跳转员工详情,并同步主列表。
11. 员工详情原型
路由: /window/employee-detail?id=<employeeId>
┌──────────────────────────────────────────────────────────────────────┐
│ 员工详情 [主题] [关闭] │
├──────────────────────────────────────────────────────────────────────┤
│ 销售冠军 Aileen v3.2 ● 已启用 [启停开关●] │
│ 企微私域成交 · 更新于 2026-06-18 │
│ │
│ [概览] [能力与授权] [评估报告] [版本历史] [调用记录] │
│ ───────────────────────────────────────────────────────────────── │
│ │
│ 员工画像 [编辑画像] │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ 高意向逼单 / 异议拆解 / 温和推进 │ │
│ │ 适用:已有明确需求、处于报价或决策阶段的私域客户 │ │
│ │ 禁止:承诺未授权折扣、绕过人工确认直接发送敏感信息 │ │
│ └────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ 综合评分 96 │ │ 本周调用 28 │ │ 采纳率 82% │ │ 异常 1 次 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
│ 绑定能力:客户意图识别、报价策略生成 [管理授权] │
│ 绑定知识:产品价格表、报价边界、高意向案例 [管理知识] │
│ │
│ [重新蒸馏] [复制为新员工] [停用] [更多操作▼] │
└──────────────────────────────────────────────────────────────────────┘
11.1 交互逻辑
| 操作 | 逻辑 |
|---|---|
| 启停 | 启用前校验模型、Skill、知识权限;停用不删除历史 |
| 管理授权 | 弹出 Skill 多选,危险权限额外确认 |
| 管理知识 | 只显示已生效知识;停用知识标为不可用 |
| 重新蒸馏 | 创建新蒸馏任务,当前版本继续运行,直到新版本发布 |
| 版本回滚 | 基于历史版本创建新当前版本,不修改历史记录 |
| 查看异常 | 跳转调用记录并过滤异常项,可关联 requestId 查看日志 |
12. 设置中心原型
路由: /window/settings
布局: 延续当前左侧分类、右侧内容。底部统一显示未保存状态和保存按钮。
12.1 设置壳
┌──────────────────────────────────────────────────────────────────────┐
│ 设置 [主题] [关闭] │
├──────────────────┬───────────────────────────────────────────────────┤
│ 基础配置 │ 当前分区标题 │
│ 提示词配置 │ 分区说明 │
│ 回复规则 │ │
│ Skill 管理 │ 配置内容 │
│ 员工管理 │ │
│ 知识库管理 │ │
│ 托管配置 │ │
│ ├───────────────────────────────────────────────────┤
│ │ ● 有未保存修改 [恢复] [保存配置] │
└──────────────────┴───────────────────────────────────────────────────┘
12.2 基础配置
┌─ 大模型配置 ─────────────────────────────────────────────────────────┐
│ 模型厂家 [ 豆包 / 火山引擎 ▼ ] │
│ 请求地址 [ https://ark.cn-beijing.volces.com/api/v3......... ] │
│ API Key [ ● 已配置 ************************ ] [更换] [删除] │
│ 模型名称 [ doubao-pro-32k ▼ ] │
│ 请求超时 [ 8000 ] ms │
│ │
│ [测试连接] ● 连接成功 · 324ms · doubao-pro-32k │
└───────────────────────────────────────────────────────────────────────┘
交互:厂家变化时加载默认地址和可选模型;不覆盖用户已编辑值,先确认。测试连接使用当前表单值,不要求先保存。API Key 只显示“已配置”,不回显明文。
12.3 提示词配置
┌─ 固定提示词 ─────────────────────────────────────────── [不可修改] ─┐
│ 你是本地微信分身助手,需要遵守托管策略、回复边界与用户授权…… │
└───────────────────────────────────────────────────────────────────────┘
┌─ 自定义提示词 ─────────────────────────── 82 / 4000 [恢复默认] ─────┐
│ 保持友好、简洁、可信赖。优先调用知识库和已授权员工能力…… │
│ │
└───────────────────────────────────────────────────────────────────────┘
[预览组合提示词] [保存提示词]
交互:固定提示词真正只读;自定义提示词保存前校验长度;恢复默认需确认;离开分区时提示未保存修改。
12.4 回复规则
┌─ 基础规则 ───────────────────────────────────────────────────────────┐
│ 免打扰模式 [开关○] [时间段 22:00 - 08:00] │
│ 自动加好友 [开关○] │
│ 主动联系客户 [开关○] 需要白名单授权 │
│ 开启蒸馏 [开关●] │
└───────────────────────────────────────────────────────────────────────┘
┌─ 用户名单 ───────────────────────────────────────────────────────────┐
│ [白名单] [黑名单] │
│ [ 搜索或输入微信名称.............................. ] [添加] │
│ 张三 来源:手动添加 2026-06-20 [移除] │
│ 客户测试群 来源:联系人选择 2026-06-18 [移除] │
└───────────────────────────────────────────────────────────────────────┘
交互:黑白名单使用列表而非开关;同一用户不能同时存在于两个名单。主动联系开启前必须至少存在一个白名单用户。
12.5 Skill 管理
┌─ Skill 功能 ─────────────────────────────────────────────────────────┐
│ 开启 Skill 功能 [总开关●] │
│ 关闭总开关后保留以下单项配置,但运行时全部不生效。 │
├───────────────────────────────────────────────────────────────────────┤
│ 客户意图识别 内置 v2.1 已测试 [开关●] │
│ 报价策略生成 自定义 v1.3 已测试 [开关●] │
│ 售后安抚助手 内置 v1.0 未测试 [开关○] │
└───────────────────────────────────────────────────────────────────────┘
12.6 员工管理
┌─ 员工能力 ───────────────────────────────────────────────────────────┐
│ 开启使用员工功能 [总开关●] │
├───────────────────────────────────────────────────────────────────────┤
│ 销售冠军 Aileen v3.2 评分 96 企微私域成交 [开关●] │
│ 售前专家 Leo v1.8 评分 91 B2B 咨询 [开关●] │
│ 客服主管 Mina v2.1 评分 88 售后服务 [开关○] │
└───────────────────────────────────────────────────────────────────────┘
12.7 知识库管理
┌─ SQLite 文本搜索 ────────────────────────────────────────────────────┐
│ 开启使用知识库功能 [总开关●] │
│ 搜索算法 SQLite FTS5 / BM25(固定) │
│ 最大返回数量 [ 5 ] │
│ 搜索字段 ☑ 标题 ☑ 标签 ☑ 完整正文 │
├───────────────────────────────────────────────────────────────────────┤
│ 售后退款政策 v1.7 已生效 正文 2.6 万字 [开关●] │
│ 产品价格表 v3.2 已生效 正文 8,200 字 [开关●] │
│ 旧版报价说明 v0.9 已停用 [不可启用] │
└───────────────────────────────────────────────────────────────────────┘
12.8 托管配置
┌─ 托管总开关 ─────────────────────────────────────────────────────────┐
│ 开启托管功能 [开关○] │
│ 开启后 Agent 可在规则和授权范围内处理微信消息。 │
└───────────────────────────────────────────────────────────────────────┘
┌─ 托管策略 ───────────────────────────────────────────────────────────┐
│ 本地消息服务 [开关●] │
│ 发送前人工确认 [开关●] │
│ 异常自动暂停 [开关●] │
│ 连续异常阈值 [ 3 ] 次 │
│ 单日消息最长等待 [ 30 ] 秒 │
└───────────────────────────────────────────────────────────────────────┘
优先级:异常自动暂停 > 人工确认 > 自动发送 > 托管总开关
12.9 设置统一交互逻辑
- 页面打开调用
get_config;加载失败显示重试,不展示伪默认值。 - 修改任意字段后出现“有未保存修改”。
- 切换分区不丢失草稿;关闭窗口时提示保存或放弃。
- 保存使用一次事务提交,失败时保留所有表单内容。
- 总开关关闭时,单项开关保留但显示为暂不生效。
- 保存成功通过事件同步其他窗口的模型、引擎和托管状态。
13. 完整运行日志原型
路由: /window/engine-logs
┌──────────────────────────────────────────────────────────────────────┐
│ 分身引擎日志 [主题] [关闭] │
├──────────────────────────────────────────────────────────────────────┤
│ [全部▼] [模块▼] [ 搜索消息或 requestId......................... ] │
│ ☑ 自动滚动 [暂停接收] [导出] [清空视图] │
│ │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ 12:30:01 INFO agent 引擎启动成功 │ │
│ │ 12:30:02 INFO vision 预览流已连接,12.4 FPS │ │
│ │ 12:30:06 DEBUG capture 检测到客户 A 新消息 │ │
│ │ 12:30:07 INFO retriever 命中“报价边界” score=0.86 │ │
│ │ 12:30:08 INFO model 回复生成完成 requestId=req_91fa │ │
│ │ 12:30:09 WARN policy 等待人工确认 │ │
│ │ 12:30:15 ERROR sender 发送失败:当前会话已切换 │ │
│ │ │ │
│ │ │ │
│ └────────────────────────────────────────────────────────────────┘ │
│ 已显示 286 / 1,240 条 · 缓存上限 10,000 · 最后更新 12:30:15 │
└──────────────────────────────────────────────────────────────────────┘
13.1 日志详情抽屉
┌─ 日志详情 ───────────────────────────────────────────────────────────┐
│ 时间 2026-07-20 12:30:15.238 │
│ 级别 ERROR │
│ 模块 sender │
│ requestId req_91fa [复制] │
│ 消息 发送失败:当前会话已切换 │
│ 上下文 snapshot-9821 → snapshot-9822 │
│ │
│ [复制完整日志] [仅筛选此 requestId] │
└──────────────────────────────────────────────────────────────────────┘
13.2 交互逻辑
- 实时订阅
engine-log;暂停接收时后端继续运行,前端暂存新日志数量。 - 筛选条件包括级别、模块和搜索文本,可组合使用。
- 点击日志行打开详情;requestId 可串联同一次处理流程。
- “清空视图”只清当前显示缓存,不删除磁盘日志;执行后提供“重新加载”。
- “导出”按当前筛选导出文本或 JSON。
- 列表缓存 10,000 条,超过后淘汰最旧数据;采用虚拟滚动。
14. 跨页面交互关系
微信分身
├─ 启动检查失败:模型配置 ───────────────> 设置 / 基础配置
├─ 启动检查失败:标注不完整 ─────────────> 真实标注页
├─ 启动检查失败:未找到微信窗口 ─────────> 关闭浮层并重新打开微信
└─ 检查全部通过 ─────────────────────────> 自动继续启动引擎
知识库列表
├─ 新增 ─────────────────────────────────> 新增知识四步向导
└─ 点击卡片 ─────────────────────────────> 知识详情(id)
Skill 市场
├─ 新增 ─────────────────────────────────> Skill 编辑器
└─ 点击卡片 ─────────────────────────────> Skill 详情(id)
员工蒸馏
├─ 开始新的蒸馏 ─────────────────────────> 蒸馏五步向导
├─ 点击任务 ─────────────────────────────> 蒸馏任务当前步骤
└─ 点击员工 ─────────────────────────────> 员工详情(id)
15. 全局反馈原型
15.1 异步处理中
[ … 正在保存 ] 按钮禁用,不允许重复提交
15.2 成功提示
┌──────────────────────────────────────┐
│ ✓ 配置已保存 │
│ 已同步到运行中的引擎 │
└──────────────────────────────────────┘
15.3 可恢复错误
┌──────────────────────────────────────────────────────────┐
│ ! 模型连接超时 │
│ 请求地址无响应,请检查网络或将超时时间调大。 │
│ [去修改] [重新测试] │
└──────────────────────────────────────────────────────────┘
15.4 未保存关闭确认
┌──────────────────────────────────────────────┐
│ 关闭前保存修改? │
│ 当前页面有尚未保存的内容。 │
│ │
│ [继续编辑] [放弃修改] [保存并关闭] │
└──────────────────────────────────────────────┘
15.5 危险操作确认
┌──────────────────────────────────────────────┐
│ 停用“售后退款政策”? │
│ 停用后引擎不会再检索该知识,历史记录仍保留。 │
│ │
│ [取消] [确认停用] │
└──────────────────────────────────────────────┘
16. 页面状态检查清单
每个页面实现时至少需要对应以下原型状态:
| 状态 | 页面表现 |
|---|---|
| 首次加载 | 内容骨架或明确的加载文案,禁止先显示假数据 |
| 空数据 | 解释为什么为空,并提供创建或刷新动作 |
| 加载失败 | 显示原因摘要、重试和相关设置/日志入口 |
| 提交中 | 主按钮禁用并显示阶段,不允许重复提交 |
| 提交成功 | 更新当前内容或返回来源列表,并提供明确反馈 |
| 提交失败 | 保留输入,展示原因和恢复方式 |
| 未保存 | 标记 dirty;关闭、返回或切换实体时确认 |
| 权限不足 | 解释缺失权限,并提供授权入口 |
| 后台任务 | 可离开、可恢复、可查看进度、可取消或重试 |
| 实体失效 | id 不存在或已删除时显示说明并返回列表 |
17. 推荐实现顺序
- 先补主链路入口和可信状态:微信分身状态、日志入口、实体 id。
- 完成知识库闭环:知识列表 → 新增 → 解析 → 详情 → 发布/停用。
- 完成设置闭环:配置读取、表单状态、连接测试、事务保存。
- 完成 Skill 闭环:列表 → 编辑 → 测试 → 授权 → 发布。
- 完成蒸馏闭环:任务向导 → 后台进度 → 评估 → 员工详情。
- 最后完善日志诊断:实时订阅、筛选、导出和 requestId 串联。
实现时保持当前组件和视觉语言,不再新增另一套页面壳、按钮体系或导航方式。