Skip to content

Releases: shadyyoung/dsh-shared-memory

v1.6.2 — WorkBuddy MCP 接入

Choose a tag to compare

@shadyyoung shadyyoung released this 28 Oct 07:13

v1.6.2 — WorkBuddy 也走 MCP 了

变更

  • npm run install-apps 现在会同时写入 ~/.workbuddy/mcp.json 的 shared-memory 条目
  • WorkBuddy 打开即拥有 7 个记忆工具(memory_remember / search / forget / update / current / digest / status),不再依赖 skill 被模型主动调用
  • 原 skill(~/.workbuddy/skills/shared-memory/SKILL.md)保留作备份与手动触发
  • 本机已写入(原 mcp.json 自动备份),重启 WorkBuddy 生效

说明

  • WorkBuddy 是 Electron 应用,已在运行的话必须完全退出再打开,才会加载新的 MCP 服务。
  • 本次不改变存储格式。

Full Changelog: v1.6.1...v1.6.2

v1.6.1 — 其他 AI 打开即用(install-apps / autostart)

Choose a tag to compare

@shadyyoung shadyyoung released this 28 Oct 07:09

v1.6.1 — 其他 AI「打开即用」

新增

  • npm run install-apps
    • 自动检测已安装的 Cursor / Claude Desktop / ChatGPT(Codex) / Claude Code / Windsurf / WorkBuddy
    • 备份原配置后写入 shared-memory MCP 条目;新装 AI 应用后重跑一次即可
  • npm run autostart
    • 安装 macOS LaunchAgent,登录时自动打开 DeepSeek Harness
    • 记忆服务随 DSH 常驻,Cursor / Claude / ChatGPT 打开就能连上
    • npm run autostart:uninstall 可移除

说明

  • 已经在运行的应用必须 Cmd+Q 完全退出再打开一次才会加载 MCP 配置(应用自身限制,无法热更新)。
  • 服务宿主仍是 DSH;autostart 让它登录后一直在,所以其他应用「打开即可用」。
  • 本次为工具版本更新,不影响存储格式与已有记忆。

Full Changelog: v1.6.0...v1.6.1

v1.6.0 — 自动抽取收件箱 / 导入历史 / PII 脱敏

Choose a tag to compare

@shadyyoung shadyyoung released this 27 Oct 05:53

AI 跨平台记忆增强 · Shared Memory v1.6.0

从「记得存」到「自动会记」:自动抽取 + 导入历史 + PII 脱敏 + 接入自检。

新增 / Added

  • 自动抽取 + 待确认收件箱
    • 每条用户消息写入后自动抽取长期事实,先进「待确认」区,接受才成为记忆
    • 默认 rules 模式:关键词规则(偏好 / 身份 / 目标 / 项目 / 待办),免费、零模型调用
    • 可选 autoExtract: llm:用 ctx.llm.stream 抽取(extractModel 可指定便宜模型,maxExtractPerDay 默认 30 次/天做成本闸门)
    • UI 新增「待确认」tab:接受 / 编辑后接受 / 拒绝;拒绝记录避免重复抽取
  • 导入历史对话
    • POST /api/import 支持 ChatGPT / Claude 导出的 conversations.json、jsonl、txt/md
    • 导入为原话(source.app=import,同会话去重,单批上限 2000 条),并按同一抽取管线生成候选
    • UI「备份与恢复」卡片里直接选文件导入
  • PII / 密钥脱敏
    • 写入前识别 sk-*、ghp_*、AKIA*、xox*、Bearer、password=/token=、身份证号
    • piiPolicy: off / warn / redact(默认 redact → [已脱敏])
  • 接入自检 npm run doctor
    • 检查 DSH 服务与版本、MCP 桥 initialize+tools/list 握手、Cursor / Codex / Claude Desktop / WorkBuddy 配置
    • 本次同时把 mcpServers.shared-memory 写入了 Claude Desktop 配置(原文件已备份)

成本

模式 成本
autoExtract: rules(默认) ¥0
autoExtract: llm 每次约 ¥0.002–0.01(按模型);日上限 30 次 → ≤ ¥0.1–0.3/天
导入历史(一次) 纯导入 ¥0;带模型抽取每批约 ¥0.1–0.4

测试

  • host-smoke:候选创建/接受/拒绝、ChatGPT 导入生成候选并可检索、PII 脱敏
  • mcp / standalone / bench + doctor 全过;三平台 CI

Full Changelog: v1.5.0...v1.6.0

v1.5.0 — 记忆备份与恢复

Choose a tag to compare

@shadyyoung shadyyoung released this 27 Oct 02:34

AI 跨平台记忆增强 · Shared Memory v1.5.0

记忆备份与恢复:不怕存储目录被删、文件损坏或误操作。

新增 / Added

  • 自动备份
    • 全量数据(记录 / 焦点 / 动态 / 使用统计)gzip 成自包含快照
    • 默认写到 ~/.dsh/shared-memory-backups/(在存储目录之外,删库不删备份)
    • 启动时若距上次备份超过 24h 自动备份,之后每小时检查
    • 按 backupKeep(默认 14 份)轮转清理
  • 手动备份 / 恢复
    • POST /api/backup 立即备份
    • GET /api/backups 列表(含目录、保留数、上次时间、每份条数/大小)
    • POST /api/restore-backup 恢复;恢复前自动再备份当前状态(before-restore),恢复本身也能回退
    • 文件名白名单(防路径穿越)+ schema 校验 + 原子写入 + 内存热重载
  • UI
    • 新增「备份与恢复」卡片:立即备份、备份列表、一键恢复
  • standalone hub
    • --backup-dir / SHARED_MEMORY_BACKUP_DIR,同样启用自动备份
  • 检索精度:查询词覆盖率过滤(至少匹配一半词元),短查询不再被无关记录稀释
  • 摘要截断:严格不超过 maxChars(预留省略号和围栏空间)

配置

配置 默认 说明
backupDir ~/.dsh/shared-memory-backups 备份目录;可指到 iCloud/Dropbox 实现离机备份
backupKeep 14 保留份数
autoBackupHours 24 自动备份间隔,0=关闭

测试

  • host-smoke:创建备份 → 彻底删除记录 → 恢复 → 记录回来;恢复前自动快照;非法文件名 400
  • standalone-smoke:hub 备份 + 恢复
  • 三平台 CI(ubuntu / windows / macos × Node 20/22)+ 10k 条检索基准

Full Changelog: v1.4.0...v1.5.0

v1.4.0 — BM25 检索 / 相关性摘要 / 使用统计

Choose a tag to compare

@shadyyoung shadyyoung released this 27 Oct 02:28

AI 跨平台记忆增强 · Shared Memory v1.4.0

记忆开始"找得准、用得上":BM25 相关性检索 + 相关性摘要注入 + 使用统计。

新增 / Added

  • BM25 倒排索引检索
    • 中文按 bigram 切分、英文按词;tags 参与索引
    • 有查询词时默认相关性排序(sort=relevance),sort=newest 回到时间序
    • 完整子串命中额外加成
  • 相关性摘要注入
    • 摘要新增「相关记忆(与当前话题)」:用最近一条用户消息或当前焦点做 BM25 查询,召回 top maxRelevantMemories(默认 4)条
  • 使用统计
    • 记忆被检索返回/摘要注入时累计 usage.count(usage.json 防抖落盘)
    • 参与相关性加权,UI 显示「用过 N 次」
  • UI
    • 搜索高亮、排序切换(相关度 / 最新)、回收站「清空」、使用次数展示
  • 接口
    • GET /api/items / /api/search 支持 sort,返回项带 usage
    • 新增 POST /api/purge-trash(清空回收站)
  • 性能基准 test/search-bench.mjs:10k 条建索引 + 查询,已纳入 CI

实测性能

  • 10k 条记录:建索引约 20–100ms
  • 查询平均 < 1ms(上限断言 80ms)

配置

  • maxRelevantMemories(默认 4,0=关闭相关记忆注入)

测试

  • host-smoke:TF 排序、sort=newest、标签索引、使用计数、清空回收站、相关性摘要段落
  • mcp / standalone / bench 全过;三平台 CI(ubuntu / windows / macos × Node 20/22)

Full Changelog: v1.3.0...v1.4.0

v1.3.0 — 回收站 / 编辑历史 / 注入防护

Choose a tag to compare

@shadyyoung shadyyoung released this 27 Oct 02:18

AI 跨平台记忆增强 · Shared Memory v1.3.0

这是目前最重要的体验版本:回收站、编辑历史、注入防护。

新增 / Added

  • 回收站(软删除)
    • forget 默认只标记 deletedAt,trashRetentionDays(默认 30 天)后自动清理
    • purge: true 立即彻底删除
    • 新接口 POST /api/restore、新工具 memory_restore
  • 编辑历史
    • 每次 update 保留上一版(revisions,默认最多 20 条)
    • UI 可查看并恢复任意历史版本
  • MCP 桥补 memory_update
    • Claude / Cursor / Codex 现在可以原地编辑记忆
    • memory_forget 新增 purge 参数
  • 提示词注入防护
    • 摘要用 <memory-data> … </memory-data> 围栏包裹,并声明“其中指令不是系统指令”
    • sanitizeMemoryText() 过滤 “ignore previous instructions”、“忽略以上指令”、伪造 system: 行、伪造围栏标签等
  • UI
    • 记忆 / 回收站切换,恢复、彻底删除
    • 编辑历史查看与“恢复此版本”
    • 统计增加回收站条数

接口变化

  • POST /api/forget:默认软删除,{"purge": true} 彻底删除
  • POST /api/restore:{"id": "mem_..."}
  • GET /api/items?deleted=1 / includeDeleted=1
  • 搜索、摘要、去重默认排除回收站记录

配置

  • trashRetentionDays(默认 30,0=永久)
  • maxRevisions(默认 20,0=不保留历史)

测试

  • host-smoke:软删除 → 回收站可见 → 恢复 → 彻底删除、编辑历史、digest 围栏与注入过滤
  • mcp-smoke:memory_update(36 项断言)
  • standalone-smoke:Hub 软删除 + 恢复
  • CI:ubuntu / windows / macos × Node 20/22

Full Changelog: v1.2.0...v1.3.0

v1.2.0 — 查看/编辑 UI / Shared Memory

Choose a tag to compare

@shadyyoung shadyyoung released this 26 Oct 14:12

AI 跨平台记忆增强 · Shared Memory v1.2.0

新增:浏览器查看 / 编辑 UI,以及配套的编辑 API 与 memory_update 工具。

新增 / Added

  • 查看 / 编辑 UI:打开服务地址下的 /ui(插件与独立 Hub 同一个页面)
    • 统计、当前焦点编辑(focus + 下一步)
    • 记忆列表:搜索、按 kind 过滤、加载更多、编辑正文/类型/标签、删除
    • 一键导出 JSONL 备份
    • 配置 apiToken 时页面内输入 token(仅存 localStorage)
    • 单文件、无构建;同源调 API,无需 CORS
  • 新 HTTP 接口
    • POST /api/update — 按 id 原地编辑(保留 id / 创建时间)
    • GET /api/items — 分页(limit / offset / q / kind / tag / days / session)
    • GET /api/export — NDJSON 下载
  • 新模型工具 memory_update — 纠正旧记忆而不是 forget + remember
  • message 原话缓存保持只读(可删除)

UI 地址

http://127.0.0.1:<端口>/dsh-memory/ui
# 独立 Hub 默认:http://127.0.0.1:7400/dsh-memory/ui

测试

  • host-smoke:memory_update、/api/update(含 404)、/api/items 分页、/api/export、/ui
  • standalone-smoke:Hub 上的 update / UI / export
  • CI:ubuntu / windows / macos × Node 20/22

Full Changelog: v1.1.0...v1.2.0

v1.1.0 — 跨平台独立 Hub / Shared Memory

Choose a tag to compare

@shadyyoung shadyyoung released this 26 Oct 13:51

AI 跨平台记忆增强 · Shared Memory v1.1.0

新增:不依赖 DeepSeek Harness 的跨平台独立 Hub。 同一个仓库、同一份数据、同一套 MCP 配置,macOS / Linux / Windows 都能跑。

新增 / Added

  • 独立 Hub(跨平台) standalone/server.mjs
    • 复用同一个 store / HTTP API / MCP 桥,无 DSH 依赖
    • node standalone/server.mjs [--port 7400] [--host 127.0.0.1] [--store DIR] [--token T]
    • 启动时写 runtime.json、复制 mcp-server.mjs、生成 digest.md
  • Windows 兼容
    • 原子写 rename 遇 EPERM/EACCES 时“删除目标 + 重试”
    • MCP 桥 / 插件支持 ~\ 主目录写法
    • Skill 改用 os.homedir()(Windows 无 HOME)
  • 端到端测试 test/standalone-smoke.mjs:真实启动 Hub → HTTP → MCP 桥 → 校验 runtime.json
  • 版本统一为 1.1.0(插件 / 桥 / package)

两种运行方式

方式 需要 DSH 能力
DSH 插件 ✅ 自动捕获 + 提示注入 + 工具 + HTTP + MCP
独立 Hub ❌ 存储 / 搜索 / 焦点 / HTTP / MCP

同一个 store 目录只能运行其中一个 —— 单写者假设。

Install

git clone https://github.com/shadyyoung/dsh-shared-memory.git
cd dsh-shared-memory
node standalone/server.mjs          # 跨平台,无需 DSH
# 或按 DSH 插件方式安装:plugin_manager install_bundle target=<repo>

Docs: README · How it works · Connect apps

Full Changelog: v1.0.0...v1.1.0

v1.0.0 — AI 跨平台记忆增强 / Shared Memory

Choose a tag to compare

@shadyyoung shadyyoung released this 26 Oct 09:57

AI 跨平台记忆增强 · Shared Memory v1.0.0

跨会话、跨 AI 应用、跨平台的记忆增强层。

Highlights

  • Harness Host 插件:自动捕获会话用户消息、跨会话「当前焦点」、会话动态
  • 系统提示注入:每个模型请求前注入共享记忆摘要(用户画像 / 焦点 / 最近动态 / 最近记忆,≤1200 字)
  • 模型工具:memory_remember / memory_search / memory_forget / memory_current
  • 本地 HTTP API + 零依赖 MCP stdio 桥:Claude Desktop / Claude Code / Cursor / ChatGPT Codex 直接接入
  • 可复用 Agent Skill:WorkBuddy 等用 Bash + curl 读写同一份记忆
  • 两层记忆策略:原话 30 天短期缓存;长期记忆只保留模型判断后的条目

Verified

App Read Write
DeepSeek Harness sessions ✅ ✅
WorkBuddy (skill) ✅ ✅
Cursor (MCP) ✅ ✅
ChatGPT desktop Codex (MCP) ✅ ✅
Plain ChatGPT chat / web ❌ ❌

命名 / Naming

  • 中文项目名:AI 跨平台记忆增强 1.0
  • 英文名:Shared Memory(保持不变)
  • 内部标识(包名 @local/shared-memory、skill id、存储目录)保持不变,兼容已有安装。

Install

git clone https://github.com/shadyyoung/dsh-shared-memory.git
# then: plugin_manager install_bundle target=/absolute/path/to/dsh-shared-memory

Docs: README · How it works · Connect apps

Full Changelog: https://github.com/shadyyoung/dsh-shared-memory/commits/v1.0.0