dsh-click

toolstested: passnpmApache-2.0

Windows desktop computer-use tools (click, type, key, screenshot) with freshness checks, approval gating, process-identity verification around every action, and a sanitized audit trail.

下载量 / Downloads
5,539
依赖体积 / node_modules
8.98 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

Install

dsh plugin --profile web add dsh-click

Sandbox test results

StageResult
1 install✓
2 list✓
3 mount✓
4 boot—

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

<div align="center">

🖱️ dsh-click

  • 1024 store channel: npm i -g dsh1024 once, then dsh1024 plugin --profile web add dsh-click (counts toward the deepseek1024.com install ranking).

![Gitee](https://gitee.com/perrylink/dsh-click)

![dshfind](https://dshfind.com/plugins/PerryLink/dsh-click?ref=badge)

![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/PerryLink/dsh-click)

Cross-platform native desktop control for DeepSeek Harness — Windows first.

Look at the screen, then act — every click gated, every action audited.

![License](LICENSE)

![DSH plugin](https://github.com/topics/dsh-plugin)

![dsh-doctor](https://github.com/PerryLink/dsh-plugin-doctor#verified-徽章)

![DSH Market](https://dsh.market/)

![Node](#)

![CI](https://github.com/PerryLink/dsh-click/actions)

![Version](https://github.com/PerryLink/dsh-click/releases)

![npm version](https://www.npmjs.com/package/dsh-click)

![npm downloads](https://www.npmjs.com/package/dsh-click)

[English](README.md) · [简体中文](README-zh.md) · [Español](README-es.md) · [Português](README-pt.md) · [हिन्दी](README-hi.md)

dsh plugin --profile <name> add dsh-click

</div>


📖 Ecosystem knowledge base — measured data, not marketing: plugin development guide · plugin-selection data · maintenance criteria.

<!-- star-cta -->

Install & uninstall

  • git channel (latest main): dsh plugin --profile web add github:PerryLink/dsh-click — the prepare script builds with production dependencies only.
  • npm channel (published releases): dsh plugin --profile web add dsh-click.
  • tarball channel: pnpm pack in this repo, then dsh plugin --profile web add ./dsh-click-<version>.tgz.
  • uninstall: dsh plugin --profile web remove dsh-click (or remove the row from the profile patch).
If pnpm reports ERR_PNPM_IGNORED_BUILDS for this package (esbuild's harmless platform-binary validation), add allowBuilds: { esbuild: true } to your pnpm-workspace.yaml — the dsh CLI prints the exact snippet.

⭐ 如果它帮到了你

这个插件是 DSH 插件家族的一员(95 个,全部 Apache-2.0)。如果你在用,给个 star —— 它不会解锁任何功能,但会让下一个人在搜索里更容易找到它。

English: part of a 95 plugin family for DeepSeek Harness. If it is useful, a star helps the next person find it — nothing is gated behind it.

What is dsh-click?

Cross-platform native desktop control for DeepSeek Harness — Windows first.

Look at the screen, then act — every click gated, every action audited.

Workflow overview: install → open panel → act. The examples below use the real command surface.

Compatibility

Surface · Status

Harness · DeepSeek Harness dsh-v0.2.1-alpha.1 (GitHub tag, verified 2026-09-25). Verified 2026-09-11 against the dsh-v0.1.7-alpha.1 master checkout (full gate chain + profile install smoke).

Node · ^22.19.0 \ · \ · >=24.0.0

Platforms · Windows first (UIAutomation + Win32 input, via a bundled PowerShell helper); macOS/Linux backends are reserved and fail closed with a clear reason

Model · Text-only models fully supported (screen_read returns structured text); vision models additionally get screen_shot images

What you get

dsh-click gives the harness a complete observe → act loop over native desktop applications:

  • screen_shot — screenshot of a window (or the primary screen), downscaled to a configurable bound. With a vision-capable model the result carries the image; otherwise a text description keeps text-only models working.
  • screen_read — the structured observation: the window's accessibility tree (element ids, types, names, rectangles, supported patterns) plus pixel-location hints with colors — plain text, no image model required.
  • click / type / scroll / key — window-scoped actions addressed by element id or coordinates. Delivery prefers UIA invoke, falls back to posted window messages — and never steals foreground focus.
  • app_list / app_launch — enumerate running applications and their windows; launch one by name or path.

Every mutating action crosses one safety boundary:

1. Freshness — the action must cite a basedOn observation; the window is re-captured right before acting and the action is refused if the screen changed (pixel-hash check + max-age bound).

2. Approval — ctx.approval gates every action by default; window-title/executable regexes can allowlist specific windows (still audited).

3. Process identity — the owning process's pid and executable path are verified before and after the act; a change refuses the outcome loudly.

4. Audit — observations and actions land in the session log as dsh-click/observed / dsh-click/action events (sanitized, log-only).

model                           harness
  │ screen_read ──▶ observationId (+ elements, pixels)         ← structured text
  │ click {basedOn, target} ──▶ freshness check ──▶ approval ──▶ helper (UIA)

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::33,最后更新 2026-11-05

Links

GitHub · Homepage · npm

Same category