记住每个会话最后选择的权限预设,重开时自动恢复
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
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 7 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
heyuanliu3-byte/dsh-auto-preset
记住每个会话最后选择的权限预设,重开时自动恢复
相关插件 · 安全 / 权限
智能体逆向工程morluto/rea
用智能体逆向工程任何东西,从应用行为到原生二进制。
★ 415,267已汉化DSH
73.3
智能体集群框架ruvnet/ruflo
面向 Claude Code 与 Codex 的智能体元基座meta-harness。
★ 80,414已汉化MCP
71.9
WorkBuddy 模型接入corrinehu/dsh-workbuddy-connect
2026 年 10 月 20 日起,WorkBuddy…
★ 1,604已汉化DSH
71.7
破甲一键通z91772524-ai/pojia-next
十五个 AI…
★ 967已汉化DSH
71.6
AI 代理虚拟终端strukto-ai/mirage
Mirage 是给 AI 智能体用的虚拟终端:一层 shell,统管数据、命令行和运行时。Unix…
★ 3,756已汉化DSH
70.8
Agent 操作层agentic-os-org/ANOLISA
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)|智能体操作系统,带运行时、安全、可观测性,以及 Tokenless 响应压缩,降低 token 用量与成本。
★ 649已汉化DSH
70.7