文档:完善泽源后端协作基线

This commit is contained in:
talesofzes
2026-06-22 16:27:57 +08:00
parent 53a5260cac
commit fcbd728457
19 changed files with 2806 additions and 0 deletions
+159
View File
@@ -1 +1,160 @@
# 01_老板 AI 秘书与 AI 草稿
## 1. 模块目标
老板 AI 秘书负责接收老板在飞书机器人私聊或平台输入的一句话,判断意图,并整理成可人工确认的草稿。第一版 AI 只生成草稿或回答,不直接创建事项、不直接创建提醒、不直接发送通知。
## 2. 第一版做什么
1. 支持老板在平台输入文本。
2. 支持老板通过飞书机器人私聊输入文本。
3. 判断意图类型:`task``reminder``qa``realtime_qa``note``unknown`
4.`task` 生成事项草稿。
5.`reminder` 生成提醒草稿。
6.`qa` 直接用大白话回答,不生成草稿。
7.`realtime_qa` 提示第一版暂不支持正式实时查询,不创建草稿、不通知、不做交易判断。
8.`unknown` 追问关键缺失信息,最多 3 个补充项。
9. 支持老板确认、补充/重说、取消草稿。
10. 支持补充/重说 30 分钟上下文,超时后按新输入处理。
11. 支持复杂事项转程经理确认。
12. AI 调用时加载公司背景摘要、老板大白话风格和第一版业务规则版本。
## 3. 第一版不做
1. 不做老板独立 App。
2. 不做语音、图片、文件上传或多模态输入。
3. 不做员工通用 AI 工作台。
4. 不让 AI 自动替代程经理拆复杂任务。
5. 不让 AI 未经确认直接通知别人。
6. 不做实时天气、新闻、股价、行情查询的正式能力。
7. 不把老板解释中的游戏化表达写进事项标题、接收人、时间、反馈要求等结构化字段。
## 4. 核心流程
平台入口:
```text
老板输入一句话
-> POST /api/ai-drafts/parse
-> 后端加载 prompt_contexts
-> 调用 ai_client
-> 校验模型 JSON
-> 写入 model_call_logs
-> 生成 ai_drafts
-> 前端展示草稿
```
飞书机器人入口:
```text
老板私聊机器人
-> 飞书事件回调
-> 后端验签
-> 匹配平台用户
-> 校验 boss 角色
-> 检查 bot_contexts 是否等待补充
-> 调用 AI 生成或重写草稿
-> 发送飞书确认卡片
-> 写入 feishu_events、ai_drafts、operation_logs
```
非老板私聊机器人:
```text
收到机器人私聊
-> 匹配用户
-> 发现不是 boss
-> 不调用 AI
-> 不生成草稿
-> 回复进入平台处理
-> 写入未授权访问失败记录
```
## 5. 数据对象
本模块主要使用:
1. `users`
2. `person_mappings`
3. `bot_contexts`
4. `prompt_contexts`
5. `ai_drafts`
6. `model_call_logs`
7. `feishu_events`
8. `failure_records`
9. `operation_logs`
字段以 `docs/contracts/数据对象约定.md` 为准。
## 6. 接口需求
主要接口:
1. `POST /api/ai-drafts/parse`
2. `GET /api/ai-drafts`
3. `GET /api/ai-drafts/{id}`
4. `PATCH /api/ai-drafts/{id}`
5. `POST /api/ai-drafts/{id}/confirm`
6. `POST /api/ai-drafts/{id}/cancel`
7. `POST /api/ai-drafts/{id}/convert`
8. `POST /api/ai-drafts/{id}/follow-up`
9. `POST /api/feishu/events`
10. `POST /api/feishu/card-callback`
接口格式以 `docs/contracts/API接口约定.md` 为准。
## 7. 权限规则
1. 飞书机器人私聊入口第一版只允许老板使用。
2. 非老板私聊机器人时,不调用模型、不生成草稿,只记录未授权访问。
3. 老板可以确认、补充/重说、取消自己发起的草稿。
4. 程经理只能确认转给自己的复杂事项草稿。
5. 管理员 / AI 团队只能协助排查,不代替老板或程经理做业务确认。
## 8. 状态流转
草稿状态以 `docs/contracts/状态流转约定.md` 为准。核心约束:
1. `pending_confirmation` 只能等待确认、取消、补充或转程经理。
2. 未确认草稿不得创建事项、提醒或通知。
3. `parse_failed` 不得继续转换。
4. `converted` 草稿不得重复转换。
5. 补充/重说会生成新草稿,并通过 `parent_draft_id` 指向上一版草稿。
## 9. 失败和日志
必须记录:
1. 原始输入和 AI 输出摘要。
2. 模型调用使用的背景摘要版本、老板风格版本和业务规则版本。
3. AI JSON 解析失败。
4. 缺少人员映射。
5. 非老板机器人访问。
6. 补充/重说上下文过期。
7. 人工确认、修改、取消、转程经理确认。
不得记录:
1. API Key。
2. 飞书 token。
3. 完整手机号。
4. 完整邮箱。
5. 飞书 App Secret。
## 10. 给 AI 的测试样例
1. 老板输入“明天上午提醒东东给我订会议室”,应生成 `reminder` 草稿,不直接创建提醒。
2. 老板输入“让剑楠下周给我看一下期货策略风险”,应生成 `task` 草稿,并倾向 `manager_confirm`
3. 老板输入“今天杭州天气怎么样”,应识别为 `realtime_qa`,不生成事项或提醒。
4. 普通员工私聊机器人,应返回未开放提示,并写入未授权访问记录。
5. 老板点击补充/重说后 30 分钟内再发消息,应关联上一版草稿。
6. AI 输出 JSON 缺少 `draft_type` 时,应写入解析失败,不创建草稿闭环对象。
## 11. Review 重点
1. 是否严格保证 AI 只生成草稿。
2. 是否所有关键动作都需要人工确认。
3. 是否避免将游戏化表达写入结构化字段。
4. 是否记录模型版本和 prompt_contexts 版本。
5. 是否对非老板机器人访问做了后端权限校验。
6. 是否对模型 JSON 做了结构校验和失败记录。