dsh-click
提供跨平台原生桌面控制与截图识别工具
AI 分析
适合需要让AI执行点击、输入、滚动等桌面自动化操作且需安全审批的用户。
安裝
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:PerryLink/dsh-click說明文件
閱讀完整 README ↗Configuration
All tunables are Schemastery Config fields (changeable from cordis.yml). An id-targeted override replaces the whole row — restate every key you need. cordis.patch.yml documents each key inline.
| Key | Default | Meaning |
|---|---|---|
requireApproval | true | Gate every mutating action behind approval; observers never ask |
autoApproveWindows | [] | Window-title/executable regexes that skip the approval ask (still freshness-checked and audited) |
auditSessionEvents | true | Append dsh-click/observed / dsh-click/action session audit events. The adaptive gate already skips the append on envelope-less hosts (rc.6–rc.8, 0.1.1-rc.2, and 0.1.2-rc.1, which fails closed on unknown types at read); set false to stop audit appends entirely 0.1.2-rc.1 (adapted 2026-09-02): the session envelope keeps its ignorable field for stored-log read compatibility only - Session.append still cannot stamp it, so audit-gate behavior is unchanged. |
focusFallback | never | Whether an action may bring the target window to the foreground as a last resort (never / allow) |
imageMode | auto | screen_shot rendering: auto (image when the model accepts images, text otherwise) or text |
helperTimeoutMs | 30000 | Per-helper-call timeout in ms (1..300000) |
maxHelperOutputBytes | 25165824 | Cap on one helper response in bytes (1024..67108864) |
maxScreenshotSide | 2560 | Longest screenshot side in pixels (320..7680); larger captures are downscaled |
staleCheckPixels | true | Compare a fresh pixel hash before every action and refuse on change |
maxObservationAgeMs | 30000 | Maximum age in ms of an observation an action may cite (1000..600000) |
maxCachedObservations | 8 | LRU cap on cached observations (1..64) |
maxElements | 500 | Cap on accessibility elements per screen_read (1..2000) |
maxTreeDepth | 32 | Maximum accessibility tree-walk depth (1..64) |
maxTextLength | 200 | Truncation length for sanitized model-visible strings (16..10000) |
rollbackEnabled | true | Back up and restore control text when type fails |
ocr.enabled / command / language | true / tesseract / eng | Optional OCR for the screen_find path (probed at mount; degrades to unavailable when tesseract is absent) |
Example override in your profile patch:
- insert:
- id: dsh-click
name: dsh-click
config:
requireApproval: true
autoApproveWindows: ['^Notepad']
focusFallback: never