From a4fac119ff19f298d26f783b177ad8d42a9c61fd Mon Sep 17 00:00:00 2001 From: modusensus Date: Mon, 28 Sep 2026 07:51:56 +0000 Subject: [PATCH 1/2] =?UTF-8?q?chore:=20v0.8.9=20=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E5=87=86=E5=A4=87=EF=BC=88=E7=89=88=E6=9C=AC=E5=8F=B7=20+=20?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=BE=BD=E7=AB=A0=20+=20CHANGELOG/=E8=B7=AF?= =?UTF-8?q?=E7=BA=BF=E5=9B=BE=E5=8D=A0=E4=BD=8D=E8=A1=8C=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 请在 CHANGELOG 与两个 README 的占位行补描述后再合并。 --- dsh-mneme/CHANGELOG.md | 6 ++++++ dsh-mneme/package-lock.json | 4 ++-- dsh-mneme/package.json | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/dsh-mneme/CHANGELOG.md b/dsh-mneme/CHANGELOG.md index b9cf0dc..81978ed 100644 --- a/dsh-mneme/CHANGELOG.md +++ b/dsh-mneme/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## [0.8.9] - 2026-09-28 + +## 🐛 修复 + +- (待填) + ## [Unreleased] ## 🆕 新增 diff --git a/dsh-mneme/package-lock.json b/dsh-mneme/package-lock.json index e3e92ee..8a76116 100644 --- a/dsh-mneme/package-lock.json +++ b/dsh-mneme/package-lock.json @@ -1,12 +1,12 @@ { "name": "@modusensus/dsh-mneme", - "version": "0.8.8", + "version": "0.8.9", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@modusensus/dsh-mneme", - "version": "0.8.8", + "version": "0.8.9", "license": "MIT", "dependencies": { "morphicons": "^1.7.1" diff --git a/dsh-mneme/package.json b/dsh-mneme/package.json index eb52f1c..42f70c2 100644 --- a/dsh-mneme/package.json +++ b/dsh-mneme/package.json @@ -1,7 +1,7 @@ { "name": "@modusensus/dsh-mneme", "description": "Cross-session memory plugin for DeepSeek Harness with autoDream consolidation: SQLite store, Markdown mirrors, 9 model tools, automatic injection, session summarization, user profile/rules, custom slash commands, vector (semantic) search, and a Web GUI panel", - "version": "0.8.8", + "version": "0.8.9", "license": "MIT", "repository": { "type": "git", From c53e58318dbba3bdcbc50142ee17e9acbee42d7f Mon Sep 17 00:00:00 2001 From: modusensus Date: Mon, 28 Sep 2026 16:12:32 +0800 Subject: [PATCH 2/2] =?UTF-8?q?docs(changelog):=20v0.8.9=20=E5=8F=91?= =?UTF-8?q?=E7=89=88=E8=8A=82=E6=89=BF=E6=8E=A5=E4=B8=A4=E9=A1=B9=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E5=B9=B6=E6=B8=85=E6=8E=89=E6=AE=8B=E7=95=99=E7=9A=84?= =?UTF-8?q?=E6=B8=B8=E7=A6=BB=20Unreleased=20=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 +- dsh-mneme/CHANGELOG.md | 92 +++++++----------------------------------- 2 files changed, 17 insertions(+), 79 deletions(-) diff --git a/README.md b/README.md index 3a62838..766f2a0 100644 --- a/README.md +++ b/README.md @@ -175,7 +175,7 @@ dsh web | **v0.5** | 召回融合与记忆可视化:BM25 + 图谱 + 热记忆 | ✅ | | **v0.6** | 会话生命周期:删对话 ≠ 删记忆 | ✅ | | **v0.7** | 自进化记忆:热度衰减 + 睡眠双保护 + 桌面端工作台/功能开关 | ✅ | -| **v0.8** | 作用域隔离(agent/workspace 双维隔离 + 检索加权 + opt-in 硬过滤)+ 冲突队列人工裁决 + 归属显式声明 + 生态化(stdio MCP server / 图召回轴 / 冷启动 / 注入截断与状态条 / 蒸馏可靠性 / 注入形态与 agent 主动整理接口 / 配置说明与 issue 模板) | ✅ 已发布(至 v0.8.8) | +| **v0.8** | 作用域隔离(agent/workspace 双维隔离 + 检索加权 + opt-in 硬过滤)+ 冲突队列人工裁决 + 归属显式声明 + 生态化(stdio MCP server / 图召回轴 / 冷启动 / 注入截断与状态条 / 蒸馏可靠性 / 注入形态与 agent 主动整理接口 / 配置说明与 issue 模板) | ✅ 已发布(至 v0.8.9) | > 完整逐小版本说明见 [CHANGELOG](dsh-mneme/CHANGELOG.md)。 @@ -358,7 +358,7 @@ The plugin ships a zero-dependency stdio MCP server (standalone npm package **`m | **v0.5** | Recall fusion & visualization: BM25 + graph + hot memory | ✅ | | **v0.6** | Session lifecycle: delete session ≠ delete memory | ✅ | | **v0.7** | Self-evolving memory: heat decay + sleep dual-protection + desktop workbench/feature toggles | ✅ | -| **v0.8** | Scope isolation (agent/workspace stamping + retrieval weighting + opt-in hard filter) + conflict review queue + explicit attribution + ecosystem (stdio MCP server / graph recall axis / cold-start bootstrap / injection truncation & status bar / distill reliability / injection shaping & agent-driven organize / configuration reference & issue templates) | ✅ Released (up to v0.8.8) | +| **v0.8** | Scope isolation (agent/workspace stamping + retrieval weighting + opt-in hard filter) + conflict review queue + explicit attribution + ecosystem (stdio MCP server / graph recall axis / cold-start bootstrap / injection truncation & status bar / distill reliability / injection shaping & agent-driven organize / configuration reference & issue templates) | ✅ Released (up to v0.8.9) | > Full per-minor-version changelog in [CHANGELOG](dsh-mneme/CHANGELOG.md). diff --git a/dsh-mneme/CHANGELOG.md b/dsh-mneme/CHANGELOG.md index 81978ed..76460bc 100644 --- a/dsh-mneme/CHANGELOG.md +++ b/dsh-mneme/CHANGELOG.md @@ -4,13 +4,20 @@ ## 🐛 修复 -- (待填) - -## [Unreleased] +- **V4 写入准入兼容(issue #326,PR #327)**:全部 16 处会话消息写入点(蒸馏、注入续接、巩固、 + 睡眠、实体抽取、连通性探测)的 `source.kind` 从裸 `"plugin"` 改为生产者自有 kind + `"plugin:dsh-mneme"`(`plugin` 字段保留)。DSH 0.1.7-alpha.1 起的 V4 写入校验把 + kind 缺失/空串/恰好等于 `"plugin"` 的消息整条拒绝 + (`format v4 message requires a producer-owned source kind`):0.8.8 在新版宿主上 + 压缩边缘触发时当前轮直接报错(continuity 注入点,实测见 #326),且该次抢救因边缘 + 消费即删不会重试;其余 LLM 管线写入点同批统一,防宿主后续收紧时扩大受害面。 + 读侧过滤(`kind === undefined || kind === "user"` 白名单)不受影响,历史库里的旧形状 + 事件无需迁移。新增静态形状锁(`test/llm-message-source.test.js`)防止新增写入点回退 + 到裸 kind。 ## 🆕 新增 -- **面板状态页与设置页重排版**:状态页九张卡拆成「库内一览 / 后台运转」两个扫读分组, +- **面板状态页与设置页重排版(PR #328)**:状态页九张卡拆成「库内一览 / 后台运转」两个扫读分组, 多指标卡片(记忆分类 / 实体分类 / 记忆复用 / 注入预览)从「·」串联的说明长句改成一行 一条的指标行(label 左、数值右),热度分布卡改三档堆叠条 + 分档计数——原「热门数」 大数字易误读成总量;注入预览的 `maxItems=` / `threshold=` 裸键名改白话标签。 @@ -21,14 +28,16 @@ (feature_flags 仍是启动时合并,见 `src/index.js`)。意见与反馈入口重做:图标行 + 副标说明 + 版本 footer(兼当「关于」收尾)。补 `memory.tab.summary` 中文标签 (此前状态卡直接漏出英文 "summary")。 -- **状态卡网格排布规整化**:概览区三卡改 `auto-fit` 恒铺满(行尾不再留洞);「记忆复用 / +- **状态卡网格排布规整化(PR #328)**:概览区三卡改 `auto-fit` 恒铺满(行尾不再留洞);「记忆复用 / 注入预览」在宽容器下各跨两列补齐引擎区的奇数行,跨列仅在 ≥2 列容器生效 (container query 守卫,单列下撤掉避免隐式轨道撑爆布局);向量卡在 2 列档位跨满整行。 -- **面板星形全线统一**:详情抽屉编辑态的重要度下拉(文本星号,角尖锐且无法与 SVG 星 +- **面板星形全线统一(PR #328)**:详情抽屉编辑态的重要度下拉(文本星号,角尖锐且无法与 SVG 星 同形)改为 SVG 星形按钮行(实心/描边与查看态同一规则,radiogroup + 逐星 aria-label); 重要度筛选 chip、图谱侧卡提及数、注入预览的行内星号统一走共享 `StarGlyph` (同一份 Lucide 路径)。`test/client.test.js` 星形守卫同步收紧为「全文零文本星号」。 +## [Unreleased] + ## [0.8.8] - 2026-09-27 ## 🆕 新增 @@ -119,77 +128,6 @@ GitHub 自动 301,协作者零操作;源码内活引用(徽章图片源、package.json 元数据、运行时 issue 链接等 30 处)同步清扫。npm scope `@modusensus/` 不随仓库改名而变。 -## [Unreleased] - -## 🐛 修复 - -- **V4 写入准入兼容(issue #326)**:全部 16 处会话消息写入点(蒸馏、注入续接、巩固、 - 睡眠、实体抽取、连通性探测)的 `source.kind` 从裸 `"plugin"` 改为生产者自有 kind - `"plugin:dsh-mneme"`(`plugin` 字段保留)。DSH 0.1.7-alpha.1 起的 V4 写入校验把 - kind 缺失/空串/恰好等于 `"plugin"` 的消息整条拒绝 - (`format v4 message requires a producer-owned source kind`),0.8.8 在新版宿主上 - 注入、蒸馏与实体抽取会静默失效。读侧过滤(`kind === undefined || kind === "user"` - 白名单)不受影响,历史库里的旧形状事件无需迁移。新增静态形状锁 - (`test/llm-message-source.test.js`)防止新增写入点回退到裸 kind。 - -## 🧹 清理 - -- **双 README 重复徽章行去重**:9-24 合并提交(37e77f1,解 #275 车道与 main 的冲突)把 tests 徽章行与中英 `npm test` 命令注释各复制了一份,根 README 三处、包内 README 两处重复;`badge:sync` 的全文正则替换只会把重复行一起刷新、永不自愈,此番手工去重(各留一行)。 - -- **GitHub issue 模板三件套(PR #321)**:`.github/ISSUE_TEMPLATE/` 新增 bug.yml / feature.yml(YAML forms,双语,环境字段对齐历史高质量报告)与 config.yml(空白 issue 关闭,使用问题引导 Discussions,安全漏洞引导私密通告);feature 模板内置实现口径自查项与 AI 辅助披露项,把仓库闸门前置到提案阶段。 - -## 🆕 新增 - -- **autoDream 连续失败退避(issue #292,#135 派生)**:新增 opt-in 键 - `autoDreamFailureBackoff`(默认关 = 行为与此前逐字节一致)。#89 的最小间隔闸对失败 - run 也生效,但间隔恒定——恒定失败的模型(#135 空体面)会按固定节奏连发刷爆配额; - 开启后调度器对连续失败做指数退避:有效最小间隔 = `dreamMinIntervalMinutes` × - 2^连续失败数(封顶 30 分钟,只拦增长、不把用户配得更大的基数压小),成功一次清零 - 恢复基数。基数取 `dreamMinIntervalMinutes`:基数为 0 时无闸可翻倍,本键不自己产生 - 间隔。计数是调度器内存变量、宿主重启归零(跨重启的冷却由 #291 的 lastRunAt 持久化 - 负责,两不重叠);被退避推迟的触发没有任何调用发生,也不写审计行(与 #89 间隔内 - 跳过同口径)。settings 白名单注册(面板可启停)。新增回归 5 条 - (`test/dream-failure-backoff.test.js`,注入时钟,同 dream-peak-hours 房型)。 - -- **配置说明一页(issue #290)**:新增 [docs/CONFIGURATION.md](docs/CONFIGURATION.md), - 以 `src/config.js` schema 为唯一正本逐键过(147 键全覆盖):按功能面分组(全局与 - 存储 / scope 隔离 / 蒸馏 / 注入 / 巩固 / 睡眠 / 反思与冲突 / 实体 / 检索 / 热度 / - API 与工具面 / 运行时),每键给默认值、作用与开启后果/冲突;lightMode 联动键显式 - 标注(文末附 `LIGHT_MODE_OFF` 完整清单),opt-in 默认关的键可见即知,与 settings.js - 白名单的对应关系在页首一句话交代。两个 README 的文档索引各加一行链接。 - -- **巩固错峰队列(issue #239 第 4 项镜像到 dream,PR #320)**:`dreamPeakHours`(与 - `summarizePeakHours` 同一份时段语法:逗号分隔、支持跨零点、星期前缀 `mon-fri`)+ - `dreamPeakMaxDeferMinutes`(默认 120)。命中高峰时巩固不调模型——登记一行 - `status='skipped'` / `error_message='peak-hours'` 审计并择时补跑;baseline 刻意不刷新 - (阈值继续累积,非高峰一次大 run 比多次小 run 省);被上限截断后到点仍处高峰则照跑, - 长高峰不会把巩固饿死;任一写法非法整串按「未配置」处理——宁可不省也不误停。时段解析 - 三件套(`parsePeakSpec` / `isInPeakWindow` / `nextOffPeakAt`)抽到零依赖模块 - `src/peak-hours.js`,summarize 侧 import + re-export 兼容调用方零改动——#316 之后 - summarize 反向依赖 dream(`withEffortFallback`),dream 再 import summarize 会成真 - 循环(PR #320 review 发现并顺手修复,原注释「无循环依赖」为过时事实)。新增回归 - (`test/dream-peak-hours.test.js`,注入时钟,同 summarize 侧房型)。 - -- **蒸馏思考强度设置项(issue #315)**:蒸馏(会话总结提炼)LLM 新增 `summarizeReasoningEffort`(`off`/`low`/`medium`/`high`/`none`,默认 `none` = 不发送字段、服务商默认生效,行为与此前一致)。思考型模型蒸馏时推理会烧光输出预算、总结为空或截断(#9 同款失败面,此前仅巩固/睡眠/实体抽取三链路有档位控制),配 `off`/`low` 可封顶推理。档位被模型拒收时自动去掉字段重试一次(与巩固/睡眠同一降级策略,`withEffortFallback` 共享、拒收判别式 `EFFORT_REJECT_RE` 提为单一来源);面板「功能开关 → 自动总结」下新增档位下拉(opt-in 语义与实体抽取 `entityExtractionReasoning` 对齐,settings 白名单注册)。新增回归 5 条(`test/summarize-reasoning-effort.test.js`)。 - -- **压缩边缘双落点(issue #249 N3)**:上下文即将被宿主压缩前抢救「正在做什么」,新增 - opt-in 键 `continuityRescueEnabled`(注入父开关 `autoInject` 的子项,默认关;`lightMode` - 强制关)。**必须是双落点**:①落一条连续性提案到新表 `continuity_proposals`(脱离对话 - 独立存活);②把同一份快照追加成序列末尾的插件消息——宿主的压缩摘要器**只看对话里的 - 内容**,只放系统提示段等于白写。触发不自定阈值,直接订阅宿主真的压缩 - (`compaction/start|summary|end`):压缩插件在自己那一步先压缩再 `return next()`,所以 - 我们在 `agent/pre-step` 拿到结果时边缘已落库,而返回的 `decision.messages` 由宿主以 - `surfaceOp: "append"` 追加,晚于压缩的 `replace`——落点天然在压缩之后。三字段 - (`current_work` / `next_step` / `open_questions`)用确定性抽取、**全程不调模型**: - 最近一条真实 `user/message` 取头部 200 字符、最近一条 `assistant/message` 取尾部 200 - 字符(下一步活在末尾那句里),`open_questions` 判不出就留白(注入文本里如实标 `none`, - 不编造)。提案行按 `(session_id, kind)` 唯一键落「同一会话同一类只留一条」:再次触发是 - 刷新而不是新增,`status`/`edge_seq` 就地支撑 #249 §8 要求的触发率与采纳率统计;**队列满 - 则弃新**(200 条,不淘汰旧行——旧行是别的会话还没转正的工作状态)。注入按「统一前缀 + - 全文」判重,同文本不追加第二次(没有 in-memory 改写钩子,这是形态上限)。宿主若无压缩前 - 时机则**降级为持久规则**(写进 `memory_save` 描述交给 agent 自判),不算失败、不要求宿主 - 加接口。新增回归 14 条(`test/continuity.test.js`),新文档见 [docs/CONTINUITY.md](docs/CONTINUITY.md)。 - ## [0.8.6] - 2026-09-23 ## 🆕 新增