🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

记忆目录 zhang-guo-wen/dsh-memory

DeepSeek Harness
zhang-guo-wen37 天前有提交已提供中文文档扫描:含敏感能力

为会话建立持久记忆,跨轮次记住项目上下文

29.7/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add zhang-guo-wen/dsh-memory
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · model
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 37 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 21 处,展示前 14 条)
  • 读取本地文件
    lib/index.mjs:162
    const content = await readFile(path, { encoding: "utf8" });
  • 写入本地文件
    lib/index.mjs:178
    await mkdir(this.root, { recursive: true });
  • 写入本地文件
    lib/index.mjs:179
    await writeFile(join(this.root, MEMORY_INDEX_NAME), content, { encoding: "utf8" });
  • 读取本地文件
    lib/index.mjs:227
    const text = await readFile(target.absolute, { encoding: "utf8" });
  • 写入本地文件
    lib/index.mjs:241
    await mkdir(dirname(target.absolute), { recursive: true });
  • 写入本地文件
    lib/index.mjs:243
    await writeFile(target.absolute, fileText, {
  • 删除本地文件
    lib/index.mjs:309
    await rm(target.absolute, {
  • 写入本地文件
    lib/index.mjs:322
    async rename(requested, destination) {
  • 写入本地文件
    lib/index.mjs:327
    await mkdir(dirname(target.absolute), { recursive: true });
  • 读取本地文件
    lib/index.mjs:357
    return { content: await readFile(absolute, { encoding: "utf8" }) };
  • 读取本地文件
    lib/index.mjs:517
    return await stat(path);
  • 读取本地文件
    lib/index.mjs:524
    return await realpath(path);
  • 读取本地文件
    lib/index.mjs:531
    return await readdir(path, { withFileTypes: true });
  • 读取本地文件
    build-client.mjs:30
    const css = await readFile(fileId)
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-api-gateway@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-api-workspace-controller@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-store@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-host-directory-picker
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 自选记忆目录
  • 跨轮次记住项目上下文

为 DeepSeek Harness 提供兼容 Claude 的记忆:用户自选记忆目录,含 MEMORY.md 索引与主题文件、memory 工具和设置页

README

由 DeepSeek 最新模型翻译生成
dsh-memory 背景:DeepSeek Harness DeepSeek Harness(dsh)是 DeepSeek AI 开源的 agent harness,几乎所有能力都是 Cordis 插件。它处于 developer preview 阶段、迭代很快,会有破坏性变更(文档站,0.1.7-alpha.);本插件是独立第三方包,@deepseek-ai/ 运行时从宿主解析。 这个插件解决什么问题 会话一结束就什么都不记得;本插件给它一个 Claude 形态的记忆目录(MEMORY.md + 一个记忆一个文件)、一个 memory 工具和设置页区块。 截图 截图待补 —— 本插件目前还没有可捕获的界面截图。 安装 npx @deepseek-ai/dsh plugin --profile web add @guowenzhang/dsh-memory 来自 npm 官方源:。装完重启宿主;本地目录开发安装、git 源与排查见 AGENTS.md。 用法 打开或关闭记忆 设置 → 记忆 的第一项是 启用记忆,默认开启。它是总开关:关掉后新会话不再注入索引、memory 工具不再注册,磁盘上已有的东西一个都不删。
展开完整文档(README 剩余 1 节)
dsh-memory

背景:DeepSeek Harness

DeepSeek Harness(dsh)是 DeepSeek AI 开源的 agent harness,几乎所有能力都是 Cordis 插件。它处于 developer preview 阶段、迭代很快,会有破坏性变更(文档站,0.1.7-alpha.);本插件是独立第三方包,@deepseek-ai/ 运行时从宿主解析。

这个插件解决什么问题

会话一结束就什么都不记得;本插件给它一个 Claude 形态的记忆目录(MEMORY.md + 一个记忆一个文件)、一个 memory 工具和设置页区块。

截图

截图待补 —— 本插件目前还没有可捕获的界面截图。

安装

npx @deepseek-ai/dsh plugin --profile web add @guowenzhang/dsh-memory

来自 npm 官方源:。装完重启宿主;本地目录开发安装、git 源与排查见 AGENTS.md。

用法

打开或关闭记忆

设置 → 记忆 的第一项是 启用记忆,默认开启。它是总开关:关掉后新会话不再注入索引、memory 工具不再注册,磁盘上已有的东西一个都不删。

记忆目录里有什么

/
├── MEMORY.md # 索引:一行一个记忆,无 frontmatter,会话开始时加载 ├── debugging.md # 一个记忆一个文件,带 frontmatter └── ...

索引行格式:

Memory Index

Project
- build-and-test.md — 构建约 45s,Vitest,dev server 在 3001
- architecture.md — API client 单例,refresh-token 鉴权

话题文件格式:

name: debugging-patterns
description: 认证令牌轮换与数据库连接排查 metadata: type: reference

认证令牌 ...

选择记忆目录

记忆目录模板 决定存储放在哪;~ 是用户目录,{project} 是当前项目的目录名。

| 写法 | 解析结果 |
| ~/.dsh/memory/{project}(默认) | 每个项目一个独立子目录,互不串味 |
| ~/.dsh/memory | 所有项目共用一份(去掉 {project} 即为共享) |
| ~/.claude/projects/{project}/memory | 等价于打开 兼容 Claude 目录 开关 |

{project} 取会话工作目录所属的 git 仓库根(.git 文件即链接 worktree,会回溯到主仓库),把 [A-Za-z0-9] 以外的字符全部换成 -:C:\02-codespace\deepseek-harness → C--02-codespace-deepseek-harness,与 Claude 写在 ~/.claude/projects/ 下的目录名一致。

选择目录… 在宿主提供系统选择框时打开它,否则打开内置目录浏览器;直接在输入框里填路径在任何环境下都可用。旁边的 目录状态 报出当前项目解析到的目录、索引的行数与字节、文件数与合计大小,以及单文件上限。

与 Claude Code 共用同一个目录

兼容 Claude 目录默认关闭。 关闭时记忆写进你自己的目录(可选、可改);打开后不需要选目录——存储就是 Claude Code 的 ~/.claude/projects//memory,与 Claude 共用同一份。再关掉就回到你原先配置的目录。

查看另一个项目

记忆按项目存,所以设置页一次只显示一个:目录状态 与 MEMORY.md 索引 编辑器针对 项目 下拉里选中的那个项目。下拉内容 =

- 当前项目(宿主进程所在的那个);
- 每个 DSH 工作区;
- 打开 兼容 Claude 目录 时,再加上 /projects/ 下的每个项目目录。

按解析出来的目录去重,所以同一个仓库只出现一次;只有一个项目时下拉不显示。切换只影响看和编辑哪一份,不改模板、也不影响会话——每个会话永远按自己的工作目录解析。

保存一条记忆

保存是两步:先写记忆文件,再往 MEMORY.md 加一行指针——索引里只放指针,不放正文。这套协议由注入的 instructions 说明,模型自己执行;你也可以直接在设置页的 MEMORY.md 索引 编辑器里改。

使用 memory 工具

模型通过一个 memory 工具触达整个存储,路径统一寻址到 /memories;每个返回都是工具自己的原文——包括失败,它们是返回而不是抛出(Error: File … already exists、Please ensure it is unique 等)。view 的文件行数上限、view_range、目录 2 层、隐藏项与 node_modules 排除、/memories 寻址、create 遇已存在即失败、str_replace 要求唯一匹配、insert 的 0 基行号、delete 拒绝根目录、rename 拒绝覆盖——这些都与 Claude 的 memory 工具一致。

| 命令 | 行为 |
| view | 列目录两层,排除隐藏项与 node_modules;或带行号显示文件,view_range: [start, end] 只取窗口 |
| create | 写新文件并创建父目录;路径已存在即失败 |
| str_replace | 替换必须唯一出现的 old_str;出现多次时报出行号 |
| insert | 在第 insert_line 行(0 基)插入文本 |
| delete | 删除文件,或删除目录及其内容;拒绝 /memories 根 |
| rename | 移动条目;拒绝覆盖已存在的目标 |

会话加载什么

每个会话的第一次请求折叠一条 instructions 消息:记忆协议加当前 MEMORY.md 的前 200 行或 25 KB——与 Claude 的加载上限相同。该消息记进 Session 日志,恢复的会话不会重复注入;这个上限是加载上限而不是裁剪,索引剩下的部分留在磁盘上、不进请求。

注意事项

- 不写 frontmatter 的 modified 时间戳。 Claude Code 用普通文件工具写入时会补一个 ISO-8601 时间戳;本插件让「模型写什么,文件里就是什么」,不做隐式改写。
- 单文件上限 1 MiB。 本插件读写单个记忆文件的默认上限就是 1 MiB。
- # 快捷追加不是本插件的能力:Claude 现行官方文档里也没有这个前缀(交互模式文档只列了 /、!、@、:、?)。要手动记一条,直接在设置页编辑索引,或让模型用 memory 工具写入。
- 不做自主维护:插件不会自己总结、归档或删除记忆——写入只发生在模型调用 memory 工具时,删除只能由模型的 delete 或你在设置页手动发起。
- 记忆目录之外的路径一律拒绝:../、绝对路径、盘符路径都不会逃出 /memories,目录内的软链接也无法把写入引到外面。
- 新的设置区块要硬刷新浏览器(Ctrl+F5),因为页面持的是它加载时的 boot 图;只重启宿主不会重建它。
- CLAUDE.md 一类的指令文件不属于本插件——那是 @guowenzhang/dsh-claude-compat 的职责。两者互不依赖,可单独安装。

许可

插件本体是 Apache-2.0——见 LICENSE 与 NOTICE。插件契约、设置区块与 Remote 界面中有部分派生自 DeepSeek Harness,这些部分仍按 MIT 许可,原文收在 NOTICE 里。

延伸阅读

- AGENTS.md —— 安装的各种变体、插件如何被组合进 profile、每个配置字段与默认值、构建与部署语义、发版步骤与排查。
- docs/implementation.md —— 实现参考:目录解析、存储、注入时机与设置页的 Remote。
- tests/README.md —— spec 运行方式与每个 spec 的覆盖范围。
- @guowenzhang/dsh-claude-compat —— 姊妹插件,负责 CLAUDE.md 指令文件、技能与作用域规则。
- @guowenzhang/dsh-mcp-manager —— 姊妹插件,负责 MCP。
- DeepSeek Harness 文档。
预览分享卡片长什么样 ↓zhang-guo-wen/dsh-memory
分享 · DeepSeek Harness Hub
zhang-guo-wen/dsh-memory

为会话建立持久记忆,跨轮次记住项目上下文

回到顶部