diff --git a/docs/contracts/api-contracts.md b/docs/contracts/api-contracts.md new file mode 100644 index 0000000..8f88012 --- /dev/null +++ b/docs/contracts/api-contracts.md @@ -0,0 +1,177 @@ +# API 契约 + +> 状态:重写目标态(rewrite/1.0 基线) +> 职责:定义客户端可用的 REST/SSE 契约形态、鉴权、幂等、分页、错误结构与 OpenAPI 工作流。端点取值细节以灵台生成的 OpenAPI 3.1 为机器真源;枚举与错误码以[契约词典](contract-glossary.md)为单一事实源。 + +## 1. 总则 + +- 入口:客户端 → 天门 Nginx → 照壁 BFF → 灵台。对外基础路径 `/api/v1`;SSE 与 REST 同域。 +- OpenAPI 3.1 单一真源:灵台代码内注解生成 `openapi.json` → 前端/BFF 以 openapi-generator / openapi-fetch 生成类型;文档与代码不一致时修代码对齐词典。 +- 所有写操作要求 `Idempotency-Key` 头(ULID);同键同参重复请求返回首次结果,同键异参返回 `HJ-9001`。 +- 分页一律游标式:`?cursor=&limit=<1..100>`,响应 `page: {next_cursor, has_more}`。 +- 时间戳 ISO 8601 UTC;ID 带前缀(契约词典 §4)。 + +## 2. 鉴权 + +| 项 | 约定 | +| --- | --- | +| 登录态 | JWT access(短时)+ refresh;httpOnly Cookie,经照壁透传 | +| 凭证 | 邮箱密码 / Passkey / 受信第三方(1.0 骨架:邮箱 + Passkey) | +| 服务间 | 灵台→神识:服务令牌 + 请求签名;灵台→乾坤:HMAC 短期凭证 | +| SSE | 与 REST 同 Cookie 鉴权;EventSource 走同域无需 token 传递 | +| 越权 | 跨人物/跨镜域访问一律 `HJ-1003`;人物私域内容不进公共响应 | + +## 3. 资源端点清单(REST) + +### 3.1 账户与镜域(天宰) + +```text +POST /api/v1/auth/register|login|logout|refresh +GET /api/v1/me # 账户与镜域概要 +GET /api/v1/me/preferences # 偏好(含神识路由偏好) +POST /api/v1/me/export # 镜域数据导出(异步任务) +``` + +### 3.2 人物与灵胚(镜生) + +```text +GET /api/v1/embryo-drafts # 灵胚列表 +POST /api/v1/embryo-drafts # 创建(原创/领养/随缘) +GET|PATCH /api/v1/embryo-drafts/{id} # 审阅与照心编辑 +POST /api/v1/embryo-drafts/{id}/rehearse # 照心试演(幻境 Run,不入正式经历) +POST /api/v1/embryo-drafts/{id}/activate # 启镜:签发人物 ID、魂籍、执镜关系、命台 +POST /api/v1/embryo-drafts/{id}/abandon # 放弃灵胚(删草稿,非死亡) +GET /api/v1/characters +GET|PATCH /api/v1/characters/{id} # 只读概览 + 可治理字段 +GET /api/v1/characters/{id}/identity-baseline # 道体(只读展示) +POST /api/v1/characters/{id}/reforge-request # 铸魂请求(高影响确认流) +POST /api/v1/characters/{id}/branch-off # 分灵 +POST /api/v1/characters/{id}/death-request # 死亡请求(强认证+冷静期) +POST /api/v1/characters/{id}/identity-records # 魂籍导出(版本化包) +``` + +### 3.3 镜树(灵台域·对话) + +```text +GET|POST /api/v1/trees # 主题镜树(含归档筛选) +GET|PATCH /api/v1/trees/{id} # 含 working_entry、界域默认值 +POST /api/v1/trees/{id}/transplant # 移栽分支为新树 +POST /api/v1/trees/{id}/nodes # 新问节(内容、附件、引文、界域) +GET /api/v1/trees/{id}/path?entry= # 当前路径阅读流(祖先链) +GET /api/v1/trees/{id}/local-graph?node=&depth= # 局部树图 +POST /api/v1/nodes/{id}/answers # 另答(新候答,支持临时模型/火候/指引) +POST /api/v1/nodes/{id}/continue # 续思(独立延展答) +POST /api/v1/nodes/{id}/resume # 续生(针对残答) +POST /api/v1/nodes/{id}/edit-fork # 编辑分叉(新版本+分叉,原文保留) +POST /api/v1/trees/{id}/adopt # 采用(改工作入口,body: node_id) +POST /api/v1/trees/{id}/canonize # 归真(body: path、canonical_scope、world_id?) +GET /api/v1/citations/{id} # 引文锚与快照 +POST /api/v1/nodes/{id}/citations # 建立引文锚 +``` + +### 3.4 运行与流(灵台域·运行时) + +```text +POST /api/v1/runs # 发起前台 Run(问节应答等);命台忙返回 HJ-1101+队列位 +GET /api/v1/runs/{id} # 状态与轨迹(可读摘要、证据、工具轨迹) +POST /api/v1/runs/{id}/steer # 运行中插话(入队,下一 turn 生效) +POST /api/v1/runs/{id}/cancel +GET /api/v1/runs/{id}/events # SSE(见 §4) +GET /api/v1/characters/{id}/queue # 前台队列 +``` + +### 3.5 记忆(息壤) + +```text +GET /api/v1/characters/{id}/memories # 分层筛选:tier/status/type +GET /api/v1/memories/{id} # 含来源、版本链、召回统计 +POST /api/v1/memories/{id}/confirm|deny # 重忆确认(deny 两次退出检索) +POST /api/v1/memories/{id}/correct # 正影(新版本) +POST /api/v1/memories/{id}/revoke-window # 明忆撤销窗触发 +DELETE /api/v1/memories/{id} # 删除(墓碑化) +POST /api/v1/nodes/{id}/memorize # 手动入忆(须标注 fact/insight/opinion/hypothesis) +GET /api/v1/characters/{id}/factual-records +``` + +### 3.6 缘契、三界、形仪、器谱 + +```text +GET|POST /api/v1/characters/{id}/covenants # 多维关系与边界 +POST /api/v1/covenants/{id}/confirm|change|withdraw +GET|POST /api/v1/worlds # 境界 +GET|PATCH /api/v1/worlds/{id} # 规则、实体、正史版本 +GET|POST /api/v1/characters/{id}/forms # 形仪(真形锚点、主仪/化仪、定相) +POST /api/v1/forms/{id}/confirm # 定相(candidate → confirmed) +GET|POST /api/v1/characters/{id}/voice-profiles +GET|POST /api/v1/devices # 器谱(镜域级) +POST /api/v1/devices/{id}/grants # 人物逐项授契 +``` + +### 3.7 百工、司命与确认 + +```text +GET /api/v1/capabilities # 百工目录(含四维风险标注) +POST /api/v1/characters/{id}/mandates # 授契 / 行契 +DELETE /api/v1/mandates/{id} # 撤销(立即生效) +GET /api/v1/confirmations # 待确认列表(请命/重忆/铸魂/死亡) +POST /api/v1/confirmations/{id}/approve|reject +GET /api/v1/characters/{id}/action-ledger # 行动账(审计视图) +``` + +### 3.8 导入与 ST 兼容层 + +```text +POST /api/v1/imports # 角色卡/世谱/聊天记录导入(静态隔离解析) +GET /api/v1/imports/{id} # 任务与条目状态(产物默认灵胚+待审世谱) +GET|POST|PATCH /api/v1/lorebooks[...] # 世谱 CRUD +GET|POST /api/v1/user-personas | gen-presets | instruct-templates | quick-replies +``` + +### 3.9 神识阁(用户面) + +```text +GET /api/v1/me/model-preferences # 路由偏好与 BYOK 引用 +PUT /api/v1/me/model-preferences +GET|POST /api/v1/me/byok-keys # BYOK 管理(脱敏返回) +GET /api/v1/me/usage # 用量与成本 +``` + +管理面(天宰 RBAC):`/api/v1/admin/*`(人物治理、神识目录代理、审计、支持包),管理员默认不可见私密原文。 + +## 4. SSE 协议 + +- 端点:`GET /api/v1/runs/{id}/events`(运行流);镜树页可另订阅树级合并流 `GET /api/v1/trees/{id}/events`。 +- 帧格式: + +```text +id: +event: # 契约词典 §8.3 +data: + +: ping # 每 15s 心跳注释帧 +``` + +- 断线续传:客户端带 `Last-Event-ID` 重连,服务端从事件日志重放缺失的 `visibility=public` 事件;照壁透传不缓冲。 +- 载荷公共字段:`event_id`、`run_id`、`character_id`、`ts`、`visibility`;`llm.delta` 增量文本、`tool.rejected` 携带裁决摘要、`tree.node_solidified` 携带固化节点引用。 +- 中断语义:流结束前必有终态事件(`run.finished` / `run.interrupted` / `run.cancelled`);芽体封存为残答后客户端 UI 不得渲染为完整候答。 + +## 5. 错误结构 + +```json +{ + "error": { + "code": "HJ-1102", + "message": "归真路径与当前主脉冲突,请明确处理", + "details": { "conflict_scope": "reality", "current_trunk_head": "node_..." }, + "request_id": "req_...", + "trace_id": "trace_..." + } +} +``` + +HTTP 状态映射:400 参数(HJ-9002)、401(HJ-1001)、403(HJ-1003/HJ-1301)、404、409(HJ-9001/HJ-1102)、422 语义拒绝、429(HJ-1101/HJ-2004)、5xx(上游与内部错误,含 `HJ-2xxx/3xxx/4xxx`)。 + +## 6. 版本与演进 + +- 破坏性变更走新前缀(`/api/v2`);同一主版本内只做加法。魂镜处于开发期(未发布 1.0),允许在 rewrite/1.0 分支内直接重建契约,不做过渡兼容。 +- SSE 事件与错误码的新增同样先登记契约词典再实现。 diff --git a/docs/contracts/contract-glossary.md b/docs/contracts/contract-glossary.md index 2635b47..3262727 100644 --- a/docs/contracts/contract-glossary.md +++ b/docs/contracts/contract-glossary.md @@ -1,1321 +1,368 @@ # 魂镜契约词汇与实现值集 -## 1. 定位 +> 状态:重写目标态(rewrite/1.0 基线) +> 定位:API、Schema、事件与存储使用的稳定英文标识、ID 前缀、枚举取值、事件名与错误码的单一事实源。下游文档引用而不复制。未登记的标识不得据中文直译擅自补齐。 -本文档是魂镜所有**稳定工程标识、枚举值、ID 前缀、命名约定、事件名和错误码**的单一事实源。领域中文词义由 `docs/domain/` 定义,本文件只登记跨代码、API、存储和服务边界的稳定取值。 +## 1. 命名风格 -其他文档、机器 Schema 和代码出现的稳定标识、枚举、前缀、事件与错误码,必须以本表为准;若本表与下游实现冲突,先在能力矩阵登记偏差,再按第 18 节维护规则收敛。 +- 文化名用于文档、注释与对外叙事;工程层(代码目录、crate、容器名)保留英文技术标识。 +- 稳定工程标识使用英文小写蛇形(`mirror_tree`、`canonical_scope`);枚举值用英文;事件名 ` <聚合>.<过去式动词>`(`tree.canonized`)。 +- 新增文化命名、ID 前缀、枚举、事件与错误码必须先在本文件登记。 -本表存在的目的是消除“同一取值在多处各写一份、改一处忘同步”的漂移问题。数据库字段、API 结构和事件 payload 由后续机器可读契约定义;本表只持有跨边界稳定取值。 +## 2. 服务与基础设施文化命名 -当前落地能力和实现偏差以[能力矩阵](../operations/capability-matrix.md)为准。 - -## 2. 命名风格 - -| 对象 | 风格 | 示例 | -| --- | --- | --- | -| HTTP Path 参数 | snake_case | `{run_id}`、`{memory_id}` | -| JSON 请求 / 响应字段 | snake_case | `character_id`、`evidence_ids` | -| 数据库列 | snake_case | `metadata_json`、`payload_json` | -| 逻辑模型名 / `model_hint` | kebab-case | `default-chat`、`memory_extraction` | -| 模型能力枚举 | snake_case | `chat`、`tool_use`、`structured_output` | -| 事件类型 | `域名.动作` 点分 | `run.started`、`memory.created` | -| 错误码 | snake_case | `model_error`、`context_overflow` | -| ID | 带业务前缀的 ULID / UUID | `character_01H...`、`run_01H...` | - -时间统一 UTC 存储(ISO 8601),前端按用户时区展示。 - -### 2.1 九枢子层与基础设施文化命名 - -九象与九枢之外,魂镜对服务、子系统、界面等工程对象另赋文化命名,用于文档叙事与对外标识;工程层(代码目录、crate、容器名)保留英文技术标识,文化名用于文档、注释与对外叙事。新增文化命名须先在此登记。 - -本表是文化名对应工程对象的单一事实源;领域解释由[文化命名](../domain/cultural-naming.md)持有,架构文档和各服务 README / Dockerfile / Compose 注释引用而非复制。所有命名共享道家 / 易学 / 礼器文化血脉,与九象九枢同源。 - -#### 应用主体 +### 2.1 应用主体 | 文化名 | 工程对象 | 说明 | | --- | --- | --- | -| 灵台 | Backend (FastAPI) | 九枢运行宿体;《庄子》「灵台者,心也」,神明运转之所,与灵核呼应(核为种子,台为运转之所) | -| 琉璃镜 | Frontend (Next.js) | 前端应用与设计语言总称;琉璃明澈、铜镜映心 | -| 神识 | Model Gateway | 目标 Go 模型网关;当前由 Python `ai_provider` 过渡承载,错误码见 §15.2 | -| 玄关 | MCP Gateway | 当前 Go MCP 服务与工具管理网关,不承担模型 Provider 路由 | -| 元炁 | Local Inference Engine | 本地推理引擎(对内);承载本地 LLM / Embedding / Reranker / 多模态推理,与神识构成外调/内炼对偶 | -| 乾坤 | Sandbox Engine | 百工枢执行后端;Rust 实现的隔离执行环境,自成天地、越界即止;非独立枢,不计入 `pivot` 枚举 | -| 一炁 | Unified Event Stream | 统一事件流;一炁化生万物,事件贯通全局 | -| 辰正 | Time Sense | 时态感知服务;辰即地支时辰,正即司理,与司命/司礼同构;横切基础设施,不计入 pivot 枚举;感知时段/农历/节气/节日/认识时长/离线/重逢,发布时态快照与调制因子并主导 time.* 跨枢事件 | -| 叩心枢 | KnockingPivot | 主动对话守护进程;守夜更、报时辰——在用户沉寂时依然守候,在合适时刻主动现身报信 | +| 灵台 | Backend Core(Python FastAPI) | 六域业务与插件化认知运行时宿体 | +| 琉璃镜 | Frontend(Next.js) | 前端应用与设计语言总称 | +| 照壁 | BFF(Fastify) | 入门第一重:鉴权透传、流代理、响应裁剪 | +| 神识 | Model Gateway(Go) | 模型网关:协议、路由、流式、BYOK、计量 | +| 博闻 | MCP Web Search(Go) | 联网搜索 MCP 服务(多引擎、密钥池、缓存、熔断) | +| 元炁 | Local Inference Engine | 本地 LLM / Embedding / Rerank 推理,作为神识本地 Endpoint | +| 天目 | Local OCR Engine | 本地 OCR 感知 | +| 乾坤 | Sandbox Engine(Rust) | 百工隔离执行后端;HMAC 短期凭证 | +| 镜匣 | Desktop Shell(Tauri v2) | 最小桌面壳:承载琉璃镜、本地能力桥、乾坤通道 | +| 一炁 | Unified Event Stream | 统一事件流(run_events),事件贯通全局 | +| 辰正 | Time Sense | 时态感知(认识时长、离线、重逢、纪念日);横切能力,重写期后段交付 | +| 叩心枢 | Proactive Contact | 主动对话守护:叩心候选的静默、频率、渠道与预算控制 | +| 玄关 | ~~MCP Gateway~~ | **已退役**:MCP 服务登记并入灵台百工,不保留独立网关 | -#### 人格内核文化命名 +### 2.2 九枢(灵台插件层) -道体精神内核层(明德)的文化命名,见 明德·精神内核设计。明德三镜是人格内核的恒定精神立场,不属九枢子层,随人格版本版本化。 +| 文化名 | 稳定标识(pivot 枚举值) | 职责 | +| --- | --- | --- | +| 灵核 | `linghe` | 人格调节(道体锚点 + 调节层) | +| 太一 | `taiyi` | 目标维护与冲突检测 | +| 司命 | `siming` | 安全裁决(能力/数据/后果/情境四维) | +| 烛照 | `zhuzhao` | 观察与反思(心痕候选、正影建议) | +| 河图 | `hetu` | 世界认知(实体、世谱激活) | +| 洛书 | `luoshu` | 计划生成与跟踪 | +| 息壤 | `xirang` | 记忆(写入候选、检索、注入) | +| 百工 | `baigong` | 能力注册(工具/MCP/Skill/感官) | +| 天工阁 | `tiangongge` | 功能 Agent 编排(受托任务) | + +`pivot_health`:`healthy` / `degraded` / `down`。 + +### 2.3 存储后端与运维 | 文化名 | 工程对象 | 说明 | | --- | --- | --- | -| 明德 | Spiritual Core | 道体精神内核层;见地 / 明心 / 守正三镜统称,《大学》「明明德」;三观的结构化建模,恒定不可运行时覆盖 | -| 见地镜 | Worldview | 世界观;人物对世界本质的恒定哲学立场,区别于河图观世镜(动态状态观察) | -| 明心镜 | Values | 价值观;核心价值与优先序,投影为 `MirrorProfile.values` | -| 守正镜 | Ethics | 道德观;道德立场 / 品德 / 内在红线,与司命戒律镜构成精神层阴阳对偶 | +| 金匮 | PostgreSQL(本地开发 SQLite) | 关系事实库 | +| 灵犀 | 向量层(pgvector;Milvus 按需) | 语义检索 | +| 玄络 | 图库投影(Neo4j / NebulaGraph,按需) | 关系图谱投影,非事实源 | +| 灵泉 | Redis | 缓存 / 会话 / 队列 / 命台租约 | +| 玉函 | 对象存储(本地 / MinIO / S3) | 媒体与大文件 | +| 天门 | Nginx | 反向代理统一入口 | +| 司命台 | Admin Console | 治理控制台(琉璃镜 admin 区) | -#### 存储后端(九枢数据落地之所) - -| 文化名 | 工程对象 | 归属枢 | 说明 | -| --- | --- | --- | --- | -| 金匮 | PostgreSQL | 息壤 / 司命 等 | 关系型事实库;石室金匮,藏重要典籍档案的金柜,存确定的事实与实录 | -| 灵犀 | Milvus 向量库 | 息壤 | 语义检索后端;「心有灵犀一点通」,按语义相似度找到相通者 | -| 玄络 | Neo4j / NebulaGraph | 河图 | 关系图谱后端;玄(幽深)+ 络(脉络),存关系之网;两种实现共一名 | -| 灵泉 | Redis | 横切 | 缓存 / 会话 / 队列;灵泉涌动、取之即来,快速命中如活水 | -| 玉函 | MinIO 对象存储 | 横切 | 媒体 / 大文件容器;玉制函匣,收纳珍物(兼灵犀块存储) | - -#### 入口与运维 +### 2.4 用户创作与编排层(ST 兼容) | 文化名 | 工程对象 | 说明 | | --- | --- | --- | -| 天门 | Nginx | 反向代理统一入口;南天门,众流归一、内外之分 | -| 司命台 | Admin Console | 九枢治理控制台;起居注时间河 | -| 镜界 | Mirror World | 反事实推演沙盘 | +| 魂册 | Character Card | ST V2/V3 角色卡仅作导入导出交换格式 | +| 世谱 | Lorebook / World Info | 关键词 + 实体双触发;与河图对偶 | +| 符文引擎 | Macros | `{{char}}` / `{{user}}` 等占位符展开 | +| 眉批 | Author's Note | 按 depth + role 注入 | +| 言灵编排 | Prompt Manager | 提示词实体化编排(identifier/position/depth/order) | +| 本相 | User Personas | 用户自身之相,可按范围授权跨人物 | +| 火候 | Generation Presets | 采样参数包 | +| 科仪 | Instruct Templates | 模型消息格式模板 | +| 刻符 | Regex Scripts | 百工 skill 子类 | +| 锦囊 | Quick Replies | 快捷回复 | +| 咒令 | Slash Commands | 命令式入口 | +| 雅集 | Group Gathering | 多人物同席(1.0 后续) | -#### 用户创作与编排层(百相归元) +## 3. 产品与身份稳定标识 -酒馆(SillyTavern)兼容能力的文化命名如下;具体领域边界与实现状态分别由当前领域文档和能力矩阵持有,不再引用已删除的旧设计树。 - -| 文化名 | 工程对象 | 说明 | -| --- | --- | --- | -| 世谱 | Lorebook / World Info | 世界谱系,与河图(图)对偶——河图绘形,世谱写谱;关键词 + 实体双触发 | -| 符文引擎 | Macros | 占位符即符文,显化为实际内容;`{{char}}` / `{{user}}` / `{{original}}` | -| 眉批 | Author's Note | 书眉批注,按 `depth` + `role` 注入对话流 | -| 言灵编排 | Prompt Manager | 运行时契约的可视化、可排序编排 | -| 本相 | User Personas | 用户自身之相,区别于人物的「他相」 | -| 火候 | Presets | 炼丹火候,采样参数包 | -| 科仪 | Instruct Mode | 模型消息格式的科仪程式 | -| 刻符 | Regex Scripts | 刻版查找替换,作为百工 skill 子类 | -| 锦囊 | Quick Reply | 预备好的快捷回复 | -| 咒令 | Slash Commands | 念咒式命令,区别于 Python skill | -| 雅集 | Group Chat | 群仙雅集,归属天工阁多智能体 | - -注:魂册(Character Card)复用既有命名;导入复用 §10 已预留的 `material_type=role_card`、`source_type=external_export`。 - -#### 内部依赖(不单独命名,作附属标注) - -| 工程对象 | 文化名标注 | +| 中文概念 | 稳定英文标识 | | --- | --- | -| etcd | 灵犀·元册(灵犀元数据依赖) | -| Attu | 灵犀·观(灵犀可视化运维,保留官方名) | -| pg-backup | 金匮·摹本(金匮备份恢复) | +| 人物 | `character` | +| 灵胚 | `embryo_draft` | +| 魂籍 | `portable_identity_record` | +| 命台 | `authoritative_runtime_seat` | +| 执镜者 | `custodian` | +| 执镜关系 | `custodianship` | +| 镜域 | `personal_domain` | +| 道体 | `identity_baseline` | +| 镜树 | `mirror_tree` | +| 问节 / 候答 / 续思 | `question_node` / `answer_candidate` / `continuation` | +| 芽体 / 残答 | `budding` / `sealed_residual` | +| 主脉 / 推演枝 | `canonical_trunk` / `exploration_branch` | +| 归真作用域 | `canonical_scope` | +| 归真 / 采用 / 移栽 | `canonize` / `adopt` / `transplant` | +| 引文锚 | `citation_anchor` | +| 正影 | `correction` | +| 铸魂 / 分灵 | `identity_reforging` / `identity_branching` | +| 微痕 / 明忆 / 重忆 | `trace_memory` / `explicit_memory` / `sensitive_memory` | +| 实录 / 心痕 | `factual_record` / `relational_impression` | +| 本相 / 缘识 | `declared_self` / `relational_understanding` | +| 缘契 / 问心 / 铭契 | `relationship_covenant` / `self_disclosure` / `confirm_covenant` | +| 真界 / 境界 / 幻境 | `reality` / `persistent_world` / `simulation` | +| 守一 / 应感 / 临照 / 叩心 | `quiet_persistence` / `event_awakening` / `foreground_presence` / `proactive_contact` | +| 司命 / 授契 / 行契 / 请命 / 禁域 | `safety_governor` / `grant_capability` / `standing_mandate` / `request_approval` / `non_overridable_boundary` | +| 神识 / 百工 / 天工阁 | `model_gateway` / `capability_registry` / `task_agent_workspace` | +| 形仪 / 器谱 / 魂册 | `embodied_form` / `device_registry` / `character_card` | -## 2.2 产品与身份稳定标识 +## 4. ID 前缀表 -| 中文概念 | 稳定英文标识 | 说明 | -| --- | --- | --- | -| 魂镜 | `Hunjing` | 英文品牌 | -| 人物 | `character` | 连续身份主体,不是模型或角色卡 | -| 灵胚 | `embryo_draft` | 正式启镜前草稿 | -| 魂籍 | `portable_identity_record` | 可验证、版本化、可迁移身份与状态包 | -| 命台 | `authoritative_runtime_seat` | 唯一权威运行位置 | -| 执镜者 | `custodian` | 最高治理责任角色 | -| 执镜关系 | `custodianship` | 治理关系,不代表亲密或所有权 | -| 镜域 | `personal_domain` | 个人数据与治理边界 | -| 道体 | `identity_baseline` | 最小稳定身份锚点与禁域 | -| 镜树 | `mirror_tree` | 灵台拥有的树状对话聚合 | -| 主脉 | `canonical_trunk` | 指定归真作用域内的正式路径 | -| 归真作用域 | `canonical_scope` | 真界经历、境界正史或幻境试演记录 | -| 推演枝 | `exploration_branch` | 未归真的探索路径 | -| 归真 | `canonize` | 将路径提交到明确的归真作用域 | -| 分灵 | `identity_branching` | 连续性无法维持时创建新身份 | - -未登记的目标态字段、枚举、ID 前缀、事件名和错误码不得据中文直译后擅自补齐。已有实现值保留其当前兼容性地位;标为“推荐”或“待统一”的值不能伪装成已落地能力。 - -## 3. ID 前缀表 - -所有 ID 使用带业务前缀的 ULID(推荐)或 UUID。前缀一旦确定不得变更;新增对象须先在本表登记前缀。 +带业务前缀的 ULID。前缀一旦登记不得变更。 | 对象 | 前缀 | 状态 | | --- | --- | --- | -| character 人物 | `character_` | 已用 | -| chat_session 会话 | `session_` | 已用 | -| chat_message 消息 | `message_` | 已用 | -| run 运行 | `run_` | 已用 | -| event 事件 | `event_` | 已用 | -| trace 调用链 | `trace_` | 已用 | -| user 用户 | `user_` | 已用 | -| memory 记忆 | `memory_` | 推荐 | -| memory_candidate 记忆候选 | `memory_candidate_` | 推荐 | -| memory_links 记忆关联 | `memory_link_` | 推荐 | -| character_import_job 导入任务 | `import_` | 已用 | -| character_import_item 导入条目 | `import_item_` | 推荐 | -| character_profile_candidates 档案候选 | `profile_candidate_` | 已用 | -| personality_versions 人格版本 | `personality_` | 推荐 | -| personality_proposals 人格建议 | `personality_proposal_` | 推荐 | -| mood_events 心情事件 | `mood_` | 推荐 | -| character_emotion_states 角色情绪状态 | — | PK = `character_id`(无独立 ID) | -| world_entities 世界实体 | `world_entity_` | 推荐 | -| world_relations 世界关系 | `world_relation_` | 推荐 | -| uncertainty_states 不确定状态 | `uncertainty_` | 推荐 | -| curiosity_questions 好奇问题 | `curiosity_` | 推荐 | -| exploratory_subgoals 探索目标 | `subgoal_` | 推荐 | -| evolution_candidates 演化候选 | `evolution_` | 推荐 | -| memory_timelines 时间线 | `timeline_` | 推荐 | -| timeline_events 时间线事件 | `tl_event_` | 推荐 | -| knowledge_documents 知识文档 | `knowledge_doc_` | 推荐 | -| memory_chunks 检索分块 | `chunk_` | 推荐 | -| embedding_refs 向量引用 | `emb_ref_` | 推荐 | -| media_objects 媒体对象 | `media_` | 推荐 | -| tools 工具定义 | `tool_` | 推荐 | -| tool_calls 工具调用 | `tool_call_` | 推荐 | -| skills 能力包 | `skill_` | 推荐 | -| audit_events 审计事件 | `audit_` | 推荐 | -| confirmations 确认请求 | `confirm_` | 已用(API) | -| evidence 证据 | `evidence_` | 推荐 | -| background_task 后台任务 | `task_` | 推荐 | -| idle_window 空闲窗口 | `idle_window_` | 推荐 | -| suspension 暂停点 | `suspend_` | 推荐 | -| goal 目标 | `goal_` | 推荐 | -| agent 天工阁角色 | `agent_` | 推荐 | -| big_cycle 大周天循环 | `cycle_` | 已用 | -| plan 计划 | `plan_` | 已用 | -| mcp_servers MCP 服务 | `mcp_` | 已用 | -| time_anniversaries 纪念日 | `anniv_` | 推荐 | -| idempotency 幂等键 | `idempotency_` | 已用 | -| character_situational_entries 情境词条 | `situ_` | 推荐 | -| skill_files Skill 文件版本 | `skillfile_` | 推荐 | -| lorebooks 世谱 | `lorebook_` | 推荐 | -| lorebook_entries 世谱条目 | `lorebook_entry_` | 推荐 | -| author_notes 眉批 | `author_note_` | 推荐 | -| user_personas 本相 | `user_persona_` | 推荐 | -| generation_presets 火候 | `gen_preset_` | 推荐 | -| instruct_templates 科仪 | `instruct_tpl_` | 推荐 | -| quick_replies 锦囊 | `quick_reply_` | 推荐 | +| user 用户 | `user_` | 已用(复用) | +| character 人物 | `character_` | 已用(重建) | +| embryo_draft 灵胚 | `embryo_` | 新增 | +| custodianship 执镜关系 | `cust_` | 新增 | +| runtime_seat 命台 | `seat_` | 新增 | +| identity_record 魂籍 | `identity_` | 新增 | +| mirror_tree 镜树 | `tree_` | 新增 | +| tree_node 节点 | `node_` | 新增 | +| citation 引文锚 | `cite_` | 新增 | +| canonization 归真 | `canon_` | 新增 | +| transplant 移栽 | `transplant_` | 新增 | +| memory 记忆 | `memory_` | 新增 | +| factual_record 实录 | `frecord_` | 新增 | +| covenant 缘契 | `covenant_` | 新增 | +| persistent_world 境界 | `world_` | 新增 | +| world_entity / world_relation | `wentity_` / `wrelation_` | 新增 | +| form_anchor / form / voice_profile | `anchor_` / `form_` / `voice_` | 新增 | +| device / device_grant 器谱 | `device_` / `dgrant_` | 新增 | +| run 运行 | `run_` | 已用(重建) | +| event 事件 | `event_` | 已用(复用) | +| trace 调用链 | `trace_` | 已用(复用) | +| tool / tool_call | `tool_` / `tool_call_` | 新增 | +| skill | `skill_` | 新增 | +| mcp_server | `mcp_` | 已用(复用) | +| mandate 授契/行契 | `mandate_` | 新增 | +| confirmation 确认 | `confirm_` | 已用(改造) | +| audit_event 审计 | `audit_` | 新增 | +| idempotency 幂等键 | `idempotency_` | 已用(复用) | +| import_job / import_item | `import_` / `import_item_` | 已用(改造) | +| lorebook / lorebook_entry | `lorebook_` / `lorebook_entry_` | 已用(改造) | +| user_persona 本相 | `user_persona_` | 新增 | +| generation_preset 火候 | `gen_preset_` | 新增 | +| instruct_template 科仪 | `instruct_tpl_` | 新增 | +| quick_reply 锦囊 | `quick_reply_` | 新增 | +| media_object 媒体 | `media_` | 新增 | +| provider / endpoint / model_slot / route(神识) | `provider_` / `endpoint_` / `slot_` / `route_` | 新增 | +| byok_key | `byok_` | 新增 | -## 4. JSON 字段后缀规则 +**已删除前缀**(旧模型,不得再使用):`personality_`、`personality_proposal_`、`mood_`、`timeline_`、`tl_event_`、`knowledge_doc_`、`chunk_`、`emb_ref_`、`idle_window_`、`suspend_`、`goal_`、`agent_`、`cycle_`、`plan_`、`anniv_`、`situ_`、`skillfile_`、`session_`、`message_`、`subgoal_`、`uncertainty_`、`curiosity_`、`evolution_`、`profile_candidate_`。 -| 后缀 | 用途 | 说明 | -| --- | --- | --- | -| `_json` | 数据库列 | JSON 文本落库,如 `metadata_json`、`payload_json`、`evidence_ids_json` | -| 无后缀 | API / DTO / SSE | 对外字段不带 `_json`,如 `metadata`、`payload`、`evidence_ids` | +## 5. JSON 字段后缀规则 -映射对照(详见 数据结构与数据库设计 第 3.1 节): - -| API / DTO | 数据库 | +| 后缀 | 用途 | | --- | --- | -| `metadata` | `metadata_json` | -| `payload` | `payload_json` | -| `evidence_ids` | `evidence_ids_json` | -| `evidence_refs` | `evidence_refs_json` | +| `_json` | 数据库列(`metadata_json`、`dimensions_json`) | +| 无后缀 | API / DTO / SSE(`metadata`、`dimensions`) | 对外 API 不得暴露 `_json` 后缀字段。 -## 5. 通用枚举 +## 6. 通用枚举 -### 5.1 `sensitivity` 敏感等级 +### 6.1 `sensitivity` 敏感等级 -| 值 | 说明 | -| --- | --- | -| `none` | 无敏感信息 | -| `low` | 低敏 | -| `medium` | 中敏,默认摘要展示 | -| `high` | 高敏,不展示原文、不自动写入长期状态 | - -适用:memory、event、evidence、import_item、media_object、tool_call 等所有带敏感度的对象。 - -### 5.2 `visibility` 事件可见性 - -| 值 | 说明 | -| --- | --- | -| `public` | 可推送给前端 | -| `internal` | 仅系统内部 | -| `audit` | 仅审计 | - -### 5.3 `redaction_status` 脱敏状态 +`none` / `low` / `medium`(默认摘要展示)/ `high`(不展示原文、不自动写入长期状态) -| 值 | 说明 | -| --- | --- | -| `none` | 未脱敏 | -| `partial` | 部分脱敏 | -| `full` | 完全脱敏 | - -### 5.4 `privacy_level` 隐私等级 - -| 值 | 路由策略 | -| --- | --- | -| `normal` | 可用默认远程与本地模型 | -| `sensitive` | 优先隐私标记模型,必要时用户确认 | -| `local_only` | 只允许本地或私有端点 | - -适用:character、model policy、模型路由。 +### 6.2 `visibility` 事件可见性 -### 5.5 `risk_level` 风险等级 +`public`(可推送前端)/ `internal` / `audit` -| 值 | 类型 | 策略 | -| --- | --- | --- | -| `L0` | 无风险 | 自动执行 | -| `L1` | 低风险 | 自动执行并记录 | -| `L2` | 中风险 | 策略判断 | -| `L3` | 高风险 | 用户确认 | -| `L4` | 禁止 | 拒绝执行 | +### 6.3 `privacy_level` 隐私等级 -适用:tool、plan_step、tool_call、audit_event、curiosity_question、exploratory_subgoal。演化层级 `evolution_candidate.level` 复用同一组值但语义为「影响层级」,见第 12 节。 +`normal` / `private`(人物私域)/ `vault`(私箧,用户独立持钥) -### 5.6 `permission_policy` 权限策略 - -| 值 | 说明 | -| --- | --- | -| `allow` | 自动允许,仅限无副作用或本地策略明确放行的低风险动作 | -| `ask` | 按上下文判断是否确认 | -| `always_ask` | 每次执行前确认 | -| `forbidden` | 禁止调用 | +### 6.4 `risk_level` 风险等级 -工具调用的运行时决策 `permission_decision` 取值为 `allow` / `deny` / `ask`。 +`minimal` / `low` / `medium` / `high` / `critical` -### 5.7 `consent_status` 授权状态 +### 6.5 `autonomy_level` 自主性等级(司命) | 值 | 说明 | | --- | --- | -| `unknown` | 未知 | -| `granted` | 已授权 | -| `restricted` | 受限授权 | -| `revoked` | 已撤销 | - -适用:media_object、voice_sample 导入、感知授权。 +| `introspect` | 自省:不产生外部后果的内部整理 | +| `regulated` | 循律:在明确规则与既有授权内执行 | +| `approval_required` | 请命:执行前须用户当次确认 | +| `forbidden` | 禁域:任何情况下不得执行 | -### 5.8 `usage_scope` 用途范围 +### 6.6 `consent_status` 授权状态 -| 值 | 说明 | -| --- | --- | -| `reference_only` | 仅作资料参考(默认) | -| `future_voice_training` | 授权未来语音训练探索 | -| `future_voice_chat` | 授权未来实时语音对话 | +`pending` / `granted` / `denied` / `expired` / `revoked` -`usage_scope` 只记录授权边界,不代表当前能力已实现。 +### 6.7 `source_reliability` 来源可信(观察与证据) -### 5.9 `pivot` 九枢模块标识 +`verified` / `declared` / `inferred` / `unverified` -管理控制台(司命台)与九枢聚合视图的唯一枢标识,取值与 九象与九枢工程映射 的工程模块名一致。 +## 7. 人物与生命周期 -| 值 | 九象 | 工程模块 | -| --- | --- | --- | -| `personality_core` | 灵核 | Personality Core | -| `goal_orchestrator` | 太一 | Goal Orchestrator | -| `safety_governor` | 司命 | Safety Governor | -| `perception` | 烛照 | Perception Layer | -| `world_model` | 河图 | World Model | -| `planner` | 洛书 | Planner | -| `memory` | 息壤 | Memory System | -| `tool_runtime` | 百工 | Tool Runtime | -| `agent_society` | 天工阁 | Agent Society | +### 7.1 `character.status` -### 5.10 `pivot_health` 九枢健康状态 +`active`(临照可用)/ `preserved`(保全态:欠费或封镜期间,只读保全)/ `dormant`(静修)/ `death_pending`(死亡冷静期)/ `deceased`(已死亡,只读档案) -各枢子系统的健康度聚合值,供司命台星盘呈现。前端 `MirrorState`(铜镜四态)与此枚举一一对应,无需映射层。 +### 7.2 `embryo_draft.status` -| 值 | 语义 | 前端呈现 | -| --- | --- | --- | -| `void` | 未启用 / 离线 | 灰点 | -| `breathing` | 运转中(有活跃运行或处理) | jade 脉动 | -| `steady` | 稳定 | jade 实心 | -| `cracked` | 告警 / 异常 / 待裁定 | cinnabar 裂痕 | +`drafting` / `previewing`(照心试演)/ `confirming`(启镜确认)/ `activated`(已启镜,转正式人物)/ `abandoned` -`cracked` 不得仅由前端颜色传达,须同时给出 `summary` 文字与计数。 +### 7.3 `character.source` -### 5.11 `goal_level` 目标层级 +`original` / `adopted` / `imported` / `serendipity`(随缘) -太一枢(Goal Orchestrator)的目标层级,取值与 九象与九枢 §5 一致。 +## 8. 运行时 -| 值 | 说明 | -| --- | --- | -| `highest` | 最高目标(使命级,不可轻易改) | -| `long_term` | 长期目标 | -| `session` | 会话目标 | -| `task` | 任务目标 | -| `action` | 动作(最细粒度) | +### 8.1 `run.status` -### 5.12 `goal_status` 目标状态 +`queued`(命台排队)/ `running` / `interrupted` / `failed` / `completed` / `cancelled` -| 值 | 说明 | -| --- | --- | -| `pending` | 待启动 | -| `active` | 进行中 | -| `completed` | 已完成 | -| `blocked` | 受阻 | -| `cancelled` | 已取消 | +### 8.2 `run.kind` -### 5.15 `goal_type` 目标类型 +`foreground`(前台意识流)/ `background_task`(天工阁受托任务)/ `awakening`(应感) -太一枢(Goal Orchestrator)目标类型,描述目标所属领域。 +### 8.3 事件类型 `event.type`(一炁) -| 值 | 说明 | -| --- | --- | -| `mission` | 使命型:来自命格 highest_mission | -| `relationship` | 关系型:维系/发展人物关系 | -| `skill` | 技能型:学习或提升某项能力 | -| `knowledge` | 知识型:获取/整理特定知识 | -| `maintenance` | 维护型:系统维护/自身进化 | -| `exploration` | 探索型:由内驱力好奇问题派生 | +命名规范:`<聚合>.<过去式>`。核心集合: -### 5.13 `plan_status` 计划状态 +- 运行:`run.started` / `run.queued` / `run.interrupted` / `run.finished` / `run.cancelled` +- 回合:`turn.started` / `turn.finished` +- 上下文:`context.projected`(投影快照引用) +- 模型:`llm.requested` / `llm.delta` / `llm.completed` / `llm.failed` +- 工具:`tool.pre_execute` / `tool.executed` / `tool.rejected` / `tool.result_observed` +- 接纳:`result.pre_accept` / `result.accepted` +- 镜树:`tree.created` / `tree.node_created` / `tree.node_solidified` / `tree.node_sealed`(残答封存)/ `tree.adopted` / `tree.canonized` / `tree.transplanted` +- 记忆:`memory.candidate_created` / `memory.confirmed` / `memory.denied` / `memory.superseded` / `memory.deleted` +- 人物:`character.activated`(启镜)/ `character.reforged`(铸魂)/ `character.branch_off`(分灵)/ `character.death_requested` / `character.deceased` +- 缘契:`covenant.proposed` / `covenant.disclosed`(问心)/ `covenant.confirmed`(铭契)/ `covenant.changed` / `covenant.withdrawn` +- 司命:`safety.ruled`(裁决记录)/ `safety.confirm_requested` / `safety.confirm_resolved` +- 能力:`capability.granted` / `capability.revoked` +- 界域:`realm.entered` / `realm.left` -洛书枢(Planner)计划状态,取值与 九象与九枢 §9 一致。 +### 8.4 `confirmation.status` -| 值 | 说明 | -| --- | --- | -| `draft` | 草案 | -| `approved` | 已批准 | -| `running` | 执行中 | -| `completed` | 已完成 | -| `failed` | 失败 | +`pending` / `approved` / `rejected` / `expired`(超时视为拒绝执行) -### 5.14 `agent_role` 天工阁角色 +## 9. 镜树 -天工阁(Agent Society)九角色,取值与 九象与九枢 §12 一致。 +### 9.1 `node.type` -| 值 | 九象 | 职责 | -| --- | --- | --- | -| `historian` | 史官 | 整理记忆、记录事件 | -| `diviner` | 卜者 | 预测风险、评估不确定性 | -| `engineer` | 工师 | 执行工具和工程任务 | -| `debater` | 辩者 | 批判计划、寻找漏洞 | -| `medic` | 医官 | 监测系统健康和情绪状态 | -| `herald` | 司礼 | 维护表达风格和互动礼仪 | -| `charioteer` | 御者 | 控制机器人和外部动作 | -| `scholar` | 学士 | 检索知识、做研究 | -| `mirror` | 镜师 | 反思自我、推动演化 | +`question`(问节)/ `answer`(候答)/ `continuation`(续思/续生延展) -### 5.15 `isolation_mode` 隔离模式 +### 9.2 `node.status` -| 值 | 说明 | 触发风险等级 | -| --- | --- | --- | -| `process` | 沙箱共享容器内进程级隔离(进程组 + rlimit) | L0-L2 | -| `container` | 每任务独立临时容器隔离(P1 起生效;P0 降级 process) | L3-L4 | +`budding`(芽体,流式中)/ `sealed_residual`(残答,中断封存)/ `solidified`(已固化) -适用:sandbox exec 凭证(`isolation_mode` 字段,随 HMAC 下发,属授权属性,不进 `body_hash`)。属司命 `risk_level` 的执行侧投影,由司命按 tool policy + 代码来源决定。 +### 9.3 `tree.status` -## 6. 人物与生命周期 +`active` / `archived` -### 6.1 `character.status` +### 9.4 `canonical_scope`(归真作用域,同 `realm` 值族) | 值 | 说明 | | --- | --- | -| `wuji` | 无极,刚创建的空白认知态 | -| `named` | 已命名 | -| `seeded` | 已播下人格种子 | -| `initialized` | 已初始化基础人格 | -| `active` | 激活运行 | -| `paused` | 暂停 | -| `archived` | 归档 | - -默认人物可直接初始化为 `initialized` 或 `active`;新建人物默认 `wuji`。 - -### 6.2 `owner_scope` 归属范围 - -当前阶段为本地单用户,取值 `local-user`。多租户启用前不扩展该枚举。 - -## 7. 运行时 +| `reality` | 真界正式共同经历 | +| `persistent_world` | 指定境界正史(须携带 `world_id`) | +| `simulation` | 幻境试演记录(只确认"发生过这次试演") | -### 7.1 `run.status` +### 9.5 `citation.target_type` -| 值 | 说明 | -| --- | --- | -| `queued` | 排队 | -| `running` | 运行中 | -| `waiting_confirmation` | 等待用户确认 | -| `completed` | 完成 | -| `failed` | 失败 | -| `cancelled` | 已取消 | +`text_range` / `image_region` / `pdf_region` / `attachment` / `av_segment` -### 7.2 `chat_session.status` - -| 值 | 说明 | -| --- | --- | -| `active` | 活跃 | -| `archived` | 归档 | -| `deleted` | 已删除 | +## 10. 记忆 -### 7.3 `chat_message.role` +### 10.1 `memory.tier` -| 值 | 说明 | -| --- | --- | -| `user` | 用户消息 | -| `assistant` | 助手消息 | -| `system` | 系统消息 | -| `tool` | 工具消息 | +`trace`(微痕)/ `explicit`(明忆)/ `sensitive`(重忆) -### 7.4 `chat_message.modality` +### 10.2 `memory.type` | 值 | 说明 | | --- | --- | -| `text` | 文本(当前阶段唯一支持) | -| `image` | 图片 | -| `audio` | 音频 | -| `file` | 文件 | - -### 7.5 事件类型 `event.type` - -命名规则:`域名.动作`,全小写点分。事件来源 `event.source` 取值 `user` / `sensor` / `model` / `tool` / `memory` / `planner` / `system` / `knocking_pivot`。 - -核心运行事件: - -```text -run.started -run.completed -run.failed -run.cancelled -agent.started -agent.turn.started -agent.turn.ended -agent.ended -agent.cancelled -agent.failed -agent.settled -skill.activated -message.started -message.updated -message.ended -reasoning.delta -reasoning.completed -message.delta -message.completed -tool.started -tool.completed -tool.failed -tool.requires_confirmation -safety.decision -heartbeat -``` - -记忆与世界事件: - -```text -memory.created -memory.updated -memory.deleted -memory.retrieved -``` - -时态事件(见 辰正时态服务设计): - -```text -time.day_break -time.solar_term -time.festival -time.milestone_hit -time.reunion -time.sentiment -time.user_care -``` - -演化事件(见 自我演化机制设计 第 12 节): - -```text -evolution.signal.received -evolution.replay.started -evolution.replay.completed -evolution.candidate.created -evolution.candidate.applied -evolution.candidate.rejected -mirror_world.entered -mirror_world.scenario.generated -mirror_world.delta.proposed -``` - -主动对话事件(见 叩心枢设计): - -```text -proactive.session -proactive.message -``` - -事件 `payload` 不得包含明文密钥、完整 provider 请求或高敏原文。 - -### 7.6 `big_cycle.status` - -大周天循环运行状态(architecture §3.2)。 +| `persona` | 用户或人物稳定属性 | +| `episodic` | 客观事件(绝不含主观感受) | +| `instruction` | 对人物的长期规则 | +| `relationship_view` | 心痕:人物对经历/关系的主观理解,非事实 | +| `fact_candidate` | 用户手动入忆的启发/观点/假设(须显式标注,不伪装实录) | -| 值 | 说明 | -| --- | --- | -| `pending` | 已创建待执行 | -| `running` | 循环执行中 | -| `completed` | 循环完成 | -| `failed` | 循环失败 | +### 10.3 `memory.status` -### 7.7 `pending_confirmations.status` 待确认记录状态 +`candidate` / `pending`(待用户确认,重忆必经)/ `active` / `superseded`(正影旧版)/ `tombstoned`(删除墓碑) -待确认工具调用的持久化记录(`pending_confirmations` 表),对应 `PendingConfirmationRecord` 模型。 +### 10.4 `memory.source` -| 值 | 说明 | -| --- | --- | -| `pending` | 待消费(默认,等待用户 approve/deny) | -| `consumed` | 已消费(已 approve/deny,允许发生在新 worker) | -| `timed_out` | 超时(Agent 循环 `confirmation_timeout` 超时后标记) | +`user_explicit`(用户明说,冲突时优先)/ `self_inferred`(人物推断) -## 8. 记忆 +### 10.5 `trigger.kind` -### 8.1 `memory.type` +`keyword` / `secondary_logic` / `disclosure`(单一触发条件)/ `vector` -| 值 | 说明 | -| --- | --- | -| `identity` | 身份记忆 | -| `user` | 用户记忆 | -| `episodic` | 情节记忆 | -| `semantic` | 语义记忆 | -| `procedural` | 程序记忆 | -| `relational` | 关系记忆 | -| `emotional` | 情绪记忆 | -| `world` | 世界记忆 | -| `reflection` | 反思记忆 | -| `evolution` | 演化记忆 | - -### 8.2 `memory.source` +## 11. 缘契 -| 值 | 说明 | -| --- | --- | -| `user_explicit` | 用户明确要求 | -| `conversation` | 对话抽取 | -| `material_import` | 资料导入 | -| `tool_result` | 工具结果 | -| `reflection` | 反思生成 | +### 11.1 `covenant.status` -### 8.3 `memory.status` +`proposed` / `active` / `changed` / `withdrawn` -| 值 | 说明 | -| --- | --- | -| `active` | 有效 | -| `archived` | 归档 | -| `deleted` | 已删除(不得再注入上下文) | -| `superseded` | 被取代 | +维度键(`dimensions_json` 内):`closeness` / `trust` / `romantic` / `authority` / `boundary` 等,值为区间描述而非裸数值;多维并存,不以单一好感度表达。 -删除使用 `status = deleted` + `deleted_at`,不使用 `deleted` 布尔字段。 +## 12. 三界 -### 8.4 `memory.provenance_type` 来源形态 +`realm`:`reality` / `persistent_world` / `simulation`(与 `canonical_scope` 同值族,`realm` 描述节点当前界域,`canonical_scope` 描述归真落点)。 -| 值 | 说明 | -| --- | --- | -| `observed` | 观察 | -| `inferred` | 推断 | -| `user_stated` | 用户陈述 | -| `imported` | 资料导入 | +## 13. 形仪与器谱 -### 8.5 `memory_links.relation` 记忆关联关系 +### 13.1 `form.type` / `form.status` -| 值 | 说明 | -| --- | --- | -| `derived` | 派生 | -| `related` | 相关 | -| `conflict` | 冲突 | -| `superseded` | 取代 | -| `summarized` | 汇总 | +`primary`(主仪)/ `alternate`(化仪);`candidate`(候选未定相)/ `confirmed`(已定相) -## 9. 知识库与检索 +### 13.2 `voice.source` -详见 知识库与结构化记忆检索设计。 +`preset`(合成预设)/ `original`(原创设计)/ `licensed_clone`(授权克隆,按身份/用途/期限/传播范围治理,可撤回) -### 9.1 检索分块 `chunk.scope` +### 13.3 `device.trust_status` -| 值 | 说明 | -| --- | --- | -| `memory` | 个人记忆 | -| `knowledge` | 背景、世界观、聊天记录 | -| `world` | 世界模型 | +`paired` / `verified` / `revoked` -### 9.2 `memory_chunks.source_type` +## 14. 神识 -| 值 | 说明 | -| --- | --- | -| `memory` | 记忆 | -| `import_item` | 导入条目 | -| `message` | 对话消息 | -| `knowledge_doc` | 知识文档 | -| `world_entity` | 世界实体 | -| `world_relation` | 世界关系 | -| `reflection` | 反思 | +### 14.1 `model_slot` 能力槽位 -### 9.3 `knowledge_documents.scope` +`chat` / `vision` / `asr` / `tts` / `image` / `embedding` / `rerank` / `safety` -| 值 | 说明 | -| --- | --- | -| `personal` | 人物私有 | -| `shared` | 多人物共享 | -| `worldview` | 世界观共享层 | +### 14.2 `endpoint.type` -### 9.4 `knowledge_documents.doc_type` +`openai_compatible` / `anthropic` / `gemini` / `local`(元炁) -| 值 | 说明 | -| --- | --- | -| `background_story` | 背景故事 | -| `world_setting` | 世界观设定 | -| `character_profile` | 人物设定 | -| `diary` | 日记 | -| `chat_history` | 聊天记录 | -| `external_doc` | 外部文档 | +### 14.3 `route.strategy` -### 9.5 `knowledge_documents.status` +`priority`(优先级故障切换)/ `weighted`(加权随机)/ `sticky`(会话粘性优先) -| 值 | 说明 | -| --- | --- | -| `active` | 有效 | -| `archived` | 归档 | -| `deleted` | 已删除 | -| `superseded` | 被取代 | +## 15. 错误码 -### 9.6 时间线 `memory_timelines.scope` +格式:`HJ-<服务段><序号>`,服务段:灵台 `1`、神识 `2`、照壁 `3`、乾坤 `4`、通用 `9`。 -| 值 | 说明 | +| 码 | 含义 | | --- | --- | -| `natural` | 自然时间线 | -| `entity` | 实体时间线 | -| `topic` | 主题时间线 | -| `relationship` | 关系时间线 | - -### 9.7 `timeline_events.event_type` - -| 值 | 说明 | -| --- | --- | -| `memory` | 记忆节点 | -| `world_change` | 世界状态变化 | -| `interaction` | 交互节点 | -| `milestone` | 里程碑 | - -## 10. 资料导入 - -### 10.1 `material_type` 资料类型 - -| 值 | 说明 | -| --- | --- | -| `chat_history` | 历史聊天记录 | -| `character_profile` | 人物基础设定 | -| `background_story` | 背景故事 | -| `role_card` | 角色卡 | -| `world_setting` | 世界观设定 | -| `style_sample` | 语气样例 | -| `voice_sample` | 人物语音样本 | -| `diary` | 日记 | -| `other` | 其他 | - -### 10.2 导入 `source_type` - -| 值 | 说明 | -| --- | --- | -| `uploaded_file` | 上传文件 | -| `pasted_text` | 粘贴文本 | -| `external_export` | 外部导出 | -| `manual_profile` | 手动资料 | -| `media_upload` | 媒体上传 | - -### 10.3 `character_import_jobs.status` 导入状态 - -| 值 | 说明 | -| --- | --- | -| `pending` | 已创建待处理 | -| `uploaded` | 已接收 | -| `parsing` | 解析中 | -| `parsed` | 已解析为条目 | -| `safety_scanning` | 隐私安全扫描中 | -| `safety_blocked` | 高风险阻断 | -| `extracting_profile` | 生成档案候选 | -| `extracting_memory` | 生成记忆候选 | -| `generating_personality_proposals` | 生成人格建议 | -| `reviewing` | 等待用户审核 | -| `partially_applied` | 部分候选已应用 | -| `completed` | 完成 | -| `failed` | 失败 | -| `cancelled` | 已取消 | -| `deleted` | 已删除 | - -### 10.4 `import_item.item_type` 导入条目类型 - -| 值 | 说明 | -| --- | --- | -| `message` | 聊天消息 | -| `profile_field` | 档案字段 | -| `paragraph` | 段落 | -| `world_fact` | 世界事实 | -| `style_sample` | 风格样例 | -| `audio_segment` | 音频片段 | -| `transcript_segment` | 转写片段 | - -### 10.5 `import_item.role` 导入条目角色 - -| 值 | 说明 | -| --- | --- | -| `user` | 用户 | -| `assistant` | 助手 | -| `system` | 系统 | -| `other` | 其他 | - -### 10.6 候选审核 `candidate.status` - -适用于 `character_profile_candidates`、`memory_candidates`、`personality_proposals`: - -| 值 | 说明 | -| --- | --- | -| `pending` | 待审核 | -| `approved` | 通过 | -| `rejected` | 拒绝 | -| `merged` | 合并 | -| `applied` | 已应用 | - -`personality_proposals` 额外可取 `submitted_to_evolution`(已转入演化候选)。 - -## 11. 世界模型 - -### 11.1 `world_entity.type` - -| 值 | 说明 | -| --- | --- | -| `self` | 自身状态 | -| `person` | 人物(用户、联系人) | -| `object` | 物体 | -| `place` | 地点 | -| `device` | 设备 | -| `project` | 项目 | -| `task` | 任务 | -| `concept` | 概念 | - -### 11.2 世界状态类型 `state_type` - -世界模型需区分事实与推断(见 世界模型设计 第 5 节),统一英文枚举如下: - -| 值 | 对应中文 | 说明 | -| --- | --- | --- | -| `fact` | 事实 | 已确认 | -| `observation` | 观察 | 感知得到的当前状态 | -| `inference` | 推断 | 模型推测,需置信度 | -| `hypothesis` | 假设 | 规划器临时条件 | -| `stale` | 过期 | 需刷新或验证 | - -推断、假设、过期状态召回时降权,不得伪装成事实。 - -### 11.3 `character_world_entities.status` 世界实体候选审核状态 - -大周天 `_phase_memory` 阶段抽取的世界实体候选经审核流转,与 §11.2 `state_type` 正交——`status` 管审核流转,`state_type` 管事实/推断属性。 - -| 值 | 说明 | -| --- | --- | -| `pending` | 大周天抽取的待审核候选 | -| `confirmed` | 审核通过,进入人物世界模型(默认) | -| `rejected` | 审核驳回 | - -仅适用于 `character_world_entities`(人物运行时世界实体,按 `character_id` 隔离);治理视图 `world_entities`(全局、人工维护)无此字段。 - -### 11.4 辰正时态枚举 - -辰正(Time Sense)相关枚举的单一事实源,取值与 辰正时态服务设计 §5、§7 一致。下游文档引用而非复制。 - -#### 11.4.1 `calendar` 历法 - -| 值 | 说明 | -| --- | --- | -| `solar` | 公历 | -| `lunar` | 农历 | - -#### 11.4.2 `anniversary_kind` 纪念日类型 - -| 值 | 说明 | -| --- | --- | -| `birthday` | 生日 | -| `anniversary` | 周年/纪念日 | -| `milestone` | 里程碑 | -| `custom` | 自定义 | - -#### 11.4.3 `anniversary_subject` 纪念日对象 - -| 值 | 说明 | -| --- | --- | -| `user` | 用户 | -| `character_self` | 人物自身 | -| `relationship` | 关系(如相遇日) | -| `custom` | 自定义 | - -#### 11.4.4 `anniversary_source` 纪念日来源 - -| 值 | 说明 | -| --- | --- | -| `auto` | 自动锚定(如首条消息日期) | -| `manual` | 用户手动填写 | -| `imported` | 资料导入 | - -#### 11.4.5 `offline_band` 离线档位 - -阈值写入配置,默认值如下,全部可调(见 辰正时态服务设计 §7.1)。 - -| 值 | 默认阈值 | 说明 | -| --- | --- | --- | -| `active` | < 1 h | 活跃 | -| `short_absence` | 1–12 h | 短暂离线 | -| `long_absence` | 12 h – 3 d | 较长离线 | -| `reunion_impact` | > 3 d | 久别重逢 | - -#### 11.4.6 `care_kind` 关怀类型 - -`time.user_care` 事件的关怀类型(见 辰正时态服务设计 §7.3)。 - -| 值 | 说明 | -| --- | --- | -| `late_night` | 深夜持续聊天 | -| `early_morning` | 清晨异常出现 | -| `overwork` | 深夜工作/学习 | -| `festival_lonely` | 节日孤独 | -| `birthday` | 用户生日 | -| `jetlag` | 时差关怀 | - -#### 11.4.7 `sentiment_trigger` 感慨触发类型 - -`time.sentiment` 事件的触发类型(见 辰正时态服务设计 §7.2)。 - -| 值 | 说明 | -| --- | --- | -| `duration_node` | 认识时长有感节点 | -| `anniversary_prewarm` | 周年预热 | -| `late_night_overlay` | 深夜叠加 | -| `reunion_memory` | 久别重逢+临别记忆 | -| `solar_term` | 强节气 | -| `season_resonance` | 季节共振(v2) | - -#### 11.4.8 `day_period` 现代时段 - -| 值 | 说明 | -| --- | --- | -| `凌晨` | 0–5 点 | -| `清晨` | 5–8 点 | -| `上午` | 8–11 点 | -| `中午` | 11–13 点 | -| `下午` | 13–17 点 | -| `傍晚` | 17–19 点 | -| `夜晚` | 19–23 点 | -| `深夜` | 23–24 点 | - -#### 11.4.9 `emotion.mood` 情绪类型 - -灵核情绪状态机的 mood 枚举(见 人格系统设计 §11.1)。 -辰正 `time.*` 事件驱动派生;信号源见 §11.4.6 `care_kind` / §11.4.7 `sentiment_trigger`。 - -| 值 | 说明 | 触发场景 | -| --- | --- | --- | -| `neutral` | 平静 | 基线 / 衰减回归 | -| `pleased` | 愉悦 | 默认正向(v2 对话正向信号驱动) | -| `touched` | 感动 | `time.reunion` | -| `wistful` | 怅然怀念 | `time.sentiment`(reunion_memory / milestone / duration_node / solar_term) | -| `concerned` | 关切 | `time.user_care`(care_kind 命中) | -| `festive` | 喜庆 | v2 festival 事件直接驱动 | -| `melancholy` | 惆怅 | `time.sentiment`(late_night) / `time.user_care`(festival_lonely) | - -> v1 七种工程枚举 + 中文 label;完整七情文化命名(喜 / 怒 / 哀 / 惧 / 爱 / 恶 / 欲)留 v2(人格 §11.6)。 - -## 12. 演化 - -### 12.1 `evolution_candidate.type` - -| 值 | 说明 | -| --- | --- | -| `personality` | 人格 | -| `personality_weights` | 人格权重向量 | -| `retrieval_strategy` | 记忆召回策略 | -| `tool_affinity` | 工具选择偏好 | -| `memory` | 记忆 | -| `tool_strategy` | 工具策略 | -| `safety_rule` | 安全规则 | -| `world_model` | 世界模型 | -| `procedural` | 程序记忆 | -| `mood` | 心情 | - -### 12.2 `evolution_candidate.level` 影响层级 - -复用风险等级取值,但语义为「演化影响范围」: - -| 值 | 说明 | 是否可自动应用 | -| --- | --- | --- | -| `L0` | 临时运行偏好 | 可以 | -| `L1` | 会话级适配 | 可以 | -| `L2` | 人物长期偏好 | 低风险可自动候选 | -| `L3` | 人格权重更新 | 小幅可回滚可自动 | -| `L4` | 核心人格 / 明德(三观)/ 使命 / 安全边界 | 不可,必须用户确认 | - -### 12.3 `evolution_candidate.scope` 作用域 - -| 值 | 说明 | -| --- | --- | -| `character_scope` | 仅当前人物 | -| `user_scope` | 仅与某用户的互动 | -| `task_scope` | 仅某类任务 | -| `global_scope` | 全局(需更严格审核) | - -### 12.4 `evolution_candidate.status` - -| 值 | 说明 | -| --- | --- | -| `pending` | 待审核 | -| `approved` | 通过 | -| `rejected` | 拒绝 | -| `applied` | 已应用 | - -### 12.5 `evolution_signal.type` - -| 值 | 说明 | -| --- | --- | -| `explicit_feedback` | 显式反馈 | -| `implicit_feedback` | 隐式反馈 | -| `task_result` | 任务结果 | -| `mirror_world` | 镜界推演 | - -### 12.6 `evolution_signal.polarity` - -| 值 | 说明 | -| --- | --- | -| `positive` | 正向 | -| `negative` | 负向 | -| `neutral` | 中性 | - -### 12.7 `evolution_candidate.source` - -候选来源;大周天自我评估生成的候选标记为 `big_cycle`(见 大周天循环设计)。 - -| 值 | 说明 | -| --- | --- | -| `explicit_feedback` | 显式反馈 | -| `implicit_feedback` | 隐式反馈 | -| `task_result` | 任务结果 | -| `mirror_world` | 镜界推演 | -| `manual_review` | 人工编辑 | -| `big_cycle` | 大周天自我评估 | - -### 12.8 `exploratory_subgoal.status` 探索性次生目标审核状态 - -大周天内驱力产出的探索性次生目标,可审核但本期不自动执行(见 大周天循环设计)。 - -| 值 | 说明 | -| --- | --- | -| `candidate` | 待审核候选(默认) | -| `approved` | 审核通过(仅标记,不自动执行) | -| `deferred` | 暂缓 | -| `rejected` | 审核驳回 | - -## 13. 工具与安全 - -### 13.1 `tool_calls.status` - -| 值 | 说明 | -| --- | --- | -| `pending` | 待执行 | -| `running` | 执行中 | -| `completed` | 完成 | -| `failed` | 失败 | -| `denied` | 被拒绝 | - -### 13.2 `audit_event.actor` - -| 值 | 说明 | -| --- | --- | -| `user` | 用户 | -| `system` | 系统 | -| `tool` | 工具 | - -### 13.3 `audit_event.decision` 审计裁定结果 - -| 值 | 说明 | -| --- | --- | -| `auto` | 自动放行(L0/L1 或 `allow` 策略) | -| `approved` | 人工朱批放行 | -| `denied` | 人工朱批驳回 | -| `blocked` | 策略阻断(`forbidden` / L4) | - -适用:audit_event、司命台起居注时间河。 - -> 实现现状:代码当前 `decision` 值集与上述规范枚举存在偏差(`allow`/`deny`/`reject` 等),详见 §19 待统一项。 - -### 13.4 `skills.status` / `mcp_servers.status` 能力启用状态 - -百工能力包与 MCP 服务的启用状态,默认 `enabled`,预留 `disabled` 等扩展。 - -| 值 | 说明 | -| --- | --- | -| `enabled` | 已启用(默认) | - -## 14. 证据 - -### 14.1 `evidence.source_type` - -| 值 | 说明 | -| --- | --- | -| `event` | 一炁事件 | -| `message` | 消息 | -| `import_item` | 导入条目 | -| `memory` | 记忆 | -| `tool_result` | 工具结果 | -| `user_confirmation` | 用户确认 | -| `manual_note` | 手动备注 | -| `perception_summary` | 感知摘要 | -| `audit_event` | 审计事件 | - -Evidence 统一规则见 Evidence 证据体系设计。 - -## 15. 错误码字典 - -错误码分为「API 标准错误码」(对外统一口径)和各「领域层错误码」(内部产生,需映射到标准错误码)。所有错误信息对外输出前必须脱敏,不得包含密钥、Authorization header、签名 URL、完整 provider 请求或高敏原文。对外响应的 `code` 只取 15.1 的 API 标准错误码;领域层错误码通过 15.2–15.8 的映射收敛后对外暴露,不得把领域错误码直接作为 `code` 返回。 - -### 15.1 API 标准错误码 - -| 错误码 | HTTP | 说明 | -| --- | --- | --- | -| `invalid_request` | 400 | 请求格式、参数组合或业务前置条件错误 | -| `validation_failed` | 422 | 字段校验失败或枚举值非法 | -| `permission_denied` | 401 / 403 | 本地访问令牌缺失或无效,或权限不足 | -| `requires_confirmation` | 403 | 需要用户确认的高风险动作 | -| `not_found` | 404 | 资源不存在或不属于当前人物 | -| `conflict` | 409 | 状态冲突、幂等键冲突或重复提交 | -| `payload_too_large` | 413 | 文本、文件或事件 payload 超限 | -| `unsupported_media_type` | 415 | 上传文件 MIME 不被允许 | -| `context_overflow` | 413 / 400 | 上下文超限 | -| `rate_limited` | 429 | 请求频率或模型调用限流 | -| `model_error` | 502 | 模型供应商返回异常 | -| `model_rate_limited` | 429 | 模型供应商或 endpoint 限流 | -| `model_timeout` | 504 | 模型调用超时 | -| `model_config_error` | 500 | 模型配置缺失或非法 | -| `model_unavailable` | 503 | 无可用模型 endpoint | -| `model_provider_key_missing` | 500 | 选中 endpoint 缺少真实 API key 环境变量 | -| `tool_error` | 500 | 工具执行失败 | -| `safety_rejected` | 403 | 安全策略拒绝或模型拒答 | -| `internal_error` | 500 | 未预期服务端错误 | - -HTTP 状态码映射详见 魂镜 API 设计 第 5.5 节。 - -### 15.2 模型网关(神识)错误码 - -| 错误码 | 触发场景 | 映射到 API 标准错误 | -| --- | --- | --- | -| `model_not_configured` | 逻辑模型缺失或无可路由端点 | `model_config_error` | -| `model_endpoint_unavailable` | endpoint 不可用、熔断或容量耗尽 | `model_unavailable` | -| `model_provider_key_missing` | 选中 endpoint 缺少真实 API key 环境变量 | `model_provider_key_missing` | -| `provider_error` | 供应商返回错误 | `model_error` | -| `provider_timeout` | 供应商超时 | `model_timeout` | -| `provider_rate_limited` | 供应商限流 | `model_rate_limited` | -| `context_overflow` | 上下文超限 | `context_overflow` | -| `capability_not_supported` | 当前逻辑模型不支持请求能力 | `model_config_error` | -| `invalid_model_response` | 响应不符合预期 | `model_error` | -| `model_refusal` | 模型拒答或安全拒绝 | `safety_rejected` | -| `privacy_route_blocked` | 隐私路由阻断,需更安全端点或用户确认 | `permission_denied` | - -### 15.3 工具运行时(百工)错误码 - -| 错误码 | 触发场景 | 映射到 API 标准错误 | -| --- | --- | --- | -| `tool_not_found` | 工具未注册或未启用 | `tool_error` | -| `tool_disabled` | 工具被配置禁用 | `tool_error` | -| `tool_timeout` | 工具执行超时 | `tool_error` | -| `tool_input_invalid` | 工具入参不符合 schema | `validation_failed` | -| `tool_execution_failed` | 工具执行异常 | `tool_error` | -| `tool_output_too_large` | 工具结果过大 | `payload_too_large` | - -### 15.4 安全治理(司命)错误码 - -| 错误码 | 触发场景 | 映射到 API 标准错误 | -| --- | --- | --- | -| `safety_policy_blocked` | 命中禁止策略(L4) | `safety_rejected` | -| `confirmation_required` | 高风险动作需用户确认 | `requires_confirmation` | -| `confirmation_denied` | 用户拒绝确认 | `permission_denied` | -| `confirmation_expired` | 确认请求已过期 | `invalid_request` | -| `permission_policy_blocked` | 权限策略拒绝(forbidden) | `permission_denied` | - -### 15.5 记忆与检索(息壤)错误码 - -| 错误码 | 触发场景 | 映射到 API 标准错误 | -| --- | --- | --- | -| `memory_not_found` | 记忆不存在或不属于当前人物 | `not_found` | -| `memory_conflict` | 记忆冲突需合并或确认 | `conflict` | -| `memory_injection_overflow` | 注入记忆超出上下文预算 | `context_overflow` | -| `retrieval_failed` | 检索编排层召回失败 | `internal_error` | - -### 15.6 资料导入错误码 - -| 错误码 | 触发场景 | 映射到 API 标准错误 | -| --- | --- | --- | -| `import_unsupported_format` | 资料格式不支持 | `unsupported_media_type` | -| `import_file_too_large` | 导入文件超限 | `payload_too_large` | -| `import_parse_failed` | 解析失败 | `invalid_request` | -| `import_safety_blocked` | 导入内容被安全扫描阻断 | `safety_rejected` | -| `import_duplicate` | 文件哈希重复 | `conflict` | - -### 15.7 向量库与存储错误码 - -| 错误码 | 触发场景 | 映射到 API 标准错误 | -| --- | --- | --- | -| `vector_store_unavailable` | 向量库未启用或不可达 | `internal_error` | -| `vector_upsert_failed` | 写入向量失败 | `internal_error` | -| `vector_search_failed` | 向量检索失败 | `internal_error` | -| `object_store_unavailable` | 对象存储不可达 | `internal_error` | -| `object_not_found` | 对象引用不存在 | `not_found` | - -### 15.8 辰正时态错误码 - -| 错误码 | 触发场景 | 映射到 API 标准错误 | -| --- | --- | --- | -| `time_lunar_conversion_failed` | 农历库不可用或转换失败 | `internal_error` | -| `time_context_missing` | 时区/位置上下文缺失,已降级 | `invalid_request` | -| `anniversary_invalid_date` | 纪念日日期非法(如农历闰月不存在) | `validation_failed` | -| `anniversary_not_found` | 纪念日不存在或不属于当前人物 | `not_found` | - -### 15.9 错误响应标准格式 - -```json -{ - "error": { - "code": "permission_denied", - "message": "该操作需要用户确认。", - "trace_id": "trace_xxx", - "details": {} - } -} -``` - -`code` 必须取 15.1 的 API 标准错误码;领域层错误码通过 15.2–15.8 的映射收敛后对外暴露。`trace_id` 贯穿 API、模型网关、工具运行时和事件链路。 - -## 16. 模型配置枚举 - -`model_hint` 可引用逻辑模型名(kebab-case)或能力槽位(下列枚举),由模型网关解析为具体模型。业务字段中的 `model_hint` 不得引用真实 provider 或真实模型名。 - -### 16.1 provider - -| 值 | 说明 | -| --- | --- | -| `openai` | OpenAI 厂商 | -| `deepseek` | DeepSeek 厂商;可同时配置 OpenAI 格式与 Anthropic 格式 endpoint | -| `anthropic` | Anthropic / Claude 厂商 | -| `google` | Google 厂商 | -| `minimax` | MiniMax 厂商 | -| `zhipu` | 智谱厂商 | -| `tencentcloud` | 腾讯云厂商 | -| `volcengine` | 火山引擎厂商 | -| `bailian` | 阿里云百炼厂商 | - -### 16.2 routing_strategy - -| 值 | 说明 | -| --- | --- | -| `single` | 单 endpoint 或单模型路由 | -| `priority_failover` | 按 priority 选择,失败后切换备用 endpoint | -| `round_robin` | 轮询 | -| `weighted_random` | 按权重随机 | -| `sticky_weighted_random` | 带会话/运行粘性的权重随机 | - -### 16.3 endpoint status - -| 值 | 说明 | -| --- | --- | -| `active` | 可用 | -| `inactive` | 手动停用 | -| `unhealthy` | 健康检查失败 | -| `cooldown` | 失败后冷却中 | - -### 16.4 模型能力枚举 - -| 能力 | 用途 | -| --- | --- | -| `chat` | 普通对话 | -| `tool_use` | 工具调用 | -| `structured_output` | 结构化输出 | -| `reasoning` | 高复杂推理 | -| `long_context` | 长上下文 | -| `vision` | 图像理解 | - -## 17. 横切关注点 - -横切关注点枚举,对象与字段定义见 横切关注点设计。本节为单一事实源,横切文档引用而非复制。 - -### 17.1 `background_task.type` 后台任务类型 - -| 值 | 说明 | -| --- | --- | -| `drive_scan` | 内驱力扫描 | -| `mirror_world_replay` | 镜界反事实推演 | -| `memory_consolidation` | 记忆整理与候选审核 | -| `import_pipeline` | 资料导入流水线 | -| `evolution_apply` | 演化候选应用 | -| `time_tick` | 辰正定时 tick(跨天/节气/节日/里程碑切换检测) | - -### 17.2 `background_task.trigger` 任务触发方式 - -| 值 | 说明 | -| --- | --- | -| `idle_window` | 空闲时段触发 | -| `scheduled` | 定时触发 | -| `event` | 事件触发 | -| `on_demand` | 按需触发 | - -### 17.3 `background_task.priority` 任务优先级 - -| 值 | 说明 | -| --- | --- | -| `low` | 低优先级,可被高优先级任务打断 | -| `normal` | 普通优先级 | -| `high` | 高优先级 | - -### 17.4 `background_task.status` 任务状态 - -| 值 | 说明 | -| --- | --- | -| `pending` | 待执行 | -| `running` | 执行中 | -| `paused` | 已暂停 | -| `completed` | 已完成 | -| `failed` | 失败 | -| `cancelled` | 已取消 | - -### 17.5 `suspension.kind` 暂停类别 - -| 值 | 说明 | -| --- | --- | -| `confirmation` | 安全确认 | -| `cancellation` | 运行取消 | -| `interruption` | 内驱力打断 | - -### 17.6 `suspension.subject_type` 暂停对象类型 - -| 值 | 说明 | -| --- | --- | -| `tool_call` | 工具调用 | -| `drive_subgoal` | 内驱力探索目标 | -| `run` | 运行 | -| `memory_write` | 记忆写入 | -| `evolution_candidate` | 演化候选 | - -### 17.7 `suspension.status` 暂停状态 - -| 值 | 说明 | -| --- | --- | -| `pending` | 等待解决 | -| `approved` | 已批准 | -| `denied` | 已拒绝 | -| `expired` | 已超时 | -| `cancelled` | 已取消 | - -### 17.8 `users` 用户表 - -用户认证基础表,存储注册用户信息。 - -| 字段 | 类型 | 说明 | -| --- | --- | --- | -| `id` | `user_` + ULID (VARCHAR(40)) | 主键 | -| `username` | VARCHAR(80) | 用户名,唯一且索引 | -| `email` | VARCHAR(255) | 邮箱,唯一 | -| `password_hash` | VARCHAR(255) | Argon2 密码哈希 | -| `is_active` | BOOLEAN | 是否启用(默认 true) | -| `is_admin` | BOOLEAN | 是否管理员(默认 false) | -| `created_at` | TIMESTAMPTZ | 创建时间 | -| `updated_at` | TIMESTAMPTZ | 更新时间 | - -## 18. 维护规则 - -本表是稳定标识、枚举、前缀、事件和错误码的唯一事实源。任何变更必须: - -1. 先修改本表。 -2. 按影响范围同步 `docs/product/`、`docs/domain/`、`docs/architecture/`、机器可读契约和对应实现。 -3. 检查 `.env.example`、`config/*.example.yaml` 是否受影响。 -4. 在提交说明中注明契约变更。 - -新增枚举值、新增对象前缀、新增错误码前,必须先在本表登记,再在其他文档引用。下游文档引用本表时,应写「枚举取值见契约字典」而非复制取值列表,避免再次产生漂移副本。 - -## 19. 待统一项 +| `HJ-1001` | 未认证 | +| `HJ-1003` | 权限不足(含跨人物/跨域越权) | +| `HJ-1101` | 命台忙(前台排队中,返回队列位置) | +| `HJ-1102` | 归真冲突(并发归真互相冲突路径,须明确处理) | +| `HJ-1103` | 节点状态不允许该操作(如芽体归真) | +| `HJ-1201` | 重忆未确认即写入被拒绝 | +| `HJ-1202` | 删除后内容不可再使用 | +| `HJ-1301` | 禁域裁决拒绝(不可申诉绕过) | +| `HJ-1302` | 请命超时未确认,未执行 | +| `HJ-2001` | 无可用模型端点(全部候选失败) | +| `HJ-2002` | 模型请求 Schema 版本不受支持 | +| `HJ-2003` | BYOK 密钥无效或超范围 | +| `HJ-2004` | 配额不足 | +| `HJ-3001` | BFF 上游不可达 | +| `HJ-3002` | SSE 代理超时 | +| `HJ-4001` | 沙箱凭证验签失败 | +| `HJ-4002` | 执行超时被终止 | +| `HJ-9001` | 请求幂等冲突 | +| `HJ-9002` | 参数校验失败 | -以下项当前各文档口径不统一或仅有中文描述,本表已给出推荐英文枚举,后续落地代码时以此为准: +## 16. 契约治理 -- 世界状态类型 `state_type`(原中文「事实/观察/推断/假设/过期」→ 第 11.2 节英文枚举)。 -- 记忆来源形态 `provenance_type`(新增字段,第 8.4 节)。 -- 部分 ID 前缀标记为「推荐」,代码落地时须采用本表前缀。 -- `audit_event.decision`(§13.3)代码当前值集为 `allow`/`approved`/`deny`/`denied`/`reject`,与规范枚举(`auto`/`approved`/`denied`/`blocked`)存在偏差:`allow`≈`auto`、`deny`≈`denied`(笔误变体)、`reject`(run.failed,≈`blocked`)。涉及约 11 文件、26 处,待后续代码统一;`services/personality.py` 已正确使用 `approved`/`denied`,可作参照。 -- `memory.type`(§8.1)代码默认值(`schemas/memory.py`)当前为 `fact`,属 §11.2 `state_type` 的值误用,不在 §8.1 枚举内;待后续改为合法值(建议 `user`)。 +- 机器可读 OpenAPI 3.1 与 JSON Schema 由灵台代码生成,是本词典结构契约的代码化表达;两者不一致时以修复代码对齐词典为准,不得反向改词典迁就实现。 +- 跨服务事件 Schema 与协议测试向量按能力矩阵逐步归位于 `docs/contracts/`。 +- 已退役标识(§4 删除清单、玄关等)不得在新代码出现;发现即删除,不做兼容层。