@furongjun1999/dsh-memory 0.7.5 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -14
- package/docs/eval/issue64_replay_check_/346/240/270/351/252/214/344/270/216/344/277/256/345/244/215_v1.0.md +284 -0
- package/docs/eval//345/217/221/345/270/20313_/344/270/212/344/270/213/346/226/207/350/207/252/347/256/241/347/220/206/346/234/272/345/210/266_v1.0.md +2 -2
- package/docs/eval//345/217/221/345/270/20314_/350/272/253/344/275/223/303/227/350/204/221/347/273/204/345/220/210_v1.0.md +152 -0
- package/docs/eval//351/262/270/345/250/230/344/270/203/347/261/273/347/212/266/346/200/201/350/277/275/350/270/252_v1.0.md +176 -0
- package/docs/mdcg//344/270/226/347/225/214/346/250/241/345/236/213/345/212/237/350/203/275/347/253/257_/344/275/277/347/224/250/344/270/216/350/277/220/347/273/264_v1.0.md +92 -13
- package/docs/mdcg//345/212/237/350/203/275/350/260/203/347/224/250/346/230/240/345/260/204/350/241/250_v0.1.md +43 -43
- package/docs/mdcg//345/217/221/345/270/203/351/227/250/347/246/201/351/223/276_v0.1.md +14 -3
- package/docs/mdcg//347/235/241/347/234/240/345/221/250/346/234/237_/350/277/220/347/273/264/345/211/215/346/217/220/344/270/216/347/273/264/346/212/244/346/214/207/345/215/227_v1.0.md +9 -4
- package/docs/plans//347/201/265/346/236/242/350/272/253/344/275/223/303/227/350/204/221_/344/270/226/347/225/214/346/250/241/345/236/213/345/257/271/346/216/245/350/256/276/350/256/241_v0.1.md +45 -2
- package/md_cg/chain.py +23 -7
- package/md_cg/consolidate.py +81 -10
- package/md_cg/lifecycle.py +7 -0
- package/md_cg/mcp_server.py +22 -0
- package/md_cg/mdcg.py +6 -1
- package/md_cg/scrub.py +4 -2
- package/md_cg/sleep.py +60 -10
- package/md_cg/test_lifecycle_retire_leak.py +90 -0
- package/md_cg/test_p6_consolidate.py +389 -7
- package/md_cg/test_sleep_gitlock.py +134 -0
- package/md_cg/test_spatial_coords3d.py +292 -0
- package/package.json +2 -2
- package/skills/plugin.json +1 -1
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# 发布 v0.8.0:身体×脑组合(对端 lingshu)+ 状态追踪链 + issue #64 修复
|
|
2
|
+
|
|
3
|
+
> 版本 0.8.0 | 提交 `e5723d35` 及其前 11 笔(版本递增与本报告为其后一笔)| 2026-10-06
|
|
4
|
+
> 前版 v0.7.5(上下文自管理机制)| 本版兑现发布13 所述「下一版 0.8.0=与对外完整身体库组合、端到端可用」
|
|
5
|
+
|
|
6
|
+
## 一、本版范围(v0.7.5 → v0.8.0 共 12 笔 + 本版提交)
|
|
7
|
+
|
|
8
|
+
| # | 提交 | 内容 |
|
|
9
|
+
|---|---|---|
|
|
10
|
+
| 1 | `e5723d35` | **issue #64 修复**:replay_check 空集当通行双修——负条件两态拦截(`neg_absent`/`neg_dropped_all` 不进 verify 不落盘)+撤销过严一票否决(自否定归 no_conflict 覆盖率口径)+ CLI 角色级 `--reflect/--verify-max-tokens`、`--timeout` 系列 |
|
|
11
|
+
| 2 | `e3ca39b3` | **轮写入链第二步**:会话每轮保守状态抽取(`state_extract`)接进每轮 mdcg 写入链(仅用户轮+两条高精度规则+同值去重+证据可甄别;三层同源关系追溯) |
|
|
12
|
+
| 3 | `abcc9169` | 多主体状态追踪常驻件 `state_atlas`(全角色世界书 + 酒馆 worldbook JSON 导出;根解析与 MCP 同源) |
|
|
13
|
+
| 4 | `c6d0b8e9` | 鲸娘状态追踪图 v1(世界书条目+大事记时间线+分幕大纲) |
|
|
14
|
+
| 5 | `4551bff3` | 鲸娘七类状态追踪 v1(人物/地点/时间/事件/因果/物品/情感) |
|
|
15
|
+
| 6 | `19241201` | 复核观察项收口(退役守卫 45→46、rust 单测补钉、sleep 指南措辞) |
|
|
16
|
+
| 7 | `8b037e41` | 鲸娘语料预处理固化件(思考块剥离独立存档+双身份分流;产物仓外 fail-closed) |
|
|
17
|
+
| 8 | `aa65eeec` | **退役边界四项裁定批**:基类检索/因果链/rust 内核接线+subgraph 结构面钉住+`lifecycle.set_state` 同点失效链缓存+ index.lock 有界自清(三闸口径) |
|
|
18
|
+
| 9 | `831cfaee` | 发布13 报告回填(0.7.5 registry 回验读数) |
|
|
19
|
+
| 10 | `8b08e3d9` | 复核观察项收口(spatial 守卫 15→18、沙箱键) |
|
|
20
|
+
| 11 | `4c6d1966` | 对接设计 v0.2(四条裁决落档+M1/M2 落地记录) |
|
|
21
|
+
| 12 | `e5d7f0c1` | **身体×脑对接②④**:`spatial.coords3d` 直存透传(MCP 三分支+缺省不落键)+ `body_e2e_smoke` 进发布链(gate 第 12 腿,两栈同跑) |
|
|
22
|
+
| 13 | 本版提交 | 版本号 0.8.0(8 处)+ README 标题行与版本表 + 本报告 |
|
|
23
|
+
|
|
24
|
+
## 二、身体×脑组合(本版主线)
|
|
25
|
+
|
|
26
|
+
**组合对象**:对外完整身体库 `FuRongJun-1999/lingshu`(灵×脑×身聚合仓,v0.0.1 骨架已入仓)。
|
|
27
|
+
身侧适配器 `lingshu/world/brain_store.py` 以 **MCP stdio 真进程**连本仓 `md_cg.mcp_server`,
|
|
28
|
+
**零改动对接** `scene_model` 既有两函数:
|
|
29
|
+
|
|
30
|
+
- **M1 读向(身体重建世界)**:`BrainStore.get_nodes_by_tag` → `cg(op=read)` 取候选
|
|
31
|
+
+适配器侧 tag 过滤(裁定三:零脑改)→ `frontmatter.spatial.coords3d` 直存取坐标(裁定二)
|
|
32
|
+
→ 槽位投影(`stg(op=state_chain)`,slot=「状态」)取状态 → `load_world_from_memory(store)` 直接可用;
|
|
33
|
+
- **M2 写向(身体观测入脑)**:`BrainEngine.add_perception` → `mdcg_remember`
|
|
34
|
+
(tags+坐标直存);状态写入经 `store.conn` 垫片翻译为 `cg(op=state_event)` **记账**
|
|
35
|
+
(事件是源、槽位是投影)→ `ingest_scene(agent, desc)` 直接可用(含状态)。
|
|
36
|
+
|
|
37
|
+
**端到端读数(本版发布时点实测)**:
|
|
38
|
+
|
|
39
|
+
- 身侧件 `tests/test_brain_store.py`(隔离库):**10/10 通过**——握手/写入 3 实体/
|
|
40
|
+
世界重建实体集合/类别(`cat:` 标签)/坐标(coords3d 直存)/状态(槽位投影)/
|
|
41
|
+
状态更新重载/tag 过滤在适配器侧(无 `spatial` 标签者不进世界);
|
|
42
|
+
- 活体演示(隔离库,两幕+断线重连):身体感知写入 → 脑侧台账(3 槽位 active)→
|
|
43
|
+
状态迁移(happy→excited,事件数 2)→ 世界重建(实体/类别/坐标/状态全对)→
|
|
44
|
+
脑侧原始节点回读(tags 与 `spatial.coords3d` 直存形态)→ **重连续存**(世界仍在、状态取新值);
|
|
45
|
+
- 组合冒烟 `scripts/body_e2e_smoke.py` 为发布门禁**第 12 腿**(本仓侧、身体侧视角
|
|
46
|
+
MCP 全链:写口 3/3 入账 → 投影 2 槽位 → `stg(op=state_chain)` 查询)。
|
|
47
|
+
|
|
48
|
+
**安全与纪律**:连接缺省 fail-closed——子进程 env 剔除继承的全部 `MDCG_*`、`pythonpath`
|
|
49
|
+
必须显式、库根必须显式(对端「不写本机路径字面量」章程六);冒烟与身侧测试一律
|
|
50
|
+
**隔离库**(`tempfile` 根 + legacy 三开关测试身份,不触真实令牌)。
|
|
51
|
+
|
|
52
|
+
## 三、状态追踪链(语义时空图核心能力成型)
|
|
53
|
+
|
|
54
|
+
四层递进(提交 `4551bff3`→`c6d0b8e9`→`abcc9169`→`e3ca39b3`):
|
|
55
|
+
|
|
56
|
+
1. **七类编目**(人物/地点/时间/事件/因果/物品/情感):单点复用 P1 抽取器 v4 机件与
|
|
57
|
+
11 槽位规则(不改槽位名),真实语料端到端 26 事件 → 12 槽位;承诺/因果族噪声依据
|
|
58
|
+
如实存档、v1 不做;
|
|
59
|
+
2. **状态追踪图**:世界书条目(现值/退役/变迁史+证据短证)+大事记时间线+分幕大纲
|
|
60
|
+
(事件间隔机械聚类,非情节判断——如实声明);
|
|
61
|
+
3. **多主体常驻件 `state_atlas`**:查询时现算的只读视图(机制常驻、读即最新),
|
|
62
|
+
缺省全角色世界书,可导出酒馆 worldbook JSON;根解析与 zcode MCP 同源;
|
|
63
|
+
4. **轮写入链**:会话每轮(Stop 钩子/冷启动/压缩恢复共用单点 `sync_to_window`)在写
|
|
64
|
+
`_recent` 窗口的同一循环内做保守状态抽取 → 台账;**三层同源关系追溯**=认知图
|
|
65
|
+
(`_recent`/知识面)+语义时空图(台账/投影/视图)+原文(会话 md 镜像/全量转写),
|
|
66
|
+
事件 evidence 互指。开关 `MDCG_STATE_EXTRACT` 缺省开;逐轮 fail-soft。
|
|
67
|
+
|
|
68
|
+
在役权威库实测:状态台账 **0 条**(机制就位、数据处女地,优雅退空)——首次真实记账
|
|
69
|
+
随轮写入链自然积累;DSH 端同款接线为后续件。
|
|
70
|
+
|
|
71
|
+
## 四、退役边界与工程面
|
|
72
|
+
|
|
73
|
+
- **退役边界四项裁定落地**(`aa65eeec`,按使用者裁定「1/2/4 接、3 不接」):
|
|
74
|
+
① 基类 `MdCG.search` 接线(离线脚本/白箱 KB 与生产同口径);
|
|
75
|
+
② `chain.adjacency` 接线(`skip_archived` 缺省,scrub 维护面显式旁路);
|
|
76
|
+
③ rust 内核接线(`Entry.lifecycle_state` 解析 + `candidates` 剔除,crate 单测双钉);
|
|
77
|
+
④ `subgraph.children_index/parents_index` 结构面**不接**(守卫 R7 钉住正反映射);
|
|
78
|
+
另补 `lifecycle.set_state` → `chain.invalidate_cache` 同点失效(探针实证缺口)。
|
|
79
|
+
- **index.lock 有界自清**:`_clear_git_lock` 三闸(只碰影子仓对象名/前置巡检清超龄
|
|
80
|
+
≥300s/其余不动)+台账留痕;守卫 `test_sleep_gitlock` 8 断言(含「新锁不误删」反向腿)。
|
|
81
|
+
- 守卫面:退役 46 断言、全量 python 359/359、cargo 35、rank_parity 10/10。
|
|
82
|
+
|
|
83
|
+
## 五、issue #64 修复(外部报告)
|
|
84
|
+
|
|
85
|
+
外部报告(angel12538,对 v0.7.5 实测)两类指控 + 参数问题,逐条核验(对 HEAD 源码
|
|
86
|
+
与隔离库独立复现)后三类均成立并修复(`e5723d35`):
|
|
87
|
+
|
|
88
|
+
- **B 类「空集当通行」**(主修):`consolidate()` 主流程把 grounding 删光后的空 neg 传
|
|
89
|
+
`replay_check`,命中其 `else: neg_separated = True` 短路——「负条件被删光/未产出」被
|
|
90
|
+
错当「通过」,缺「不适用条件」要素的节点仍落盘并携带验证声明。修复=**负条件两态拦截**
|
|
91
|
+
(`neg_absent`=候选未产出/`neg_dropped_all`=写了被 grounding 删光;两态 REJECT,
|
|
92
|
+
不进 verify、不落盘,reasons 分开记账)。
|
|
93
|
+
- **A 类①**(过严误杀):`pos_recall` 的 `_neg_hit` 一票否决把「与生效条件共享领域主题词」
|
|
94
|
+
的合格邻近情境负条件误杀(实测①为唯一杀手);撤销该因子,自否定由 `no_conflict`
|
|
95
|
+
覆盖率口径承担(复制品仍被拦,守卫反向腿钉住)。
|
|
96
|
+
- **参数问题**:`--max-tokens` 单值喂两角色、`timeout=120` 不可配——新增
|
|
97
|
+
`--reflect/--verify-max-tokens` 与 `--timeout/--reflect/--verify-timeout`(缺省回落原语义)。
|
|
98
|
+
|
|
99
|
+
**验证**:守卫扩至 109 断言(含两态全链 REJECT 不落盘、撤销①正反腿、CLI 透传行为面)
|
|
100
|
+
+定点变异自证六腿(还原任一处修复 → 红项数恰等登记值)+独立复核 ACCEPT(HEAD 归档
|
|
101
|
+
对照+212 例回放 oracle 对拍:202 全等、10 例分歧全部恰为旧式一票否决类、非法分歧 0)。
|
|
102
|
+
未采纳项 3 项(A 类②③宽严属判据设计边界、B 路无 E04x 签章闸、短流水计入 rejected)
|
|
103
|
+
如实登记于 `docs/eval/issue64_replay_check_核验与修复_v1.0.md`。
|
|
104
|
+
|
|
105
|
+
## 六、工程面读数(发布时点实测)
|
|
106
|
+
|
|
107
|
+
| 关卡 | 读数 |
|
|
108
|
+
|---|---|
|
|
109
|
+
| python 全量 | **359/359 通过**(5 跳过:依赖缺失/平台不符) |
|
|
110
|
+
| TS 全量 | 144 项(**143 pass / 0 fail / 1 skip**) |
|
|
111
|
+
| `npm run gate` | **12 腿 PASS**(含 cargo 35、rank_parity 逐位 10/10、本机路径门禁、body_e2e_smoke 全链) |
|
|
112
|
+
| 出货冒烟 | tarball `furongjun1999-dsh-memory-0.8.0.tgz`、清单 1591 条目、serverInfo `0.8.0`、tools `['cg','stg']`、真握手 rc=0 |
|
|
113
|
+
| 容器栈一(rust:bookworm) | `linux_verify.sh full` 汇总 **49 pass / 0 fail**(python 全量+断言判别力自证+smoke 22/0+body_e2e_smoke PASS,SIGTERM 收尾口径) |
|
|
114
|
+
| 容器栈二(node:22-bookworm) | TS 144 项 **141 pass / 0 fail / 3 skip** |
|
|
115
|
+
|
|
116
|
+
## 七、边界与如实声明
|
|
117
|
+
|
|
118
|
+
- **适配器属对端仓**:`brain_store` 在 `lingshu` 仓(身侧件进身仓);本仓提供的是脑侧
|
|
119
|
+
MCP 面(`state_event`/`state_chain`/`spatial.coords3d` 透传)与组合冒烟门禁腿。
|
|
120
|
+
- **组合验收为隔离库读数**:端到端演示与冒烟全部跑隔离根;在役权威库只读面不受影响。
|
|
121
|
+
- **鲸娘线产物落使用者私域**(语料预处理件/追踪图/思考档案),不入公开仓(纪律 9)。
|
|
122
|
+
- **状态追踪的语义边界**:七类中「因果」v1 以证据链承载(不做裸词形抽取,噪声依据存档);
|
|
123
|
+
分幕为事件间隔机械聚类,非情节判断。
|
|
124
|
+
- **issue #64 未采纳三项**:见 §五;其中 A 类②③若后续放宽,需带真实语料双向调参。
|
|
125
|
+
- **「身体」指对外完整身体库 lingshu**——本仓 README 中「AEIS 仅作可选身体能力后端」
|
|
126
|
+
的历史表述不动(AEIS 为使用者私域身体实现;lingshu 为其对外完整版)。
|
|
127
|
+
|
|
128
|
+
## 八、发布三关(发布时点复跑口径)
|
|
129
|
+
|
|
130
|
+
1. `python -X utf8 scripts/run_tests.py --jobs 4` → 359/359;
|
|
131
|
+
2. `npm run build` + `npm test` → 143/0/1;
|
|
132
|
+
3. `npm run gate` → 12 腿 PASS;
|
|
133
|
+
4. 容器双栈:栈一 `rust:bookworm` `bash scripts/linux_verify.sh full`;栈二 `node:22-bookworm`
|
|
134
|
+
`npm install --include=dev && npm run build && node --import tsx --test test/*.test.ts`。
|
|
135
|
+
|
|
136
|
+
`npm publish` 由使用者执行(编排侧无发布密钥,2026-10-04 指示);发布后 registry 回验
|
|
137
|
+
(`scripts/check_publish_artifact.py --registry 0.8.0`)与 N 文件/hash 对拍,读数回填本报告。
|
|
138
|
+
|
|
139
|
+
## 九、复跑命令(中性占位)
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
# 身体×脑(对端仓根)
|
|
143
|
+
MDCG_BRAIN_PYTHONPATH=<脑包目录> python -X utf8 tests/test_brain_store.py # 10/10
|
|
144
|
+
# 本仓组合冒烟(隔离库;等价于门禁第 12 腿)
|
|
145
|
+
python -X utf8 scripts/body_e2e_smoke.py
|
|
146
|
+
# 状态追踪链(真实语料与隔离库演示,产物仓外)
|
|
147
|
+
python -X utf8 scripts/whale_state_tracker.py --corpus <语料> --out <仓外目录>
|
|
148
|
+
python -X utf8 scripts/state_atlas.py --root <库根> --out <仓外>
|
|
149
|
+
# issue #64 面
|
|
150
|
+
python -X utf8 -m md_cg.test_p6_consolidate # 109/109
|
|
151
|
+
python -X utf8 -m md_cg.test_p6_consolidate --mutation-baseline # 变异自证
|
|
152
|
+
```
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# 鲸娘七类状态追踪 v1.0——人物/地点/时间/事件/因果/物品/情感
|
|
2
|
+
|
|
3
|
+
> 使用者 2026-10-06 指令:「按照理论和现有功能将人物,地点,时间,事件,因果,物品,情感等状态进行追踪。」
|
|
4
|
+
> 前置=鲸娘语料预处理第一步(思考块剥离+双身份分流,件 `scripts/whale_corpus_prep.py`)。
|
|
5
|
+
> 本件:`scripts/whale_state_tracker.py`(v7),**单点复用** P1 抽取器 v4 的机件与被复核规则。
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 一、理论依据(纪律 1:先查理论)
|
|
10
|
+
|
|
11
|
+
| 来源 | 借用的口径 |
|
|
12
|
+
|---|---|
|
|
13
|
+
| 《AI 故事创作的状态维护调研 v0.1》 | **八维度**(情节/人物/心理/环境/世界/时间/地点/物品)与状态寄存器 schema——本件按使用者给定的七类取法落地 |
|
|
14
|
+
| 《角色扮演一致性锚调研 v0.1》 | **四问审计法**;更新语义三分——**不变式**(永不改)/ **可覆盖**(新值替换旧值)/ **追加**(只增不改) |
|
|
15
|
+
| P1 抽取器 v4(三率已复核) | 切块/引用块剥离/证据短证/五元事件机件与 11 个槽位规则(**单点复用,不复制第二份**) |
|
|
16
|
+
|
|
17
|
+
## 二、七类编目(真实语料读数)
|
|
18
|
+
|
|
19
|
+
**输入**:鲸娘主语料(1546 轮段);**输出**:26 条五元事件(`state_events_v7.jsonl`)+编目(`v7_catalog.json`)。
|
|
20
|
+
|
|
21
|
+
| 类别 | 事件 | 槽位 | 更新语义(挂账口径) |
|
|
22
|
+
|---|---|---|---|
|
|
23
|
+
| 人物 | 7 | 记忆特性×2、名字×1、外貌规格(体型)×2、日记制度×2 | 不变式为主(名字=可覆盖+撤回) |
|
|
24
|
+
| 地点 | 2 | 住所×1、店铺规模×1 | 可覆盖(迁移) |
|
|
25
|
+
| 时间 | 1 | 时节×1 | 追加(背景事实) |
|
|
26
|
+
| 事件 | — | **台账行族=26 条**(每条五元事件即事件记录,seq=时间轴;不重复建槽) | 追加 |
|
|
27
|
+
| 因果 | — | 0 独立槽位(v1 **以证据链 quotes/seq 承载**——见 §四噪声依据) | 追加 |
|
|
28
|
+
| 物品 | 9 | 宝物清单×4、房贷×3、菜品与菜单×2 | 可覆盖+追加 |
|
|
29
|
+
| 情感 | 7 | 关系阶段×5、早安吻与早安咬×2 | 可覆盖(关系);追加(互动) |
|
|
30
|
+
|
|
31
|
+
**未分类=0**(fail-visible 设计:任何未入映射的槽位会显式列出,本跑为空)。
|
|
32
|
+
|
|
33
|
+
**v7 新增规则(仅一条,词形基于探针实测)**:`时间·时节`——首现「夏天|夏日」
|
|
34
|
+
(探针:盛夏 0 命中;夏天/夏日 5 命中,首现轮 394)。
|
|
35
|
+
|
|
36
|
+
## 三、端到端验证(现有功能全链,隔离库)
|
|
37
|
+
|
|
38
|
+
抽取 → **MCP `cg(op=state_event)`** → 台账 → `state_slots` 投影 → `stg(op=state_chain)` 查询:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
写入 26/26 条;投影槽位数 12(隔离根为临时目录,已清理)
|
|
42
|
+
鲸鱼小姐·住所 = '海边的大房子(海景别墅)'(active)
|
|
43
|
+
鲸鱼小姐·名字 = None(retired) ← 撤回事件正确退役
|
|
44
|
+
鲸鱼小姐·房贷 = None(retired) ← 用户侧声明玩笑后作废
|
|
45
|
+
鲸鱼小姐·关系阶段 = '合伙人/老板娘(开店)'(active)
|
|
46
|
+
…
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
零在役库写入(`--feed` 走临时隔离根;`--feed-root` 显式给出才保留供复核)。
|
|
50
|
+
|
|
51
|
+
## 四、边界与如实声明
|
|
52
|
+
|
|
53
|
+
- **「承诺」类不做独立抽取**:词形 `答应|说好了|约定|拉钩` 全篇 **138 命中**——口语高频,
|
|
54
|
+
独立抽槽必产噪声;v1 如实不做(候选读数存档,留待更专门的方法)。
|
|
55
|
+
- **「因果」类不做裸词形抽取**:`为了` 59 命中 / `因为` 225 命中,同为口语高频;
|
|
56
|
+
v1 以**证据链**(每条事件的 quotes 轮号+seq 时间轴)承载因果可查性——
|
|
57
|
+
完整因果图属后续(可接 `cg(op=causal)` 边面,另立)。
|
|
58
|
+
- **「事件」类不建独立槽位**:每条五元事件本身就是事件记录(锚分类学的「追加类锚」),
|
|
59
|
+
重复建槽=第二真源,明确不做。
|
|
60
|
+
- 类别编目**不改 v4 槽位名**(与 P1 三率读数同源,零重命名零漂移)。
|
|
61
|
+
- 「时节」属背景事实类(非争议状态),首现轮来自角色侧叙述亦采——与 v4「用户侧=事实源」
|
|
62
|
+
的政策面(争议状态)不同层,已注明。
|
|
63
|
+
|
|
64
|
+
## 五、复跑命令(中性占位)
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
# 七类编目(只读语料、输出仓外)
|
|
68
|
+
python -X utf8 scripts/whale_state_tracker.py --corpus <语料.md> --out <仓外目录>
|
|
69
|
+
|
|
70
|
+
# 端到端(MCP 全链,隔离临时根)
|
|
71
|
+
python -X utf8 scripts/whale_state_tracker.py --corpus <语料.md> --out <仓外目录> --feed
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 六(v1.1 增补)· 状态追踪图:世界书 + 大事记 + 分幕大纲
|
|
77
|
+
|
|
78
|
+
使用者 2026-10-06:「整理出完整的状态追踪图……可以追溯故事的完整发展脉络和内容变化。
|
|
79
|
+
类似酒馆世界书或者是小说故事的大纲。」
|
|
80
|
+
|
|
81
|
+
**件** `scripts/whale_state_atlas.py`——一份 md 三视图同源(现有功能单点复用:事件经
|
|
82
|
+
库层 `state_events.append` 落台账 → `state_slots.project(include_retired=True,
|
|
83
|
+
history=True)` 投影出具**权威**现值/退役/变迁史;幕末快照按事件序现算):
|
|
84
|
+
|
|
85
|
+
1. **世界书条目**(按七类分节):每个槽位一张卡——**现值**/状态(active|retired)/
|
|
86
|
+
**变迁史**(old→new、五类 kind、发生时点轮号、≤30 字证据短证可回原文核对)——
|
|
87
|
+
即「酒馆世界书条目」的可追溯版(带变更链,而非静态设定)。
|
|
88
|
+
2. **大事记时间线**:全部状态事件按序一行一条(轮号|类别|槽位|变更|类型)。
|
|
89
|
+
3. **分幕大纲**:幕界=事件间隔机械聚类(gap ≥ 60 轮)+**单事件幕并入后幕**(机械
|
|
90
|
+
规则,避免碎读)——本语料实测 **5 幕**:轮 136–613(定身份/背景/记忆澄清)、
|
|
91
|
+
687–1040(宝物入账/搭档)、1108–1245(搬迁/规格修正/房贷撤回)、1308–1413
|
|
92
|
+
(开店/新菜)、1475–1534(日记制度/晨间仪式/扩张);每幕含事件清单+
|
|
93
|
+
**幕末状态快照**(该时点各槽位现值)——「每章末世界长什么样」。
|
|
94
|
+
|
|
95
|
+
**实测读数**:26 事件 → 12 槽位卡;md 7,447 字;产物落私域(`--out` 仓外 fail-closed)。
|
|
96
|
+
|
|
97
|
+
**如实边界**:本图是**状态骨架**(状态事件轴),非全量情节摘要(无情节抽取器);
|
|
98
|
+
分幕为机械聚类非情节判断;证据短证 ≤30 字、含轮号。**可选后续**:导出酒馆格式
|
|
99
|
+
worldbook JSON(key=槽位/实体触发词 + content=现值与变迁——待规格确认后做)。
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# 状态追踪图(读 v7 事件 → md;输出必须仓外)
|
|
103
|
+
python -X utf8 scripts/whale_state_atlas.py --events <state_events_v7.jsonl> \
|
|
104
|
+
--out <仓外 .md 路径> [--act-gap 60]
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## 七(v1.2 增补)· 通用常驻件:多主体状态追踪(核心能力定位)
|
|
110
|
+
|
|
111
|
+
使用者 2026-10-06 定位:「这个功能可以常驻,维护其他角色的状态追踪,这应该要作为
|
|
112
|
+
语义时空图的核心功能。」
|
|
113
|
+
|
|
114
|
+
**交付** `scripts/state_atlas.py`——**通用多主体**追踪图(与语料线两件并列):
|
|
115
|
+
|
|
116
|
+
- **常驻形态=查询时现算只读视图**(与 `state_slots` 同哲学,不存第二真源):任何时刻
|
|
117
|
+
调用即得最新;台账为唯一真源。**不依赖后台任务**。
|
|
118
|
+
- **多主体**:`--subject` 单取,缺省把库中**全部主体**各出一节(一份 md=全角色世界书);
|
|
119
|
+
类别缺省按槽位「·」前缀推断,可 `--cat-map` 传映射表(鲸娘七类表即一例)。
|
|
120
|
+
- **三视图同款**(世界书卡/大事记/分幕)+ 可选 `--worldbook-json`(酒馆风格
|
|
121
|
+
`[{keys, content, subject}]`)。
|
|
122
|
+
- **库根解析与 zcode MCP 同源**(`--root`>env>`~/.zcode` 配置>缺省;复用一个 resolve
|
|
123
|
+
单点)——**防双库分叉**的接线实测:不带 `--root` 运行时解析到权威库根(曾抓出过
|
|
124
|
+
缺省根指向 C 盘遗留库的分叉缺陷,本件不再踩)。
|
|
125
|
+
- 只读;`--out` 一律仓外(fail-closed)。
|
|
126
|
+
|
|
127
|
+
**实测读数**:
|
|
128
|
+
|
|
129
|
+
| 项 | 读数 |
|
|
130
|
+
|---|---|
|
|
131
|
+
| 多主体演示(隔离库:鲸娘真语料 26 条+合成第二角色 4 条,合成条已在演示脚本标注) | **2 主体 / 30 事件 / 15 槽位 / md 7,783 字 / worldbook 15 条** |
|
|
132
|
+
| 权威在役库实测(只读) | 台账 **0 条事件**、0 主体——机制全链就位、数据处女地;空库优雅退(171 字纯头) |
|
|
133
|
+
| 根解析同源 | 不带 `--root` 实跑解析到权威库根 ✓ |
|
|
134
|
+
|
|
135
|
+
**记账纪律(通用指引,从本语料线三层消歧口径提炼)**:状态变更发生时记账;用户侧
|
|
136
|
+
声明优先;非事实三类(玩笑/元层/回忆转述)如实标注不复盖;撤回=old 有值 new 空。
|
|
137
|
+
|
|
138
|
+
**待裁(常驻自动化增强)**:是否在睡眠周期「整理」档挂「按主体预生成追踪图 md →
|
|
139
|
+
状态面」——现状按需现算已满足「打开即最新」,预生成仅为「打开就有文件」的缓存物;
|
|
140
|
+
改常驻循环属生产行为变更,须单独立项。
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
# 通用多主体追踪图(任意库、任意主体;输出必须仓外)
|
|
144
|
+
python -X utf8 scripts/state_atlas.py [--root <库根>] [--subject <主体>] \
|
|
145
|
+
--out <仓外 .md> [--acts] [--worldbook-json <仓外 .json>]
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## 八(v1.3 增补)· 会话链路接入:轮写入链第二步(使用者 2026-10-06 裁定)
|
|
151
|
+
|
|
152
|
+
> 「把这个功能作为会话的 10 轮信息写入,并在写入 mdcg 的时候做处理……每次写入
|
|
153
|
+
> 异步加了一些过程,但是好处是得到了可维护的状态……原始信息的关系追溯。」
|
|
154
|
+
|
|
155
|
+
**件** `scripts/state_extract.py`+`sync_zcode_session.py` 接线(每轮写入链第二步):
|
|
156
|
+
|
|
157
|
+
- **接线**:`sync_to_window`(zcode 端每轮——Stop 钩子/冷启动/压缩恢复共用)在写
|
|
158
|
+
`_recent` 窗口的**同一循环内**,对同一轮调保守抽取 → `state_events.append` 进台账。
|
|
159
|
+
钩子轮末子进程运行=会话外处理(「异步」);**逐轮 fail-soft**,抽取失败绝不影响
|
|
160
|
+
窗口写入。
|
|
161
|
+
- **保守口径**:只抽用户轮(真人=事实源);仅两条高精度规则(`地点·所在` 迁移 /
|
|
162
|
+
`情感·偏好`,负向显式记「不喜欢:」);值剥句尾语气词;同值去重;证据
|
|
163
|
+
`[auto] session=… turn=…`+`actor=state_extract`(可整体甄别/清理);开关
|
|
164
|
+
`MDCG_STATE_EXTRACT` **缺省开**(=0 关)。
|
|
165
|
+
- **三层同源**:认知图(`_recent`/知识面)+语义时空图(台账/投影/`state_atlas`)+
|
|
166
|
+
原文(会话 md 镜像/全量转写),evidence 互指——关系可追溯。
|
|
167
|
+
- **读数**:守卫 `scripts/test_state_extract.py` **10/10**(噪声三族「在看不抽/计划
|
|
168
|
+
不抽/助手轮不抽」零命中、去重、变值成链 old→new、证据格式、开关、接线单点);
|
|
169
|
+
全量 **359/359**。
|
|
170
|
+
- **DSH 端**:同款接线在插件侧(TS),属后续件(须改插件并随包发布);本批仅
|
|
171
|
+
zcode 端在线。
|
|
172
|
+
- **已知边界(留裁决)**:「住在这里」类泛化词形会命中,收窄与否归使用者。
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
*v1.3 · 2026-10-06 · 编排侧编制;v1.0 规则与端到端+v1.1 状态追踪图+v1.2 通用常驻件+v1.3 会话链路接入(轮写入链第二步)*
|
|
@@ -278,28 +278,107 @@ python -X utf8 -m md_cg.test_lifecycle_retire_leak # 守卫 R1–R4
|
|
|
278
278
|
锚点仍回出(取证:`identity.profile` 返回的 `anchors[0].content` 含归档节点正文标记);
|
|
279
279
|
按上条判据它属**定向面**(`subject_id` 是显式选择键,与 `cg.get` 同族),故**本轮未接线**
|
|
280
280
|
(其文件不在本轮允许改动面内)。
|
|
281
|
-
-
|
|
282
|
-
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
281
|
+
- **面的接线状态(2026-10-06 使用者裁定批落地——原「已知未覆盖面」四项处置)**:
|
|
282
|
+
- **基类 `MdCG.search` → 已接线**(`md_cg/mdcg.py` 候选条件加 `lifecycle.is_archived`
|
|
283
|
+
判据):plain `MdCG` 实例(白箱 KB / 离线脚本 / 测试)的默认检索面与生产路径
|
|
284
|
+
同口径(守卫 R5,含「converged 降权轴不误剔」对照)。
|
|
285
|
+
- **因果链/图面 `chain.adjacency` → 已接线**(新增 `skip_archived=True` 缺省参数):
|
|
286
|
+
退役节点出边整体不入表、指向退役目标的边截断——`cg(op=causal, action=chain)`、
|
|
287
|
+
`predict.*` 等读/预测面不再扩散进 archived(守卫 R6.0/R6.1/R6.4,含缓存已热
|
|
288
|
+
时归档的实测腿)。**维护面显式旁路**:`scrub` 去污染抽查传
|
|
289
|
+
`skip_archived=False` 取全量表(守卫 R6.2/R6.3 钉住旁路——面的判据分工:
|
|
290
|
+
默认读/注入面必消费、维护/管理面直读)。
|
|
291
|
+
- **缓存失效钩子(本批实证的兑现缺口)**:状态迁移改变 `is_archived` 读数,
|
|
292
|
+
而 `chain` 邻接缓存在 `set_state` 后此前**未失效**(探针实证:归档后
|
|
293
|
+
`causal_chain` 仍含目标)——现 `lifecycle.set_state` 写盘点同点调用
|
|
294
|
+
`chain.invalidate_cache`(懒导入,`invalidate_cache` 自吞异常不阻断推进)。
|
|
295
|
+
- **结构/拓扑面 `subgraph.children_index` / `parents_index` → 裁定不接**
|
|
296
|
+
(调用方给显式父/子 id、返回 id 映射不回正文,属定向/结构面,直读)——
|
|
297
|
+
守卫 R7.0/R7.1 把裁定**钉住**:子节点退役后映射仍在;未来若有人"顺手接线",
|
|
298
|
+
R7.1 转红即提醒先改裁定。
|
|
299
|
+
- **rust 检索内核 → 已接线**(`rust/src/store.rs`):`Entry` 增
|
|
300
|
+
`lifecycle_state` 字段(键名与 Python `lifecycle.STATE_FIELD` 同源)、
|
|
301
|
+
`candidates()` 剔除 `archived`(缺键/非法=active,fail-open;converged/
|
|
302
|
+
demoted 仍参与)——crate 单测 `archived_entries_excluded_from_candidates`
|
|
303
|
+
与 `lifecycle_state_parsed_from_index_json` 双钉;两侧口径一致由
|
|
304
|
+
`rank_parity` 门禁腿继续看守(评测语料无 archived,逐位零位移)。
|
|
294
305
|
- 跨进程一致性:判据只读**本进程索引条目**(`lifecycle_state` 由
|
|
295
306
|
`lifecycle._sync_index` 随迁移同步并落 `_index_log`),他进程刚归档、本进程索引
|
|
296
307
|
尚未重载的窗口内读数可能滞后(与 `lifecycle.set_state` 的既有落盘口径同源)。
|
|
297
308
|
|
|
298
309
|
---
|
|
299
310
|
|
|
311
|
+
## 十、多主体状态追踪(核心能力与常驻读取视图)
|
|
312
|
+
|
|
313
|
+
> 使用者 2026-10-06 定位:「这个功能可以常驻,维护其他角色的状态追踪,这应该要
|
|
314
|
+
> 作为语义时空图的核心功能。」
|
|
315
|
+
|
|
316
|
+
**能力陈述**:状态追踪(多主体 · 五元事件 · 槽位投影)是语义时空图的**核心功能**——
|
|
317
|
+
`subject` 参数化到任意主体(角色/机构/我),台账(`_state_events.jsonl`)为唯一真源,
|
|
318
|
+
其余全为投影/视图。
|
|
319
|
+
|
|
320
|
+
**常驻形态**=**查询时现算的只读视图**(与 `state_slots` 同哲学,不存第二真源):
|
|
321
|
+
任何时刻调用即得最新;不依赖后台任务。工具面(均在 `scripts/`):
|
|
322
|
+
|
|
323
|
+
| 件 | 用途 |
|
|
324
|
+
|---|---|
|
|
325
|
+
| `state_atlas.py` | **通用多主体追踪图**(常驻件):一份 md=全角色世界书(现值/退役/变迁史/大事记/分幕)+可选 `--worldbook-json`(酒馆风格 key/content) |
|
|
326
|
+
| `whale_state_tracker.py` | 语料线抽取器(把会话语料转五元事件;鲸娘规则集,机件可仿建他角色规则包) |
|
|
327
|
+
| `whale_state_atlas.py` | 语料线专用追踪图(从抽取产物 md 生成) |
|
|
328
|
+
| `state_slots.py`(CLI) | 槽位投影只读入口(恒可用,`--status` 等) |
|
|
329
|
+
| `stg(op=state_chain)` | MCP 查询面(flag `MDCG_STG_STATE` 默认关——纪律不变,与 CLI 恒可用互补) |
|
|
330
|
+
|
|
331
|
+
**库根解析(与 zcode MCP 同源,防双库分叉)**:`--root` > env `MDCG_ROOT` >
|
|
332
|
+
`~/.zcode/cli/config.json` 的 `mcp.servers.mdcg.env.MDCG_ROOT` > `mdcg_root()` 缺省。
|
|
333
|
+
**只读纪律**:工具面只读,`--out` 一律仓外(fail-closed)。
|
|
334
|
+
|
|
335
|
+
**记账纪律(通用指引,从鲸娘线三层消歧口径提炼)**:①状态变更发生时记账(谁的
|
|
336
|
+
什么槽位、old/new、五类 kind);②**用户侧声明优先**(用户明确说出的状态为准,
|
|
337
|
+
角色自述的「记错」不复盖真值);③非事实三类(玩笑/元层/回忆转述)如实标注、
|
|
338
|
+
不覆盖真值;④撤回=old 有值 new 空(显式作废,不做静默改写)。
|
|
339
|
+
|
|
340
|
+
**在役现状(2026-10-06 实测)**:权威库(AEIS 数据区库根——根解析同源口径见上)
|
|
341
|
+
台账**0 条事件**——机制全链就位、数据处女地;多主体渲染由隔离库演示验证
|
|
342
|
+
(2 主体/30 事件/15 槽位/15 条 worldbook 条目,读数见 `docs/eval/` 报告 v1.2 节)。
|
|
343
|
+
|
|
344
|
+
**待裁(常驻自动化的可选增强)**:是否在睡眠周期「整理」档挂一步
|
|
345
|
+
「按主体预生成追踪图 md → 状态面」——现状为**按需现算**(打开即最新),预生成仅为
|
|
346
|
+
「打开就有文件」的缓存物;改常驻循环属生产行为变更,须单独立项。
|
|
347
|
+
|
|
348
|
+
### 会话链路接入(轮写入链第二步;使用者 2026-10-06 裁定)
|
|
349
|
+
|
|
350
|
+
> 「把这个功能作为会话的 10 轮信息写入,并在写入 mdcg 的时候做处理……每次写入
|
|
351
|
+
> 异步加了一些过程,但是好处是得到了可维护的状态,同时具备了认知图和语义时空图,
|
|
352
|
+
> 原始信息的关系追溯。」
|
|
353
|
+
|
|
354
|
+
- **接线单点**:`scripts/sync_zcode_session.py::sync_to_window`(zcode 端每轮——
|
|
355
|
+
Stop 钩子/冷启动/压缩恢复共用同一链路)——写 `_recent` 窗口的**同一循环内**对同一轮
|
|
356
|
+
调 `scripts/state_extract.py` 保守抽取 → `state_events.append` 进台账。钩子在轮末以
|
|
357
|
+
子进程运行(会话外处理,即「异步」),**逐轮 fail-soft**(抽取失败绝不影响窗口写入
|
|
358
|
+
与轮次推进)。
|
|
359
|
+
- **保守口径(写入在役库的纪律:宁可漏不可误)**:只抽**用户轮**(真人=事实源);
|
|
360
|
+
仅两条高精度规则(`地点·所在` 迁移 / `情感·偏好`,负向显式记「不喜欢:」);值剥
|
|
361
|
+
句尾语气词;**同值去重**(防每轮重复记账);证据 `[auto] session=… turn=…`、
|
|
362
|
+
`actor=state_extract`——可整体甄别/清理;开关 `MDCG_STATE_EXTRACT` **缺省开**
|
|
363
|
+
(=0 关)。探针已证:裸词形(承诺 138 / 因果 59/225 命中)不进规则表。
|
|
364
|
+
- **三层同源+关系追溯**:认知图(`_recent`/知识面)+语义时空图(台账/`state_slots`
|
|
365
|
+
投影/`state_atlas` 视图)+原文(会话 md 镜像/全量转写)——事件 `evidence` 带
|
|
366
|
+
session/轮号/短证,任一层可回查另两层。
|
|
367
|
+
- **读数**:守卫 `scripts/test_state_extract.py` **10/10**(噪声三族零命中、去重、
|
|
368
|
+
变值成链、证据格式、开关、接线单点)+全量 **359/359**。
|
|
369
|
+
- **DSH 端**:同款接线位于插件侧(TS)——属后续件(须改插件并随包发布);本批仅
|
|
370
|
+
zcode 端在线,DSH 端行为不变。
|
|
371
|
+
- **已知边界(留裁决)**:「住在这里」类泛化词形会命中(值取「里」等)——v1 词形
|
|
372
|
+
如此,收窄与否归使用者。
|
|
373
|
+
|
|
374
|
+
---
|
|
375
|
+
|
|
300
376
|
## 修订记录
|
|
301
377
|
|
|
302
378
|
| 日期 | 要点 |
|
|
303
379
|
|---|---|
|
|
304
380
|
| 2026-10-06 | v1.0 首版(P3 批):全链(台账→投影→查询→记账口→CLI→探针)/ 开关 `MDCG_STG_STATE` 默认关与 CLI 恒可用 / 授权口径(`state_event`→`write` 词映射,actor 恒取令牌)/ 探针三读数复跑命令 / 边界如实(§一–§八) |
|
|
305
381
|
| 2026-10-06 | 补 §九「退役纪律」:节点 `lifecycle_state=archived` 的默认检索剔除(判据单点 `lifecycle.is_archived`,消费面 `MdCGOS._candidates` + `stg._scan_one` + 会话续接注入面 `session_recall` 四段〔要点/活跃目标/任务台账/未解问题〕)/ 两套「退役」词义分界 / 不受限面(直读·审计·**台账管理查询面**·统计)与「生命周期恢复 ≠ `op=restore`(删除轴)」/ 《秤》5.2 探针四读数(面计数口径)与守卫复跑 / 边界如实(未覆盖面:基类 `MdCG.search`、因果链面 `chain.adjacency`、结构面 `subgraph`、rust 内核、定向面 `identity.profile`) |
|
|
382
|
+
| 2026-10-06 | **边界四项裁定批落地(使用者裁定:1/2/4 接、3 不接)**:基类 `MdCG.search` 接线(R5)/ `chain.adjacency` 接线(`skip_archived` 参数,R6;scrub 维护面显式旁路)/ rust 内核接线(crate 单测双钉)/ `subgraph` 结构面**裁定不接**(R7 钉住裁定);并补 `lifecycle.set_state` 的 `chain.invalidate_cache` 同点失效(本批探针实证的缓存缺口);守卫 36→45 断言 |
|
|
383
|
+
| 2026-10-06 | **补 §十「多主体状态追踪」(核心能力定位,使用者 2026-10-06)**:常驻形态=查询时现算只读视图(不存第二真源);工具面四件(`state_atlas` 通用多主体 / 语料线两件 / CLI);库根解析与 MCP 同源(防双库分叉);记账纪律四条(从鲸娘线三层消歧口径提炼);在役台账 0 条实测+隔离多主体演示读数;睡眠档预生成列为待裁 |
|
|
384
|
+
| 2026-10-06 | **补 §十「会话链路接入」(轮写入链第二步,使用者 2026-10-06 裁定)**:`sync_to_window` 同循环内对同一轮保守抽取(`state_extract`:仅用户轮/两条高精度规则/去重/证据可甄别;开关缺省开)→ 台账;三层同源+关系追溯;守卫 `test_state_extract` 10/10、全量 359/359;DSH 端同款接线列后续件 |
|
|
@@ -41,44 +41,44 @@ MCP stdio:md_cg/mcp_server.py
|
|
|
41
41
|
|
|
42
42
|
| 功能 | 显式调用 | 代码位置(点击直达源码行) |
|
|
43
43
|
|---|---|---|
|
|
44
|
-
| 按需披露(投影后完整工具 / 参数文档即时取回) | `cg(op=help)` | [`help`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
45
|
-
| 状态事件记账(追加五元事件;查询走 stg(state_chain)) | `cg(op=state_event)` | [`state_event`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
46
|
-
| 验证态 / 双时间轴 / 履历(含冷路径队列;只读) | `cg(op=status)` | [`status`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
47
|
-
| 三元组反查(派生边任意端 / 谓词 / 时间反查;只读) | `cg(op=edges)` | [`edges`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
48
|
-
| 理论检索(领域理论 / 方法论文) | `cg(op=theory)` | [`theory`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
49
|
-
| 记忆互链(节点间链接管理) | `cg(op=link)` | [`link`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
50
|
-
| 服务信息 / 健康 | `cg(op=info)` | [`info`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
51
|
-
| 路由:意图→知识+建议能力 | `cg(op=route)` | [`route`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
52
|
-
| 读取(按 id / 召回 / 预算) | `cg(op=read)` | [`read`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
53
|
-
| 证据审计视图(现值/出处链/两存备择/盲区/退役史;只读) | `cg(op=audit)` | [`audit`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
54
|
-
| 写入(含冲突检测 / 闸门 / 审核) | `cg(op=write)` | [`write`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
55
|
-
| 目标(写入 / 状态 / 清单) | `cg(op=goal)` | [`goal`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
56
|
-
| 任务实体(登记 / 计划 / 状态 / 结果;done 无结果拒收) | `cg(op=task)` | [`task`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
57
|
-
| 最近记忆(事件窗口) | `cg(op=recent)` | [`recent`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
58
|
-
| 外部裁决回填(节点证据验证) | `cg(op=verify)` | [`verify`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
59
|
-
| 审核队列(DEFER / 提案裁决) | `cg(op=review)` | [`review`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
60
|
-
| 主动遗忘 / 恢复 | `cg(op=forget)` | [`forget`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
61
|
-
| 保护(不可遗忘) | `cg(op=protect)` | [`protect`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
62
|
-
| 身份维度 | `cg(op=identity)` | [`identity`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
63
|
-
| 一致性检测 | `cg(op=consistency)` | [`consistency`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
64
|
-
| 元认知(盲区聚合) | `cg(op=metacognition)` | [`metacognition`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
65
|
-
| 自我状态 | `cg(op=self_state)` | [`self_state`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
66
|
-
| 演化(记忆结构演化) | `cg(op=evolution)` | [`evolution`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
67
|
-
| 飞轮 / 自愈 | `cg(op=sustain)` | [`sustain`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
68
|
-
| 洗脑 / 去污染 | `cg(op=scrub)` | [`scrub`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
69
|
-
| 预测 / 因果门 | `cg(op=predict)` | [`predict`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
70
|
-
| 因果链 | `cg(op=causal)` | [`causal`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
71
|
-
| 白箱能力库(AEIS 能力显式调用) | `cg(op=whitebox)` | [`whitebox`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
72
|
-
| 代码索引 | `cg(op=index_code)` | [`index_code`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
73
|
-
| 文档索引 | `cg(op=index_doc)` | [`index_doc`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
74
|
-
| 引用 / 反向引用 | `cg(op=ref)` | [`ref`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
75
|
-
| 会话管理(多会话归属与过滤) | `cg(op=session)` | [`session`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
76
|
-
| 导入落图 | `cg(op=ingest)` | [`ingest`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
77
|
-
| 导出 | `cg(op=export)` | [`export`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
78
|
-
| 维护 | `cg(op=maintain)` | [`maintain`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
79
|
-
| 记忆固化 / 整理 | `cg(op=consolidate)` | [`consolidate`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
80
|
-
| 洞察 / 自主探索(信息差驱动) | `cg(op=insight)` | [`insight`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
81
|
-
| CCG 六要素编译(对话→候选→编外复核→落库) | `cg(op=ccg)` | [`ccg`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
44
|
+
| 按需披露(投影后完整工具 / 参数文档即时取回) | `cg(op=help)` | [`help`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2137) → [`_help_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2055) |
|
|
45
|
+
| 状态事件记账(追加五元事件;查询走 stg(state_chain)) | `cg(op=state_event)` | [`state_event`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2464) |
|
|
46
|
+
| 验证态 / 双时间轴 / 履历(含冷路径队列;只读) | `cg(op=status)` | [`status`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2146) → [`_status_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1970) |
|
|
47
|
+
| 三元组反查(派生边任意端 / 谓词 / 时间反查;只读) | `cg(op=edges)` | [`edges`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2149) → [`_edges_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2026) |
|
|
48
|
+
| 理论检索(领域理论 / 方法论文) | `cg(op=theory)` | [`theory`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2152) → [`theory`](../../md_cg/theory.py) |
|
|
49
|
+
| 记忆互链(节点间链接管理) | `cg(op=link)` | [`link`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2169) → [`evidence`](../../md_cg/evidence.py) → [`links`](../../md_cg/links.py) → [`provenance`](../../md_cg/provenance.py) → [`security`](../../md_cg/security.py) → [`signer`](../../md_cg/signer.py) |
|
|
50
|
+
| 服务信息 / 健康 | `cg(op=info)` | [`info`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2285) → [`audit`](../../md_cg/audit.py) → [`generation`](../../md_cg/generation.py) → [`links`](../../md_cg/links.py) → [`nodefile`](../../md_cg/nodefile.py) → [`theory`](../../md_cg/theory.py) |
|
|
51
|
+
| 路由:意图→知识+建议能力 | `cg(op=route)` | [`route`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2326) |
|
|
52
|
+
| 读取(按 id / 召回 / 预算) | `cg(op=read)` | [`read`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2347) → [`refindex`](../../md_cg/refindex.py) |
|
|
53
|
+
| 证据审计视图(现值/出处链/两存备择/盲区/退役史;只读) | `cg(op=audit)` | [`audit`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2402) → [`auditview`](../../md_cg/auditview.py) |
|
|
54
|
+
| 写入(含冲突检测 / 闸门 / 审核) | `cg(op=write)` | [`write`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2422) → [`writepipe`](../../md_cg/writepipe.py) |
|
|
55
|
+
| 目标(写入 / 状态 / 清单) | `cg(op=goal)` | [`goal`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2430) |
|
|
56
|
+
| 任务实体(登记 / 计划 / 状态 / 结果;done 无结果拒收) | `cg(op=task)` | [`task`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2449) → [`_task_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2068) |
|
|
57
|
+
| 最近记忆(事件窗口) | `cg(op=recent)` | [`recent`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2452) |
|
|
58
|
+
| 外部裁决回填(节点证据验证) | `cg(op=verify)` | [`verify`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2484) |
|
|
59
|
+
| 审核队列(DEFER / 提案裁决) | `cg(op=review)` | [`review`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2489) |
|
|
60
|
+
| 主动遗忘 / 恢复 | `cg(op=forget)` | [`forget`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2510) |
|
|
61
|
+
| 保护(不可遗忘) | `cg(op=protect)` | [`protect`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2519) → [`_protect_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1256) |
|
|
62
|
+
| 身份维度 | `cg(op=identity)` | [`identity`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2522) → [`_identity_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1284) |
|
|
63
|
+
| 一致性检测 | `cg(op=consistency)` | [`consistency`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2525) → [`_consistency_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1335) |
|
|
64
|
+
| 元认知(盲区聚合) | `cg(op=metacognition)` | [`metacognition`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2528) → [`_metacognition_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1364) |
|
|
65
|
+
| 自我状态 | `cg(op=self_state)` | [`self_state`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2531) → [`_self_state_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1399) |
|
|
66
|
+
| 演化(记忆结构演化) | `cg(op=evolution)` | [`evolution`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2534) → [`_evolution_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1534) |
|
|
67
|
+
| 飞轮 / 自愈 | `cg(op=sustain)` | [`sustain`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2537) → [`_sustain_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1635) |
|
|
68
|
+
| 洗脑 / 去污染 | `cg(op=scrub)` | [`scrub`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2540) → [`_scrub_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1756) |
|
|
69
|
+
| 预测 / 因果门 | `cg(op=predict)` | [`predict`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2543) → [`_predict_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1461) |
|
|
70
|
+
| 因果链 | `cg(op=causal)` | [`causal`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2546) → [`_causal_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1495) |
|
|
71
|
+
| 白箱能力库(AEIS 能力显式调用) | `cg(op=whitebox)` | [`whitebox`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2549) → [`_whitebox_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3222) |
|
|
72
|
+
| 代码索引 | `cg(op=index_code)` | [`index_code`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2552) → [`refindex`](../../md_cg/refindex.py) → [`security`](../../md_cg/security.py) |
|
|
73
|
+
| 文档索引 | `cg(op=index_doc)` | [`index_doc`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2596) → [`refindex`](../../md_cg/refindex.py) → [`security`](../../md_cg/security.py) |
|
|
74
|
+
| 引用 / 反向引用 | `cg(op=ref)` | [`ref`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2639) → [`_ref_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3122) |
|
|
75
|
+
| 会话管理(多会话归属与过滤) | `cg(op=session)` | [`session`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2642) → [`_session_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2843) |
|
|
76
|
+
| 导入落图 | `cg(op=ingest)` | [`ingest`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2645) → [`_ingest_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2922) |
|
|
77
|
+
| 导出 | `cg(op=export)` | [`export`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2648) → [`_export_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2947) |
|
|
78
|
+
| 维护 | `cg(op=maintain)` | [`maintain`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2651) → [`_maintain_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2969) |
|
|
79
|
+
| 记忆固化 / 整理 | `cg(op=consolidate)` | [`consolidate`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2654) → [`_consolidate_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3047) |
|
|
80
|
+
| 洞察 / 自主探索(信息差驱动) | `cg(op=insight)` | [`insight`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2657) → [`_insight_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3072) |
|
|
81
|
+
| CCG 六要素编译(对话→候选→编外复核→落库) | `cg(op=ccg)` | [`ccg`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2660) → [`_ccg_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2667) |
|
|
82
82
|
|
|
83
83
|
<!-- FUNCMAP:END -->
|
|
84
84
|
|
|
@@ -97,11 +97,11 @@ MCP stdio:md_cg/mcp_server.py
|
|
|
97
97
|
|
|
98
98
|
| 功能 | 显式调用 | 代码位置(点击直达源码行) |
|
|
99
99
|
|---|---|---|
|
|
100
|
-
| 两节点关系 | `stg(op=relation)` | [`relation`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
101
|
-
| 时间线 | `stg(op=timeline)` | [`timeline`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
102
|
-
| 锚点检索(时空窗口) | `stg(op=anchors)` | [`anchors`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
103
|
-
| 时空一致性 | `stg(op=consistency)` | [`consistency`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
104
|
-
| 状态槽位投影(现值 / 区间 / 变迁史) | `stg(op=state_chain)` | [`state_chain`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
100
|
+
| 两节点关系 | `stg(op=relation)` | [`relation`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3252) |
|
|
101
|
+
| 时间线 | `stg(op=timeline)` | [`timeline`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3254) |
|
|
102
|
+
| 锚点检索(时空窗口) | `stg(op=anchors)` | [`anchors`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3261) |
|
|
103
|
+
| 时空一致性 | `stg(op=consistency)` | [`consistency`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3265) |
|
|
104
|
+
| 状态槽位投影(现值 / 区间 / 变迁史) | `stg(op=state_chain)` | [`state_chain`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3268) |
|
|
105
105
|
|
|
106
106
|
<!-- FUNCMAP:END -->
|
|
107
107
|
|