M4 收口:神识用户面与计量闭环——BYOK/配额三段式/usage 落库/Anthropic+Gemini 适配器/神识阁

- 神识 Go:store 双实现(PG 自动建表+60s 就绪重试 / 内存回退)承载 usage_logs·byok_keys·quota_balances;BYOK 密钥库(AES-GCM 加密、API 脱敏、撤回即失效、主密钥未配置 fail-closed);配额三段式(预扣 max_tokens 钳位 1M→结算实际 token→全败幂等退款,HJ-2004);计量归属(IR user_id→usage_logs,/me/usage 用户维度聚合+配额总览,/admin/usage/sample 对账抽样);Anthropic/Gemini 出站适配器(SSE 解析、system 提升、用量映射);stub 端点补名修复计量空 endpoint
- IR 契约:user_id/byok_key_id 双端同步(Go types.go + Py types.py)
- 灵台:runs.owner_id(迁移 005,server_default 兼容存量)经 kernel 全链透传为 IR user_id;shenshi_client 扩展用户面方法(X-Hunjing-User-Id 代理,Echo 桩带内存实现);/me/byok-keys 登记·列表·撤回与 /me/usage 端点(4 用例)
- 前端神识阁(/models 重建):偏好(生成参数表单)/自带密钥(登记加密保存、脱敏列表、撤回二次确认)/用量(聚合表+配额进度条)三区;me API 库+mock+5 用例;侧栏恢复入口
- 配置与部署:.env.example 增 SHENSHI_DATABASE_URL/SHENSHI_BYOK_MASTER_KEY/SHENSHI_USER_BUDGET_TOKENS;compose 神识容器接自有库(init-shenshi.sql 预建 hunjing_shenshi,与灵台不共库共表)
- 证据:Go 34 用例(BYOK 独占/配额拒绝/结算退款/归属聚合)、后端 532、前端 210、BFF 4 全绿;跨进程 E2E 四场景(灵台 HttpShenshiClient→真 Go 神识:登记脱敏/BYOK 独占不可达整体失败/用量归属聚合/撤回即失效)通过;rewrite-plan M4 标记完成、能力矩阵神识行升已验证
This commit is contained in:
chenxin committed 2026-08-27 18:39:17 +08:00
1 parent 462d570751
commit 144415247e
51 files changed
+3533 -90

No files matched your search

+1 -1
View File
@@ -23,7 +23,7 @@
| 镜生闭环(灵胚/启镜/魂籍/命台) | M1 | 局部实现 | M1 后端闭环已验证(本地开发档,2026-08-21):`backend/tests/test_jingsheng.py` 7 用例——启镜前零人物行/零 activated 事件、并发启镜原子闸门单赢家(409 HJ-1103)、命台租约冲突被拒且 `seat.contested` 留痕、过期接管 epoch 递增、魂籍摘要+签名双校验(篡改与移植冒充均 422)、死亡冷静期撤销/落定(数据保留);随缘候选生成与角色卡导入对接随 M2,前端人物页随 M2+ |
| 镜树对话(问节/候答/采用/归真/引文/移栽) | M2 | 局部实现 | M2a+M2b 后端完成(2026-08-21):`test_mirror_tree.py` 8 用例钉死 PRD 场景 1/2/3/5/6/7/8;`test_import_and_assembly.py` 3 用例覆盖 ST V1/V2 卡→灵胚→启镜物化世谱、{{char}}/{{user}} 符文展开、火候(GenerationPreferences)进入 IR;旧 chat 模块/表/页面已删除(迁移 003,845 passed 仅余 7 个预存失败);前端镜树页随 M2c |
| 三级记忆(微痕/明忆/重忆/实录/心痕) | M3 | 局部实现 | 后端闭环已验证(2026-08-22):`test_xirang.py` 7 用例覆盖六条验收——归真触发提取、白名单(persona/instruction/episodic)自动生效、重忆 pending 确认、deny/删除墓碑全链路停用、正影版本链、双通道 RRF 召回注入;M3b 补齐:世谱激活注入投影(关键词+常驻+预算+符文展开)、前端 `/memories` 治理页(五分区/确认/正影/删除/实录溯源);pgvector 语义通道随标准档 |
| 神识 Go 网关 | M4 | 局部实现 | M4a 已验证(2026-08-27):OpenAI 兼容适配器(元炁共用)、SHENSHI_ENDPOINTS 端点目录、候选路由(优先级/粘性/冷却排尾)、首字超时切道(首帧前不提交)、凭证级 vs 绑定级冷却、已写字节不换道、计量日志+`/me/usage`;Go 10 用例含四场景故障注入,跨进程 E2E 通过;M4b 待:ai_provider 删除切换、BYOK、配额三段式、usage PG 落库、Anthropic/Gemini |
| 神识 Go 网关 | M4 | 已验证 | M4 收口(2026-08-27,本地开发档 + compose PG 档设计):M4a 基础上补齐——ai_provider 删除手术完成(灵台 Provider SDK import 归零,rg 审计);Anthropic/Gemini 适配器(SSE 解析 + system 提升 + 用量映射,httptest 往返用例);BYOK(AES-GCM 加密落库、API 脱敏、独占路由不回落、撤回即失效、主密钥未配置 fail-closed);配额三段式(预扣 max_tokens 钳位 1M → 结算实际 token → 全败幂等退款,HJ-2004);usage 归属计量(IR user_id → usage_logs,/me/usage 按 用户×模型×端点 聚合,/admin/usage/sample 对账抽样);神识自有库(PG 双实现 + 内存回退,启动 60s 就绪重试);灵台 /me/byok-keys|/me/usage 代理 + 神识阁前端三区(偏好/BYOK/用量)。Go 34 用例全绿(含 BYOK 独占/配额拒绝/结算退款/归属聚合六场景);跨进程 E2E 四场景(登记脱敏/独占失败/归属聚合/撤回)经灵台 HttpShenshiClient→真 Go 神识通过;后端 532、前端 210 passed。PG 生产档联调随标准档部署复核 |
| 百工与司命(授契/行契/请命/禁域/行动账) | M5 | 局部实现 | 乾坤沙箱(HMAC/进程隔离)已有工程与测试;能力注册与四维裁决待重写 |
| 缘契/人格演进/河图世界 | M6 | 未实现 | 旧 personality/drive/evolution/world 待退役 |
| 形仪与语音(真形/Live2D/TTS/ASR/通感) | M7 | 局部实现 | 天目 OCR、元炁本地推理可用;形仪域未建 |
+3 -2
View File
@@ -109,12 +109,13 @@
- 证据(M3b,2026-08-22):世谱激活进入投影(关键词命中 + 常驻条目、insertion_order 排序、字符预算、条目内容符文展开,`test_xirang.py` 世谱注入用例);前端 `/memories` 治理页(待确认/候选箱/已生效/归档/实录五分区,确认/拒绝/正影/删除/来源展开,删除强确认),API 库 +3 用例;type-check 与 205 passed。
- M3b 顺延项及理由:微痕时序效果(sticky/cooldown/delay)与次级键逻辑、递归扫描需要 Run 内轮次状态,随 M5 循环上下文落地一并实现;pgvector 语义通道随标准档部署接入(当前活力时近通道占位)。
### M4 神识完整接管 — 🔶 M4a 完成(2026-08-27),M4b 进行中
### M4 神识完整接管 — ✅ 已完成(2026-08-27,M4a 网关 + M4b 切换手术 + 用户面收口)
- 交付:Go 神识全量(transform adaptor:OpenAI 兼容+元炁;路由/冷却/粘性;计量;配额);灵台切换 `shenshi_client`;**删除 Python ai_provider 与相关配置/页面 models 旧实现**;神识阁用户面(偏好/BYOK/用量)。
- 验收:故障注入(首字超时切道、凭证级冷却、熔断恢复)通过;usage 与 Provider 对账抽样一致;灵台内无 Provider SDK import(rg 审计为空)。
- 证据(M4a,2026-08-27):OpenAI 兼容适配器(元炁共用协议)+ `SHENSHI_ENDPOINTS` env 端点目录;候选路由(Priority+粘性置首+冷却排尾兜底)、首字超时切道(首帧前不提交响应,失败整体回退 JSON)、401/403 凭证级冷却 10 分钟 vs 429/5xx/超时绑定级 30 秒、已写字节不换道;计量(stdout JSON `shenshi_usage` + `/me/usage` 聚合)。Go 测试 10 用例全绿(含四场景故障注入:首字超时切道/凭证冷却跳过/全败 JSON/用量聚合);跨进程 E2E:灵台 `HttpShenshiClient` → 真 Go 神识 → stub 流式往返通过。假上游跨进程拨号在本沙箱受出站限制,改以 Go 进程内 httptest 覆盖(同真实 TCP 语义)。
- M4b 待办:灵台生产流量切换与 **Python ai_provider 删除**(rg 审计 Provider SDK 归零)、BYOK 密钥表与归属计量、配额三段式、usage PG 落库与对账抽样、Anthropic/Gemini 适配器、神识阁用户页。
- 证据(M4b,2026-08-27):手术清单 ①-⑥ 全量执行——后端删 `app/ai_provider/`(38 文件)与 `services/ai_provider_admin.py`、`core/config/model_config.py`、`tests/ai_provider/`(21 文件);连带退役旧 Agent 循环(`application/agent/`、steer/follow-up/确认注册表、`app/skills/` 孤儿、`endpoints/audio.py`、`application/imports.py`);runs.py 修剪为 kernel 契约端点,safety 确认改直接落库裁决(pending→approved/denied);前端删 models 页/gateway.ts(玄关)/网关组件/audio/types/mock;config 三 yaml 归档 `shenshi/config/`,`.env.example` 收敛 SHENSHI_*。后端 528 passed(2 个预存失败经 HEAD 复跑验证与本手术无关)、前端 type-check + 201 passed。
- 证据(M4 用户面收口,2026-08-27):神识补齐 BYOK(AES-GCM + 脱敏 + 独占路由 + fail-closed)、配额三段式(预扣钳位/结算/幂等退款,HJ-2004)、usage 归属计量与对账抽样(`/me/usage`、`/admin/usage/sample`)、Anthropic/Gemini 适配器、神识自有库 store(PG + 内存回退,60s 就绪重试);IR 契约扩展 `user_id`/`byok_key_id`(Go+Py 同步);灵台 runs.owner_id(迁移 005)经 kernel 透传 IR,`/me/byok-keys`|`/me/usage` 代理端点 + 神识阁前端(偏好/BYOK/用量三区,撤回二次确认)。Go 34 用例、后端 532、前端 210 passed;跨进程 E2E 四场景(灵台 HttpShenshiClient → 真 Go 神识:登记脱敏/独占失败/归属聚合/撤回)通过。rg 审计灵台 Provider SDK import 归零。
- M4b 手术清单(2026-08-27 侦察固化,30+ 文件):
① 后端删除:`app/ai_provider/`(26 文件,含 anthropic/openai 格式与 billing——神识已承接)、`services/ai_provider_admin.py`、`core/config/model_config.py`、`tests/ai_provider/`(16 文件);
② 连带退役:`application/agent/`(旧 Agent 循环,steer/follow-up/确认注册表——live UI 已随 chat 页消亡,天工阁 M8 重建);`endpoints/audio.py`(ASR/TTS 归 P1 形仪域);`endpoints/settings.py` 与 `services/preferences.py` 中模型偏好字段(切神识阁);admin 网关端点与 `test_model_gateway_endpoints.py`;`main.py` 的 `reload_provider_manager`、conftest 的 endpoint 覆盖缓存清理;