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

任务隔离记忆 wangyihao0001-oss/dsh-task-memory

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

按任务分库存取长期记忆,跨任务默认互不可见

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

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

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add wangyihao0001-oss/dsh-task-memory
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · search
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
数据截至 2026/11/01·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 77 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

⚠︎ 实装验证未通过(dependency_conflict · 2026/11/1) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-task-memory(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/12 15:07:17

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件
查看扫描证据(共 8 处,展示前 8 条)
  • 写入本地文件
    lib/store.js:49
    await mkdir(this.root, { recursive: true });
  • 读取本地文件
    lib/store.js:77
    const raw = await readFile(file, 'utf8');
  • 写入本地文件
    lib/store.js:135
    await writeFile(tmp, `${JSON.stringify(payload, null, 2)}\n`, 'utf8');
  • 写入本地文件
    lib/store.js:136
    await rename(tmp, file);
  • 读取本地文件
    lib/store.js:140
    const names = (await readdir(this.root)).filter((name) => name.endsWith('.json'));
  • 读取本地文件
    lib/store.js:160
    const names = await readdir(this.root);
  • 读取本地文件
    lib/store.js:166
    const info = await stat(file);
  • 删除本地文件
    lib/store.js:168
    await rm(file, { force: true });
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tools@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 按任务分库存取记忆
  • 跨任务默认互不可见
  • 记忆限定任务边界

DeepSeek Harness 的任务隔离长期记忆——记住、回忆、搜索都限定在单个任务边界内。

README

由 DeepSeek 最新模型翻译生成
dsh-task-memory dsh.pub registry status CI License: MIT 面向 DeepSeek Harness 的任务隔离长期记忆插件。 记忆按任务分库,保存在 ~/.dsh/storages/task-memory/。写入某一任务的事实,对其他任务默认不可见,除非主动切换任务。 目录页: dsh.pub/zh/plugins/dsh-task-memory 为什么做这个 多数 DSH memory 插件是全局或按 workspace 共享的。本插件把 task(任务) 当作隔离边界: 1. 默认任务:由 session 的 cwd 推导 2. memory_bind_task:把当前 session 绑到指定任务 vault 3. 搜索 / 读取 / 提示注入:不会跨任务边界,提示注入按 agent 级作用域注册——每个会话的系统提示只注入它自己任务的记忆 快速开始 安装到 web profile(生产环境建议钉完整 commit SHA) dsh plugin --profile web add "github:wangyihao0001-oss/dsh-task-memory" 或通过目录 CLI
展开完整文档(README 剩余 1 节)
dsh-task-memory

dsh.pub registry status
CI
License: MIT

面向 DeepSeek Harness 的任务隔离长期记忆插件。

记忆按任务分库,保存在 ~/.dsh/storages/task-memory/。写入某一任务的事实,对其他任务默认不可见,除非主动切换任务。

目录页: dsh.pub/zh/plugins/dsh-task-memory

为什么做这个

多数 DSH memory 插件是全局或按 workspace 共享的。本插件把 task(任务) 当作隔离边界:

1. 默认任务:由 session 的 cwd 推导
2. memory_bind_task:把当前 session 绑到指定任务 vault
3. 搜索 / 读取 / 提示注入:不会跨任务边界,提示注入按 agent 级作用域注册——每个会话的系统提示只注入它自己任务的记忆

快速开始

安装到 web profile(生产环境建议钉完整 commit SHA)
dsh plugin --profile web add "github:wangyihao0001-oss/dsh-task-memory"

或通过目录 CLI
npx dshpub add wangyihao0001-oss/dsh-task-memory --profile web

重启 Web UI(或重启 profile),然后在会话里:

1. memory_bind_task — 例如 taskId: "my-app"(可选 title)
2. memory_remember — key: "stack",content: "Node 22 + Postgres",可选 pinned: true
3. memory_recall / memory_search — 在同一任务内读回
4. memory_current_task — 确认当前 session 落在哪个 vault

工具

| 工具 | 作用 |
| memory_bind_task | 将当前 session 绑定到某个任务 vault |
| memory_current_task | 查看当前 session 所在 vault(绑定 or 默认) |
| memory_remember | 按 key 写入或更新一条事实(可选 tags / 置顶 / 指定任务) |
| memory_recall | 按精确 key 读取 |
| memory_search | 关键词搜索(英文 + 中文 bigram);空查询列出近期/置顶 |
| memory_forget | 删除一条 |
| memory_list_tasks | 列出所有任务 vault |
| memory_clear_task | 清空某个 vault(需 confirm: true) |

不要把密钥、token 等敏感信息写进记忆。

安装 / 验证 / 卸载

安装
dsh plugin --profile web add "github:wangyihao0001-oss/dsh-task-memory#"

确认 bundle 层已出现
dsh --profile web --dump-config

从 profile 移除
dsh plugin --profile web remove dsh-task-memory

安装或卸载后,请重启 dsh web(或重启 profile),让 Cordis 层重新加载。

卸载不会删除 ~/.dsh/storages/task-memory/ 下的 vault 文件——需要备份或清理请自行处理。

本地开发(不安装)

npm install
npm run build
npm test # node:test 单测
npm run smoke # 构建 + 冒烟

开发时 link 本地 checkout:

dsh plugin --profile web add "$(pwd)"

若从 DSH 源码仓库启动:

pnpm dsh web --patch /absolute/path/to/dsh-task-memory/cordis.dev.yml

请把 cordis.dev.yml 里的绝对路径改成指向本仓库编译后的 lib/index.js。

配置

cordis.patch.yml 默认值:

injectLimit: 8 # 注入到提示中的记忆条数上限 injectMaxChars: 2400 # 注入块软字符预算 injectMaxEntryChars: 400 # 单条记忆在注入块中的字符上限(超出截断) injectPrompt: true # 是否为当前任务注入置顶/近期事实 maxEntries: 500 # 每个 vault 的条目上限(>= 1);超出时淘汰最旧的非置顶条目(置顶永不被淘汰;新增超出上限会被拒绝;对已有 key 的更新不受容量限制)

可选 storageRoot 覆盖默认目录 ~/.dsh/storages/task-memory。

存储与可靠性

~/.dsh/storages/task-memory/
.json

每个文件形如:

{
"taskId": "",
"title": "",
"updatedAt": 0,
"entries": [
{
"id": "m_…", "key": "", "content": "…",
"tags": [],
"pinned": true,
"createdAt": 0,
"updatedAt": 0
}
]
}

- 文件是纯 JSON,可直接手工编辑或备份
- 写入通过临时文件 + 原子 rename,读取永远看到一致快照
- 同一任务的写入(含 memory_bind_task 的标题更新、save、update)在进程内串行化(per-task 锁),并行 agent 并发写不会丢更新。读改写请优先用 update,避免 load → 修改 → save 覆盖并发写入
- 置顶条目永不被淘汰;vault 满且可淘汰的只有置顶条目时,新增 key 会被拒绝并返回明确错误(避免「刚写入就被淘汰」的静默丢失);对已有 key 的原地更新(upsert)不受容量限制,仍会尽力收缩
- 启动时自动清理崩溃残留的 .tmp(只清理超过 1 小时的,避免误删其他进程的进行中写入)

模型体验

当 injectPrompt 为 true 时,插件会把一段简短记忆块注入当前 agent 会话的系统提示:

- 只包含该会话绑定的 vault(或 cwd 推导的默认任务)
- 优先置顶条目,其次近期条目,受 injectLimit / 字符预算约束
- 其他会话、其他任务的记忆不会出现在这段注入里

超出提示预算的内容,仍可通过工具显式 recall / search。

已知限制

- 目前是 Host-only 组合包:尚无浏览 vault 的 Web UI(见路线图)
- 搜索是词法匹配(英文 token + 中文 bigram),不是向量检索
- 隔离边界是本插件内的 task id,并不沙箱化整个 DSH
- dsh.pub 上架是自动契约检查,不等于安全审计
- 请勿在记忆中存放凭据、token 或个人隐私

兼容性

- Node.js >= 20
- peer 依赖见 package.json(@deepseek-ai/dsh- / cordis / schemastery)
- 通过 dsh.bundle.patch → cordis.patch.yml 以 Git bundle 安装
- 目标 profile:web(或任何会加载 Host tools 的 profile)

路线图

- ✅ 按 session 精确的提示注入(agent 级 scoped context,取代进程级 bind 猜测)
- 在同一套工具背后可选向量检索
- 小型 Web UI:浏览 / 置顶 / 删除 vault

许可证

MIT — 见 LICENSE。
预览分享卡片长什么样 ↓wangyihao0001-oss/dsh-task-memory
分享 · DeepSeek Harness Hub
wangyihao0001-oss/dsh-task-memory

按任务分库存取长期记忆,跨任务默认互不可见

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部