wangxing-git/dsh-autogate ↗★ 1
dsh-autogate
DeepSeek Harness 自动审批插件:在 workspace-write 沙箱之上增加 Auto 档——确定性规则放行/拒绝,模糊操作由 LLM 裁决,危险操作转人工。保留工作区沙箱边界,不放宽为 full-access。
AI 分析
核心用途是在保障沙箱安全的前提下提升审批效率。适合频繁运行需要文件写入或系统操作的 Agent,希望减少人工审批打扰的用户。
インストール
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:wangxing-git/dsh-autogateドキュメント
README 全文を読む ↗配置
配置经 DSH settings 服务(ctx.settings)接入:在 $DSH_HOME/settings.yaml 写 autogate: 段即时热重载;未挂载 settings 服务时回退 cordis.patch.yml 的 entry config(config: {})。
关于设置 UI:DSH 0.1.0-rc.6 的 Web 设置页对第三方插件 namespace 有硬编码 allowlist(
dsh-host-apiproxy的WEB_SETTINGS_NAMESPACES),但它只约束settingsScope通道,不影响 slot 导航(settings.plugin.item);autogate不在列表中,卡片无法经settingsScope读写。因此设置卡改走插件自有的/autogateRPC 端点(settings.get/settings.write),无需改官方包即可显示卡片。写入仍落在$DSH_HOME/settings.yaml的autogate:段并热重载,与下方手动配置完全一致。
autogate:
preflight: false # 沙盒前拦截判断开关:true 执行确定性规则+LLM 分类,false(默认)完全依赖沙盒
showTrail: true # 审批轨迹浮窗开关:false 隐藏右下角浮窗并停止轮询轨迹接口(默认显示)
presetName: auto-ask # 半自动模式预设键(默认 auto-ask):LLM 拒绝后转人工兜底弹窗
fullAutoPresetName: auto # 全自动模式预设键(默认 auto):LLM 裁决为最终决定,不再人工弹窗
classifierTimeoutMs: 8000 # 分类器超时(100–60000ms),超时 fail-closed
classifierMaxOutputTokens: 1024 # 分类器输出上限(64–4096)
classifierRetry: true # 分类器输出解析失败时静默重试一次(默认开启)
# 提案上下文(proposal-context)预算:短指代消息(如「A」「继续」)消解指代时附带的 AI 提议上下文限界
# proposalContextMaxMessageLen: 10 # 消息长度阈值(字符):≤该值才携带上下文(1–200)
# proposalContextMaxChars: 400 # 单条上下文上限(64–4000)
# proposalContextMaxTotalChars: 2000 # 上下文总预算(64–8000)
# classifierPrompt: | # 审查(分类)系统提示词,留空用内置默认
# (自定义审查提示词,按目标/类型/可逆性/影响判断)
# 固定分类模型(默认复用当前会话的 provider/model;两字段须成对)
# classifierProvider: deepseek
# classifierModel: deepseek-chat
# 独立 OpenAI 兼容分类端点(可选;必须 HTTPS,loopback 可用 http)
# classifierEndpoint: https://api.example.com/v1/chat/completions
# classifierApiKeyEnv: DEEPSEEK_API_KEY # HTTP 端点 API Key 的环境变量名
# workspaceRoot: /path/to/ws # 覆盖工作区根目录(默认会话 cwd)
# tempRoots: [/tmp] # 信任的临时目录(默认系统临时目录)