Introduction¶
In DSH’s intelligent sessions, upgrading a session from its current sandbox mode to higher permissions usually requires manual approval. If every step requires human confirmation, the workflow is frequently interrupted; if it is simply released, there is a lack of basis for judgment. dsh-yolo-mode is a DeepSeek Harness plugin designed for this scenario: when the approval strategy is ask and the session is in an intervention-eligible sandbox mode, it uses a large language model to automatically adjudicate permission upgrade requests, and falls back uncertain or anomalous paths to rejection or manual intervention.
What is it¶
dsh-yolo-mode is maintained by SeverusZh and is licensed under MIT.
Its positioning is to add an LLM-powered auto-approval layer to DSH’s ask approval stage to adjudicate danger-full-access / workspace-write permission upgrade requests within workspace-write sessions, reducing the manual cost of repetitive approvals while retaining the paths for rejection and manual escalation.
Core Features¶
The following introduces the capabilities.
Intervention in Specific Approval Scenarios¶
The plugin only intervenes under the following conditions:
- Approval strategy is
ask - Session sandbox mode is located within
modes, with the defaultmodesbeing['workspace-write']
Within this scope, the plugin calls the adjudication model for danger-full-access / workspace-write permission upgrade requests.
Built-in Presets¶
Built-in presets include:
offstrictbalancedpermissiveyolocustom
The default preset is balanced. The plugin does not enable permissive or yolo by default.
Custom Permission Levels¶
levels supports setting strategies based on target modes, supports setting strategies for specific tools via tools.<toolName>, and allows configuring error and unsure fallbacks.
An example is as follows:
levels:
workspace-write: judge
danger-full-access: judge
error: delegate
unsure: delegate
tools.pwsh: delegate
tools.write: allow
This configuration delegates workspace-write and danger-full-access to the judge model; when the judge encounters an error or is unsure, it delegates to manual intervention; pwsh is delegated to manual intervention; write is allowed.
Adjudication Prompts¶
Each preset has a default adjudication prompt. When judge.systemPrompt is left empty, it will be automatically selected based on the current preset.
Settings Panel¶
The plugin provides a settings panel “YOLO Approval” page where you can modify online:
- Preset
- Active modes
- Judge model
- Levels table
Audit Logs¶
Every adjudication results in an entry in a JSONL audit log. The status popup supports viewing logs for easy checking of specific adjudication records.
Fail-Closed¶
The following anomalous paths will not be directly allowed:
- Timeout
- Invalid output
- Model unavailable
- Concurrency overflow
These situations will fall back to rejection or manual intervention.
Installation and Enablement¶
First, install the plugin package. If installing from npm, run:
dsh plugin --profile web add dsh-yolo-mode
If installing from a local path, run:
dsh plugin --profile web add <项目绝对路径>
The plugin declares a Node.js version requirement of:
>=20
After installation, if you need to override configuration, first open:
$DSH_HOME/profiles/web/cordis.patch.yml
Then override yolo-mode’s config by id. For example, specifying preset and judge model:
- id: yolo-mode
name: dsh-yolo-mode
config:
preset: balanced
judge:
provider: <provider>
model: <model>
Here, judge.provider and judge.model must both be non-empty for the judge model to be enabled.
After completing the above steps, restart DSH and refresh the browser to apply.
Installation Notes¶
- Do not use
- insert:to addyolo-modeoryolo-mode-bridgeanymore, otherwise the startup will reportduplicate loader entry id: yolo-mode. - When developing locally with
link:, the checkout needs to be located under$DSH_HOME/profiles/, or the repository must have its ownnode_modules, otherwiseERR_MODULE_NOT_FOUNDmay be reported.
Typical Usage¶
Using Default Preset¶
After installation, balanced is used by default. If you only want to observe the audit logs for now, you can temporarily not adjust the preset.
Specifying the Judge Model¶
Fill in the provider and model in cordis.patch.yml. The <provider> and <model> in the example need to be replaced with the model configuration values currently available to your DSH:
- id: yolo-mode
name: dsh-yolo-mode
config:
preset: balanced
judge:
provider: <provider>
model: <model>
Here, judge.provider and judge.model need to be non-empty at the same time for the judge model to be enabled.
Refining Strategies by Target Mode and Tool¶
If you wish to refine strategies by target mode and tool, you can provide levels in yolo-mode’s config:
- id: yolo-mode
name: dsh-yolo-mode
config:
levels:
workspace-write: judge
danger-full-access: judge
error: delegate
unsure: delegate
tools.pwsh: delegate
tools.write: allow
This configuration delegates workspace-write and danger-full-access to the judge model, delegates pwsh to manual intervention, and allows write; it also delegates to manual intervention when the judge encounters an error or is unsure.
Applicable Scenarios and Notes¶
Suitable for:
- Frequent sandbox permission upgrade approvals in DSH sessions, hoping to replace some human confirmation with model judgment
- Need to retain rejection, manual escalation, and audit logs, rather than allowing everything without auditing
- Using the
webprofile and willing to override plugin configuration viacordis.patch.yml
Notes:
- The plugin runs locally as a DSH plugin and works with the permissions available to the current
dshprocess. It is recommended to check the source code, dependencies, and theMITlicense before installation. - It only intervenes under the
askapproval strategy and specifiedmodes. judge.providerandjudge.modelneed to be configured simultaneously; otherwise, the judge capability will not be enabled.- The local
link:development path must satisfy Node module resolution requirements; otherwise,ERR_MODULE_NOT_FOUNDmay be encountered.
Links¶
GitHub Repository:
https://github.com/SeverusZh/dsh-yolo-mode
The community directory page does not list a specific URL; if you need to search, search for dsh-yolo-mode in the DSH Community Plugin Directory:
dsh-yolo-mode