The plugin system of DeepSeek Harness (DSH) allows developers to extend an Agent’s capabilities. Desktop automation is one of the key scenarios. The dsh-computer-use_codex-style plugin is based on Codex’s window2 tool surface and provides DSH with a complete desktop control solution, without relying on Codex itself.
Core Features¶
The plugin provides 13 methods from Codex’s official window2 surface, covering control over desktop apps and Chromium browsers:
list_windows,get_window,list_apps,launch_app,get_window_stateclick,press_key,type_text,scroll,set_value,drag,perform_secondary_action,activate_window
It uses SendInput for real input, obtains the accessibility tree through UI Automation, and uses Windows.Graphics.Capture for screenshots (it works even if a window is occluded). Screenshots are returned as visual image parts and are not included in JSON as base64-encoded data.
Installation and Enablement¶
The plugin is distributed as a Harness native Bundle and includes package.json, cordis.patch.yml, and an entry module.
1. Install the Plugin¶
Run the following command in a terminal to install the plugin package:
dsh plugin --profile web add github:wushi2333/dsh-computer-use_codex-style
2. Configure the Tool Row¶
Desktop tools are designed in an Agent Preset rather than in the host composition. Add the following configuration to the target preset’s agent.cordis.yml:
- id: tool-computer-use
name: dsh-computer-use/tool
config:
surfaces:
- computer
browserSkill: computer-use-browser
3. Sync the Skill Pack¶
The plugin includes two built-in skills that need to be copied into the skill directory read by Harness:
node node_modules/dsh-computer-use/scripts/sync-skills.mjs --write --defaults
4. Restart and Run¶
Restart the Profile (plugin-layer changes are read at startup), start a session using this preset, and provide specific instructions.
Typical Usage¶
The following is a reproducible example:
“Open Notepad and turn these bullets into a clean draft.”
The first tool call starts a helper process. A Status pill appears, and the model begins a loop of observing, acting, and refreshing. Press Esc at any time to interrupt the current turn.
Runtime Environment and Limitations¶
- System requirements: Windows 10 1809+ or Windows 11, x64 architecture.
- Required tools: DeepSeek Harness, Node.js 20+.
- Optional dependencies: Python 3.10+ (for browser directory), Rust (for recompiling the helper; the plugin already provides precompiled binaries).
- Coexistence: Coexists safely with official Harness plugins, but do not run two driver stacks simultaneously.
Security and Experience¶
- Permission control:
launch_appand audio recording pause and wait for Harness’s approval UI. Approval is per-application and never silent. - State refresh: identity-based refresh mechanism, not time-based TTL. If a change in window identity or human input is detected, the next input is rejected.
- Two-layer architecture: desktop pointer, mask, screenshots, and approval logic run in the HOST layer (process-level), while tool definitions reside in the PRESET layer (Agent-level), ensuring ordinary coding sessions do not gain mouse control.
Summary¶
The plugin is implemented against a verified Codex baseline, providing stable desktop control capabilities for DeepSeek Harness. It uses the MIT license and is suitable for developers who need to implement complex desktop interactions in DSH environments.
- GitHub Repository: https://github.com/wushi2333/dsh-computer-use_codex-style
- Community Directory: https://www.skillhub.cn/plugins/wushi2333/dsh-computer-use_codex-style