M4a:神识全量网关能力——OpenAI 兼容适配器(元炁共用)、候选路由+凭证/绑定级冷却+首字超时切道+粘性会话、用量计量与 /me/usage,故障注入测试四场景
This commit is contained in:
1 parent
df5caa69e7
commit
7279904043
8 files changed
+717
-35
No files matched your search
+7
-5
@@ -2,12 +2,14 @@
|
||||
|
||||
> 文化命名「神识」(契约词典 §2.1):统一模型能力——Provider/Endpoint 接入、能力槽位、协议转换、路由、流式、BYOK、配额与成本。神识不拥有人物状态。
|
||||
|
||||
## 当前状态(rewrite/1.0 M0 骨架)
|
||||
## 当前状态(rewrite/1.0 M4a)
|
||||
|
||||
- 数据面 `POST /v1/chat/completions`:接受灵台内部 IR(`internal/ir`),经路由选适配器,以 SSE 流出标准化增量(`data: <Delta JSON>` + `data: [DONE]`);
|
||||
- 当前唯一适配器为 `stub` 回声桩(`internal/transform/stub.go`),供端到端骨架验证;云 Provider(openai_compatible/anthropic)与本地元炁端点按 [重写执行计划](../docs/operations/rewrite-plan.md) M4 落地;
|
||||
- 健康面 `GET /healthz` `GET /readyz`;
|
||||
- 服务令牌:`SHENSHI_SERVICE_TOKEN` 配置时校验 `Authorization: Bearer`(开发档可空)。
|
||||
- 数据面 `POST /v1/chat/completions`:IR 入站 → 候选路由 → SSE 出站;**首帧到达前不提交响应**,失败可整体切道并返回 JSON 错误(HJ-2001),已写出字节后不换道、如实 error 终帧;
|
||||
- 适配器:`openai_compatible`(云厂商兼容面与元炁本地端点共用此协议)与 `stub` 回声桩(未配置端点时兜底);
|
||||
- 端点配置:环境 `SHENSHI_ENDPOINTS`(JSON 数组,字段 type/name/base_url/api_key/model/priority),示例见 `.env.example`;
|
||||
- 故障策略(shenshi-gateway.md §4):候选按 Priority 升序 + 粘性会话置首 + 冷却端点排尾兜底;**首字超时(默认 10s)切道**;401/403 凭证级冷却 10 分钟,429/5xx/超时仅冷却该端点绑定 30 秒;
|
||||
- 计量(M4a):每次尝试一条 stdout JSON 日志(`kind=shenshi_usage`)+ 进程内聚合,`GET /me/usage` 返回按 模型×端点 的请求数/成功数/token;生产 PG 落库与 BYOK 归属随 M4b;
|
||||
- 健康面 `GET /healthz` `GET /readyz`;服务令牌 `SHENSHI_SERVICE_TOKEN`(开发档可空)。
|
||||
|
||||
## 目录结构
|
||||
|
||||
|
||||
Reference in new issue
Block a user