jiyi:DSH 桌面端跨会话记忆插件

前言

在 DeepSeek Harness(DSH)里做智能体或长期协作时,会话一关,上下文就断:项目约定、用户偏好、上一轮结论往往要重新说一遍。把记忆写进项目仓库又容易污染代码库,也不适合「全局偏好」和「多工作区共用」的场景。下面介绍社区插件 jiyi(维护者 yueyexiayu):面向 官方桌面端,在 $DSH_HOME/jiyi/ 维护 topic、收件箱与索引,并在下一轮开始前按需注入模型;模型侧通过专用工具读记忆,而不是用文件工具翻本地目录。

这是什么

jiyi 是 DSH 官方桌面端的跨会话记忆插件:右侧栏「开始」页增加 记忆 入口,支持 Markdown topic、回合结束后的观察采集、索引生成,并在出步前注入。它走 connection.fetch,不依赖 webServer,也不通过 dsh plugin --profile desktop 安装依赖。分类上属于社区目录中的 记忆 类插件;仓库当前版本为 0.1.4(见 package.json)。

核心功能

浏览与注入

  • 在右侧栏 记忆 中浏览 global / 工作区 topic 与收件箱。
  • 有新消息的出步前,只读生成当前索引;内容变化才重新注入。首次空仓不注入;删除最后一个 topic 后会发送旧索引失效通知。保留 DSH 的 startsRequestSeries 等决策字段。
  • 索引提醒使用 v4 的 plugin:jiyi 消息来源;插件提醒、续写提醒和团队消息不会当作真实用户偏好采集。

模型如何读记忆

模型应使用 jiyi_list / jiyi_search / jiyi_read 读记忆,不要用文件工具直接访问 ~/.dsh/jiyi。

回合边界与观察采集

  • 只在官方 session/event 的 turn/end completed 最终边界采集;等 xuxie 同轮续写结束后再抽取一次。
  • aborted(用户取消或释放导致的中止)记为 cancelled;error 记为 failed;max-tokens 记为 skipped。未正常完成的回合不会当成成功提取。
  • 已 completed 的抽取持有独立工作区/会话快照,随后的 Agent 释放不会取消它;没有 completed 边界的释放不会触发抽取。
  • 工具摘要读取 v4 直接输出、source.callId、isError 和结构化失败原因;未返回结果标为 unresolved。摘要为回合状态和工具单独留预算,长正文不会挤掉全部工具信息。

抽取与整理

  • 使用模型池抽取:主模型 glm-5.3-flash,副模型 deepseek-flash。纯任务/提问不送抽取模型;混合请求里带「以后」「默认」等持久约定仍参与抽取;「记住:」可本地采集。
  • 结构无效、超限的结果进入后备模型;敏感内容过滤单独记为 filtered,存储/抽取失败在状态中可见。
  • 抽出后用同一模型池整理 topic:整理计划先完整校验,再以可恢复事务更新;失败保留输入。处理过的原始观察(含 noop)归档。LLM 返回 processed/archived 和 coverage: unverified,不声称所有观察都已融入主题。

状态 API 与冷历史

  • /api/jiyi?action=status 提供 lastInjection、lastCapture、lastDream。带 sessionId 时,lastCapture 只显示该会话最新回合,lastInjection 只显示该会话注入结果;旧回合迟到完成不能覆盖新回合 cancelled;另一会话注入成功不能掩盖本会话失败。不带 sessionId 的全局页保留最近实际工作状态。lastDream 表示跨工作区后台整理,而非当前会话成功。
  • 右侧栏冷历史工作区复用官方 sessionController.inspect(sessionId, signal),不创建/恢复 Agent、不推理、不修改会话。未知会话 404;缺少绝对 cwd 400;服务缺失 503;历史损坏 500。有 sessionId 的失败不会降级为全局记忆。

存储位置

文件在 $DSH_HOME/jiyi/(默认 ~/.dsh/jiyi/),不写进用户仓库。同一 git origin 的 clone / worktree 共用工作区目录。

安装与启用

jiyi 不是 dsh plugin install 一键安装;需手动复制并在 desktop profile 打 patch。

  1. 将插件复制到 $DSH_HOME/plugins/jiyi(默认 $DSH_HOME 为 ~/.dsh)。
  2. 在 $DSH_HOME/profiles/desktop/cordis.patch.yml 写入:
- insert:
    - id: jiyi
      name: ../../plugins/jiyi/lib/index.js
  1. 完全退出 DeepSeek Harness(macOS:⌘Q)再打开,才能加载新的 Host/Client 代码。
  2. 展开右侧栏,在「开始」里会出现 记忆。重启后已有会话在下一次有消息的出步前也会按当前索引检查注入;单纯刷新网页不保证更新 Host。

典型用法

  1. 安装并重启桌面端后,从「开始」进入 记忆,查看 global 或当前工作区的 topic 与收件箱。
  2. 正常对话中,在混合请求里说明持久约定(如「以后默认用 TypeScript」),或在消息中使用「记住:」触发本地采集;回合 completed 后插件会抽取观察并进入收件箱,再由后台整理合并进 topic。
  3. 需要模型引用历史时,在对话中让 Agent 调用 jiyi_search / jiyi_read(或 jiyi_list 浏览),而不是读取 ~/.dsh/jiyi 下的文件。
  4. 排查注入或整理问题时,可请求 /api/jiyi?action=status(按需带 sessionId)查看 lastInjection、lastCapture、lastDream。

适用场景与注意

适合谁: 长期使用 DSH 官方桌面、希望在多会话、多工作区间保留 topic 级记忆,且能接受记忆落在本机 $DSH_HOME 的开发者。

务必知晓:

  • 插件以 当前 DSH 进程权限 运行;安装前应自行阅读 GitHub 源码 与仓库声明,确认许可证与数据边界。
  • 面向官方桌面;不要用 dsh plugin install 往 desktop profile 塞依赖。
  • 关闭 Host 会中止正在运行及排队中的抽取/整理;已完成写入不会撤销。不带 Git host 的旧工作区目录需按 README「安全与恢复边界」做显式迁移,不能指望自动归属。
  • 社区插件目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系;星标等元数据以目录页为准(当前为 0)。

结尾

jiyi 把跨会话记忆从「写进仓库」或「靠模型瞎记」里拆出来:本地 topic + 收件箱 + 出步前索引注入,并用 completed 边界和专用工具约束采集与读取。若你需要在 DSH 桌面端长期保留可检索的记忆,可按上文步骤安装并在「记忆」入口维护 topic。

  • 目录页:https://www.skillhub.cn/plugins/yueyexiayu/dsh-jiyi
  • GitHub:https://github.com/yueyexiayu/dsh-jiyi
羽毛球分组比赛记分
小程序二维码

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

Xiaoye