lzf_0626
6c09cdecbd
新增补发画像工具白名单的脚本(dry-run + 合并前防呆)
tools/publish_profile_tool_whitelist.py:把 query_customer_profile 加进
customer_service:faq,供 NL_develop 合并后在本环境补发配置。
关键设计都来自这轮评审核实到的事实:
1. 继承走 ConfigReleaseService.effective_snapshot(),一次拿全三张受管表
(platform_config_item / prompt_template_version / model_routing_rule)。
既有的两个 agent_tools 发布脚本都绕开它、自己写 SQL 只查第一张 —— 用它们发版
会把 201 里那条客服闲聊提示词一起清掉,而 Agent 侧有兜底、功能看着正常、没有告警
(这个事故在本项目真实发生过一次)。
2. 同 key 覆盖:继承项里的 customer_service:faq 必须被本次新值覆盖,否则旧值
["search_knowledge"] 会被 admin 端校验拦下、整次发布失败。
3. 提示词搬运重分配 version(唯一键含 version),并按 PromptPayload 的 9 个字段挑字段、
归一化 input_schema/output_schema —— 漏带就是静默丢失。
4. 前置防呆:admin 端校验「配置 ⊆ 代码 allowed_tools」(admin_service.py:219-220),
合并前跑必然 422,而报错只有"配置超出 Agent 工具上限"。脚本先查代码上限:
dry-run 给警告后继续预览,正式跑直接中止。
5. JSON 列归一化:SELECT * 读出来的 JSON 列可能是字符串,不解析会静默走进
"生效版本里没有该 key"的分支(本脚本第一版就是这么错的,诊断打印才定位到)。
实测:--dry-run 打印 9 条配置项 + 1 条提示词(v2→v3 重分配)与唯一变化;
正式跑因代码尚未合并而中止,未产生任何写入。
2026-09-11 19:51:44 +08:00
..
2026-09-10 18:14:03 +08:00
2026-09-10 20:33:13 +08:00
2026-09-10 15:55:54 +08:00
2026-09-10 15:55:54 +08:00
2026-09-10 22:29:23 +08:00
2026-09-10 22:42:17 +08:00
2026-09-10 15:55:54 +08:00
2026-09-10 20:15:09 +08:00
2026-09-10 20:29:12 +08:00
2026-09-10 18:18:00 +08:00
2026-09-09 21:55:37 +08:00
2026-09-10 15:55:54 +08:00
2026-09-10 15:55:54 +08:00
2026-09-10 18:14:03 +08:00
2026-09-11 16:40:15 +08:00
2026-09-09 21:55:37 +08:00
2026-09-10 22:34:20 +08:00
2026-09-10 15:55:54 +08:00
2026-09-10 15:55:54 +08:00
2026-09-09 21:55:37 +08:00
2026-09-09 21:55:37 +08:00
2026-09-11 14:24:45 +08:00
2026-09-11 16:51:52 +08:00
2026-09-11 16:51:52 +08:00
2026-09-11 14:19:05 +08:00
2026-09-11 16:28:19 +08:00
2026-09-11 13:26:43 +08:00
2026-09-10 22:42:17 +08:00
2026-09-11 19:51:44 +08:00
2026-09-11 16:40:15 +08:00
2026-09-10 21:36:23 +08:00
2026-09-10 21:55:03 +08:00
2026-09-11 15:25:45 +08:00
2026-09-11 15:25:45 +08:00
2026-09-10 15:55:54 +08:00
2026-09-10 21:03:44 +08:00
2026-09-11 12:54:51 +08:00
2026-09-10 15:55:54 +08:00
2026-09-10 18:14:03 +08:00
2026-09-11 13:05:33 +08:00