dsh-uia-agent
Manifest validWindows UI Automation agent for DeepSeek Harness: enumerate/snapshot/find/click/set_text/scroll/drag/swipe/screenshot + window state as a dsh plugin (single C++ exe)
dsh-uia-agent - Windows UI Automation agent for DeepSeek Harness
中文 | English
A dsh plugin that registers one uia tool, letting the model enumerate windows,
snapshot UI trees, find controls, click, type text, scroll/drag/swipe, screenshot,
and control window state (topmost / minimize / maximize / restore / close).
- Tool exe lives in its own repo: uia-agent
(C++17 / MSVC single exe; the release ships
uia_agent.exe). - This plugin embeds the exe as a base64 asset (
assets/uia_agent.exe.b64) and self-releases it to the fixed location%DSH_HOME%\bin\uia_agent.exeon startup. If release fails, it console.errors and the tool call reports how to add the exe.
One-click install (beginners)
Either of these two self-contained files installs everything. Download ONE of them from the repo root or from the v1.0 release page (they do not depend on each other):
- install.cmd — double-click it on Windows
- install.ps1 —
powershell -ExecutionPolicy Bypass -File install.ps1
The script checks dsh, runs dsh plugin --profile web add github:cnyc6n/dsh-uia-agent,
and tells you to restart. No compile, no exe download: the plugin embeds the exe
as base64 and self-releases it (hash-verified) on first start.
Install from npm
npm i -g dsh-uia-agent
# then point dsh's profile at it (or follow the one-command install below for github:)
Published versions: 1.1.0 (latest), 1.0.0 (legacy tag).
Changelog
1.2.1
- desktop gains
--limit(max icons returned; 0 = all) and--name(substring filter) — see every icon without truncation
1.2.0
- desktop command: auto-find the desktop icon host (Progman + WorkerW layouts) and list all icons with screen coords
- global timeout param: every command accepts
timeout(ms) forwarded to the exe - fixed: FindDesktopIconHost only checked WorkerW (missed Progman layout)
1.1.0 (latest)
- geometry / props commands (window geometry read/write; control properties)
- drag
steps/hold_msfor precise drag control - send_keys / clipboard / wait_for / foreach commands
- snapshot inlines the control tree into model text
- screenshot returns the saved file path (model chooses how to view)
- permission model: commands at or below the session permission run directly
- fixed: raw output always an object, get_text missing-field fallback
1.0.0
- Initial standalone release: list / snapshot / snapshot_all / find / click / set_text / get_text / scroll / drag / swipe / screenshot / window state (topmost / minimize / maximize / restore / close)
- permission tiers + approval escalation, embedded exe self-release (sha256-verified)
One-command install (manual)
dsh plugin --profile web add github:cnyc6n/dsh-uia-agent
Restart dsh afterwards; the uia tool then enters the model tool set. The exe is
self-released by the plugin on startup - no manual build needed.
Permission tiers & escalation
Aligned with the dsh sandbox model (same sandbox_permissions + justification
ctx.approvalsurface as the pwsh tool):
| Tier | sandbox_permissions | commands |
|---|---|---|
| read-only | none (runs directly) | list / snapshot / snapshot_all / find / get_text / screenshot |
| workspace-write | workspace-write | minimize / maximize / restore / topmost / close |
| danger-full-access | danger-full-access | click / set_text / scroll / drag / swipe / send_keys / foreach |
Higher-tier commands must pass sandbox_permissions + justification; they go
through user approval (approveEscalation) before execution. Missing or mismatched
permission returns an error guiding the model to retry with the correct tier.
uia tool parameters
command (enum of 20 actions), hwnd, depth, query (find JSON), text, keys, set, timeout_ms, interval_ms, cmd, args,
mode, x/y/x1/y1/x2/y2, duration, amount, direction, distance, out,
base64, off, plus escalation params sandbox_permissions / justification.
The model gets a short summary text; the structured raw result is persisted via
presentationMeta.
Tested environment
@deepseek-ai/dsh-tools0.1.5-rc.3 (host deps resolve via the$DSH_HOME/profiles/node_modulesfallback)- Node.js 24 (dsh requires 22+)
- Windows 10 x64 + MSVC 2022 (exe build)
Development / self-check
node smoke.mjs # no-LLM smoke: module load + tool def + apply
powershell -ExecutionPolicy Bypass -File scripts/install.ps1 # manual exe release
Known limits
- Self-drawn UI / games / DirectX / stock Qt expose no UIA tree (
snapshotreturns unsupported; fall back toscreenshot+ image recognition). - Elevated windows require the exe to run as administrator, else UIPI blocks.
- Chromium/Electron disable accessibility by default; the first access may be empty.
- UIA calls may hang: the exe has a built-in 5s timeout; tool spawn timeout is 15s.
- PrintWindow may return black for some DRM / self-drawn windows (
capture_failed).
Comments
Loading…
Similar plugins
by ltmroberthk915
Windows Computer Use for DeepSeek Harness with screenshots, UI Automation, 18 desktop tools, per-Agent activation, human-input handoff, approval prompts and prebuilt native workers.
★ 5
↓ 2.7k/wk
MIT
JavaScript
Oct 19, 2026
dsh plugin --profile web add dsh-codex-style-computer-useby gezi-wen
Windows desktop-control tools for DeepSeek Harness (DSH): screen layout, annotated screenshots, click / type / key / scroll, window management, and UI Automation structured queries. Zero dependencies,
★ 0
MIT
JavaScript
Sep 24, 2026
dsh plugin --profile web add sage-guikitby STARDUSTLC666
Windows desktop control through UI Automation, window screenshots and mouse/keyboard input, with per-session app consent and action approvals.
★ 4
↓ 979/wk
MIT
C#
Nov 3, 2026
dsh plugin --profile web add deepseek-computer-useby gezi-wen
Windows desktop-control tools for DeepSeek Harness (DSH): screen layout, annotated screenshots, click / type / key / scroll, window management, and UI Automation structured queries. Zero dependencies, no resident service, no API key.
★ 2
Apache-2.0
JavaScript
Oct 13, 2026
dsh plugin --profile web add dsh-guikitby EvangeliMo
Computer-use mode for DeepSeek Harness: screen capture, mouse and keyboard synthesis, and window control for operating GUI software that has no agent-facing integration.
★ 4
↓ 175/wk
MIT
JavaScript
Oct 7, 2026
dsh plugin --profile web add dsh-computer-use-modeby MuzeWinter
Windows desktop automation for DeepSeek Harness: 14 tools for real GUI input (click, type, keys, scroll, drag), occlusion-proof window screenshots and the accessibility tree.
★ 1
NOASSERTION
JavaScript
Sep 27, 2026
dsh plugin --profile web add dscomputer-control