在指定预设中屏蔽其他记忆插件,保持上下文干净
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/22 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Sacredbluedragon/dsh-memory-shield该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 82 处,展示前 57 条)
- 读取本地文件packages/dsh-memory-core/_dryrun.mjs:214
return readFileSync(path, "utf8"); - 读取本地文件packages/dsh-memory-core/_dryrun.mjs:448
ok("7d 两份文件各自独立落盘", existsSync(join(dirX, "memory.md")) && existsSync(join(dirY, "memory.md")), "两文件都存在", [existsSync(join(dirX, "memory.md")), exists - 读取本地文件packages/dsh-memory-core/_dryrun.mjs:470
const coreSrc = readFileSync(new URL("./index.js", import.meta.url), "utf8"); - 读取本地文件packages/dsh-memory-core/_dryrun.mjs:557
existsSync(cfgBefore.json?.data?.livePath), - 读取本地文件packages/dsh-memory-core/_dryrun.mjs:564
const clientSrc = readFileSync(new URL("./client.js", import.meta.url), "utf8"); - 读取本地文件packages/dsh-memory-core/_dryrun.mjs:626
const clientSrc = readFileSync(new URL("./client.js", import.meta.url), "utf8"); - 写入本地文件packages/dsh-memory-core/_dryrun.mjs:710
writeFileSync(file, broken); - 删除本地文件递归packages/dsh-memory-core/_dryrun.mjs:750
rmSync(root, { recursive: true, force: true }); - 发起网络请求packages/dsh-memory-core/client.js:17
const jget = async (p) => (await fetch(API + p, { credentials: "same-origin" })).json(); - 发起网络请求packages/dsh-memory-core/client.js:19
(await fetch(API + p, { - 写入剪贴板packages/dsh-memory-core/client.js:98
await navigator.clipboard.writeText(text); - 发起网络请求packages/dsh-memory-core/client.js:471
fetch("/api/memory-shield/health", { credentials: "same-origin" }) - 读取本地文件packages/dsh-memory-core/index.js:113
try { return existsSync(lastCwdFile) ? readFileSync(lastCwdFile, "utf8").trim() : ""; } catch { return ""; } - 读取本地文件packages/dsh-memory-core/index.js:113
try { return existsSync(lastCwdFile) ? readFileSync(lastCwdFile, "utf8").trim() : ""; } catch { return ""; } - 写入本地文件packages/dsh-memory-core/index.js:119
mkdirSync(dirname(lastCwdFile), { recursive: true }); - 写入本地文件packages/dsh-memory-core/index.js:120
writeFileSync(lastCwdFile, value + "\n", "utf8"); - 读取本地文件packages/dsh-memory-core/index.js:136
if (!existsSync(memoryDir)) mkdirSync(memoryDir, { recursive: true }); - 写入本地文件packages/dsh-memory-core/index.js:136
if (!existsSync(memoryDir)) mkdirSync(memoryDir, { recursive: true }); - 读取本地文件packages/dsh-memory-core/index.js:145
items = readdirSync(d, { withFileTypes: true }); - 读取本地文件packages/dsh-memory-core/index.js:530
const html = readFileSync(htmlPath, "utf8"); - 读取本地文件packages/dsh-memory-core/index.js:564
orphanKey: s.memoryTracks === "full" && existsSync(join(memoryDir, "key.md")), - 执行外部命令来自配置/变量packages/dsh-memory-core/index.js:700
const child = spawn(opener[0], opener[1], { detached: true, stdio: "ignore" }); - 读取本地文件packages/dsh-memory-core/lib/runtime-config.js:40
return pick(JSON.parse(readFileSync(liveConfigPath(memoryDir), "utf8"))); - 写入本地文件packages/dsh-memory-core/lib/runtime-config.js:48
writeFileSync(liveConfigPath(memoryDir), JSON.stringify(next, null, 2) + "\n", "utf8"); - 读取本地文件packages/dsh-memory-core/lib/store.js:219
const info = statSync(lockPath) - 读取本地文件packages/dsh-memory-core/lib/store.js:221
const owner = JSON.parse(readFileSync(lockPath, 'utf8')) - 写入本地文件packages/dsh-memory-core/lib/store.js:245
mkdirSync(dir, { recursive: true }) - 写入本地文件packages/dsh-memory-core/lib/store.js:252
writeFileSync(lockPath, LOCK_JSON()) - 删除本地文件packages/dsh-memory-core/lib/store.js:261
if (isStaleLock(lockPath)) rmSync(lockPath, { force: true }) - 删除本地文件packages/dsh-memory-core/lib/store.js:272
rmSync(lockPath, { force: true }) - 执行外部命令固定命令packages/dsh-memory-core/lib/store.js:324
const result = spawnSync('git', ['branch', '--show-current'], { - 执行外部命令固定命令packages/dsh-memory-core/lib/store.js:339
const result = spawnSync('git', ['branch', '--format=%(refname:short)'], { - 读取本地文件packages/dsh-memory-core/lib/store.js:491
days = readdirSync(dir) - 读取本地文件packages/dsh-memory-core/lib/store.js:502
text = readFileSync(join(dir, `${day}.md`), 'utf8') - 读取本地文件packages/dsh-memory-core/lib/store.js:543
return { text: readFileSync(path, 'utf8'), size: statSync(path).size } - 读取本地文件packages/dsh-memory-core/lib/store.js:543
return { text: readFileSync(path, 'utf8'), size: statSync(path).size } - 写入本地文件packages/dsh-memory-core/lib/store.js:556
writeFileSync(backup, text) - 写入本地文件packages/dsh-memory-core/lib/store.js:566
writeFileSync(tmp, serializeEntries(entries)) - 写入本地文件packages/dsh-memory-core/lib/store.js:567
renameSync(tmp, path) - 写入本地文件packages/dsh-memory-core/lib/store.js:858
mkdirSync(dirname(this.file), { recursive: true }) - 读取本地文件packages/dsh-memory-shield/_dryrun.mjs:52
const clientSrc = readFileSync(join(HERE, "client.js"), "utf8"); - 读取本地文件packages/dsh-memory-shield/_dryrun.mjs:53
const readmeSrc = readFileSync(join(HERE, "README.md"), "utf8"); - 读取本地文件packages/dsh-memory-shield/_dryrun.mjs:64
const indexSrc = readFileSync(join(HERE, "index.js"), "utf8"); - 读取本地文件packages/dsh-memory-shield/_dryrun.mjs:133
const src = readFileSync(new URL("./index.js", import.meta.url), "utf8"); - 读取本地文件packages/dsh-memory-shield/_dryrun.mjs:141
const isrc = readFileSync(new URL("./index.js", import.meta.url), "utf8"); - 读取本地文件packages/dsh-memory-shield/_dryrun.mjs:142
const csrc = readFileSync(new URL("./client.js", import.meta.url), "utf8"); - 发起网络请求packages/dsh-memory-shield/client.js:39
const res = await fetch(API + p, { credentials: 'same-origin' }) - 发起网络请求packages/dsh-memory-shield/client.js:44
const res = await fetch(API + p, { - 写入剪贴板packages/dsh-memory-shield/client.js:99
await navigator.clipboard.writeText(props.text) - 发起网络请求packages/dsh-memory-shield/client.js:184
const res = await fetch('/api/memory-core/pending', { credentials: 'same-origin' }) - 发起网络请求packages/dsh-memory-shield/client.js:203
const res = await fetch('/api/memory-core/entry', { - 发起网络请求packages/dsh-memory-shield/client.js:250
fetch('/api/memory-core/files', { credentials: 'same-origin' }) - 发起网络请求packages/dsh-memory-shield/client.js:533
fetch(ORIGIN + '/api/memory-shield/health', { credentials: 'same-origin' }) - 读取本地文件packages/dsh-memory-shield/index.js:35
const pkg = JSON.parse(readFileSync(join(HERE, "package.json"), "utf8")); - 读取本地文件packages/dsh-memory-shield/index.js:47
return JSON.parse(readFileSync(UI_CFG, "utf8")); - 写入本地文件packages/dsh-memory-shield/index.js:53
try { mkdirSync(UI_DIR, { recursive: true }); } catch {} - 写入本地文件packages/dsh-memory-shield/index.js:54
writeFileSync(UI_CFG, JSON.stringify(next, null, 2), "utf8");
扫描于 2026/10/31(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DSH preset 记忆遮蔽插件:在指定 preset 里挡掉其他记忆插件的上下文与工具,给会话一个干净上下文。
README
由 DeepSeek 最新模型翻译生成dsh-memory-shield
DSH preset 级记忆遮蔽工具集。一个 GitHub 仓库,两个独立 npm 包,按需组合。
两个包
| 包名 | 定位 | 状态 |
| dsh-memory-shield | 纯遮蔽器 | ✅ 已发布 0.1.2(GitHub + npm)。挡住其他记忆插件往这个 preset 注入,让会话上下文保持干净。不自带记忆存储、写入、管理。默认关闭,装进配置档不影响任何会话,只在目标 preset 里显式开启。 |
| dsh-memory-core | 遮蔽会话记忆 companion | 🚧 候选 0.1.0,未发布。给遮蔽会话加上三轨/五轨记忆(存储层参考 dsh-memory-evolve,作者 csyangwen)。宿主半与面板已就位,待验收后发布。 |
用户怎么选
- 只想挡其他记忆插件 → 只装 dsh-memory-shield(当前可用)
- 想让遮蔽会话也有记忆 → 等 companion 发布后两个都装
- 后来才想要记忆 → 再装 companion,shield 不动、配置不动、会话不丢
设计原则
1. 默认关闭:bundle 形态装进配置档后不注册任何遮蔽(enabled: false),只在目标 preset 里显式开 enabled: true 才生效。
展开完整文档(README 剩余 1 节)
dsh-memory-shield DSH preset 级记忆遮蔽工具集。一个 GitHub 仓库,两个独立 npm 包,按需组合。 两个包 | 包名 | 定位 | 状态 | | dsh-memory-shield | 纯遮蔽器 | ✅ 已发布 0.1.2(GitHub + npm)。挡住其他记忆插件往这个 preset 注入,让会话上下文保持干净。不自带记忆存储、写入、管理。默认关闭,装进配置档不影响任何会话,只在目标 preset 里显式开启。 | | dsh-memory-core | 遮蔽会话记忆 companion | 🚧 候选 0.1.0,未发布。给遮蔽会话加上三轨/五轨记忆(存储层参考 dsh-memory-evolve,作者 csyangwen)。宿主半与面板已就位,待验收后发布。 | 用户怎么选 - 只想挡其他记忆插件 → 只装 dsh-memory-shield(当前可用) - 想让遮蔽会话也有记忆 → 等 companion 发布后两个都装 - 后来才想要记忆 → 再装 companion,shield 不动、配置不动、会话不丢 设计原则 1. 默认关闭:bundle 形态装进配置档后不注册任何遮蔽(enabled: false),只在目标 preset 里显式开 enabled: true 才生效。 2. 平行世界隔离:遮蔽会话的记忆和普通会话的记忆插件互不可见、互不可管。 3. 可逆:把插件从 preset 的 plugins: 里删掉,全局记忆插件立刻恢复。 已知限制 - 挡不住 pre-step user message 注入(openviking-memory 等) - 挡不住消息级注入(meow-memory 的部分路径) 致谢 - 记忆存储层(companion 包 dsh-memory-core 内)参考并抄录自 csyangwen/dsh-memory-evolve,按 MIT 协议保留署名。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Sacredbluedragon/dsh-memory-shield
在指定预设中屏蔽其他记忆插件,保持上下文干净
相关插件 · 技能 / 提示词
人设统管ZiChuanLan/agent-purge
一份系统提示词,喂给多个 coding…
★ 931已汉化DSH
73.8
人物画像蒸馏titanwings/distilly
Distilly — 把他们的思考方式提炼成可复用的技能,供任何智能体或机器人使用。原名 Colleague Skill(原同事 Skill)。
★ 25,659已汉化DSH
71.3
推理工作空间套件Tiger3807861189/J-Space-Cognition-Suite
J-Space 是面向复杂推理、大型仓库工程、子代理协作与授权安全分析的推理时工作空间和控制套件。
★ 2,957已汉化DSH
70.5
两阶段工具锚定预设xiaobright/dsh-anchored-standard
实验性 DeepSeek Harness agent preset…
★ 3,742已汉化DSH
70.1
智能体工作流编排nrslib/takt
不再日夜盯着 AI 编码智能体。
★ 1,402已汉化DSH
70
Agent 运行时手册Electricitysheep/dsh-handbook
DeepSeek Harness dsh 从 0 到 1 深度手册:安装/插件开发/性能调优/实测案例/同模型多…
★ 827已汉化DSH
68.7