DeepSeek Harness (DSH) uses a plugin-based architecture designed to extend the capability boundaries of agents. Implementing “computer use” capabilities on macOS typically involves complex permission requests, resolution adaptation, and process communication. The @wangyong1972/dsh-computer-use-macos plugin provides a native implementation that drives the real screen using macOS built-in tools (screencapture, sips, osascript), without requiring additional dependencies or network calls.
Core Features¶
The plugin registers a computer tool in DSH and provides the following capabilities:
- Screenshots and viewing: Capture the real screen and display it inline in the conversation flow.
- Mouse control: Supports moving the mouse, left-clicking, right-clicking, double-clicking, and reading the current cursor position (best-effort).
- Input control: Supports text input and key combinations (for example,
Return,cmd+c,ctrl+shift+t). - Scrolling and waiting: Supports scrolling up, down, left, and right, as well as waiting for a specified duration.
- Multi-display support: Supports selecting a specific display index to operate on.
Installation and Enablement¶
Install it using the DSH official plugin command:
dsh plugin --profile <name> add @wangyong1972/dsh-computer-use-macos
After installation, the plugin automatically registers the computer tool. With the default configuration, this tool is enabled.
Configuration Options¶
The plugin supports the following configuration options (some default values are as follows):
enabled: Main switch. Setting it tofalsecompletely disables the tool.requireConfirmation: Whether to require approval for mutating actions (clicks/input, etc.).allowedDisplayIndex: Default display index (0-based).screenshotFormat: Screenshot format. Currently only'png'is supported.actionTimeoutMs: Timeout duration for subprocess calls (default: 10000ms).maxTypeTextLength: Maximum length limit for a single text input (default: 4096).enableMachineLock: Enable a machine-level lock to prevent concurrent operations by multiple DSH processes on the same Mac.hideOtherAppsWhileActing: Whether to hide other visible apps during actions.excludeHostFromScreenshots: Whether to exclude the host process from screenshots (to avoid showing the terminal instead of the target app).enableSessionNotifications: Whether to send macOS notifications indicating action start/end.enableAppRiskWarnings: When the target is a terminal, IDE, or System Settings, whether to add warning text to the approval prompt.
Prerequisites and Permission Setup¶
- System requirement: macOS only (
"os": ["darwin"]). - DSH host: The DSH host must mount the
toolsandattachmentsservices. - Permission requests:
macOS requires two permissions to be granted manually; the plugin cannot request them automatically:- Accessibility: Used for actions such as mouse movement, clicking, and input. Enable it in “System Settings → Privacy & Security → Accessibility”.
- Screen Recording: Used for taking screenshots. Enable it in “System Settings → Privacy & Security → Screen Recording”.
- Note: The permissions list usually shows the entry as
osascriptor the terminal application currently starting DSH. First attempt acomputeraction (it will report a missing permission), then locate and check it in System Settings.
Technical Features¶
- Zero dependencies: Does not install any additional system binaries or compilation dependencies.
- Zero network: All interactions are completed locally, with no network calls.
- Automatic scaling: Screenshots are automatically scaled down proportionally (maximum edge limited to 1568px) to fit visual model pixel limits, without requiring manual system resolution adjustment.
Notes¶
- The plugin does not implement a global
Escinterrupt hotkey. - Screenshot coordinates are based on the pixel space of the scaled image, not the native screen pixel space.