DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Auto Mode — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-auto-mode

Auto Mode

DSH 插件:自动模式会在批准、阻止或请求确认之前,通过 LLM 审查需要权限的工具调用。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-auto-mode@0.1.1
README兼容性版本

兼容性与来源证明

Auto Mode 以 dsh-auto-mode 发布,当前版本为 0.1.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/9/20

版本

0.4.0stable
2026/8/22
0.3.1stable
2026/8/22
0.3.0stable
2026/8/22
0.1.1stable
2026/8/16
查看其余 7 个版本收起版本
0.2.3stable
2026/8/22
0.2.2stable
2026/8/22
0.2.1stable
2026/8/22
0.1.7stable
2026/8/22
0.1.4stable
2026/8/22
0.1.3stable
2026/8/21
0.1.0stable
2026/8/21

相关插件

正在加载相关插件…

最新版
0.1.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
103.1 kB
文件数
20
Surface
any
许可证
MIT
发布源
npm
GitHub
★ 1
周下载
132
安全扫描
✓ v0.1.1 扫描通过
最近提交
2026/8/16
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 security-access 分类下经过校验的插件。

Doctor@linxin666/dsh-doctorDSH 配置档案的事务性救援模式,配备受监督的启动器、隔离的恢复容器、确定性修复、健康监控以及本地 Web 恢复控制台Pocketdsh-pocket把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。DSCODE@toddzheng024/dscode-bundle完整的 DeepSeek 编码代理,支持持久化 shell、Ultra 协作和自动权限审查。Auto Reviewdsh-auto-review针对 DeepSeek Harness 审批请求的第二模型 AI 自动审查:只读审查子代理在审批应答链上决定允许或拒绝,并采用故障关闭回退机制和完整的会话日志审计。

README

dsh-auto-mode

中文文档:README.zh-CN.md

An auto mode for DeepSeek Harness (DSH), shown as an Auto mode entry in the permission picker next to read-only / workspace-write / danger-full-access. While auto mode is selected, tool calls that would normally require a user confirmation are decided automatically:

  • explicit deny rules → rejected (operator vetoes always win)
  • explicit allow rules → approved
  • pre-approved tools → approved without a model call
  • otherwise a review model inspects the conversation transcript and the requested call, then approves, blocks, or flags it for human confirmation
  • when the review model produces no ruling (API error, abort, truncation): reject (failClosed) or fall back to the ordinary approval chain (a prompt)

Compatibility

Tested against DSH 0.1.0-rc.6. The bundle patch restates the stock permission-preset table (read-only, workspace-write, danger-full-access); after a DSH upgrade, review that table in cordis.patch.yml and update it if the stock presets changed.

Install

dsh plugin --profile web add dsh-auto-mode@<version>

or, for a local checkout:

# add to C:\Users\<you>\.dsh\profiles\web\package.json
#   "dependencies": { "dsh-auto-mode": "file:E:/Project/Interests/dsh-auto-mode" }
#   "dsh.profile.bundles": [..., "dsh-auto-mode"]
pnpm install --dir C:\Users\<you>\.dsh\profiles\web

Restart the web app. The permission picker (bottom-left of the chat box) now shows Auto mode; /auto switches the current session directly.

The picker entry is declared by the plugin's bundle patch (cordis.patch.yml). DSH's stock permission glyph table has no icon for custom preset ids, and the UI intentionally falls back to text-only labels — this plugin does not patch the DSH client bundle.

Configuration

All options have defaults; a bare {} config is valid.

PathTypeDefaultMeaning
classifier.provider / classifier.modelstring''Route for classifier calls; empty follows the session's current model.
classifier.maxTranscriptMessagesnumber40Trailing transcript messages fed to the classifier.
classifier.maxTokensnumber512Classifier output budget.
classifier.temperaturenumber0Classifier sampling temperature.
classifier.askFallbackbooleantrueClassifier decision "ask" (uncertain risky call) falls back to the human approval chain; false treats it as a rejection.
rules.allowstring[][]Always-allow rules (see rule syntax below).
rules.denystring[][]Always-reject rules; evaluated before everything else.
rules.environmentstring[][]Free-form environment facts injected into the classifier prompt.
allowliststring[]read, glob, grep, todo_write, web_search, job_list, list_agentsTools approved without a classifier call.
failClosedbooleanfalsetrue: classifier failure rejects; false: falls back to the normal approval chain.

The auto-mode preset's label, description, and sandbox mode live in cordis.patch.yml, because the permission-preset table must be available when @deepseek-ai/dsh-permission-presets constructs its settings schema.

Rule syntax

tool            match a tool by name (case-insensitive), e.g. `read`
tool:pattern    match a tool whose request reason contains the pattern, e.g. `read:/etc/`, `pwsh:rm -rf`
*               any tool
*:pattern       any tool whose reason contains the pattern

A pattern containing * or ? is a wildcard match against the whole reason (read:/etc/*); any other pattern is a case-insensitive substring match.

How it works

  1. Mode state — auto mode is the session's selected permission/preset value 'auto-mode'. The preset itself bundles workspace-write sandbox and the core-valid approval policy ask. The plugin detects that preset and takes over the approval answerer; it never writes an out-of-union approval/policy value and never patches DSH core services.
  2. Decision chain — the plugin registers an approval/request answerer with prepend, so in auto mode requests are claimed before the web UI answerer. The review model returns one of three decisions:
    • allow — approved without prompting;
    • reject — the reviewer judged the call harmful or contrary to the user's interests. The model is told explicitly that the reviewer, not a person, blocked the call (the tool layer reports both outcomes as "the user rejected…");
    • ask — consequential but plausibly intended (installs, writes outside the workspace, sends data): the plugin shows a confirmation dialog with three choices — allow, reject, or reject and type what should happen instead. The typed text is injected directly into the session (visible at the next model step, bypassing inbox scheduling). Without a questions provider the ordinary approval chain is used instead. In any other permission preset the answerer delegates immediately.
  3. Review call — built from the session's derived messages plus the requested action, streamed through ctx.llm with temperature: 0; the reply is parsed robustly (JSON object or token scan). The review prompt carries the operator's standing approvals, standing rejections, and environment notes in separate sections.
  4. Model awareness — the plugin shadows the core approval:policy system-prompt context per agent so an auto-mode session is reported as auto, not ask, and tool-result wording ("the user rejected…") is clarified as a reviewer ruling rather than a human veto.
  5. Settings page — because cordis.patch.yml declares the auto-mode preset at construction time with the valid ask approval value, the new-session default picker can advertise it without any runtime promotion or service patching.

Security & privacy

Auto mode is a convenience mode, not a security boundary:

  • the review model reads the recent conversation transcript and the requested action, and sends them to the configured LLM route (by default the session model);
  • the default preset runs with workspace-write sandbox, so workspace-external writes still require sandbox escalation/approval paths;
  • malicious content in the workspace (files, tool results) can attempt prompt injection against the review model — deterministic deny rules and the pre-approved tool list are evaluated before the model and should carry the rules you actually depend on;
  • set failClosed: true if you want review-model failures to reject instead of prompting.

Development

npm install
npm run typecheck   # tsc --noEmit
npm run build       # tsc -p tsconfig.build.json → lib/
npm test            # smoke tests for pure logic

License

MIT