From fb7d2f7b6ded78190dbeb65510e729d6a7870ac4 Mon Sep 17 00:00:00 2001 From: qyqy Date: Fri, 11 Sep 2026 15:40:32 +0800 Subject: [PATCH] =?UTF-8?q?merge:=20=E8=B7=9F=E8=BF=9B=E6=9E=B6=E6=9E=84?= =?UTF-8?q?=E5=B8=88=E6=9C=80=E6=96=B0=20qyqy=5Fdevelop=EF=BC=8838=20?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - model_gateway 冲突取并集:保留本线对 intent_classification→chat 的修正与空集回退, 并入架构师补充的 5 个风控 task_type;未登记 task_type 的告警留痕一并保留 - docs/25 撞号(本人 JWT 文档 vs 架构师风控评审报告)→ 本人让号到 docs/26,同步 docs/19 引用 - 架构师恢复的 5 份编号文档(04/06/10/13/99)保留其版本(那 5 份已无引用,仅编号占位) - bootstrap/model_gateway/docs/05/test_risk_agent_contract 自动合并成功 测试:1013 passed / 1 failed(既有空集缺陷) 真机:知识问答 succeeded 且声明仅 1 条;画像问答 succeeded;三端点 403/201/200/404 全绿 配置:release 216 仍为生效版本,工具白名单未被顶掉 --- docs/19-业务Agent接入实操(示例验证版).md | 6 +++--- docs/{25-JWT密钥管理与轮换.md => 26-JWT密钥管理与轮换.md} | 0 2 files changed, 3 insertions(+), 3 deletions(-) rename docs/{25-JWT密钥管理与轮换.md => 26-JWT密钥管理与轮换.md} (100%) diff --git a/docs/19-业务Agent接入实操(示例验证版).md b/docs/19-业务Agent接入实操(示例验证版).md index e751455..df58711 100644 --- a/docs/19-业务Agent接入实操(示例验证版).md +++ b/docs/19-业务Agent接入实操(示例验证版).md @@ -148,7 +148,7 @@ D:\conda\envs\jr_py313\python.exe C:\Users\...\e2e_run_check.py --label 手工 单条链路的手工命令(客户身份 9001,JWT 用配置项 `JWT_PRIVATE_KEY_PATH` 指向的私钥按 RS256 自签, 参考 `tools/acceptance_check.py::token()`)。还没有密钥就先跑一次 -`python tools/generate_jwt_keys.py --out-dir config/jwt/dev`(详见 `docs/25-JWT密钥管理与轮换.md`): +`python tools/generate_jwt_keys.py --out-dir config/jwt/dev`(详见 `docs/26-JWT密钥管理与轮换.md`): ```text POST /api/v1/agent-runs @@ -225,10 +225,10 @@ D:\conda\envs\jr_py313\python.exe tools\demo_agent_e2e.py 4. **`docs/05` §9.5 未收录 `agent-intent-configs` 的 `GET` 详情路径**:该接口实际存在(用于获取 `If-Match` 所需的 ETag),但权威接口文档未列出,属文档待补项。 5. **没有登录接口(已决定推迟,不是遗漏)**:当前没有"账号密码换令牌"的接口,令牌由外部按 - RS256 用私钥自签(见 `docs/25-JWT密钥管理与轮换.md`)。**决定:等业务 Agent 开发阶段 + RS256 用私钥自签(见 `docs/26-JWT密钥管理与轮换.md`)。**决定:等业务 Agent 开发阶段 结束后再补**。补的时候只需动签发侧(新增 `POST /auth/login`:校验密码 → 用私钥签令牌), 验签侧 `JwtAuthenticator` 与身份解析侧 `IdentityService` 都不需要改。 代价与约束:开发阶段凡拿到私钥者都能以 `9001/9002/9003` 身份调用(实测**无法**伪造不存在的 - 用户、**无法**使用已禁用账号,边界是"签名有效 + 用户存在且启用"),因此私钥按 `docs/25` + 用户、**无法**使用已禁用账号,边界是"签名有效 + 用户存在且启用"),因此私钥按 `docs/26` 第 7 节的红线管理;同时业务代码必须始终只从 `RequestContext` 取身份,否则后补登录接口会 从"增量"变成"翻遍所有业务代码"。 diff --git a/docs/25-JWT密钥管理与轮换.md b/docs/26-JWT密钥管理与轮换.md similarity index 100% rename from docs/25-JWT密钥管理与轮换.md rename to docs/26-JWT密钥管理与轮换.md