dsh-plugin
DayuanJiang/next-ai-draw-iodsh 的 draw.io 绘图插件:通过 next-ai-drawio MCP 服务器作图,点回复里的链接在右侧栏打开实时预览,可以手动修改图,AI 的每次修改都是可以恢复的版本。需 Node.js 18+,首次使用由 npx 下载 MCP 服务器。
适用于 Windows 的 DeepSeek Harness Computer Use 插件,支持 UIA、cua-driver 和可选 GLM 视觉。
A Windows-only Computer Use plugin for DeepSeek Harness. It is based on 988hj7tczd-oss/dsh-computer-use and uses cua-driver for Windows UI Automation, an isolated agent cursor, and window-scoped actions. Optional screenshot understanding is provided by Zhipu GLM.
This repository is intended for Windows only.
| Tool | Purpose |
|---|---|
screen_observe | Read the Windows UIA control tree and coordinates; optionally analyze a screenshot |
computer_click | Click an observed element or window-local coordinates |
computer_double_click | Double-click |
computer_right_click | Right-click |
computer_type | Type into the most recently observed window |
computer_key | Send a key or shortcut |
computer_scroll | Scroll |
computer_drag | Drag |
computer_wait | Wait for UI changes |
app_list | List running applications |
app_launch | Launch an application |
Follow the official cua-driver instructions, then verify the installation:
cua-driver --version
cua-driver doctor --json
If the executable is not in PATH, set:
$env:CUA_DRIVER_BIN = "C:\path\to\cua-driver.exe"
The plugin also probes this common Windows installer location:
%LOCALAPPDATA%\Programs\Cua\cua-driver\bin\cua-driver.exe
Start the daemon:
cua-driver serve --socket "\.\pipe\cua-driver"
Use the included native Windows installer (recommended):
.\tools\install-windows.ps1
It links the plugin into the Web profile, updates the profile package.json, and verifies that dsh-tools resolves to one host-owned instance. Restart the existing dsh web host afterward.
Manual setup is also available. Clone the repository:
git clone https://github.com/qphotoai/dsh-computer-use-windows.git
cd dsh-computer-use-windows
Link the checkout from the Web profile and add it to that profile's package.json:
{
"dependencies": {
"dsh-computer-use": "link:C:/path/to/dsh-computer-use-windows"
},
"dsh": {
"profile": {
"bundles": ["dsh-computer-use"]
}
}
}
Do not install another profile-local copy of @deepseek-ai/dsh-tools. The plugin must resolve the exact host-owned module instance; otherwise scheduler identity mismatches can cause undefined.prepare.
Verify the module identity:
$env:DSH_PROFILE_ROOT = "$HOME/.dsh/profiles/web"
node tools/verify-host-modules.mjs
pluginPath and hostPath must be identical. Restart the existing dsh web host afterward.
Uninstall:
.\tools\uninstall-windows.ps1
Observe before acting:
screen_observe(window="Calculator", mode="ax")
computer_click(element=26)
window accepts a title substring or PID.mode="ax" for native Windows applications.mode="vision" for Canvas, images, or incomplete UIA data.Set a Zhipu API key through the environment:
$env:ZHIPU_API_KEY = "your key"
Alternatively, store a single-line key in:
%USERPROFILE%\.zhipu-key
Restrict the file to the current Windows user and never commit it.
Call vision mode with:
screen_observe(window="target window", mode="vision")
The current implementation calls Zhipu GLM; it does not automatically use the chat model's native vision capability. Vision may misread labels or coordinates, so observe again after an action.
The default cordis.patch.yml registers:
- insert:
- id: dsh-computer-use
name: dsh-computer-use
config:
ttlMs: 15000
maxElements: 500
Optional settings:
config:
ttlMs: 15000
maxElements: 500
allowedApps: []
cursorTheme: com.dsh.computeruse.rainbow
allowedApps: application allowlist; an empty array disables the restriction.cursorTheme: ID of a cursor theme already installed in cua-driver; the driver default is used when unavailable.The upstream theme.lottie and tools/make_theme.py are retained. Follow cua-driver documentation to compile and install cursor themes.
node --check index.js
Get-ChildItem lib -Filter *.js | ForEach-Object { node --check $_.FullName }
node --test test/*.test.js
$env:DSH_PROFILE_ROOT = "$HOME/.dsh/profiles/web"
node tools/verify-host-modules.mjs