DSH Screen Agent:Windows 屏幕识别与自动化插件

DeepSeek Harness (DSH) 采用插件化架构,lak321/dsh-screen-agent 为 DSH 增加了桌面与网页自动化能力。该插件通过 Windows Host 路由与 PowerShell 脚本,在本地实现屏幕识别、UI 自动化(鼠标/键盘控制)及画图操作,无需配置第三方依赖。

核心功能

  • 屏幕识别:支持全屏及多显示器截图,输出 PNG 与 base64 格式。集成 Windows 内置 OCR,支持本地文字识别与像素坐标提取。
  • UI 自动化:提供鼠标点击/拖拽、窗口激活、键盘打字及按键控制。
  • 画图能力:直接操作 Windows 画图工具绘制图形。

安装与启用

旧的手动复制 host/ 并注入 cordis.patch.yml 的方式已废弃,请使用 bundle 层栈安装。

  1. 执行安装命令(将 <commit> 替换为最新提交号):
    dsh plugin --profile web add "github:lak321/dsh-screen-agent#<commit>&path:/"
  1. 重启 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

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜