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

权限预设记忆 heyuanliu3-byte/dsh-auto-preset

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

记住每个会话最后选择的权限预设,重开时自动恢复

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

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

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

状态速览

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

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

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

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

读写/删除本地文件
查看扫描证据(共 3 处,展示前 3 条)
  • 读取本地文件
    lib/index.js:32
    const parsed = JSON.parse(readFileSync(STATE_PATH, "utf8"));
  • 写入本地文件
    lib/index.js:44
    mkdirSync(dirname(STATE_PATH), { recursive: true });
  • 写入本地文件
    lib/index.js:45
    writeFileSync(STATE_PATH, JSON.stringify(state, null, 2), "utf8");
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DSH 插件:按会话记住你上次手动选择的权限预设,重开会话时自动恢复。

README

由 DeepSeek 最新模型翻译生成
dsh-auto-preset 一个 DeepSeek Harness(DSH)小插件,记住每个会话中你最后一次手动选择的权限预设,等你重新打开该会话时再恢复它。 状态:早期 / 实验性。它调用 DSH 实验性的 permissionPresets API,已在 @deepseek-ai/dsh 0.2.1-rc.2 和 0.2.1-rc.3 上测试过(两个版本的权限预设代码完全相同)。未来 DSH 版本可能改动 API,导致它失效。 为什么需要它 DSH 的权限预设(workspace-write、danger-full-access,以及实验性的 auto = 自动审查)按会话存储。会话的默认预设由进程默认值推断而来,所以重启后会话可能回到错误的模式——而且实验性的 Auto 预设根本无法配置成默认预设: // @deepseek-ai/dsh-permission-presets if ("auto" in this.presets) throw new Error('permission: "auto" is reserved ...') if (!
展开完整文档(README 剩余 1 节)
dsh-auto-preset

一个 DeepSeek Harness(DSH)小插件,记住每个会话中你最后一次手动选择的权限预设,等你重新打开该会话时再恢复它。

状态:早期 / 实验性。它调用 DSH 实验性的 permissionPresets API,已在 @deepseek-ai/dsh 0.2.1-rc.2 和 0.2.1-rc.3 上测试过(两个版本的权限预设代码完全相同)。未来 DSH 版本可能改动 API,导致它失效。

为什么需要它

DSH 的权限预设(workspace-write、danger-full-access,以及实验性的 auto = 自动审查)按会话存储。会话的默认预设由进程默认值推断而来,所以重启后会话可能回到错误的模式——而且实验性的 Auto 预设根本无法配置成默认预设:

// @deepseek-ai/dsh-permission-presets
if ("auto" in this.presets) throw new Error('permission: "auto" is reserved ...')
if (!Object.hasOwn(this.presets, defaultPreset)) throw new Error('permission: unknown default preset')

这个插件换个思路:盯着你实际选了什么,再把它放回去。

行为

1. 第一次打开某个会话:什么都不做。系统默认值生效。
2. 你把会话切到 Auto review → 记住。重新打开会话时恢复 Auto review。
3. 你把它切到 Full access → 记住。重新打开时保持 Full access;插件不会强行切回 Auto。
4. 你之后又切回 Auto review → 再次记住。插件跟随你最后一次手动选择。

一句话:它跟随你最新的手动选择;绝不覆盖你做过的选择。

状态保存在插件旁边的 state.json 里(DSH 重启后依然保留)。删掉该文件即可重置一切。

安装

从源码安装

git clone https://github.com/heyuanliu3-byte/dsh-auto-preset.git
dsh plugin --profile web add link:/absolute/path/to/dsh-auto-preset

然后把 "dsh-auto-preset" 加进配置档的 bundle 列表(package.json → dsh.profile.bundles),重启 DSH web 服务器。

从 npm 安装

包发布到 npm 之后:

dsh plugin --profile web add dsh-auto-preset

插件必须在 @deepseek-ai/dsh-experimental-auto-review 之后加载,因为 auto 预设只在该 bundle 运行时才存在。

工作原理

- 会话进入存储时触发 session/created——全新会话和重新打开的会话都会触发。
- session/event(permission/preset)告诉插件选了哪个预设。插件尚未「武装」某个会话(初始固定)之前发出的事件会被忽略,插件自己调用的 presets.set() 也会通过重入标志忽略。
- 打开会话时,如果存在已保存的选择且与当前值不同,插件调用 permissionPresets.set(session, storedChoice)。

见 lib/index.js——约 130 行。

注意事项

- 实验性 API:permission-presets 的内部实现可能随 DSH 版本变化。
- 只监听 permission/preset 事件;「自定义」的沙箱与审批组合不会表示为预设,因此不会被恢复。
- 我的配置里只用到 Web 配置档;它不需要桌面配置档中的任何非官方插件。

许可证

MIT — 见 LICENSE。
预览分享卡片长什么样 ↓heyuanliu3-byte/dsh-auto-preset
分享 · DeepSeek Harness Hub
heyuanliu3-byte/dsh-auto-preset

记住每个会话最后选择的权限预设,重开时自动恢复

回到顶部