dsh-vimina
DeepSeek Harness Cordis plugin: drive Vimina Windows GUI automation via stdio (serve/call). Registers 26 vimina_* tools (scan/click/input/key/VMA scripts/screenshot/window/mouse).
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Sunse666/dsh-vimina说明文档
阅读完整 README ↗配置
| 字段 | 默认 | 说明 |
|---|---|---|
exePath | 自动解析 | Vimina 可执行文件路径 |
timeoutMs | 60000 | 单次工具调用超时 |
exePath 解析优先级:
- 显式配置:DSH web 设置 → 插件 → vimina(推荐),或 profile 的
cordis.patch.yml、--patch补丁 - 环境变量
VIMINA_EXE - 自动探测常见安装位置(
%LOCALAPPDATA%\Programs\Vimina\Vimina.exe、%ProgramFiles%\Vimina\Vimina.exe、%ProgramFiles(x86)%\Vimina\Vimina.exe、当前目录) - 回退:PATH 上的
Vimina.exe
只要 Vimina.exe 在以上任一位置,就无需手动填写路径;启动失败时工具会返回明确的配置指引。
AI 使用指南(注入 vimina_info)
插件把完整的使用 playbook 与常见错误规避表打包为 usageGuide 字段,随
vimina_info 工具返回注入给模型(源码见 src/usage.ts)。模型首次使用前应先调用
vimina_info 获取指南。指南要点:
- 先扫描后操作:任何操作前先
vimina_scan,控件带标签(DJ/AK),点击用中心坐标。 - 浏览器必须真实点击:
vimina_clickAt缺省 backend(真实点击);网页禁用 backend:true。 - 网页内容滚动后才暴露 UIA:先
vimina_scroll/vimina_key(PageDown|End) 再 scan。 - 无需视觉模型:scan/getElement 直接返回文本控件名,不要依赖 OCR/截图读内容。
- 标签临时性:clickLabel 依赖最近一次 scan 的映射,操作前重新扫描。
- 分任务 playbook:浏览网页 / 桌面应用 / 后台点击 / VMA 脚本,详见 info 返回。
浏览器(Chromium)使用注意事项
真实使用中验证过的经验,模型在操作浏览器页面时请遵循:
- 网页内容要滚动后才暴露给 UIA:打开页面后先
vimina_scan只能看到浏览器框架控件; 滚动(vimina_scroll/vimina_keyPageDown / End)后再 scan,才能看到网页控件。 - 点击网页必须用真实点击:
vimina_clickAt缺省(backend=false)就是真实点击并激活窗口, 浏览器场景下不要用backend:true(FlaUI 后台点击对 Chromium 网页无效)。 vimina_getControlAt对网页多返回外层容器:网页内层控件不暴露 UIA 时,坐标命中 的往往是页面容器而非精确控件,以vimina_scan为准。