hy-memory4dsh:为 DSH 接入会话、项目、个人三层长期记忆

前言

DeepSeek Harness(DSH)把智能体能力拆成可组合的插件,但默认上下文仍受单次会话限制:AGENTS.md 需要人工维护,换一场对话后,项目约定、个人偏好和踩过的坑往往要重新讲一遍。社区维护者 Echo-Smith 的 hy-memory4dsh(npm 包名 dsh-hy-memory)在 DSH 进程内挂接 Hy-Memory 2.0 的 Python SDK,用 sidecar 与独立 venv 跑记忆引擎,无需单独起服务,在每一步前后自动召回、写入并逐级沉淀记忆。

这是什么

hy-memory4dsh 是 DSH 的长期记忆插件:三层存储(个人、项目、项目内会话),三种场景(默认 chat;working / coding 按 workspace id 分库),存储目录在 $DSH_HOME/integrations/hy-memory/。记忆引擎来自 PyPI 的 hy-memory(本仓库不内嵌 Hy-Memory 源码),插件侧为 MIT;上游 Hy-Memory 的代码与许可证归 Hy-Memory 项目。

核心机制与功能

Recall / Capture / Promotion

插件在 DSH 内运行,sidecar 自带 venv,用户不必再启动额外服务。

  1. Recall:在 agent/pre-step 检索个人层、当前项目、当前会话,将命中项合并为一条带来源的 user 消息注入上下文;标注为背景数据、可能过时,且不作为指令。
  2. Capture:按窗口批量收集轮次及 tool call,交给 sidecar,路由到 chat 或 working/coding 存储。
  3. Promotion:会话记忆沉淀为项目约定,再上升为个人偏好,形成 session → project → personal 链路。

面板与工具

  • Settings > 记忆:个人 Tab、项目/会话 Tab、项目选择、分页、总开关、占用估算;支持浏览、搜索、编辑、删除。
  • 自动 recall / capture,含 tool-call 轨迹;日常 recall 不混入其他项目,可按需跨项目搜索。
  • MemHub:检测、导出、拉取(MemHub 运行时因 holder pid 会拒绝 pull)、去重导入。
  • 手动写入:memory_add 根据内容推断个人或项目层并回报落点。
  • 面板页脚提供更新检查与 GitHub 链接。

嵌入默认本地 ONNX(384 维,约 80 MB 首次下载到 ~/.cache/chroma),模型对话复用 DSH 已有路由;也可配置远程 embedding 端点。

安装与启用

要求:DSH 0.2 preview、Python 3.10+(首次使用在插件目录内引导 venv)、可选 git(用于 workspace id)。首次使用需一次网络访问(安装 hy-memory 及可选 embedding 模型)。可用环境变量 HY_MEMORY_SDK_PACKAGE=hy-memory==<version> 固定 SDK 版本。

在插件仓库根目录执行:

dsh plugin --profile desktop add link:$(pwd)

然后打开 Settings > 记忆。首次使用会引导 Python 环境;模型路由沿用现有 DSH 设置,无需额外填 API Key。

通过 npm 装入 profile

公开发布包 dsh-hy-memory(README 写明 0.1.2)。profile 需把包列为依赖并在 dsh.profile.bundles 中注册名称,可用仓库脚本一并完成并校验 apply() 导出:

node scripts/install-into-profile.mjs --spec dsh-hy-memory --apply

之后重启或 reload DSH。手动方式:在 profile 内 pnpm add dsh-hy-memory,并把包名写入 dsh.profile.bundles。

GitHub Packages 作用域包 @echo-smith/dsh-hy-memory、Release tarball 与本地 dist 包也可用同一脚本 --spec 安装,详见仓库 README 的 Install 小节。

配置

设置文件:$DSH_HOME/integrations/hy-memory/settings.json,与面板编辑同一对象。

键 默认 含义
enabled 开 总开关;关则暂停 recall、capture 与工具,面板只读
recall.maxItems / maxChars / minScore 5 / 1200 / 0.56 每步召回条数、字符预算、相关度下限
capture.windowTurns 3 每批捕获的轮次数
capture.productivity 关 为开时将批次写入 working/coding 库而非 chat
promotion.everyTurns 8 两次 promotion 之间的轮次间隔
embedding.mode local local 或 remote(remote 需 baseURL / model / apiKey / dims)

典型用法

  1. 安装并打开 Settings > 记忆,确认总开关开启,等待首次 venv 与 SDK 安装完成。
  2. 正常对话:每步前自动 recall;每若干轮自动 capture 与 promotion,无需手工触发。
  3. 需要固定规则时调用 memory_add,由插件判断写入个人或项目层。
  4. 若曾用 MemHub,可在面板内按 README 说明做导出/导入;MemHub 运行期间 pull 会被拒绝。
  5. 在 DSH 插件市场设置中添加索引 URL,便于详情页对比已装版本与索引版本:
https://raw.githubusercontent.com/Echo-Smith/hy-memory4dsh/main/market/index.json

适用场景与注意

适合需要跨会话、跨项目保留约定与偏好的 DSH 用户,以及要与 MemHub 数据互通的场景。working / coding 场景适合把生产力类对话与纯 chat 分库。

插件与 sidecar 以当前 DSH 进程权限运行,记忆与配置落在 $DSH_HOME/integrations/hy-memory/;安装前建议阅读仓库源码与 MIT 许可证,并知悉 Hy-Memory SDK 为独立上游依赖。社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系。

结尾

hy-memory4dsh 把 DSH 从「单会话 + 静态 AGENTS.md」扩展到可自动召回、写入与逐级沉淀的三层记忆,面板可管可查。进一步说明见 GitHub README 与 SkillHub 目录页。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜