DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

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

dsh-approval-ai-review

Approval Ai Review

通过 AI 审核为 DeepSeek Harness 自动批准:在任何人工应答者运行前,使用一次辅助模型调用判断每个待批准请求,自动批准安全请求,并将所有其他请求连同审核分析一并升级处理

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

npx -y @deepseek-ai/dsh plugin --profile web add github:kiiiiile/dsh-approval-ai-review#1f9559c163f455210d363af70e71ac2d48384d9b
README兼容性版本

兼容性与来源证明

Approval Ai Review 以 dsh-approval-ai-review 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

0.1.0stable
2026/9/14

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/9/14
查看源码 ↗
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-approval-ai-review

English | 中文

A DeepSeek Harness plugin (dsh-plugin).

Install

dsh plugin --profile web add dsh-approval-ai-review

Or from GitHub: dsh plugin --profile web add github:kiiiiile/dsh-approval-ai-review.

Summary

Use this package to stop confirming every safe tool ask by hand. When enabled for a session, each pending approval ask is judged by one auxiliary model call before any human answerer runs: a safe operation is granted automatically, and every other outcome — escalation, review failure, deadline, malformed output — reaches the remaining answerers with the review's analysis (what the operation would do, what it risks) attached to the request. The plugin ships inert: without /auto-approve on (or enabled: true) it delegates every ask unchanged.

Table of Contents

  • Use this package
  • Understand the implementation
  • Model Experience
  • Known Limitations and Deferred Work
  • Dev Note

Use this package

Compose this plugin after @deepseek-ai/dsh-user-approval in deployments whose permission mode still asks: the reviewer consumes the same approval/request waterfall the Web and ACP answerers listen on, registered with prepend so it settles before any prompt appears. It requires ctx.llm; the review call reuses the agent's routed conversation model unless an explicit route is configured.

- name: 'dsh-approval-ai-review'
  config:
    enabled: true
FieldDefaultMeaning
enabledfalseComposition default for sessions without an approval/review/enabled override
reviewProvider / reviewModelfollow the conversation modelExplicit review route; must be supplied together
reasoningEffortlowReasoning effort for the review call (off/low/high/max)
maxTokens2048Output-token cap for one review call
reviewTimeoutMs30000End-to-end review deadline

The exhaustive configuration surface is the Config schema in src/index.ts.

Toggling per session

/auto-approve [on|off] appends the durable approval/review/enabled switch to the session log (the last event wins; without one the composition default applies), and bare /auto-approve reports the current state. The switch is log-only: the model never sees it.

Deciding one ask

The reviewer receives the tool name, the exact tool/call arguments from the session log when the ask carries a call id, and the asker's reason. A validated {"verdict":"approve"} resolves the ask allowed-once. Anything else — an escalate verdict, a transport error, a fired deadline, malformed output — delegates the ask to the remaining answerers with the review's analysis appended to the request reason, so the human prompt states what the operation would do and what it risks. Without a composed answerer the seam's own fail-closed unavailable applies.


Understand the implementation

Implementation internals — click to expand

The observable behavior is covered in Use this package; this section explains dispatch, the review call, and the log path.

Source map

FileRole
src/index.tsPlugin registration, the prepend approval/request listener, the /auto-approve command
src/reviewer.tsRoute resolution, reviewer prompts, verdict parsing, session-log reads
src/types.tsConfig, verdict vocabulary, and the three log-only session events

Dispatch and the reason mutation

The prepend listener owns safe decisions and delegates everything else. On escalation it mutates the shared request's reason (the mutate-then-delegate pattern of the waterfall contract) so downstream answerers present the analysis; the committed approval/asked audit event already carries the asker's verbatim reason, so the log is unaffected.

The review call

The call is one hand-built ctx.llm.stream() request with the review system prompt and a JSON-framed input; the exact route, effort, prompts, and cap are appended as approval/review/request BEFORE dispatch, and the parsed verdict as approval/review/verdict, so the auxiliary request is reconstructable from the session log. A merge-extensible finish reason falls through unknown kinds to failure, and every failure path escalates — this plugin never rejects on its own authority.


Model Experience

Review decision

What the model sees

Nothing new. The three review events and the toggle switch are log-only; the model sees the eventual tool outcome exactly as without the plugin, and the standing approval:policy sentence stays accurate because asks still happen — they are answered earlier.

Token effect

Zero model-transcript tokens. Each enabled ask costs one auxiliary model call that never enters the conversation transcript.

KV Cache effect

Unchanged. The review call is a separate request with its own prefix; the conversation's stable request header and cached prefix are untouched.

Known Limitations and Deferred Work

  • The reviewer never denies — a dangerous ask escalates to a human rather than being rejected automatically; a machine-denial verdict is deferred until a deployment owns that authority.
  • Child sessions do not inherit the switch — approval/review/enabled is not seeded into delegated children the way approval/policy is; a child review default is deferred until delegation owns one.
  • The review consumes wall-clock time inside the ask — a slow model extends the pending ask; reviewTimeoutMs bounds it but does not shorten the caller's own tool-timeout budget.
  • Effort validation is per-route — reasoningEffort values the routed model does not advertise fail the review (which escalates) rather than the boot; the compatible set is not known until a route exists.

Dev Note

Working context for maintainers — click to expand

No ./invariant companion: the plugin owns no relationship whose observations can diverge — the review request/verdict pair is validated at the model-JSON boundary, and the ask/decided audit pair belongs to dsh-user-approval's invariant.