Introduction¶
In DeepSeek Harness (DSH) for desktop automation, common approaches involve calling system APIs or relying on screenshots plus coordinate clicks. The former is not model-friendly, while the latter can easily lead to misaligned clicks and struggles to express the “observe first, then act” workflow. dsh-computer-use is a community-maintained workflow plugin that complements harness-desktop with “virtual cursor human-like operations”: the model first observes the screen, then performs sliding, clicking, and typing through an independent cursor, with visible processes, supporting macOS / Windows / Linux.
This article introduces the plugin’s positioning, 11 tools, installation steps, and usage considerations.
What It Is¶
- Name: dsh-computer-use (GitHub:
988hj7tczd-oss/dsh-computer-use) - Maintainer: 988hj7tczd-oss
- Category: Workflow (SkillHub directory page labeled “Installable · Workflow”, current version v0.1.0)
- License: MIT
- Engine: Based on cua-driver (MIT, MCP standard interface)
The plugin registers 11 model-friendly tools for DSH. The core design involves using the accessibility (AX) tree to “see” the screen and locate element coordinates (zero visual token cost); all operations go through a pixel-level virtual cursor with sliding animations and realistic clicks, simulating human operations.
Core Features¶
Observation and Operation Tools¶
| Tool | Function |
|---|---|
screen_observe |
Observe screen: AX numbered tree + coordinates; automatically falls back to visual when AX tree is empty |
computer_click / computer_double_click / computer_right_click |
Independent cursor slides to target + pixel-level click |
computer_type |
Text input (automatically rejected in password fields) |
computer_key |
Key / shortcut (e.g., return, cmd+c; Enter to send in chat windows) |
computer_scroll |
Scroll |
computer_drag |
Drag |
computer_wait |
Wait |
app_list / app_launch |
List / launch applications |
Security Design¶
- Virtual Cursor Isolation: Operations go through cua-driver’s independent Agent cursor, not preempting the real mouse.
- Observation Snapshot TTL: Snapshots expire in about 15 seconds; actions are rejected after expiration, requiring a re-
screen_observe. - Region Restrictions: Optional
allowedAppswhitelist; operations on apps outside the list are rejected. - Dangerous Operation Approval: When target labels contain danger words like “delete / payment / transfer / logout”, the DSH approval service is consulted to ask the user.
- Sensitive Input Protection: Password fields (AXSecureTextField) reject automatic input.
- No Snapshot Rejection: Any action must be preceded by
screen_observe, eliminating blind operations.
Coordinate mode (x/y) and untargeted input (computer_type / computer_key landing in the foreground app) cannot predict target content, so security fallback relies on snapshot TTL and operation visibility; computer_key does not validate the shortcut itself, so do not grant access to untrusted models.
Optional Capabilities¶
Visual Fallback: For interfaces without an AX tree, such as games or Canvas, set ZHIPU_API_KEY to allow screen_observe to degrade to visual understanding (e.g., glm-4.6v-flash, see README) when AX is empty.
Cursor Theme: Built-in rainbow gradient pointer theme com.dsh.computeruse.rainbow; configurable via cursorTheme, falling back to the engine default cursor if not installed.
Installation and Enabling¶
Prerequisites¶
- harness-desktop (including dsh rc runtime)
- cua-driver installed and authorized (macOS: Accessibility + Screen Recording; Windows: normal user permissions)
- The plugin defaults to looking up
cua-driverin PATH; if not in PATH, setCUA_DRIVER_BIN=/path/to/cua-driver
One-Click Installation¶
The repository provides install.sh, which injects into the home-level user patch layer without modifying profile configuration:
# Dry run
./install.sh --dry-run
# Install
./install.sh
# Uninstall
./uninstall.sh
Restart harness-desktop after installation for it to take effect.
Windows / Linux users: install.sh defaults DSH_HOME to the macOS path, so first run export DSH_HOME=<your dsh home directory> before executing; or manually in two steps:
ln -sfn <plugin directory> "$DSH_HOME/profiles/web/node_modules/dsh-computer-use"- Insert plugin registration in
$DSH_HOME/cordis.patch.yml(see repositorycordis.patch.yml)
Optional Configuration¶
Override in $DSH_HOME/cordis.patch.yml:
- id: dsh-computer-use
config:
ttlMs: 15000 # Snapshot validity period (milliseconds)
maxElements: 500 # Maximum numbered elements for screen_observe
allowedApps: [] # Region restriction whitelist (empty = no restriction)
cursorTheme: com.dsh.computeruse.rainbow # Virtual cursor theme (empty = engine default)
Visual mode (optional):
export ZHIPU_API_KEY=your_key
Keys can be applied for at the Zhipu Open Platform: https://open.bigmodel.cn
Typical Usage¶
For development verification, an isolated profile can be used without modifying real GUI configurations. Example from README:
DSH_HOME=$PWD/.dsh-p0 ELECTRON_RUN_AS_NODE=1 \
/Applications/harness-desktop.app/Contents/MacOS/harness-desktop --expose-internals \
/Applications/harness-desktop.app/Contents/Resources/app/node_modules/@deepseek-ai/dsh/lib/bin.js \
--profile test "Please call screen_observe to observe the current window and report"
Daily workflow: First, use screen_observe to get numbered elements and coordinates, then call tools like computer_click; any action must be preceded by a non-expired observation snapshot.
Applicable Scenarios and Considerations¶
Suitable for: Workflows in DSH dialogues where models need to “view the desktop, click the interface, enter text”; scenarios where visible operations and isolation from the real mouse are desired.
Limitations (as stated in README):
- Windows / Linux pending real-device testing (engine officially supported)
- Pixel coordinate calibration is approximate; first-click offset can be calibrated using visual mode or engine screenshot comparison
- Visual screen reading has average precision for small fonts; windows like macOS calculator may not be in the AX tree
Permissions and Security: The plugin runs with the current dsh process permissions. Before installation, read the source code and MIT license to confirm if allowedApps and approval strategies match your environment. SkillHub is a community directory and has no official affiliation with DeepSeek / High-Flyer.
Links¶
- SkillHub Directory Page: https://www.skillhub.cn/plugins/988hj7tczd-oss/dsh-computer-use
- GitHub: https://github.com/988hj7tczd-oss/dsh-computer-use
- npm: https://www.npmjs.com/package/dsh-computer-use