38 lines
3.1 KiB
Markdown
38 lines
3.1 KiB
Markdown
# 智能体与「全部账号」已同步到协议版客户端
|
||
|
||
2026-09-16 把 `C:\kefu` 那边开发的三件事同步到本目录(协议版客户端,v1.4.16)。
|
||
|
||
## 同步了什么
|
||
|
||
**一、智能体(角色 + 规则)**——客户端这边是真正用得上的部分:
|
||
|
||
- 新增 `agent_rules.py`:人设与规则的纯逻辑层(guide 补充指令 / forbid 禁止措辞 / reply 固定口径),单角色切换与多角色协作都在这里。
|
||
- `ai_config.py`:新增 `AI_AGENTS` / `AI_AGENT_PLAN` 两个下发字段,并在内置人设里加了一段「客户发来短消息 / 数字时严禁说成乱码」。
|
||
- `ai_chat.py`:系统提示词追加角色段落、出口校验禁止措辞、固定口径直接回、纯数字单独给一条会话指令。
|
||
|
||
协议版的发送链路走 `protocol_engine._generate` → `ai_chat.get_ai_reply`,所以上面这些自动生效,协议引擎本身不用改。配了本地裁判时走 `model_router.answer`,它内部同样调 `ai_chat.get_ai_reply`,也一样覆盖。
|
||
|
||
**二、线上那条错误回复的修复**:客户发来血糖值「13」,模型回"这串像系统编码"。提示词、会话指令、出口兜底三处都加了拦截,最后一道关不掉也不依赖配置——一个智能体都不配时照样生效。
|
||
|
||
**三、后台的「全部账号」范围**:`admin_backend.tenant_filter`、`archive_store.TenantScope`、`admin_api.ALL_ACCOUNTS` 与写路径的 `single_tenant` 守卫。本目录没有 `admin-web` 前端,所以管理端页面那部分(智能体页、账号下拉框默认全部)在这里不适用,只同步了后端能力,避免以后从这个目录起后台时功能对不上。
|
||
|
||
## 怎么同步的
|
||
|
||
`ai_chat.py` / `ai_config.py` / `rbac.py` 在两个目录里原本逐字节相同(只差我这次的改动),直接覆盖。`admin_backend.py` / `admin_api.py` / `archive_store.py` / `archive_api.py` 两边已经因为别的原因分叉(本目录的接口是 async 写法,`archive_store` 还是归档性能优化之前的版本),所以是**按差异移植**,没有整文件覆盖——那样会把 `C:\kefu` 那边不相干的改动一起带过来。
|
||
|
||
`export_jobs` 在本目录还是旧的 N+1 写法,补丁按这边的形状单独适配过。
|
||
|
||
## 没有同步的
|
||
|
||
- **归档性能优化**(游标 SQL、`message_count` 的租户谓词、`desktop_accounts` 的 `include_counts`):那是 9 月 14 日在 `C:\kefu` 做的另一件事,和这次无关,本目录仍是旧版。要不要跟进是另一个决定。
|
||
- **知识库**(`knowledge_*.py`、`knowledge:*` 权限码):`C:\kefu` 那边正在并行开发,本目录没有这套文件,这次没碰。
|
||
|
||
## 验证
|
||
|
||
本目录跑过:归档 25、管理端与数据层 204、客户端 AI 525、协议链路 100、打包 30、网关与路由等 181,合计 1065 个用例全部通过。
|
||
|
||
|
||
## 后续完整整合
|
||
|
||
同日后续整合已补齐本文当时尚未同步的知识库、归档性能和管理前端,另补充协议回复知识引用与风险审核。本文保留此前同步记录;当前功能和启动方式以 [INTEGRATION_20260916.md](INTEGRATION_20260916.md) 为准。
|