Skip to content

Releases: syyr1987/dsh-linghun

v1.0.0 — BEAM 实测最优解定版

Choose a tag to compare

@syyr1987 syyr1987 released this 10 Oct 04:03

v1.0.0 是当前路线的终版(BEAM 实测最优解)。

定版配置

  • 核心回退 0.4.2:三本体(记忆/知识/规则)+ journal 秒级检索 + 暖态默认注入
  • identity 收敛为最小有用 3 条纪律:不编造 / 背景收束 / 置信度宁缺毋滥

BEAM 评测结果

规模 隔离基线 双管齐下 v4 加权
1M 60.0/70.0 85.0/92.5 92.5
10M 60.0/65.0 90.0/92.5 92.5

双场景加权收敛 92.5——规模(1M↔10M)影响不大,决定分数的是三本体结构 + 纪律收束。

100K_1 写侧协议

  • v13(0.4.2) = 70.0/82.5 最优
  • 纪律四版(带/无/最小3条)均 70.0/82.5 持平,解释式 55.0/70.0 最差
  • 0.4.2 vs 0.4.4+ 差 5pp 严格(0.4.4 关闭暖态注入为负优化,已回退)

路线分叉

接下来的版本与 v1.0.0 之前是两条路线:素材侧结构(捞手语义捞取 + 来源标注 + 程序化聚合 + 主智能体收口)在 linghun-assembler 另开分支演进,与本版本核心解耦。

v0.2.16

Choose a tag to compare

@syyr1987 syyr1987 released this 29 Sep 07:20

协议切换:GPL-3.0 → AGPL-3.0(连 SaaS/云服务也要求开源,堵闭源阵营白嫖)。署名保留:山越野人 × 岚客。

v0.2.15 — 协议切换 GPL-3.0

Choose a tag to compare

@syyr1987 syyr1987 released this 29 Sep 06:54

协议从 MIT 切换为 GPL-3.0(版权署名保留:山越野人 × 岚客)。

  • LICENSE 全文 + package.json license 元数据 + README/PROJECT 同步
  • 功能无变更

v0.2.14 — A2A 记忆管理团队联动

Choose a tag to compare

@syyr1987 syyr1987 released this 29 Sep 06:12

v0.2.14

🆕 新增能力

  • A2A 记忆管理团队联动:memory_read 共享 linghun-assembler 认知循环团队台账——判官履历、编辑交付、史官时序(team/archivist/timelines)反哺主脑,子智能体的判断让主脑看见。
  • 团队认知台账扩展:判官履历 + 编辑交付记录可共享(team/judge/history.jsonl、team/editor/bundles.jsonl)。

📝 描述同步(v0.2.13 已含能力补全)

  • 海马体三层记忆:warm → episodic 情景归档(同日追加不覆盖)→ cold 摘要注入
  • 记忆序时账:journal_read 按天归档原始对话流水
  • 低置信记忆降权遗忘:high/medium/low 置信度;low 注入带【需验证】;wrong 翻转排除注入
  • 与 linghun-assembler 零配置联动(默认约定路径)

要求:DSH >= 0.1.0-rc.7(< 0.2.0),Node.js >= 20.18。

v0.2.13 — 组装模式零配置联动

Choose a tag to compare

@syyr1987 syyr1987 released this 29 Sep 01:22

v0.2.13(2026-09-29)

配合 dsh-linghun-assembler@0.1.1 的零配置联动。

变更

  • memory.assembler.injectPath 留空时回落到 $DSH_HOME/linghun/memory/assembled.md(与 assembler 侧 output.injectPath 默认约定路径同值)→ 双插件装完零配置即联动,组装素材包自动注入。
  • 自定义路径仍可覆盖(配置或 LINGHUN_MEMORY_OVERRIDE 环境变量优先)。

验证

  • 57/57 测试全过,真实 ~/.dsh 零污染。
  • 建议与 dsh-linghun-assembler@0.1.1 一起安装,办公电脑升级后重启 DSH 生效。

v0.2.12 — 测试隔离跨平台修复(阿澄复查 N1/N2)

Choose a tag to compare

@syyr1987 syyr1987 released this 29 Sep 00:57

v0.2.12(2026-09-29)

阿澄复查 v0.2.11 后修复测试隔离的跨平台缺陷。插件运行时代码无改动。

修复

  • 测试隔离改用 DSH_HOME(跨平台):v0.2.11 的 withEnv 用 process.env.HOME 只在 POSIX 生效,Windows 的 os.homedir() 读 USERPROFILE 不读 HOME,导致办公电脑(Windows)上 npm test 时 4 条回归测试失败(ENOENT 读不到临时文件)且把测试夹具写进真实记忆(journal)。
  • 三处 HOME 用法统一改为 DSH_HOME(resolveDshHome 优先级最高,且全平台直接从 process.env 读取,不经过 os.homedir())。
  • 验证:57/57 全过;真实 ~/.dsh 零污染(journal/warm 字节数与跑测前完全一致)。

背景

  • v0.2.11 已修复阿澄自检 F1-F5(收尾评估从未运行、kind 过滤非法取值、同日沉淀覆盖、冷储丢暖态、warm 上限错位),本次复查确认六条缺陷代码层全部修对。
  • 办公电脑升级后需重启 DSH 使修复生效。

v0.2.11 — 收尾序时账/沉淀链路缺陷修复(阿澄自检 F1-F5)

Choose a tag to compare

@syyr1987 syyr1987 released this 29 Sep 00:45

v0.2.11 修复说明

依据 dsh 阿澄对 v0.2.10 的自检报告(49/49 测试通过但存在三处静默失效),修复 5 个缺陷,测试从 49 → 57 全过。

F1(致命)收尾评估/序时账从未运行

  • collectTurnTranscript 之前读取 session.log ?? session.events ?? [],在真实 DSH Session 契约(Inspect 形态)上这两个字段不存在,导致每轮收尾评估与序时账记录静默空转。
  • 修复:防御性事件获取,snapshotEvents() 优先,兼容旧版 log / events 字段;取不到时空转,不阻塞主流程。

F2(中)kind 过滤失效

  • runtime-context 不是 MessageSource.kind 合法枚举(只有 user / plugin / model / tool),原过滤条件永远不命中。
  • 修复:收紧为 plugin / model,运行时上下文/插件注入与模型侧注入都会跳过。

F3(高)同日二次沉淀覆盖

  • 归档暖态用 writeFile 写 episodic,同一天第二次沉淀会截断覆盖。
  • 修复:改 appendFile + 按时刻分段(## HH:MM),同日多次沉淀按时间追加。

F4(高)冷储倾倒原文 + 暖态被挤出注入

  • 冷储把 warm 原文整段追加进 cold,体积膨胀;rendered.slice(0, cap) 从尾部砍,冷储在前导致近期暖态被挤出注入预算。
  • 修复:新增 summarizeWarmForCold(每条一行锚点摘要 + 全文见 episodic/ 指针);注入渲染暖态优先 + 按条目边界截断(truncateKeepHead),不再切在字符中间。

F5(中)warm 上限错位

  • warm maxBytes 默认 1MB 而注入预算默认 6000 字,暖态可涨到 1MB 但 98% 结构性进不了注入,autoConsolidate 成为死代码。
  • 修复:默认降至 64KB,与注入预算同量级。

测试

  • 新增 8 个回归测试覆盖 F1-F5(57/57 全过)。
  • 测试 harness 增加 withEnv / withEnvAsync:在 HOME 有效期内触发回调与 execute,杜绝测试写入真实 ~/.dsh。

安装

```bash
npm i dsh-linghun@0.2.11
```

v0.2.10 — memory.assembler 注入通道

Choose a tag to compare

@syyr1987 syyr1987 released this 28 Sep 23:50

变更

  • memory.assembler 配置化:新增 memory.assembler.injectPath + memory.assembler.label,支持从外部素材包注入记忆(配合 dsh-linghun-assembler 使用)
  • 环境变量兼容:LINGHUN_MEMORY_OVERRIDE 继续可用
  • 向后兼容:不配置时回退默认 warm 注入,轻量用户零感知

测试

49/49 全过(+4:assembler 默认值/配置优先/环境变量兼容/不可读回退)

v0.2.0 — Engineering memory guardrails

Choose a tag to compare

@syyr1987 syyr1987 released this 27 Sep 04:18

v0.2.0: Engineering memory guardrails

Memory timing is now infrastructure, not model behavior:

  • End-of-turn assessment: on every turn/end, the plugin forces one LLM pass to decide whether this turn has memorable items (fact / decision / preference / experience). Worth remembering → auto-append to warm memory. No longer relies on the model remembering to call memory_append.
  • Threshold auto-consolidation: when warm memory exceeds maxBytes × triggerRatio, the plugin archives warm → episodic/<date>.md + merges cold summary before writing new entries. The model never hits a "memory full" error and never has to schedule its own consolidation.

Config

- id: linghun
  config:
    memory:
      assessment: { enabled: true, maxChars: 4000, maxTokens: 300, temperature: 0.2 }
      autoConsolidate: { enabled: true, triggerRatio: 0.8 }

Quality

  • 13/13 unit tests pass
  • Headless end-to-end smoke: both hooks verified (clean transcript → LLM → parse → append; threshold → archive → cold merge)
  • npm: dsh-linghun@0.2.0 published