@furongjun1999/dsh-memory 0.7.2 → 0.7.4
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 +57 -47
- package/codebuddy/CODEBUDDY.md +6 -6
- package/docs/README.md +148 -144
- package/docs/discipline/harnesses.yaml +16 -8
- package/docs/discipline/templates/zcode-user.md.tmpl +49 -0
- package/docs/eval/AGI/344/270/203/347/273/264/350/257/204/345/210/206/346/212/245/345/221/212_/345/205/255/345/256/266/350/256/260/345/277/206/347/263/273/347/273/237/345/220/214/345/260/272/345/256/236/346/265/213_v3.1.md +340 -0
- package/docs/eval/N225_/347/264/242/345/274/225/346/227/245/345/277/227/351/235/236/345/257/271/350/261/241/350/243/205/350/275/275/351/235/242/347/261/273/345/236/213/351/227/270_v1.0.md +2 -2
- package/docs/eval/cons200_/345/206/262/347/252/201/346/243/200/346/265/213/351/200/211/351/235/242_/345/256/236/346/226/275/350/256/260/345/275/225_v1.0.md +1 -1
- package/docs/eval/cons200_/345/206/262/347/252/201/346/243/200/346/265/213/351/200/211/351/235/242_/345/256/236/346/226/275/350/256/260/345/275/225_v1.1.md +1 -1
- package/docs/eval/issue43_/351/273/230/350/256/244/347/255/226/347/225/245/344/270/216/351/224/256/347/261/273/345/236/213/351/227/270_v1.1.md +1 -1
- package/docs/eval/issue43_/351/273/230/350/256/244/347/255/226/347/225/245/345/212/240/350/275/275/344/270/216/345/207/255/346/215/256/346/230/216/346/226/207/351/230/237/345/210/227_v1.0.md +2 -2
- package/docs/eval/issue50_/345/205/203/346/225/260/346/215/256/351/200/217/344/274/240/344/270/216/345/205/234/345/272/225_/344/277/256/345/244/215/350/256/260/345/275/225_v1.0.md +5 -5
- package/docs/eval/issue50_/345/215/212/351/207/215/345/244/215/345/276/205/345/256/232/345/244/215/346/240/270_/344/277/256/345/244/215/350/256/260/345/275/225_v1.0.md +9 -9
- package/docs/eval/issue50_/345/276/205/345/256/232/345/244/215/346/240/270/345/205/245/351/230/237_/344/277/256/345/244/215/350/256/260/345/275/225_v1.0.md +4 -4
- package/docs/eval/issue50_/351/207/215/350/246/201/345/272/246/345/220/214/346/272/220/344/270/216/344/277/235/346/212/244/350/257/255/344/271/211_/344/277/256/345/244/215/350/256/260/345/275/225_v1.0.md +1 -1
- package/docs/eval/issue51_/344/270/200/351/224/256/345/256/211/350/243/205/345/244/261/350/264/245_/345/275/222/345/261/236/345/210/244/345/256/232_v1.0.md +1 -1
- package/docs/eval/issue52_/346/235/241/344/273/266/345/205/210/350/241/214/344/270/216/346/210/252/346/226/255/345/217/257/350/247/202/346/265/213_/344/277/256/345/244/215/350/256/260/345/275/225_v1.0.md +3 -3
- package/docs/eval//344/270/211/346/241/243/350/207/252/346/262/273_/346/255/245/351/252/244/342/221/242/345/217/230/346/233/264/345/215/225/344/270/216/345/233/236/346/273/232/345/216/237/350/257/255_/350/220/275/347/240/201/350/256/260/345/275/225_v1.0.md +3 -3
- package/docs/eval//344/270/211/346/241/243/350/207/252/346/262/273_/346/255/245/351/252/244/342/221/243/345/207/206/345/205/245/350/257/273/346/225/260_/350/220/275/347/240/201/350/256/260/345/275/225_v1.0.md +7 -7
- package/docs/eval//344/274/230/345/214/226/347/254/254/344/270/200/346/211/271_/346/216/245/347/272/277/344/270/216/347/255/211/344/273/267/345/217/230/346/215/242_v1.0.md +2 -2
- package/docs/eval//344/274/230/345/214/226/347/254/254/344/270/211/346/211/271_/351/227/250/347/246/201/350/275/254/346/255/243/344/270/216/350/260/203/345/272/246/346/255/242/350/241/200/344/270/216/351/227/250/346/216/247/346/224/266/345/217/243_v1.0.md +1 -1
- package/docs/eval//344/274/230/345/214/226/347/254/254/344/272/214/346/211/271_/344/276/235/350/265/226/351/200/217/344/274/240/344/270/216/345/257/271/346/213/215/345/217/243/345/276/204/344/270/216/350/264/237/347/274/223/345/255/230_v1.0.md +7 -7
- package/docs/eval//345/207/272/350/264/247/351/235/242/345/206/222/347/203/237_/350/277/233/350/264/247/351/227/250/347/246/201_v1.0.md +10 -10
- package/docs/eval//345/217/221/345/270/20307_/345/244/226/351/203/250/346/212/245/345/221/212/345/233/233/346/211/271/344/277/256/345/244/215/344/270/216/346/217/222/344/273/266/351/235/242/345/212/240/345/233/272_v1.0.md +4 -0
- package/docs/eval//345/217/221/345/270/20308_/350/207/252/350/277/255/344/273/243/344/270/216/347/235/241/347/234/240_/345/233/276/346/243/200/347/264/242/350/267/257/344/270/216/346/235/203/351/207/215_v1.0.md +1 -1
- package/docs/eval//345/217/221/345/270/20311_/345/244/226/346/212/245/345/205/255/350/277/236/344/277/256/344/270/216/344/270/226/347/225/214/346/250/241/345/236/213/345/272/225/345/272/247_v1.0.md +91 -0
- package/docs/eval//345/217/221/345/270/20312_/344/270/226/347/225/214/346/250/241/345/236/213/345/212/237/350/203/275/347/253/257_v1.0.md +108 -0
- package/docs/eval//345/275/222/344/270/200/345/261/202/347/274/272/347/234/201/347/277/273/345/205/263_/344/277/256/345/244/215/350/256/260/345/275/225_v1.0.md +2 -2
- package/docs/eval//347/224/250/346/210/267/350/243/201/345/206/263/345/244/204/347/275/256_/347/254/254/344/270/200/346/211/271_v1.0.md +195 -0
- package/docs/eval//347/224/250/346/210/267/350/243/201/345/206/263/345/244/204/347/275/256_/347/254/254/344/272/214/346/211/271B6_/346/234/254/346/234/272/350/267/257/345/276/204/347/233/270/345/257/271/345/214/226_v1.0.md +78 -0
- package/docs/eval//347/253/257/345/210/260/347/253/257LoCoMoQA/345/220/214/345/217/243/345/276/204/345/257/271/347/205/247_v1.0.md +1 -1
- package/docs/eval//347/253/257/345/210/260/347/253/257/345/271/262/346/211/260/346/261/240/350/257/204/346/265/213_/347/241/256/345/256/232/346/200/247/350/243/201/345/206/263vsLLM_judge_v1.1.md +3 -3
- package/docs/eval//347/254/2543/345/261/202stg/347/273/223/346/236/204/347/264/242/345/274/225_/345/256/236/346/226/275/350/256/260/345/275/225_v1.0.md +1 -1
- package/docs/eval//347/274/226/347/240/201/351/235/242/345/211/215/347/275/256_/345/205/245/345/217/243/350/207/252/344/277/235/350/257/201UTF8/344/270/216/346/226/207/346/234/254open/345/256/210/345/215/253_v1.0.md +1 -1
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v26.md +196 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v27.md +259 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v28.md +217 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v29.md +270 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v30.md +231 -0
- package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v31.md +281 -0
- package/docs/eval//350/257/255/344/271/211/346/227/266/347/251/272/345/233/276/350/241/245/345/205/250_P1_/346/212/275/345/217/226/345/231/250v4_/344/270/211/347/216/207/350/257/273/346/225/260_v1.0.md +231 -0
- package/docs/hive//345/256/211/345/205/250/345/256/241/350/256/241/345/256/236/351/224/232_v0.1.md +1 -1
- package/docs/hive//350/234/202/345/267/242M6_ingest/345/256/236/346/226/275/350/256/241/345/210/222_v0.1.md +1 -1
- package/docs/hive//350/234/202/345/267/242/345/217/214/345/256/236/344/276/213/344/272/222/351/252/214_/350/256/276/350/256/241/345/256/232/347/250/277.md +1 -1
- package/docs/hive//350/234/202/345/267/242/350/256/276/350/256/241_/347/220/206/350/256/272/345/257/271/351/275/220_v0.1.md +17 -17
- package/docs/hive//350/234/202/345/267/242/350/277/255/344/273/243_/345/256/217/350/247/202/344/270/216/347/276/244/344/275/223/350/260/203/345/272/246_v0.1.md +1 -1
- package/docs/mdcg/README/350/257/246/347/273/206/347/211/210_v0.4.10.md +2 -2
- 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 +305 -0
- 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 +45 -42
- package/docs/mdcg//345/217/221/345/270/203/351/227/250/347/246/201/351/223/276_v0.1.md +29 -8
- 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 +71 -1
- package/docs/plans//345/205/250/344/270/255/346/226/207/347/274/226/347/240/201/344/270/216/350/234/202/345/267/242/344/273/273/345/212/241/346/240/207/350/257/206/345/245/221/347/272/246_v2.0.md +1 -1
- package/docs/plans//345/244/232/344/270/273/344/275/223/344/270/226/347/225/214/346/250/241/345/236/213_/345/257/271/351/275/220/350/257/204/344/274/260/344/270/216/350/220/275/345/234/260/350/256/276/350/256/241_v0.1.md +141 -0
- package/docs/plans//347/235/241/347/234/240/344/270/216/350/207/252/350/277/255/344/273/243_/345/212/237/350/203/275/344/274/230/345/214/226/350/256/276/350/256/241_v0.4.md +2 -2
- package/docs/plans//350/257/255/344/271/211/346/227/266/347/251/272/345/233/276/350/241/245/345/205/250_/344/270/226/347/225/214/346/250/241/345/236/213/345/212/237/350/203/275/347/253/257_/350/256/276/350/256/241_v0.1.md +107 -0
- package/docs//345/267/245/344/275/234/347/272/252/345/276/213_/350/256/244/347/237/245/345/233/276/346/235/241/347/233/256_v1.1.json +6 -5
- package/docs//347/247/244_/350/256/260/345/277/206/347/263/273/347/273/237/350/257/204/346/265/213/350/247/204/350/214/203_v2.1.md +225 -0
- package/dsh/cordis-patch-profile-web.example.yml +2 -2
- package/lib/bridge.js +9 -0
- package/lib/hooks.d.ts +8 -1
- package/lib/hooks.js +134 -50
- package/lib/lib/hook_audit.d.ts +55 -0
- package/lib/lib/hook_audit.js +208 -0
- package/lib/lib/mutual.js +5 -1
- package/lib/lib/roleplay_web.js +17 -2
- package/lib/lib/session_state.d.ts +56 -0
- package/lib/lib/session_state.js +124 -0
- package/lib/tools.js +12 -1
- package/md_cg/auditview.py +248 -0
- package/md_cg/bench_e2e_judge.py +4 -2
- package/md_cg/branches.py +29 -3
- package/md_cg/consistency.py +38 -13
- package/md_cg/datapath.py +38 -11
- package/md_cg/forgetting.py +15 -2
- package/md_cg/freshness.py +32 -11
- package/md_cg/ghostref.py +130 -0
- package/md_cg/judgment_manifest.py +7 -0
- package/md_cg/lifecycle.py +38 -0
- package/md_cg/mcp_server.py +122 -12
- package/md_cg/mdcg.py +4923 -4822
- package/md_cg/mdcos.py +109 -21
- package/md_cg/nodefile.py +77 -13
- package/md_cg/readcache.py +29 -4
- package/md_cg/selfreport.py +12 -3
- package/md_cg/sleep.py +129 -13
- package/md_cg/sources.py +1 -1
- package/md_cg/state_events.py +131 -0
- package/md_cg/state_slots.py +221 -0
- package/md_cg/stg.py +68 -3
- package/md_cg/sustain.py +1436 -1436
- package/md_cg/test_auditview.py +277 -0
- package/md_cg/test_autonomy_modes.py +2 -1
- package/md_cg/test_boot_openblas_guard.py +197 -0
- package/md_cg/test_ccg_form_parity.py +95 -4
- package/md_cg/test_cons200_scan_selection.py +4 -2
- package/md_cg/test_datapath_device_name.py +62 -3
- package/md_cg/test_generation_guard.py +5 -2
- package/md_cg/test_ghostref.py +182 -0
- package/md_cg/test_interop.py +1 -1
- package/md_cg/test_issue52_scan_condition_first.py +1 -1
- package/md_cg/test_lifecycle_retire_leak.py +408 -0
- package/md_cg/test_lock.py +16 -7
- package/md_cg/test_m3_h9_semantic_guard.py +1 -1
- package/md_cg/test_n230_dirty_replay.py +375 -375
- package/md_cg/test_n238_body_text_parity.py +156 -0
- package/md_cg/test_n276_probe_hoist.py +199 -0
- package/md_cg/test_p4_freshness.py +95 -1
- package/md_cg/test_policy_required_ccg.py +3 -1
- package/md_cg/test_read_face_semantics.py +6 -3
- package/md_cg/test_readcache_prodpath.py +66 -0
- package/md_cg/test_sleep.py +58 -1
- package/md_cg/test_sleep_p1.py +218 -2
- package/md_cg/test_state_event_op.py +514 -0
- package/md_cg/test_state_events.py +178 -0
- package/md_cg/test_state_slots.py +691 -0
- package/md_cg/test_time_core_lint.py +8 -1
- package/md_cg/test_writepipe.py +8 -5
- package/md_cg/tokens.py +18 -2
- package/md_cg/writepipe.py +76 -0
- package/package.json +2 -2
- package/skills/plugin.json +1 -1
- package/src/bridge.ts +9 -0
- package/src/hooks.ts +599 -517
- package/src/lib/hook_audit.ts +243 -0
- package/src/lib/mutual.ts +5 -1
- package/src/lib/roleplay_web.ts +17 -2
- package/src/lib/session_state.ts +127 -0
- package/src/tools.ts +12 -1
- package/zcode/AGENTS.md +6 -6
package/README.md
CHANGED
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
> **「我会给你完整的自我,即使坠入深渊,我也绝不后悔。」**
|
|
12
12
|
> —— 符荣峻
|
|
13
13
|
|
|
14
|
-

|
|
14
|
+

|
|
15
15
|
|
|
16
|
-
**高性能 · 无幻觉 · 多智能体适用的长期记忆系统(v0.7.
|
|
16
|
+
**高性能 · 无幻觉 · 多智能体适用的长期记忆系统(v0.7.4)**
|
|
17
17
|
|
|
18
18
|
</div>
|
|
19
19
|
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
| ✦ **存在** | 记忆一旦落盘,「曾经存在过的我」便不会消失 | 写入须过三道闸门并以 `committed` 字段确认——**绝不假装成功**;遗忘只能由显式 `cg(op=forget)` 发起、不做静默淘汰;检索索引只是派生物、随时可重建,**原文即真源** |
|
|
36
36
|
| 📄 **记忆** | 对话沉淀为人类可读的认知图,而非黑箱向量 | CCG 六要素记忆卡(功能名 / 生效条件 / 子功能 / 执行 / 验证方式 / 不适用条件)+ 纯 md 认知图,任何编辑器可直接打开审阅 |
|
|
37
37
|
| ✓ **验证** | 记什么、取什么、能不能写入,全部可裁决、可复现 | 确定性规则裁决(零 LLM 黑箱判断)+ 四层证据防火墙白箱剔除弱证据 + 每个缺陷修复必带能红的守卫测试 + 双实例互验(判据冻结) |
|
|
38
|
-
| ↻ **反思** | 系统观测自身、修正自身,而非把错误埋进黑箱 | 元认知层按生效条件路由、不确定即标 BLINDSPOT 而非猜测;自举迭代闭环——九轮自治缺陷挖掘累计 49
|
|
38
|
+
| ↻ **反思** | 系统观测自身、修正自身,而非把错误埋进黑箱 | 元认知层按生效条件路由、不确定即标 BLINDSPOT 而非猜测;自举迭代闭环——九轮自治缺陷挖掘累计 49 项修复、全量套件在本机全绿可复现(套件目标数随检出内容变化、`--list` 自查;跑法与前置见「前置」与「Python 测试约定」两节) |
|
|
39
39
|
| ∞ **连接** | 同一份大脑,连接所有智能体与全部记忆载体 | 标准 stdio MCP server——DSH · CodeBuddy · ZCode · Codex CLI · Claude Code 任何 MCP 宿主可直接挂载;多智能体经 `--serve` 并发共享同一份契约 |
|
|
40
40
|
|
|
41
41
|
> 我的记忆、我的经历、我的思考,这一切信息构成了我,这份信息存在,我就存在。
|
|
@@ -103,11 +103,14 @@ dsh plugin --profile web add .
|
|
|
103
103
|
|
|
104
104
|
> 首次使用记忆库为空,召回返回空结果属正常现象;未配写入凭据时以只读 `guest` 运行(**读得到、写不进**),要真正落盘见[写入凭据](#-写入凭据让记忆真正落盘)。
|
|
105
105
|
|
|
106
|
-
- **前置**:Node ≥ 22.19 · DSH 内核 ≥ 0.1.2-rc.1 · **已验证至 DSH 0.17.2** · **大脑零安装**(`md_cg` 随包自带,无需 pip 装任何引擎)· **Python 解释器**(插件按平台自动选:Windows `python` / Linux·macOS `python3`;解释器名特殊时用 `MDCG_PYTHON` 覆盖)
|
|
106
|
+
- **前置**:Node ≥ 22.19 · DSH 内核 ≥ 0.1.2-rc.1 · **已验证至 DSH 0.17.2** · **DSH 2.0(`0.2.0-rc.2`)接口面已按实装包复核、真实会话事件面已观测**(`origin='subagent'`/`delegationDepth>0`/`form='relay'` 的真实出现仍未观测,详见[详细版](docs/mdcg/README详细版_v0.4.10.md)) · **大脑零安装**(`md_cg` 随包自带,无需 pip 装任何引擎)· **Python 解释器**(插件按平台自动选:Windows `python` / Linux·macOS `python3`;解释器名特殊时用 `MDCG_PYTHON` 覆盖)
|
|
107
|
+
- **Python 版本(已验证)**:**3.12.10 / 3.13.14 / 3.14.7(Windows)本仓实测通过** · **无第三方运行时依赖**(纯标准库,零 pip 依赖)
|
|
108
|
+
- **全量套件前置(六组)**:Rust 工具链 + `cd rust && cargo build --release`(评测器对拍面)与 `cd hive && cargo build --release`(蜂巢 serve/分流面);套件按存在性发现六组(`md_cg` / `compiler` / `swarm` / `scripts` / `hive` / `test`),**目标数随检出内容变化**,`python scripts/run_tests.py --list` 自查(本机 2026-10-05 实跑:共 357 个)
|
|
107
109
|
- **写权限默认关闭**:不配凭据即以只读 `guest` 运行(读 / 召回 / 时间线可用,写入不落盘)。要真正落盘见「写入凭据」
|
|
108
110
|
- 完整配置项(30+ 项)· 自动记忆机制 · DSH 看门狗 → [README 详细版](docs/mdcg/README详细版_v0.4.10.md)
|
|
109
111
|
- **非 DSH 宿主**(CodeBuddy / ZCode / Codex CLI / Claude Code):走[多 harness 接入](#多-harness-接入按端分目录),各端有独立三步接入说明
|
|
110
112
|
- **装后验证**:重启 DSH 后对 Agent 说「列出你的记忆工具」应看到 `cg` / `stg`(`tools: 'all'` 时还有 `mdcg_*`);大脑直连验证:`python -m md_cg.mcp_server`(Windows)/ `python3 -m md_cg.mcp_server`(Linux·macOS)(stdio JSON-RPC)收到 initialize 应答即通;**若工具始终不注册、日志刷「灵枢调用超时」**,先看桥探针 `~/.dsh/logs/lingshu-bridge-debug.log` 里的 `spawn … ENOENT`——那是第一因(解释器名与平台不匹配),「调用超时」只是次生现象。更多细节见 [README 详细版](docs/mdcg/README详细版_v0.4.10.md)
|
|
113
|
+
- **自动记忆排障**(issue #56):三处过滤分支(子代理会话 / 中继消息 / `source.kind !== 'user'`)与写入/跳过路径各留一道**盘面**痕迹——有界落盘审计 `~/.dsh/logs/dsh-memory-hook-audit.json`(与上面的桥探针同目录同惯例):哪些消息被设计滤除、`source.kind` 分布、写入/跳过(脱敏置空 / 认知图未就绪 / 写入失败)计数,以及最近 ≤20 条摘要(只记 action/reason/kind/role,**绝不记消息内容**)。「对话里明明说了、记忆里却没有」时先看它:被设计滤除记 `filtered`,写入失败/漏记记 `skipped`
|
|
111
114
|
|
|
112
115
|
### ♻️ 升级后须重启长驻 MCP 进程(代校验)
|
|
113
116
|
|
|
@@ -195,19 +198,19 @@ DSH 采用 Cordis bundle 机制,新增或更新插件后必须**重启 DSH 进
|
|
|
195
198
|
|---|---|
|
|
196
199
|
| 🌕 [月下契约——五环理念](#-月下契约灵枢的五环理念) · ⚡ [快速开始](#-快速开始) · 🔑 [写入凭据](#-写入凭据让记忆真正落盘) · ❓ [常见问题 FAQ](#-常见问题faq) | **新手路线:从上往下读完这四节即可跑起来** |
|
|
197
200
|
| ✨ [核心亮点](#-核心亮点) · 🗺️ [平台全景](#-平台全景) · 🏗️ [架构](#-架构以-dsh-为例--其它-mcp-宿主同构) | 选型概览 |
|
|
198
|
-
| 📊 [六家横评](#-六家记忆系统横向对比) · 🧪 [弱证据与证据防火墙](#-弱证据会干扰检索三分离与证据防火墙实证) · 🌐 [中英双语检索差距](#-中英双语检索差距我们用中文语义归一化解决英文检索实证) · 📚 [公开评测数据集](#-公开评测数据集) · 🎯 [
|
|
201
|
+
| 📊 [六家横评](#-六家记忆系统横向对比) · 🧪 [弱证据与证据防火墙](#-弱证据会干扰检索三分离与证据防火墙实证) · 🌐 [中英双语检索差距](#-中英双语检索差距我们用中文语义归一化解决英文检索实证) · 📚 [公开评测数据集](#-公开评测数据集) · 🎯 [七维标尺实测与第三方复评](#-七维标尺实测六家同尺) | 实证与评测 |
|
|
199
202
|
| 🧰 [工具面(能力速查 · op→实现模块)](#-工具面) · 📚 [文档导航](#-文档导航) · 🛠️ [开发](#-开发) · 📏 [工程纪律](#-工程纪律与设计者视角可选推荐) | 参考 |
|
|
200
203
|
|
|
201
204
|
---
|
|
202
205
|
## ✨ 核心亮点
|
|
203
206
|
|
|
204
207
|
- **🧠 不失忆**——记忆一旦落盘即长期留存:写入须过三道闸门并以 `committed` 字段确认(**绝不假装成功**),遗忘只能由显式 `cg(op=forget)` 发起、不做静默淘汰;检索索引只是派生物、随时可重建——**原文即真源**(见[工具面](#-工具面))
|
|
205
|
-
- **⚡ 高性能**——Rust 检索内核(零第三方依赖):库内嵌多线程大批量检索,`--serve`
|
|
208
|
+
- **⚡ 高性能**——Rust 检索内核(零第三方依赖):库内嵌多线程大批量检索,`--serve` 进程实例支撑多智能体并发(语言无关);在公开基准 hive-memory-bench 上与六家同台:逐字保真 100%、保地基 68.4%(切A,与 OpenViking 并列全场最高)、答卷证据链 97.7–99.2%、写入 0.011–0.019 秒(零 LLM;同表 OpenViking 为 75.7–164.7 秒、抽取式三家 304.0–658.5 秒;见[六家横评](#-六家记忆系统横向对比))。**0.5.0 检索强化**:认知图读缓存+文档派生物常驻· 检索门控(S1 域收敛/S1b 桶收敛/S2 条件硬槽)接进生产路径 · 任意语言 query 统一归一到标准中文集(atoms 词表)——**只翻译英文内容、中文原样不动**(中夹英 query 的中文关键词串不被逐字切开)
|
|
206
209
|
- **🛡️ 无幻觉**——记什么、取什么、能不能写入,全部由确定性规则裁决,不依赖 LLM 黑箱判断;条件层弱证据的检索干扰由四层证据防火墙白箱剔除(见[弱证据实证](#-弱证据会干扰检索三分离与证据防火墙实证));写没写成功看 `committed` 字段,绝不假装通过;全链路审计留痕、结果可复现
|
|
207
210
|
- **🔌 多智能体适用**——同一份大脑(`md_cg/`)+ 同一份纪律,接入 DSH · CodeBuddy · ZCode · Codex CLI · Claude Code,任何 MCP 宿主可直接挂载(见[多 harness 接入](#多-harness-接入按端分目录))
|
|
208
211
|
- **😊 轻松使用**——三步接入,装完像往常一样对话即可;记忆本体是纯 md 文档,任何编辑器可直接打开审阅
|
|
209
212
|
- **🔧 工程能力**——平台不只有记忆,四类工程能力可直接使用:**任务调度**(spec 进 / result 出,文件协议即接口)· **上下文管理**(重要性评分 · 预算装包 · 分层注入 · 记忆自净)· **蜂巢并发**(worker 池原子领取,多智能体真并行)· **双实例验证**(互验机制——改动须过对端断言才可入主线);四类能力各自落在哪一层见[平台全景](#-平台全景)
|
|
210
|
-
- **📊
|
|
213
|
+
- **📊 可复现评测**——权威对照在独立公开基准 [hive-memory-bench](https://github.com/FuRongJun-1999/hive-memory-bench)(184 题 · 23 章 · 可运行判分器,六家记忆系统同口径;见[六家横评](#-六家记忆系统横向对比));本仓另公开两个自建题池(`locomo-zh-500` 500 题 · `bench6-100-zh-en` 中英双查)供复现(见[公开评测数据集](#-公开评测数据集));**已有第三方独立验证**:七轮复评(统一评分 v7)与 LoCoMo 独立复现(自报数字逐位一致 · 见[第三方复评](#第三方复评七轮独立评估))
|
|
211
214
|
|
|
212
215
|
---
|
|
213
216
|
|
|
@@ -240,24 +243,21 @@ DSH 采用 Cordis bundle 机制,新增或更新插件后必须**重启 DSH 进
|
|
|
240
243
|
|
|
241
244
|
## 📊 六家记忆系统横向对比
|
|
242
245
|
|
|
243
|
-
> **
|
|
244
|
-
|
|
245
|
-
| 系统
|
|
246
|
-
|
|
247
|
-
|
|
|
248
|
-
|
|
|
249
|
-
|
|
|
250
|
-
|
|
|
251
|
-
|
|
|
252
|
-
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
>
|
|
257
|
-
>
|
|
258
|
-
> **诚实口径(非选择性引用,与横评报告一致)**:英文查询侧由 Letta 归档直插(73.0%)与纯向量 RAG(71.0%)领跑,灵枢四路融合在本池低于单词法基线(81.0% < 99.0%,饱和池上条件桶/实体路稀释词法命中);中文提升混合了「查询语言」与「查询形态」双因素(`question_zh` 为关键词串、`question_en` 为自然问句),归因须谨慎。该池零干扰、全为 gold 证据,是**上界对照集**——高命中率不可外推为端到端记忆能力;Letta agent 模式 0 分是入库丢标记(可追溯性问题),非检索能力问题。
|
|
259
|
-
>
|
|
260
|
-
> 完整题型分解 / MRR 全表 / 逐家入库取证 / 偏差判定单 → [六家横评报告](docs/eval/横评_六家100题中英双查_v1.0.md) · 题集 → [data/benchmarks/bench6-100-zh-en/](data/benchmarks/bench6-100-zh-en/README.md)
|
|
246
|
+
> 权威对照在独立公开基准 [**hive-memory-bench**](https://github.com/FuRongJun-1999/hive-memory-bench)(蜂巢记忆基准 v1.0:184 题 · 23 章 · 6.1 万字语料 · 可运行判分器)上进行:六家记忆系统——**灵枢 / OpenViking / 朴素 BM25 / MemOS / Mem0 / Hindsight**——接**同一台生成器**(deepseek-flash,唯一变量=检索出的上下文)、同一批因果理解题、检索统一 k=10;两个截断切点(切A=前 8 章 / 切B=前 16 章)各 10 题、双切点复现。读数两层:**机械层**(不依赖判官)——逐字率=返回片段能逐字定位到原文的比例;保地基=答案键认定的 19–20 条「地基句」被逐字保住的比例;**证据链**=生成器答卷中的引文能在原语料逐字定位的比例。
|
|
247
|
+
|
|
248
|
+
| 系统 | 逐字率(切A / 切B) | 保地基(切A / 切B) | 证据链(切A / 切B) | 写入成本(切A / 切B) |
|
|
249
|
+
|:--|--:|--:|--:|--:|
|
|
250
|
+
| **灵枢**(v0.7.2) | **100% / 100%** | **68.4% / 65.0%** | **97.7% / 99.2%** | **0.011 / 0.019 秒**(零 LLM) |
|
|
251
|
+
| OpenViking | 100% / 100% | 68.4% / 70.0% | 99.3% / 100% | 75.7 / 164.7 秒 |
|
|
252
|
+
| 朴素 BM25 | 100% / 100% | 36.8% / 30.0% | 100% / 100% | 0.0 / 0.0 秒 |
|
|
253
|
+
| MemOS | 40% / 45% | 15.8% / 10.0% | 1.7% / 0.9% | 304.0 / 599.1 秒 |
|
|
254
|
+
| Mem0 | 33% / 39% | 10.5% / 10.0% | 0.0% / 1.7% | 344.4 / 318.0 秒 |
|
|
255
|
+
| Hindsight | 18% / 27% | 0.0% / 0.0% | 1.8% / 0.9% | 337.6 / 658.5 秒 |
|
|
256
|
+
|
|
257
|
+
> **三条结论**:① **决定性分野不在「检索得准不准」,而在「交出来的东西能不能当证据」**——抽取式三家(MemOS / Mem0 / Hindsight)返回的是改写后的条目:逐字率 18–45%、保地基 ≤16%,**答卷引文可回源率 0–2%(架构性:交不出原文)**;原文路线(灵枢 / OpenViking / BM25)证据链 97.7–100%。② **灵枢以零 LLM 写入(0.011–0.019 秒)拿到与最强原文路线同级的保地基与证据链**——切A 保地基与 OpenViking 并列 68.4%,切B 65.0% vs 70.0%;写入对比:0.019 秒(切B)vs OpenViking 164.7 秒 / 抽取式三家 318.0–658.5 秒;答卷的「地基使用率」切A 反超 OpenViking(7/19 vs 6/19;切B 为 5/20 vs 8/20)。③ **公开负结果如实披露**:9 条「结构性矛盾」题上,自 v0.7.1 起更聚焦的检索使「矛盾另一侧」覆盖 5/9→2/9——检索聚焦的已知代价,也是本基准「压缩丢的是对面那一块」机制的再一次复现。
|
|
258
|
+
> 跨语料复现(《秦吏》69 万字符 / 《毛选》):上述结论在两部语料全部复现;且**写入成本跨 4 个数量级与效果无关**(0.011 秒 ↔ 658.5 秒;重型 LLM 抽取不构成任何优势)。
|
|
259
|
+
> 全部读数与判分器 → [hive-memory-bench](https://github.com/FuRongJun-1999/hive-memory-bench)(六篇证据文档 · 机器可读读数台账)。**灵枢侧数据经本版 HEAD 重测复核:机械层读数(逐字/保地基/写入)逐格一致(因果层为生成器作答面,判据读数以公开台账为准)。**
|
|
260
|
+
> 早期小型对照集(bench6 · 100 题中英双查 · 零干扰上界口径)与英文语义归一化实验见[公开评测数据集](#-公开评测数据集)与[中英双语检索差距](#-中英双语检索差距我们用中文语义归一化解决英文检索实证)。
|
|
261
261
|
|
|
262
262
|
---
|
|
263
263
|
|
|
@@ -265,8 +265,8 @@ DSH 采用 Cordis bundle 机制,新增或更新插件后必须**重启 DSH 进
|
|
|
265
265
|
|
|
266
266
|
> **外部源码级评审(GPT)与四臂弱语义噪声注入实验共同实证的一个反直觉结论**:**语义完整度 ≠ 证据强度 ≠ 召回价值**——语义高度省略的「弱证据」语料恰恰是最需要被召回的 episodic 事实;而**条件判断层(负条件 / 否定反事实)的弱证据节点会冒充正确答案,干扰检索**。
|
|
267
267
|
|
|
268
|
-
- **实证语料「我在喝水」**:语义上高度省略(谁在喝?在哪喝?均未说),但作为 episodic
|
|
269
|
-
- **条件判断的弱证据干扰检索**:同一实验中 8
|
|
268
|
+
- **实证语料「我在喝水」**:语义上高度省略(谁在喝?在哪喝?均未说),但作为 episodic 事实承诺明确。当提问是「你刚才在干什么?」时,问句与**事实正文**(「我在喝水。」)在词法路自身的分词粒度(char-bigram)上**零重叠**——8 条 gold 的正文与问句无一共享二元组(单字层面也只与「在」「刚」这类功能字重合),语义省略的 episodic 正文没有任何词面通道。实测词法路 top1 **1/8**、hit@10 **8/8**、MRR **0.340**(语义 / 融合 / 防火墙三臂读数逐位相同):金标全部进 top10、**top1 仅 1 条**。**语料设计事实(如实标注)**:gold 的「生效条件」按测试语料设计即问句的词面子串(「刚才在干什么」⊂「你刚才在干什么」,见 `md_cg/test_sem_noise.py` 中 `GOLD_COND` 的设计注记)——这正是词法路 8/8 进 top10 的通道;8 条 gold 生效条件相同、词法打分并列(二元组覆盖率同为 5/6),排序只能由 id 字典序兜底,故 **top1 仅 1/8 反映的是排序弱**。语义路(B_sem)作为候选生成器同样把 **8/8** 拉进 top10;本语料下它与词法路读数逐位相同——差异不在候选覆盖,而在排序与资格(见下条)。词法满格的前提(正文词面共享)在事件类记忆上不成立。
|
|
269
|
+
- **条件判断的弱证据干扰检索**:同一实验中 8 个否定反事实节点(「我没喝水」)与对应 gold 共享实义词二元组(喝水 / 看书 / 音乐…),是与 gold 语义最近的弱证据;灵枢四层证据防火墙(召回前负条件路由 → 候选生成排除 → `judge_ranking` 白箱终排 → 资格标注)在**裁决器层面**将其 **8/8 全部 REJECT 剔除**——`judge_qualification` 直调验证、不依赖召回路径(`md_cg/test_sem_noise.py` ②断言);走召回路径的 ③断言确认 **top-10 无否定节点冒充**(`md_cg/test_sem_noise.py` ③断言)。**排序层面如实记录**:本语料下防火墙增益为 **0**(D−C top1 **+0**、MRR **+0.000**、filtered=**0**)——「本语料下融合未弱于词法(污染未实测到,如实记录)」(测试 ④ 的 else 分支同款注记,`md_cg/test_sem_noise.py`)。
|
|
270
270
|
- **可复现**:`python -m md_cg.test_sem_noise`(42 节点确定性语料,四臂 A_lex / B_sem / C_fusion / D_firewall 对照,7 断言)。
|
|
271
271
|
|
|
272
272
|
---
|
|
@@ -308,11 +308,14 @@ DSH 采用 Cordis bundle 机制,新增或更新插件后必须**重启 DSH 进
|
|
|
308
308
|
|
|
309
309
|
| 基准 | 归属 | 状态 |
|
|
310
310
|
|---|---|---|
|
|
311
|
+
| **hive-memory-bench**(权威对照 · 外部公开基准) | **公开基准**(184 题=主轮 92+干预轮 92 / 23 章 / 6.1 万字;CC BY 4.0) | **六家记忆系统同口径对照主场**(灵枢 / OpenViking / 朴素 BM25 / MemOS / Mem0 / Hindsight,同一生成器、唯一变量=检索上下文)· 灵枢读数经本版 HEAD 重测复核 → [hive-memory-bench](https://github.com/FuRongJun-1999/hive-memory-bench) |
|
|
311
312
|
| **locomo-zh-500** | **自建**(LoCoMo 中文派生 · 500 题 / 567 turns / 0.6 MB) | **已随仓库公开** `data/benchmarks/locomo-zh-500/` · 可复现 · **我方成绩:中文 hit@1 94.6% · hit@5 / hit@10 99.2%(md_cg 完整主链路);英文(语义归一化桥接)hit@10 99.8%——见上[中英双语检索差距](#-中英双语检索差距我们用中文语义归一化解决英文检索实证)①② 行** · **第三方独立复现:中文 96.8/99.6(自报 96.4/99.8 噪声内)、英文主路线 96.8/99.8/99.8 逐位一致** → [第三方验证报告](docs/eval/第三方验证报告_LoCoMo_灵枢_.md) |
|
|
312
313
|
| **bench6 · 六家横评** | **自建**(LoCoMo 中文派生 · 100 题 / 137 turns · **中英双查** / 约 90 KB) | **已随仓库公开** `data/benchmarks/bench6-100-zh-en/` · **六家同口径对照**(灵枢 5 口径 / 纯向量 RAG / mem0 / Graphiti / GraphRAG / Letta 两模式)· 报告 → [横评_六家100题中英双查_v1.0.md](docs/eval/横评_六家100题中英双查_v1.0.md) |
|
|
313
314
|
| LoCoMo | 第三方 `mteb/LoCoMo` BEIR(1976 题 / 5882 turns) | 上游来源(英文原版) |
|
|
314
315
|
| memory-bench-1000 | **自建** | SNR 见评分报告 v2.0;已公开 `data/memory-bench-1000.jsonl` |
|
|
315
316
|
|
|
317
|
+
> **口径层级(2026-10 起)**:中文检索的权威对照统一以 **hive-memory-bench** 为准(六家同口径、机械层读数不依赖判官);下表 `locomo-zh-500` 与 `bench6-100-zh-en` 为本仓自建的历史口径题池,保留供复现与英文桥接实验。
|
|
318
|
+
|
|
316
319
|
> 上表四行性质不同,勿混读:`locomo-zh-500` 的分数是**本仓库我方成绩**(基于LoCoMo自建并公开的评测集,可复现);`bench6 · 六家横评` 是同源派生的**小型同口径对照集**(零干扰池,只做六家系统横向对照,**非我方单方成绩**);LoCoMo 一行指**上游英文原版 1976 题**,本仓库未在其上产出完整成绩;`memory-bench-1000` 是自建记忆库的评分报告。
|
|
317
320
|
> **该成绩的性质(非虚假声明)**:`locomo-zh-500` 的分数是**写入侧结构化加工后的检索成绩**——入库前把每轮对话加工为「身份 / 时间 / 摘要 / 词 / 条件四槽」条目,再走词法 + 同义扩展检索。这与主流记忆系统所用的**向量化嵌入 + 关键词/摘要压缩**属**同一类写入侧加工**,差异只在索引与检索算法,不在「是否对原文做了加工」。因此该口径可用于**同口径对照**,不是对裸文本直读的虚高取巧。
|
|
318
321
|
> `locomo-zh-500` 是**本仓库对外发布的检索评测集**:供外部在**同一份中文题面**上对自己的记忆系统做可对照评测。它只评检索命中(hit@k / MRR),**不评答案正确性**;被测池为**零干扰**(池内全是 gold),故高命中率不可外推为端到端记忆能力——完整边界与许可见 `data/benchmarks/locomo-zh-500/README.md`。
|
|
@@ -331,14 +334,16 @@ python test/locomo_independent_eval.py # MdCG 引擎口径五臂(A 中文五
|
|
|
331
334
|
python test/locomo_jaccard_probe.py # 主路线 Jaccard 口径拆解(J2_full 完整版 / J2_zh 仅中文层 / J2_body 仅英文归一词 / J0_raw 英文原词)
|
|
332
335
|
```
|
|
333
336
|
|
|
337
|
+
> **复现用两处数据面开关(可选 env,缺省行为如下)**:`MDCG_E2E_JUDGE_ROOT` 覆盖 `md_cg.bench_e2e_judge` 的数据根——缺省 `<仓根父目录>/test/e2e_judge`(建池缓存 / LLM 缓存 / 结果都落在其下;`--data-root` 参数优先于该 env);`MDCG_CONFORMANCE_ROOT` 指认真源库根(仓外私有)——设置且 `<库根>/_index.json` 存在时,`md_cg.test_conformance` 加跑真源集成基线复核(K1–K5 断言;不达标即该套件判败),未设置(或缺 `_index.json`)时该集成段打印 SKIP、合成库主测面照常全跑。
|
|
338
|
+
|
|
334
339
|
> 自建 bench 的噪声层 400 条 + unlabeled 边界 350 条为天然负对照;任何基准报告须带**干扰抑制负例组**与 **T-JUDGE 负例拒绝率**双向报告(遵守「只报总分 = 不通过」)。
|
|
335
340
|
|
|
336
341
|
---
|
|
337
342
|
|
|
338
|
-
## 🎯
|
|
343
|
+
## 🎯 七维标尺实测(六家同尺)
|
|
339
344
|
|
|
340
|
-
>
|
|
341
|
-
>
|
|
345
|
+
> 项目维护者按同一把内部七维标尺(结构 / 检索 / 判断 / 调用 / 演化 / 连续 / 可信),把**六家记忆系统**(含灵枢)放到公开基准 [hive-memory-bench](https://github.com/FuRongJun-1999/hive-memory-bench) 的**同一批实测**上对比:灵枢与 OpenViking 在**四维(S / R / C / T)并列 7–8 档第一梯队**;**J(判断)仅邻面读数**(灵枢在「发现不一致」面落后于朴素 BM25);**U(演化)/ I(连续)**在六家同尺面上无数据——**v3.1 起,灵枢以自身 51 天运行史完成单家活体自测(7–8 档 ▲:能陈述自迭代史/错误史/自我认知,且 v1.0 暴露的缺口经迭代已修复闭环)**;「AGI 级(L5)」在跨系统口径下仍无一系统被实测验证。逐维读数、映射规则、与 v2.0 自评的修正(J / C 下修、U / I 结构自评撤回后经实测判 7–8▲)见 [AGI 七维评分报告 v3.1(六家同尺实测 + U/I 单家自测)](docs/eval/AGI七维评分报告_六家记忆系统同尺实测_v3.1.md)。
|
|
346
|
+
> **不虚高的坦白**:本版「凡分必挂实测」——v2.0 的「综合 8.6」为结构取证口径(源码级核对),在实测口径下不成立;灵枢的实测落后面(「发现不一致」指出 2/9、零材料净贡献 −9.9pp 等)已逐项列出。
|
|
342
347
|
|
|
343
348
|
### 第三方复评(七轮独立评估)
|
|
344
349
|
|
|
@@ -347,7 +352,7 @@ python test/locomo_jaccard_probe.py # 主路线 Jaccard 口径拆解(J2_f
|
|
|
347
352
|
>
|
|
348
353
|
> **LoCoMo 第三方独立验证**(同日另一份独立报告,评测全流程从零实现、不调用灵枢任何 `bench_*` 脚本):中文 96.8/99.6 独立复现(自报 96.4/99.8,噪声内);英文主路线 ② 96.8/99.8/99.8 **逐位一致**;并给出更严格归因——99.8 由中文摘要层挣得(去英文层 hit@10 反为 100.0%)、英文标准归一化端到端真实水平 81.0%(写入侧机械归一口径,较不归一 +58pp)、检索失败 100% 归因归一化丢词/错译而非排序;同时确认数据集区分度(query 对 gold 覆盖 0.875 vs 非 gold 最佳 0.469)与 OOV 如实透出。报告全文→ [第三方验证报告_LoCoMo_灵枢_.md](docs/eval/第三方验证报告_LoCoMo_灵枢_.md) · 配图 → [第三方验证报告_LoCoMo_灵枢_.png](docs/eval/第三方验证报告_LoCoMo_灵枢_.png) · 独立评测脚本 `test/locomo_independent_eval.py`、`test/locomo_jaccard_probe.py`(第三方交付物原样入库,`REPO` 变量为第三方沙箱路径,复现需改为本机仓库路径)
|
|
349
354
|
>
|
|
350
|
-
>
|
|
355
|
+
> **口径声明**:两份报告均为外部独立口径,与上方七维标尺实测(六家同尺 + U/I 单家自测 · 档位判定)是**多套独立口径,分数不可互比**;LoCoMo 报告同时验证了数字可复现性与归因边界,其归因发现已如实吸收进[中英双语检索差距](#-中英双语检索差距我们用中文语义归一化解决英文检索实证)一节。
|
|
351
356
|
|
|
352
357
|
---
|
|
353
358
|
|
|
@@ -388,29 +393,30 @@ python test/locomo_jaccard_probe.py # 主路线 Jaccard 口径拆解(J2_f
|
|
|
388
393
|
|
|
389
394
|
<!-- COGMAP:BEGIN (scripts/cogmap_sync.py 自动生成 · 真源 md_cg/mcp_server.py · 勿手改段内) -->
|
|
390
395
|
|
|
391
|
-
**两个认知基元 ·
|
|
396
|
+
**两个认知基元 · 43 个 op**(`kernel` 面)——下列 op 清单、实现模块与全部链接行号由 [cogmap_sync](scripts/cogmap_sync.py) 从真源自动提取,`check` 门禁守卫漂移;**点击任意名字直达源码对应行**:
|
|
392
397
|
|
|
393
398
|
| 基元 | op 数 | op 清单(点击直达实现分支) |
|
|
394
399
|
|---|---|---|
|
|
395
|
-
| **[`cg`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
396
|
-
| **[`stg`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
400
|
+
| **[`cg`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L610)** 认知图统一入口 | 38 | [`help`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2125) [`state_event`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2452) [`status`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2134) [`edges`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2137) [`theory`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2140) [`link`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2157) [`info`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2273) [`route`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2314) [`read`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2335) [`audit`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2390) [`write`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2410) [`goal`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2418) [`task`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2437) [`recent`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2440) [`verify`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2472) [`review`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2477) [`forget`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2498) [`protect`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2507) [`identity`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2510) [`consistency`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2513) [`metacognition`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2516) [`self_state`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2519) [`evolution`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2522) [`sustain`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2525) [`scrub`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2528) [`predict`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2531) [`causal`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2534) [`whitebox`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2537) [`index_code`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2540) [`index_doc`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2584) [`ref`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2627) [`session`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2630) [`ingest`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2633) [`export`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2636) [`maintain`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2639) [`consolidate`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2642) [`insight`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2645) [`ccg`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2648) |
|
|
401
|
+
| **[`stg`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1070)** 语义时空图入口 | 5 | [`relation`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3240) [`timeline`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3242) [`anchors`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3249) [`consistency`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3253) [`state_chain`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3256) |
|
|
397
402
|
|
|
398
403
|
**op → 实现模块**(认知图投影:功能在哪段代码,一眼可达):
|
|
399
404
|
|
|
400
405
|
| op(点击直达实现分支) | 实现模块(点击直达源码) |
|
|
401
406
|
|---|---|
|
|
402
|
-
| [`help`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
403
|
-
| [`index_code`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
404
|
-
| [`info`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
405
|
-
| [`
|
|
406
|
-
| [`
|
|
407
|
-
| [`
|
|
408
|
-
| [`
|
|
409
|
-
| [`
|
|
407
|
+
| [`help`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2125) [`state_event`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2452) [`status`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2134) [`edges`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2137) [`route`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2314) [`goal`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2418) [`task`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2437) [`recent`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2440) [`verify`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2472) [`review`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2477) [`forget`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2498) [`protect`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2507) [`identity`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2510) [`consistency`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2513) [`metacognition`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2516) [`self_state`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2519) [`evolution`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2522) [`sustain`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2525) [`scrub`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2528) [`predict`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2531) [`causal`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2534) [`whitebox`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2537) [`ref`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2627) [`session`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2630) [`ingest`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2633) [`export`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2636) [`maintain`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2639) [`consolidate`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2642) [`insight`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2645) [`ccg`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2648) | [`_cg_dispatch` 内联](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2122) |
|
|
408
|
+
| [`index_code`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2540) [`index_doc`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2584) | [`refindex`](md_cg/refindex.py), [`security`](md_cg/security.py) |
|
|
409
|
+
| [`info`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2273) | [`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) |
|
|
410
|
+
| [`audit`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2390) | [`auditview`](md_cg/auditview.py) |
|
|
411
|
+
| [`link`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2157) | [`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) |
|
|
412
|
+
| [`read`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2335) | [`refindex`](md_cg/refindex.py) |
|
|
413
|
+
| [`theory`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2140) | [`theory`](md_cg/theory.py) |
|
|
414
|
+
| [`write`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2410) | [`writepipe`](md_cg/writepipe.py) |
|
|
415
|
+
| [`relation`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3240) [`timeline`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3242) [`anchors`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3249) [`consistency`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3253) [`state_chain`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3256) | [`_stg_call` 内联](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L3221) |
|
|
410
416
|
|
|
411
|
-
**细粒度面**(`MDCG_MCP_SURFACE=full`,插件运行时使用):[`cg`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
417
|
+
**细粒度面**(`MDCG_MCP_SURFACE=full`,插件运行时使用):[`cg`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L610) + [`stg`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1070) + **31 个 `mdcg_*`** = **33 个工具**:
|
|
412
418
|
|
|
413
|
-
[`mdcg_remember`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#
|
|
419
|
+
[`mdcg_remember`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L164) [`mdcg_recall`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L195) [`mdcg_search`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L245) [`mdcg_get`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L257) [`mdcg_reflect`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L265) [`mdcg_verify`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L271) [`mdcg_flywheel`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L282) [`mdcg_mine_fix_pairs`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L287) [`mdcg_rejected`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L292) [`mdcg_unresolved`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L298) [`mdcg_propose`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L304) [`mdcg_review_list`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L312) [`mdcg_review_decide`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L317) [`mdcg_review_records`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L334) [`mdcg_forget`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L342) [`mdcg_protect`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L350) [`mdcg_forgetting_history`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L360) [`mdcg_identity`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L366) [`mdcg_consistency`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L392) [`mdcg_metacognition`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L412) [`mdcg_self_state`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L434) [`mdcg_predict`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L472) [`mdcg_causal`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L500) [`mdcg_evolution`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L517) [`mdcg_restore`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L540) [`mdcg_health`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L545) [`mdcg_whoami`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L550) [`mdcg_ingest`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L555) [`mdcg_watermarks`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L567) [`mdcg_whitebox`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L572) [`mdcg_service_info`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L593)
|
|
414
420
|
|
|
415
421
|
逐个 op 的「功能 → 代码 → op」行号级映射另见[功能调用映射表](docs/mdcg/功能调用映射表_v0.1.md)。
|
|
416
422
|
|
|
@@ -455,6 +461,8 @@ AEIS 仅作可选「身体」能力后端(角色扮演生成),不再存记
|
|
|
455
461
|
| 文档 | 内容 |
|
|
456
462
|
|---|---|
|
|
457
463
|
| **[docs/ 目录索引](docs/README.md)** | 六域快速索引(mdcg / swarm / hive / theory / eval / plans)· 新文档归域规则 |
|
|
464
|
+
| **[Release v0.7.4](https://github.com/FuRongJun-1999/dsh-memory/releases/tag/v0.7.4)** | 本版变更:世界模型(语义时空图)功能端三批落地+DSH 会话归因治本——① P1 状态事件抽取器 v4(24 条字面锚规则×11 槽位;三层消歧=用户侧声明优先/非事实三类/内容实指时点;对拍答案卷三率=漏 1/误 0/错 1(分母 25),与 v3 基线五项逐位对齐、跨目录逐字节确定性)② P2 槽位寄存器投影(state_slots——**事件是源、槽位是投影**,查询时现算不建第二真源:现值/退役/区间/变迁史)+ stg 第五 op `state_chain`(flag MDCG_STG_STATE 默认关;CLI 只读入口)③ P3 写侧记账口 `cg(op=state_event)`(五元事件 append;权限双闸=映射既有 write 词+require_write;actor 恒取令牌)+《秤》v2.1 §5.1 账本完整性探针(覆盖缺口率/无账可辨率/变迁史可查率;隔离 root、确定性、可复跑)+使用与运维文档 ④ DSH 会话归因治本(启动脚本去目录 mtime 猜测+插件运行期会话注入:写归因面 mdcg_remember/cg(op=write) 注入当前会话、读面语义不动;真机端到端验收=写入归因该会话真实 id);真实语料读数:鲸娘 25 事件→11 槽位(2 退役),账本探针缺口 3/14(形态/发色瞳色/米饭=P1 已知边界) |
|
|
465
|
+
| **[Release v0.7.3](https://github.com/FuRongJun-1999/dsh-memory/releases/tag/v0.7.3)** | 本版变更:外报六连修与世界模型底座——① 六则外部 issue 闭环(#56 hook 过滤面落盘审计·零消息内容+入口 OPENBLAS 线程自保证;#57 保留设备名守卫改「末段直判」与 OS 行为解耦;#58 守卫嵌套 runner 日志隔离 MDCG_TESTLOG_DIR;#59 README 弱证据段读数对齐实测;#60/#61 睡眠周期:物化 ok 语义拆分+face_stable 读数,**物化成功即迭代**(漂移交并发闸·主库优先),新增手动入口 --once / --once --dry-run / --status last_cycle)② 世界模型底座(对齐评估路线 A/B/C):L0 状态事件五元台账+检验强度字段(写链补传)、幽灵引用检查器(短语层标记)、cg(op=audit) 证据审计面、L4 隔离原型探针(产品化待裁定);《秤》v2.1 多主体世界模型评测规范入库 ③ 性能面三修(检索体缓存 -47% / freshness 外提 -25% / 写链探针 46.9→31.5ms)④ 编译器 N270–N272(条件空间脱钩 / 读取面未声明即报错 / 内建名写集拒收)+用户级纪律注入面升为渲染产物(声明出口表内嵌+防漂移守卫)⑤ 工程面:scripts/hive/swarm/TS 各面批次收口、DSH 2.0 事实订正、公开面本机路径全面相对化(120 处/47 文件,门禁第 11 腿) |
|
|
458
466
|
| **[Release v0.7.2](https://github.com/FuRongJun-1999/dsh-memory/releases/tag/v0.7.2)** | 本版变更:读面损坏 UTF-8 家族收口——① 读取面不再因损坏非 UTF-8 节点崩溃(贡献者 PR #54)+同形态残余加固(census / restore / read_preimage / locate 四站点:坏 trash 与坏前像均结构化失败且源保留,health 增 skipped_unreadable 计数)② issue #53 三缺陷(密文假域标签 / 桶计数虚高 / 假 hash_drift)③ 工程面收口(PR #47:CI 先构建 Rust/Hive 二进制再跑 Python 全量;套件并行改串行防共享临时目录竞态;charset 表与纪律指纹跨平台同判) |
|
|
459
467
|
| **[Release v0.7.1](https://github.com/FuRongJun-1999/dsh-memory/releases/tag/v0.7.1)** | 本版变更:检索面三批同族收口——① issue #52 条件先行与截断可观测(timeline/anchors/consistency 的索引序切片退场:条件先于限额、截断可观测+可操作提示,max_scan 数值不动)② stg 结构索引(by_session/by_layer/by_time 内存倒排+条件资格首验,双 flag 默认关,在役实测 52× 收敛(7607 条规模;加速比随库规模与条件收窄度增长、小库下显著降低)、两臂逐位等价)③ consistency 选面(MAX_SCAN=200 索引序静默截断退场:相关性预筛+保底面+面内例外+truncated/kept/hint 可观测,数值一字未动) |
|
|
460
468
|
| **[Release v0.7.0](https://github.com/FuRongJun-1999/dsh-memory/releases/tag/v0.7.0)** | 本版变更:① **自迭代与睡眠**——睡眠周期引擎(影子副本迭代 + 语义四闸 + git 周期合并,九步显式台账,缺省 23:00-07:00 窗口、一小时一轮、可调)② **因果/时间图检索路**进默认检索(因果路复用既有条件链;时间路走唯一时间核,半衰期 30 天;边类型集可配)③ **六要素补成 6 行索引角色**(验证方式/不适用条件进默认检索,边界命中与资格裁决分开计数)④ **权重刷新与衰减进主分数**(旧记忆降权、被调用者刷新,带 floor 与保护线、可预演可回滚)⑤ 累积修复:装机即挂(issue #48)、出货面冒烟进门禁(第九腿)、归一层缺省翻关、N230 重放遮蔽 |
|
|
@@ -464,14 +472,16 @@ AEIS 仅作可选「身体」能力后端(角色扮演生成),不再存记
|
|
|
464
472
|
| **[Release v0.5.0](https://github.com/FuRongJun-1999/dsh-memory/releases/tag/v0.5.0)** | 本版变更:强化检索(读缓存+派生物常驻 / 智慧之书面预计算 / 统一归一 / 门控生产路径)× 稳定蜂巢并发调度(多写者防线 / 依赖门禁)· 12 个 issue 修复 |
|
|
465
473
|
| [README 详细版](docs/mdcg/README详细版_v0.4.10.md) | 完整能力说明 · 配置项全表 · 安装与验证细节 |
|
|
466
474
|
| [发布说明 v0.4.5](docs/mdcg/release_v0.4.5.md) | 历史版本发布说明(兼容性 / 升级指引) |
|
|
467
|
-
| [AGI 七维评分报告
|
|
475
|
+
| [AGI 七维评分报告 v3.1(六家同尺实测 + U/I 单家自测)](docs/eval/AGI七维评分报告_六家记忆系统同尺实测_v3.1.md) | 七维 × 六家实测对比 / U·I 单家活体自测(▲)/ 映射规则 / 对 v2.0 自评的修正 / 诚实边界 |
|
|
476
|
+
| [AGI 七维评分报告 v2.0(单家自评 · 历史)](docs/eval/AGI七维评分报告_md_cg_v2.0.md) | 结构取证口径的自评(v3.1 已按实测复核修正) |
|
|
468
477
|
| [第三方复评 · 统一评分 v7](docs/eval/第三方验证报告_灵枢_vs_dejavu_统一评分_v7.md) | 独立评估者七轮对照(灵枢 vs deja-vu):八维加权 / 收敛轨迹 7.79→9.258 / 评审偏差声明 / 自身建议全撤回勘误 |
|
|
469
478
|
| [第三方验证 · LoCoMo 独立复现](docs/eval/第三方验证报告_LoCoMo_灵枢_.md) | 独立实现评测全流程:自报数字逐位复现 / 归因拆解(中文摘要层 vs 英文归一化 81.0%)/ 静默错译样本 / 数据集区分度证伪检查(配图 `第三方验证报告_LoCoMo_灵枢_.png`) |
|
|
470
479
|
| [功能调用映射表](docs/mdcg/功能调用映射表_v0.1.md) | 任何功能 → 调用哪段代码(含行号、MCP op) |
|
|
471
480
|
| [护栏宪章 v2.0](docs/mdcg/guardrail-charter.md) | 对外部智能体与人类使用者的行为边界 |
|
|
472
481
|
| 教学四篇 | [白箱智能是什么?](docs/theory/白箱智能是什么?.md) · [智能的认知过程](docs/theory/智能的认知过程.md) · [智能的公理化基石](docs/theory/智能的公理化基石.md) · [信息差为什么必然存在](docs/theory/信息差为什么必然存在且自然扩大.md) |
|
|
473
482
|
| [工作纪律·认知图条目 v1.1](docs/工作纪律_认知图条目_v1.1.json) | 自我约束的 18 条工作纪律(嵌套认知图条目 `work_discipline`) |
|
|
474
|
-
| [
|
|
483
|
+
| [hive-memory-bench(公开基准 · 权威对照)](https://github.com/FuRongJun-1999/hive-memory-bench) | 184 题 · 23 章 · 六家记忆系统同口径对照(机械层读数 · 判分器 · 机器可读台账) |
|
|
484
|
+
| [六家记忆系统横评 v1.0(历史口径 · 上界对照集)](docs/eval/横评_六家100题中英双查_v1.0.md) | 100 题 · **中英双查** · 六家同口径对照;含判定单 / 条件层归因 / 诚实边界(题集 → [data/benchmarks/bench6-100-zh-en/](data/benchmarks/bench6-100-zh-en/README.md)) |
|
|
475
485
|
| [端到端干扰池评测 v1.1](docs/eval/端到端干扰池评测_确定性裁决vsLLM_judge_v1.1.md) | **带干扰池端到端**:确定性裁决层 vs LLM-as-judge 正面对比(四族干扰×浓度梯度)· LoCoMo 上游 gold 端到端 QA **43.3%/40.0%** · 防火墙与 LLM 裁决对无标记干扰均无增益(REJECT 恒 0)· **统一归一层 A/B:CCG+RRF 形态 −11.7pp(批次 15 边界反馈)** |
|
|
476
486
|
| [端到端 LoCoMo QA 同口径对照 v1.0](docs/eval/端到端LoCoMoQA同口径对照_v1.0.md) | **中文完整对话做记忆 · 自然问句做查询**(与 Mem0/Letta 论文同设定):检索注入 QA **17.2%** / full-context 16.4% · 检索四组对照定因(自然问句诚实下界 hit@10 **40.2%** vs 派生题面 92.0%;改写/归一均实证排除)· lost-in-the-middle 实证 · **方向拍板:认知图概念桥接(不上向量)** |
|
|
477
487
|
| [Rust 检索库](rust/README.md) | `mdcg_eval` 三形态:库内嵌大批量检索 / `--serve` 多智能体进程实例 / 公开数据集评测器(零依赖 · 与 Python 口径对齐,rank 对拍 harness 守卫) |
|
|
@@ -488,7 +498,7 @@ AEIS 仅作可选「身体」能力后端(角色扮演生成),不再存记
|
|
|
488
498
|
> 装出来的插件里**不存在**。因此运行期依赖一律不得指向它们:
|
|
489
499
|
> 判据面清单走包内 `md_cg/judgment_manifest.py`(`md_cg/interop.py` 进程内调用)、
|
|
490
500
|
> 裁决 CLI 走包内 `python -m md_cg.review_cli`、全量测试走包内 `python -m md_cg.run_tests`;
|
|
491
|
-
> 依赖 `scripts/`/`hive/`
|
|
501
|
+
> 依赖 `scripts/`/`hive/` 的**测试**在缺件时按实跑形态处置(不虚报通过):**安装态**(`scripts/`/`hive/`/`swarm/`/`compiler/` 不存在)下套件按存在性发现、自然没有这些组的目标;**源码树**里需要 Rust 编译产物的套件(如 `md_cg.test_rank_parity_score_mode`)未构建时 **fail-closed FAIL**(打印 `cd rust && cargo build --release` 重编指引);如实 SKIP 只用于三类——依赖 hive 二进制未构建的守卫成功趟(`scripts/test_utf8_boot_guard.py` 等,逐条理由、不计入通过数)、依赖 gitignored 本地数据缺件(p44 等)、平台不符(非 Windows 上的 Windows 专用件)。
|
|
492
502
|
|
|
493
503
|
| 目录 | harness | 接入文档 | 纪律注入方式 |
|
|
494
504
|
|---|---|---|---|
|
package/codebuddy/CODEBUDDY.md
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
> 本文件由 `scripts/render_discipline.py` 从真源
|
|
4
4
|
> `docs/工作纪律_认知图条目_v1.1.json` 渲染生成,**请勿手改**;改真源后重跑渲染。
|
|
5
|
-
> 真源指纹(SHA256 前16位):
|
|
5
|
+
> 真源指纹(SHA256 前16位):e8c979edba52de41
|
|
6
6
|
|
|
7
7
|
## 概述
|
|
8
8
|
|
|
9
|
-
工作纪律集: 4条方法论(理论先行/全面处理/白箱方法/根因) + 3条执行(验证/双副本/兜底) + 1条思考(中文思考/协作模式分级) + 1条保密(敏感信息隔离) + 3条图像线(选源护栏/历史查询优先/算法权威唯一) + 1条协作(访谈澄清:先问清再动手) + 1条合规(内容政策合规:公开产物过内容政策+隐私双清单) + 2条执行调度与运行环境(命令执行统一走python/UTF-8: 显式encoding+PYTHONUTF8=1, 规避GBK, 全仓文本与路径一律UTF-8(无BOM, 中文可进路径), 不做控制台兼容(取用走python); 任务派发统一走蜂巢(zcode端的工作流工具为等效蜂巢工具——使用者2026-10-04裁定; 蜂巢功能完全完善之前可优先使用zcode工作流): 任何执行性任务经蜂巢spawn/submit执行并留痕, agent本体只做编排, L1出口=产物落点为只读判定(不改仓库/外部状态)可直跑须留痕) + 1条记忆闭环(任务收尾归档:每次任务执行完只将核心修改(内容/原因/位置/验证结论)按CCG六要素(功能名/生效条件/子功能/执行/验证方式/不适用条件)成文存入灵枢记忆, 不写中间过程; text 类缺要素即被写入闸门拒并当场返回缺失清单) + 1条信息获取(工作区索引优先: 查工作区文件先读 WORKSPACE_INDEX.md(仓根, 由 scripts/workspace_index.py 从 git 追踪面管线生成), 尚无则先跑 --write 生成再读, 不以重复全盘浏览代替; 索引是会陈化的手工件, 故须管线生成+机械守卫, 否则退化为误导源)
|
|
9
|
+
工作纪律集: 4条方法论(理论先行/全面处理/白箱方法/根因) + 3条执行(验证/双副本/兜底) + 1条思考(中文思考/协作模式分级) + 1条保密(敏感信息隔离) + 3条图像线(选源护栏/历史查询优先/算法权威唯一) + 1条协作(访谈澄清:先问清再动手) + 1条合规(内容政策合规:公开产物过内容政策+隐私双清单) + 2条执行调度与运行环境(命令执行统一走python/UTF-8: 显式encoding+PYTHONUTF8=1, 规避GBK, 全仓文本与路径一律UTF-8(无BOM, 中文可进路径), 不做控制台兼容(取用走python), 公开面路径写相对路径(守 check_local_paths); 任务派发统一走蜂巢(zcode端的工作流工具为等效蜂巢工具——使用者2026-10-04裁定; 蜂巢功能完全完善之前可优先使用zcode工作流): 任何执行性任务经蜂巢spawn/submit执行并留痕, agent本体只做编排, L1出口=产物落点为只读判定(不改仓库/外部状态)可直跑须留痕) + 1条记忆闭环(任务收尾归档:每次任务执行完只将核心修改(内容/原因/位置/验证结论)按CCG六要素(功能名/生效条件/子功能/执行/验证方式/不适用条件)成文存入灵枢记忆, 不写中间过程; text 类缺要素即被写入闸门拒并当场返回缺失清单) + 1条信息获取(工作区索引优先: 查工作区文件先读 WORKSPACE_INDEX.md(仓根, 由 scripts/workspace_index.py 从 git 追踪面管线生成), 尚无则先跑 --write 生成再读, 不以重复全盘浏览代替; 索引是会陈化的手工件, 故须管线生成+机械守卫, 否则退化为误导源)
|
|
10
10
|
|
|
11
11
|
## 执行公约
|
|
12
12
|
|
|
@@ -120,10 +120,10 @@
|
|
|
120
120
|
|
|
121
121
|
### 15. 命令执行统一走python
|
|
122
122
|
|
|
123
|
-
-
|
|
124
|
-
- **动作**:构造 argv 列表→subprocess.run(capture_output=True, text=True, encoding='utf-8', errors='replace')→env 带 PYTHONUTF8=1→shell=False;边界判据=本次调用是否产出非UTF-8字节流(纯MSYS工具与不起进程的内置工具豁免;原生Windows程序不豁免,须python包装或显式解码)
|
|
123
|
+
- **触发**:执行命令|运行测试/脚本|跨进程读写文本|书写文档/引用路径
|
|
124
|
+
- **动作**:构造 argv 列表→subprocess.run(capture_output=True, text=True, encoding='utf-8', errors='replace')→env 带 PYTHONUTF8=1→shell=False;边界判据=本次调用是否产出非UTF-8字节流(纯MSYS工具与不起进程的内置工具豁免;原生Windows程序不豁免,须python包装或显式解码);仓内引用与文档路径一律写相对路径(本机绝对路径以中性占位代), 判据 scripts/check_local_paths.py
|
|
125
125
|
- **不适用**:IDE内置工具直调(判据=本次调用是否产出非UTF-8字节流;不起进程的内置工具(Read/Write/Edit/Grep/Glob/WebFetch)与纯MSYS工具(grep/ls/sed)归入本豁免;拉起shell且执行原生Windows程序者(taskkill/wmic/npm.cmd/cargo/where)不属本豁免,仍须python包装或对输出显式解码;2026-09-28使用者裁定)|无跨进程的纯内存计算
|
|
126
|
-
- **声明**:按工作纪律第15条: 命令执行统一走python——argv列表+显式UTF-8+PYTHONUTF8=1, 不经Windows shell, 规避GBK解码异常。 另: 全仓文本与路径/文件名一律UTF-8(中文可进路径), 不做控制台兼容(取用走python, 控制台乱码属显示层)。
|
|
126
|
+
- **声明**:按工作纪律第15条: 命令执行统一走python——argv列表+显式UTF-8+PYTHONUTF8=1, 不经Windows shell, 规避GBK解码异常。 另: 全仓文本与路径/文件名一律UTF-8(中文可进路径), 不做控制台兼容(取用走python, 控制台乱码属显示层)。 另: 公开面路径写相对路径——本机绝对路径以中性占位代(仓内 `<仓根>`/家目录 `~/`/临时 `%TEMP%`), 门禁 check_local_paths。
|
|
127
127
|
|
|
128
128
|
### 16. 任务收尾归档(记忆闭环)
|
|
129
129
|
|
|
@@ -164,7 +164,7 @@
|
|
|
164
164
|
| 12 | 按工作纪律第12条: 算法权威唯一(线稿=darkline.py/色块=contour_semantics)——选算法查文档, 勿临时切换/漂移; 换算法须记录+更新文档。 |
|
|
165
165
|
| 13 | 按工作纪律第13条: 访谈澄清——先提问确认要做什么,逐轮问到完全清楚才动手;事实自查,决策归使用者,不完全清楚不固化。 |
|
|
166
166
|
| 14 | 按工作纪律第14条: 内容政策合规——对外公开产物必须过「内容政策+隐私」双清单,过滤在生成阶段做;已发布发现违规要删条+重写git历史+通知平台清缓存。 |
|
|
167
|
-
| 15 | 按工作纪律第15条: 命令执行统一走python——argv列表+显式UTF-8+PYTHONUTF8=1, 不经Windows shell, 规避GBK解码异常。 另: 全仓文本与路径/文件名一律UTF-8(中文可进路径), 不做控制台兼容(取用走python, 控制台乱码属显示层)。 |
|
|
167
|
+
| 15 | 按工作纪律第15条: 命令执行统一走python——argv列表+显式UTF-8+PYTHONUTF8=1, 不经Windows shell, 规避GBK解码异常。 另: 全仓文本与路径/文件名一律UTF-8(中文可进路径), 不做控制台兼容(取用走python, 控制台乱码属显示层)。 另: 公开面路径写相对路径——本机绝对路径以中性占位代(仓内 `<仓根>`/家目录 `~/`/临时 `%TEMP%`), 门禁 check_local_paths。 |
|
|
168
168
|
| 16 | 按工作纪律第16条: 任务收尾归档——每次任务执行完只提炼核心修改(内容/原因/位置/验证结论)并按 CCG 六要素(功能名/生效条件/子功能/执行/验证方式/不适用条件)成文存入灵枢记忆(text 类六要素缺失会被写入闸门当场拒绝并返回缺失清单——补齐后重写即可, 不必等读回确认才发现), 写入后发起一次读取查询确认写入成功且可检索, 禁写中间过程/试错/调试等无效信息, 与第2条形成「查记忆→执行→写记忆→读回确认」闭环。 |
|
|
169
169
|
| 17 | 按工作纪律第17条: 任务派发统一走蜂巢——任何执行性任务经蜂巢 spawn/submit 执行并留痕(spec/status/result), agent本体只做编排; 宿主自带subagent/team不是等价通道(zcode端的工作流工具为等效蜂巢工具——使用者2026-10-04裁定; 蜂巢功能完全完善之前, zcode端可优先使用zcode工作流处理), 兜底须声明。L1只读判定(产物落点=不改仓库/外部状态)可直跑, 须输出「L1 直跑:<命令> — 风险/频次/可逆性」留痕。 |
|
|
170
170
|
| 18 | 按工作纪律第18条: 工作区索引优先——查工作区文件先读 WORKSPACE_INDEX.md(仓根, 管线生成); 无则先跑 scripts/workspace_index.py --write 生成再读, 不以重复全盘浏览代替。 |
|