DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

computer-user

Computer User

适用于 Windows 上 DeepSeek Harness 的 Codex 风格计算机操作:屏幕截图、UI Automation 控制、指针和键盘。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add computer-user@0.5.9
README兼容性版本

兼容性与来源证明

Computer User 以 computer-user 发布,当前版本为 0.5.9。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/11/5

版本

0.5.9stable
2026/10/29
0.5.8stable
2026/10/29
0.5.7stable
2026/10/29
查看其余 19 个版本收起版本
0.5.6stable
2026/10/29
0.5.5stable
2026/10/29
0.5.4stable
2026/10/29
0.5.3stable
2026/10/29
0.5.2stable
2026/10/29
0.5.1stable
2026/10/29
0.5.0stable
2026/10/29
0.4.1stable
2026/10/29
0.3.7stable
2026/10/1
0.3.6stable
2026/8/27
0.3.5stable
2026/8/27
0.3.4stable
2026/8/22
0.3.3stable
2026/8/22
0.3.2stable
2026/8/22
0.3.1stable
2026/8/22
0.3.0stable
2026/8/22
0.2.2stable
2026/8/22
0.2.1stable
2026/8/22
0.1.0stable
2026/8/21
最新版
0.5.9
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
237.4 kB
文件数
29
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 5
周下载
2,977
安全扫描
✓ v0.5.9 扫描通过
最近提交
2026/10/29
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

README

computer-user

Codex-style computer use for DeepSeek Harness on Windows. The agent sees the screen, clicks, types — or drives named controls through UI Automation. No sidecar, no native build.

English | 中文

Takeover pill: DSH is controlling your computer, press Ctrl+Alt+Esc to stop

computer-user is a DeepSeek Harness bundle that gives an agent twenty computer_* tools: screenshot, UI Automation tree, pointer and keyboard input, window control, and a takeover pill with a global stop key.

It ships as a normal DSH plugin — package.json, one cordis.patch.yml, a settings card, and three PowerShell scripts. No native addon, no daemon process, no MCP bridge.

Why this one

  • Native DSH bundle, not a bridge. Tools register through ctx.tools.register; settings ride the 0.2.x SettingsForms entry; the Web card is a first-class settings section, not a separate page.
  • Zero native dependencies. Input uses SendInput, capture uses GDI, observation uses UI Automation — all through Windows PowerShell 5.1 that ships with the OS.
  • Vision optional. computer_screenshot returns a PNG path: vision models call read_image, text-only models use picturereader OCR, and computer_snapshot acts on named controls without any pixels.
  • Stops when asked. A blue pill appears while the agent has control; the stop key (default Ctrl+Alt+Esc) or its button writes a stop flag that every later call refuses to ignore.
  • Stale-safe. Element ids are re-resolved on every action, and a screenshot can be fenced on the foreground window — a changed UI fails loudly instead of clicking the wrong thing.

Quick start

npm:

npm install computer-user

DSH profile:

dsh plugin --profile desktop add computer-user

Restart DSH. The tools appear in every session; the card appears under Settings → Computer Use.

From a checkout:

git clone https://github.com/jing-hy/computer-user.git
cd computer-user
npm install --no-save @deepseek-ai/schemastery@3.18.5   # peer, provided by the host at runtime
node --test

The loop

computer_screenshot            -> PNG path + foreground window
read_image(path)               -> vision models see it   (text-only: image_ocr / image_scan)
computer_snapshot              -> UI Automation tree, one replayable id per element
computer_invoke / set_value    -> act on a named control, pointer untouched
computer_screenshot            -> verify (optionally fenced with expected_window)

Coordinate work still works: every input tool takes virtual-screen pixels, and computer_screenshot returns virtual_offset so multi-monitor rigs line up.

Tools

Twenty tools, three families. tool_mode can trim the set to nine everyday ones.

GroupTools
Observecomputer_screenshot, computer_snapshot, computer_list_windows, computer_get_cursor_position
Act with the pointercomputer_click, computer_type, computer_keypress, computer_scroll, computer_drag, computer_move_mouse
Act on controlscomputer_invoke, computer_set_value, computer_focus
Windowscomputer_activate_window, computer_move_window, computer_close_window
Timingcomputer_wait — sleep, or wait until a window / element / title substring appears
Runtimecomputer_doctor, computer_browser (read-only CDP list), computer_set_mode

Element ids look like h=<hwnd>|r=<Role>|n=<Name>|i=<nth>. They are resolved again on every action, so a locator from a stale snapshot errors instead of hitting whatever moved under it.

Settings

The card at Settings → Computer Use writes the plugin entry Config (all fields hot-reloadable).

FieldDefaultWhat it does
modemanualdisabled refuses everything; readonly allows observation only; manual needs /computer; auto lets the model act freely
ai_can_change_modefalseWhether computer_set_mode may switch modes on its own
screenshot_diremptyOutput directory for screenshots (empty = OS temp)
default_scale1Default screenshot downscale, 0.1–1
typing_interval_ms0Delay between characters while typing
scroll_units1Wheel notches per computer_scroll (120 WHEEL delta each)
output_guardtrueStrips fake tool-call/XML text written as conversation; same text passes on the second output
debugfalseLogs the PowerShell script paths
tool_modeallall / lite / custom
enabled_tools[]Allow-list used with custom (empty = all)
stop_hotkeyctrl+alt+escKey shown on the pill; the pill button always works
takeover_minutes30The pill auto-dismisses (and stops) after this long; 0 never auto-dismisses
takeover_messageemptyPill title; {key} is replaced with the hotkey
cdp_port0Chromium --remote-debugging-port for computer_browser (0 = off)

Safety model

  • Modes. disabled / readonly / manual / auto. Observation tools stay available in readonly.
  • Session approval. In manual, side-effecting tools refuse until the user types /computer in that session; typing it again revokes the approval.
  • Takeover pill and stop key. Any side-effecting call raises the pill. The hotkey, the pill button, or a timeout writes a stop flag; every later call fails with an explicit "stopped" error until the user approves again. The pill is its own process, so the key lands even while the input backend is busy.
  • Observation gating (optional). approve_observe extends the approval requirement to screenshots and UI snapshots, for setups where looking at the screen is itself sensitive. Off by default.
  • Stale rejection. Locator resolution and the optional expected_window fence.

How it works

flowchart LR
  A[Agent] -->|computer_* tools| B[computer-user host bundle]
  B -->|capture.ps1| C[PNG + foreground window]
  B -->|input.ps1| D[SendInput mouse / keyboard]
  B -->|observe.ps1| E[UI Automation tree, locators, windows]
  B -->|guard.ps1| F[Takeover pill + stop key]
  C --> G{see}
  G -->|vision| H[read_image]
  G -->|text-only| I[picturereader OCR]

The host half registers tools and reads its own Config entry; the browser half (client.js) renders the settings card through ctx.configForms and the official settings-form vocabulary.

Compatibility

DSHStatus
0.2.0-rc.1 … 0.2.2-alpha.2Supported; the version gate is @deepseek-ai/dsh-settings >=0.1.0-rc.6 <0.3.0-0
0.1.0-rc.6 … 0.1.7-rc.2Supported through the 0.1.x namespaced settings scope
0.3.0 and laterOut of range until verified against that kernel

Windows 10/11 x64. The screenshots and UIA paths were verified on Windows PowerShell 5.1.

Development

node --test                      # 76 tests: tools, gates, guard, settings card, entry shape

Layout: src/index.js (entry, commands, output guard), src/tools.js (tool surface and gates), src/ps.js (PowerShell runner + guard state), src/capture.ps1 / src/input.ps1 / src/observe.ps1 / src/guard.ps1, client.js (settings card), tests/.

License

MIT

approve_observe
false
When on, screenshots / UIA snapshots / window lists also need /computer in manual