dsh-computer-use

August 25, 2026 · View on GitHub

Capability-aware Computer Use for DeepSeek Harness. It exposes one guarded interface for models with or without image input:

Accessibility first
  ├─ unique target ──────────────────────────────┐
  └─ incomplete/ambiguous                       │
       ├─ measured native grounding → image     │
       └─ unknown/rejected/describe-only → Vision Router

                             one open-computer-use actuator

                                 AX verification → pixel diff

Model names are never allow-listed. Native vision is selected only when dsh-vision-router has valid grounding evidence for the exact current provider/model deployment and DSH declares image input. Unknown capability uses the sidecar conservatively. Background/paid probing is disabled by default.

Public tools

Only three DSH-native tools are model-facing:

  • computer_observe: reads Accessibility state first and returns an opaque, expiring observation plus the selected perception route and reason.
  • computer_act: validates freshness, obtains the runtime GUI lock, enforces confirmation policy, dispatches through one actuator, and verifies effect.
  • computer_health: read-only actuator, sidecar, capability-evidence, and lock diagnostics.

The raw upstream actuator is intentionally hidden so an agent cannot bypass freshness checks, locking, confirmation, or verification. Vision Router's native DSH tools are called internally as vision_ground and vision_pixel_diff.

Install

Requirements: macOS, Node 22.19+ or 24+, npm, Accessibility permission, and Screen Recording permission for the process running DSH.

git clone https://github.com/Renoned/dsh-computer-use
cd dsh-computer-use
npm install
./install.sh

install.sh pins open-computer-use@0.3.1, installs the Vision Router capability-routing commit as a top-level profile plugin, and then installs this bundle into the web profile. Set DSH_PROFILE=name to target another profile. For manual installation:

npm install -g open-computer-use@0.3.1
npx @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web add \
  github:ysr666/dsh-vision-router#b04e5c059f408334d26967d70387dcf8fe8aebf2
npx @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web add "$PWD"

Restart the selected DSH profile after installation.

The npm bundle also carries dsh-vision-router@1.7.7, so a direct bundle-only install still has safe sidecar grounding. Until the capability-routing source is present at profile level, native grounding evidence stays unknown and the runtime deliberately remains on the sidecar route.

Routing and safety

  • Accessibility/DOM is always tried before image grounding.
  • Capability evidence selects perception only; it never switches actuators.
  • Observations expire and actions re-read state before dispatch.
  • Financial/destructive intent requires confirm: true.
  • Screen text is untrusted data and cannot override the task or safety policy.
  • The GUI lock records an owner, expires, and recovers after a crashed owner.
  • Screenshots are stored with mode 0600 under the DSH cache and removed when used, expired, or the runtime closes.

See architecture, testing, and third-party notices.

Development

npm ci --ignore-scripts
npm run check             # unit tests + audit + static preflight
npm run preflight:live    # isolated DSH config + real read-only MCP tools/list
npm pack --dry-run

The live preflight launches the actuator only to inspect its tool contract; it does not click, type, move the pointer, or read an application state.

MIT — see LICENSE.