3.1 KiB
智能体与「全部账号」已同步到协议版客户端
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 为准。