🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

masquerator-coder/dsh-permission-gate

DeepSeek Harnessspec-screened扫描:低风险在 GitHub 查看 ↗
⚠ 装前注意

为 DeepSeek HarnessDSH添加一个由 LLM 裁决的智能模式审批预设,与内置的 仅可查看 /…

基本兼容但装前注意:npm 同名包「dsh-permission-gate」归属 juntiantan/dsh-permission-gate,装到的可能不是本插件 · 最近上游提交 2026/9/8 · 已提供中文文档
综合分
29.2
GitHub 分
29.2
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add masquerator-coder/dsh-permission-gate
npm 同名包「dsh-permission-gate」归属 juntiantan/dsh-permission-gate,装到的可能不是本插件,改用 GitHub 源安装
信任档位:仅索引本站尚未对其实装验证,仅收录元数据
是什么
dsh 原生插件 · chat
装得上吗
静态安装检查有提示项,装前建议看一眼 README
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 17 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

数据截至 2026/9/23(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-permission-gate @ 1.2.0
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

npm 同名包「dsh-permission-gate」归属 juntiantan/dsh-permission-gate,装到的可能不是本插件

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/23 21:27:43

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-llm@deepseek-ai/dsh-permission-presets@deepseek-ai/dsh-session@deepseek-ai/dsh-timeout@deepseek-ai/dsh-user-approval@deepseek-ai/schemastery
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-permission-gate

为 DeepSeek Harness(DSH)添加一个由 LLM 裁决的智能模式审批预设,与内置的 仅可查看 / 工作区内修改 / 完全权限 并列。

智能模式激活时,需要审批的操作会旁路交给一个独立 LLM 判定,而不是立刻弹窗。安全操作被自动放行;凡是无法高置信判定为安全的请求——命中确定性危险规则、模型拿不准、超时、响应无法解析、或插件内部异常——都回落到正常的人工审批弹窗。

判定调用完全不干扰当前会话:它使用独立的 provider/model 路由、独立的 AbortSignal 与 deadline、独立的 token 预算,在 agent-loop 之外执行。

安全契约:智能模式只会自动放行,绝不自动拒绝。模型判为危险/不确定都会交给人。自动放行不会绕过沙箱:smart 预设保持 sandbox: workspace-write,即使被放行,操作仍在工作区内这个约束下执行。

工作原理

内置权限预算是「沙箱模式 + 审批策略」两个执行旋钮的组合。smart 保持 approval: ask(这样人工审批永远是可达的回退)与 sandbox: workspace-write。

本插件在 approval/request 瀑布上注册一个宿主侧、前置、全局答案器——正是 dsh-user-approval 用来把决策路由给答案器的同一文档化扩展点。因为它以 { global: true, prepend: true } 注册,所以它先于浏览器 UI 答案器执行:可以用 allowed-once 认领请求(弹窗不再出现),或调用 next() 把请求放给弹窗。

tool 需审批
──▶ ApprovalService.request ──▶ approval/request 瀑布(agent 作用域)
──▶ [prepend, global] dsh-permission-gate 答案器
├─ 会话当前预设不是 smart      ──▶ next()  (惰性)
├─ 命中确定性危险规则          ──▶ next()  (交人工)
└─ 否则:独立 LLM 判定(独立路由/deadline/signal)
├─ allow 且置信度达标      ──▶ 'allowed-once'  (自动放行)
└─ unsure / danger / 超时 / 无法解析 / 异常 ──▶ next()  (人工弹窗)
──▶ [next 后] dsh-ui-approval 人工弹窗 → 同意/拒绝

落到 next() 的正是人工弹窗处理的场景:
- 确定性危险规则 —— 配置的子串模式匹配到工具名或审批原因(例如凭据、破坏性文件操作、强制推送、真正的提权)。
- 模型拿不准 —— 判定为 unsure/danger/unknown,或 allow 置信度低于阈值。
- 超时 —— 判定调用超过 judgeTimeoutMs。
- 响应无法解析 —— 模型输出无法解析为可信 JSON 判定。
- 内部异常 —— LLM 流/adapter 抛错,或无可用判定模型路由。

关于工作区外操作:默认危险规则不再把"升级沙箱到 danger-full-access"本身一票否决。低风险的越界文件操作(如写入/追加/读取已确认的非机密文件)会交给判官判断,判官对这类保守放行;而删除未确认数据、读取凭据、执行外部代码、安装全局包、网络外传等仍判 danger 交人工。仍可在 cordis.yml 里用 dangerRules 覆写这一集合。

全部故障保护:只有对置信 allow 才返回 allowed-once,任何失败都交给人。

安装

将 bundle 加入某个 profile 的 bundle 栈(这样 smart 预设行与答案器一并注册):

dsh plugin add dsh-permission-gate
或 git 源(务必钉住 commit):
dsh plugin add "github:owner/repo#&path:dsh-permission-gate"

然后重启 DSH。安装后权限选择器会出现第四个选项 智能审批(smart)。

bundle 行按 id 整行覆盖:本包的 cordis.patch.yml 原样重述三个内置预设(read-only、workspace-write、danger-full-access)并新增 smart。若你的部署在其他层定制了预设表,那层必须排在本 bundle 之前,或在此处重述你的整表。

激活

智能判定仅当会话生效预设为 smart 时生效。任何其它预设下插件完全惰性(所有请求都交给正常答案器)。用 Access 芯片或 /permission smart 选择 smart,或在 permission 行设置 defaultPreset: smart。

配置

所有键均经 Schemastery 校验,可在 cordis.yml/--patch 修改。示例:

- insert:
- id: permission-gate
name: dsh-permission-gate
config:
provider: deepseek      # 显式 provider 路由;必须与 model 成对。
model: deepseek-chat    # 显式判定模型。
judgeTimeoutMs: 15000   # 一次判定调用在回落人工前的截止时间(毫秒)。
maxTokens: 256          # 判定输出 token 上限。
minConfidence: 0.85     # 自动放行所需的最低置信度。
可选:覆写内置安全裁决 system prompt。
systemPrompt: "..."
确定性危险规则,在任何 LLM 调用前判定;命中→交人工。
dangerRules:
- label: secrets
patterns: ["ssh", ".env", "api.key"]
- label: destructive
patterns: ["rm -rf", "format "]

- provider / model:缺省时判定使用会话最后一次记录的模型路由(request/header)。若既无显式对、也无记录路由,则该请求按「内部异常」回落人工(故障安全)。
- dangerRules:大小写不敏感的子串模式,匹配 toolName 与 reason。设为 [] 可完全关闭本地门禁。

开发

pnpm install
pnpm typecheck   # tsc --noEmit
pnpm test        # vitest(判定纯函数 + 挂载 ApprovalService 的端到端答案器,LLM 用 stub)
pnpm build       # tsdown → lib/

tests/answerer.test.ts 挂载真实的 ApprovalService,llm/permissionPresets 用 stub,验证:非 smart 预设惰性、置信 allow 自动放行、以及各回落路径(unsure / danger / 危险规则 / 无法解析 / 异常 / 无路由)都交给人。

许可

Apache-2.0

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群