DSH HUB
首页插件商店插件包社区排行榜资源发布指南
插件源码
返回插件目录

IriskaDev /

IriskaDev/dsh-global-memory

已验证

这个插件还没有填写简介。

★ 0 Stars0 Forks0 IssuesN/A 社区评分0 已确认安装
查看 GitHub
README来源: master@605ead5e

@dsh-external/dsh-global-memory

DSH Agent 跨会话全局记忆插件(toolkit 形态)。数据仅存本机 $DSH_HOME/memory/,不进入任何业务仓库,也不会上传到远端。

runtime 兼容性:DSH 0.1.x(会话格式 v3)与 0.2.x(会话格式 v4)均可使用。0.2.x 起注入消息必须使用 v4 producer-owned 的 source.kind(plugin:<插件名>),插件已按此写入;历史会话中的旧 kind 会在首次加载时自动修复(见「历史会话兼容迁移」)。

设计原则

  • 会话开始自动注入条目级索引:每个会话首 step 自动注入一次全部记忆的轻量索引(按分类分组,列出 key 与 tags),位于 system prompt + tools 之后,不注入全文。
  • 模型按需查阅:模型在工作过程中发现记忆里可能有相关内容时,自行调用 memory_recall(key) 读取全文;全文仅在当轮工具结果中返回,用完即止。
  • 显式写入:不自动记录对话内容。只有用户明确要求“帮我记一下”,或模型判断应全局保存时,才调用 memory_save 落盘。
  • 用户可直接保存:/memory_save <key> <content...> 命令直接落盘,不经过 LLM,结果不进模型上下文。

工具

工具 参数 行为
memory_save key*, category*, content*, summary?, tags? 创建或覆盖一条记忆
memory_recall key* 按 key 返回该条完整内容
memory_search query*, category?, tag?, limit? 对 key/content/tags 做大小写不敏感子串搜索,返回摘要
memory_delete key* 删除一条记忆

用户命令

命令 语法 行为
/memory_save /memory_save <key> <content...> 直接保存;category 默认 general,summary 自动截取
/memory_delete /memory_delete <key> 直接删除

命令在 UI 命令面执行,内容不经过 LLM、不进模型历史、不占 token。

数据位置与格式

$DSH_HOME/memory/
  index.json                  # 索引缓存,可由 m*.json 重建
  m0001_<key>.json            # 单条记忆
  • key:[a-zA-Z0-9_-],1–64 字符
  • category:[a-zA-Z0-9_-],1–32 字符,由模型在保存时自行总结
  • content:UTF-8,单条上限 256 KB
  • summary:可选,缺省自动截取 content 首行/前 80 字
  • tags:可选,单 tag ≤ 32 字符

安装

  • 内部开发调试:dev_build_plugin 构建 + dev_inject_plugin 运行时注入(免重启,无需改 profile)。
  • 常驻装配:dsh plugin --profile <name> add link:<本目录>(或 super-injector 的 dev_install_package)。该路径会把包写进 profile 的 dsh.profile.bundles,要求本包 package.json 具备 dsh.bundle.patch 声明并随仓库提供 cordis.patch.yml(本仓库已提供)。

历史会话兼容迁移

0.0.5 起,插件写入的索引消息使用 v4 producer-owned 的 source.kind = "plugin:@dsh-external/dsh-global-memory"。DSH 0.2.x 的会话格式 v4 原生准入明确拒绝 kind === "plugin" 的包裹式 source(format v4 message requires a producer-owned source kind);v3 runtime 也接纳命名空间形态,因此无需按版本分支。

升级后首次加载插件时,会在任何会话被打开之前自动扫描 $DSH_HOME/sessions:

  • 处理本插件历史上写出的两代载荷:source.kind = "memory-index"(≤ 0.0.3)与 { kind: "plugin", plugin: <本插件名> }(0.0.4),统一改写为 plugin:@dsh-external/dsh-global-memory;
  • 只改写 plugin 字段等于本插件名的记录,其他插件的 source 一律不动;
  • 每个会话目录只处理当前代次的活跃工件(session.v4.jsonl.zstd 等),旧代次备份保持原样;
  • 修改前为每个会话文件创建 session.<ver>.jsonl.zstd.bak-dsh-global-memory-2 备份;
  • 迁移完成状态记录在 $DSH_HOME/memory/.legacy-session-source-migration.json,重复启动不会重复修改(版本号提升后会自动重跑一次);
  • 单个文件迁移失败时不会写完成标记,下次启动会重试。

⚠️ 0.0.4 的迁移会把 memory-index 改写成 kind: "plugin" 包裹形态。该形态在 v3 下正确,但在 DSH 0.2.x(会话格式 v4)下非法,会让整轮运行失败。0.0.5 的迁移(版本号 2)会修复这批历史文件。

隐私说明

  • 本插件只做显式记忆,不自动采集对话内容。
  • 记忆文件只存在于本机 $DSH_HOME/memory/,不进入 git 仓库(见 .gitignore),也不会上传远端。
—/ 5

暂无评分

已验证 DSH bundle

Commit 605ead5e24ec

社区评论

还没有评论,来写第一条。

DSH HUB

社区维护的 DSH 插件索引。不是 GitHub 或 DeepSeek AI 的官方产品。

社区资源API关于