JohnXu22786/computer-control

JohnXu22786★ 0PythonLast synced: 2026-08-16

Open on GitHub

dsh plugin: desktop control - screen capture, pointer/keyboard injection, accessibility-tree semantic actions, with emergency stop, allow/deny rules, confirmation flow and idle standby

README excerpt

computer-control — 桌面控制插件(for dsh) 让 agent 直接操作电脑桌面:截屏观察、鼠标/键盘注入、通过可访问性树实现的语义操作(语义优先、像素坐标兜底),并内置急停、允许/拒绝规则、确认流与空闲待机等安全护栏。 插件自包含、可被 dsh 直接加载:通过 manifest.json 声明工具与事件,以 行分隔 JSON-RPC 2.0 (stdio)为传输协议, python -m computer control serve 即入口。 功能总览 能力 说明 截图 screen.capture 全屏或区域截图,支持 PNG/JPEG、缩放、灰度——token 成本可控 鼠标 pointer. 移动、左/中/右键单击(含双击/三击)、拖拽、滚轮(横/纵) 键盘 keyboard. 单键、组合键(扫描码注入,与键盘布局无关)、任意 Unicode 文本输入 等待 wait.pause 动作间暂停,让界面稳定后再截图 语义操作 a11y. 可访问性树分级摘要(skeleton/standard/full)、语义激活/输入——先走 UIA 模式,失败自动降级为包围盒像素点击 批量 batch.execute 一次调用执行多个动作,减少模型往返;可整批确认、可遇错继续 能力广播 tools.list / system.status 报告各后端是否可用,语义工具仅在 UIA 可用时暴露 安全护栏(详见「安全」一节): - 急停 :全局热键(默认 Ctrl+Alt+F12 ,可配)、协议指令、panic 文件三重触发;屏幕角落显示 STOP 横幅 - 允许/拒绝规则 :按工具名与参数匹配,拒绝永远优先;可切换白名单模式 - 确认流 :高风险动作(含 win 键或 ctrl+alt 的组合键等)等待人工批准,超时自动拒绝 - 空闲待机 :无操作超过阈值自动进入待机,拒绝一切动作直到恢复 - 演练模式 : platform: "dry-run" 只记录不执行,用于安全排练 目录结构 安装 要求: Python 3.9+ ,Windows 10/11(完整功能);其他平台见「平台支持」。 自检环境: 输出平台、DPI 模式、虚拟桌面几何、截图后端、UIA 可用性、热键等诊断。 快速开始 用 examples/demo.py 跑一个演练会话(默认 dry-run ,不触碰真实桌面): dsh 接入(摘要) 完整接入说明见 docs/integration.md 。 1. 加载 :dsh 读取 manifest.json ,按 entry.command 启动进程,建立 stdio 管道(UTF-8,一行一个 JSON 对象)。 2. 生命周期 :先发 session.start (可带配置)→ 收到 session.started 事件后即可调用工具…

View full README on GitHub →
Tools / Devdeepseek-harnessdshdsh-pluginagent

Category