DeepSeek Harness (DSH) 采用插件化架构,lak321/dsh-screen-agent 为 DSH 增加了桌面与网页自动化能力。该插件通过 Windows Host 路由与 PowerShell 脚本,在本地实现屏幕识别、UI 自动化(鼠标/键盘控制)及画图操作,无需配置第三方依赖。
核心功能¶
- 屏幕识别:支持全屏及多显示器截图,输出 PNG 与 base64 格式。集成 Windows 内置 OCR,支持本地文字识别与像素坐标提取。
- UI 自动化:提供鼠标点击/拖拽、窗口激活、键盘打字及按键控制。
- 画图能力:直接操作 Windows 画图工具绘制图形。
安装与启用¶
旧的手动复制 host/ 并注入 cordis.patch.yml 的方式已废弃,请使用 bundle 层栈安装。
- 执行安装命令(将
<commit>替换为最新提交号):
dsh plugin --profile web add "github:lak321/dsh-screen-agent#<commit>&path:/"
- 重启 DSH 使配置生效:
npx -y @deepseek-ai/dsh web
该插件兼容 DSH Profile:`web`。
使用方法¶
通过 HTTP 请求调用接口,参数为 JSON 格式。
- 截图:
POST /api/screen
{ "op": "capture" }
截图结果保存至 `~/.dsh/screenshots/`。
- OCR 识别:
POST /api/screen
{ "op": "ocr", "path": "...", "lang": "zh-CN" }
- 鼠标点击:
POST /api/screen
{ "op": "click", "x": 100, "y": 200 }
- 键盘打字:
POST /api/screen
{ "op": "type", "text": "你好" }
- 对话用法:
在 DSH agent 对话中直接下达指令,如“截图看看”、“在输入框输入 xxx”,Agent 会通过脚本或路由自动执行。
技术实现与注意事项¶
- 平台限制:仅限 Windows 平台。使用 PowerShell、user32 / WinRT OCR,零第三方依赖。
- DPI 缩放:进程启动时需调用
SetProcessDPIAware(),否则在 DPI 缩放下鼠标坐标计算会偏移。 - Win11 画图 (WinUI 3) 注意事项:新版画图存在交互差异,使用画图功能时需注意:
- 点色板卡死:点任意色块可能导致进程无响应(WM_CLOSE 无效),只能通过任务管理器结束进程。建议使用橡皮擦或默认颜色。
- 首次拖拽不绘制:切换工具后第一次拖拽可能只激活不绘制,需操作两次或先画一条废线。
- 小椭圆绘制:小椭圆工具难以绘制(如 rx135 ry18),建议使用铅笔多段绘制。
- 文本工具:按 Esc 取消会丢失已输入文字;字号设置需通过键盘输入数字并回车。
License¶
MIT