DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

morning-cml /

morning-cml/dsh-doorman

Verified

Unofficial DeepSeek Harness (dsh) plugin that triages sandbox-escalation approvals: hard rules + exact allowlist + second-model review, sandbox stays on. Work in progress.

★ 1 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@a1b8681c

dsh-doorman

Work in progress — not ready for use. / 开发中,暂不可用。

An unofficial, community-built plugin for DeepSeek Harness (dsh) that triages sandbox-escalation approval prompts: hard rules, an exact allowlist, and a second-model review, with the sandbox kept on. It is not affiliated with DeepSeek.

社区成员独立开发的 dsh 非官方插件:在提权审批弹窗出现前,按“硬性规则 → 精确放行清单 → 第二家模型审查”分流,沙箱始终保持开启。

The current code (stage 3b) runs the hard rules, the allowlist and the model review. By default it only observes: every prompt still reaches the user, and the plugin logs what it would have done. Auto mode acts only when all of these hold: mode: auto in the profile, a dsh version the plugin was checked against and the user confirmed (autoModeConfirmedForVersion), and a session whose permission preset is doorman. Then a hard-rule deny or a model deny is rejected, a model allow is allowed once (after a snapshot of the outside files it changes), and everything else still goes to the user — except in a turn nobody is watching (a scheduled reminder), where it is rejected instead of left waiting. The allowlist only shadows: entries are fingerprinted (exact command, place and the hashes of the files it depends on) and what would be added, hit or blocked is logged, but it never allows anything and allowlist.json is never written. It loads on dsh 0.2.x (engines.dsh: >=0.2.0-rc.2 <0.3.0-0) and was checked against the dsh 0.2.0-rc.2, 0.2.1-rc.1 … rc.5 and 0.2.2-rc.1 sources. On 0.2.2 the new apply_patch file tool (off in dsh's shipped bundles) is not judged: its escalations reach the user unchanged.

Turning auto mode on (both edits go in the profile's cordis.patch.yml, which the agent cannot change; restart dsh after):

- id: permission
  name: '@deepseek-ai/dsh-permission-presets'
  config:
    presets:              # restate the three built-in presets; doorman must come after workspace-write
      read-only:
        sandbox: read-only
        approval: ask
      workspace-write:
        sandbox: workspace-write
        approval: ask
      danger-full-access:
        sandbox: danger-full-access
        approval: never
      doorman:
        sandbox: workspace-write
        approval: ask
        name: 门卫自动审批
        description: 沙箱照旧;提权申请先由 dsh-doorman 判断,能确定的自动放行或拒绝,其余照常弹给你。
    defaultPreset: doorman   # optional: new sessions start in doorman (keep it together with the preset above)
- id: dsh-doorman
  name: dsh-doorman
  config:
    mode: auto
    autoModeConfirmedForVersion: 0.2.2-rc.1   # the running dsh version

With defaultPreset: doorman (the same as choosing “门卫自动审批” under dsh Settings → General → Permission) every new session starts in that preset; to approve by hand in one session, switch that session to workspace-write. Existing sessions keep the preset recorded in their own history — switch each of them once in its permission menu (or type /permission doorman). dsh only applies the default when a session is created, and the plugin does not rewrite sessions' choices. Sessions on danger-full-access never ask for approval, so the plugin has nothing to judge there. Without the plugin the doorman preset behaves exactly like workspace-write. Without defaultPreset it has to be listed after workspace-write: dsh then gives new sessions the first preset that matches the default sandbox and approval policy. The setting cannot ship inside the plugin: a patch layer replaces a row's whole config, and the profile's own permission row, applied last, would override it.

Running other installed plugins' skill scripts is treated like running dsh's own bundled tools; a plain git push to a configured remote is left to the model (force/mirror/delete/ad-hoc-URL pushes are handed to you). Design notes (Chinese): docs/design.zh.md.

—/ 5

No ratings yet

Verified DSH bundle

Commit a1b8681c6a2f

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout