前言¶
DeepSeek Harness(DSH)的理念是「一切皆插件」,但底盘上的模型是纯文本的:没有视觉,也没有键鼠。你让模型「打开记事本写一行字再保存」,它既看不见记事本开没开,也点不了菜单。过去做这类桌面自动化,通常要自己搭一条管道:截屏、视觉识别、再驱动鼠标键盘写胶水代码。dsh-computer-use 把这条管道封装成了 DSH 插件,模型调几个工具就能跑通整个闭环。
这是什么¶
dsh-computer-use 由 JasonWei04 维护,许可证为 MIT。一句话定位:截屏/录屏 → Xiaomi MIMO 视觉分析 → 真实鼠标/键盘/窗口/程序控制 → 自主循环直到任务完成。
它操作的是真实 Windows 桌面,不是模拟器:鼠标移动、点击、拖拽、滚动、键盘输入、启动程序、激活窗口都落在真实系统上。视觉能力来自 Xiaomi MIMO 视觉模型(OpenAI 兼容端点),负责「看懂」屏幕内容和元素坐标,纯文本模型靠它补上了眼睛。
工作链路¶
链路是固定的三步:
- 观察:
computer_screenshot截屏保存 PNG,或computer_record录屏抽帧(JPEG); - 分析:截图或录屏帧交给 MIMO,返回屏幕描述与坐标;
- 执行:
computer_action执行一次真实操作;或者交给computer_use把「观察 → 视觉决策 → 执行 → 再看」跑成自主循环,直到任务完成。
底层的 Win32 调用由一个 C# 助手完成:源码内嵌在 index.js 中,首次使用自动写入工作区,并用系统自带的 csc.exe 编译,无需安装任何运行时。临时截图、录屏帧、视觉请求文件会在分析完成或循环结束后自动清理,不残留垃圾文件。
工具一览¶
| 工具 | 作用 |
|---|---|
computer_screenshot |
截屏保存 PNG;analyze=true 时由 MIMO 分析屏幕内容与坐标,适合静态场景(看页面布局) |
computer_record |
录屏抽帧(JPEG)一次性交给 MIMO,观察滚动、滑动、动画、加载等动态过程 |
computer_use |
自主循环执行任务直到完成;observe 参数支持 auto/screenshot/record |
computer_action |
单步真实桌面操作,支持 move/click/drag/scroll/type/keys/run/activate/windowrect/listwindows/sendchat |
computer_status |
查看助手与 MIMO 状态、统计、最近错误 |
选择上有个简单原则:静态场景(看布局、确认界面)用 computer_screenshot;动态过程(比如在微信里下滑找朋友圈)用 computer_record,一次录屏抽多帧看清,避免反复截屏。三个视觉工具都支持 model 参数按次指定模型(如 mimo-v2.5、mimo-v2.5-pro)。
安装与启用¶
前置条件¶
- DSH 需为运行于 Windows 的 web 版本;系统需 Windows 10/11(C# 助手依赖系统 .NET Framework 的 csc.exe 与 Win32 API);
- 必须先安装 @linxin666/dsh-web-ui-all(dsh-web-ui 全家桶):本插件基于其 defineTool、installSettingsSection、systemPrompt.section、mountOnce 单实例守卫等框架能力开发,缺少全家桶将无法加载;
- MIMO_API_KEY 可选,但强烈推荐(视觉分析用)。
安装步骤¶
安装为手动方式,没有市场一键命令,共三步。
1、将 dsh-computer-use/ 整个文件夹复制到 profile 的 plugins/ 目录:
C:\Users\<你的用户名>\.dsh\profiles\web\plugins\dsh-computer-use\
2、打开 profile 的补丁文件 C:\Users\<你的用户名>\.dsh\profiles\web\cordis.patch.yml,在 plugins: 列表末尾追加:
- insert:
- id: computer-use
name: './plugins/dsh-computer-use/index.js'
3、重启 DSH。静态插件在启动时加载,无需审批。
验证:向模型发送「查看电脑操作插件状态」,应得到助手就绪信息。
卸载同样简单:删除 cordis.patch.yml 中 computer-use 的 insert 三行,删除 plugins/dsh-computer-use/ 文件夹,重启 DSH。
配置 MIMO 视觉¶
设置 Windows 环境变量(用户级即可):
MIMO_API_KEY = sk-你的密钥
密钥只从环境变量读取,绝不写入插件文件;插件每 30 秒自动重新探测。没有密钥时截图、录屏工具仍可用,但 analyze 与 computer_use 的视觉决策不可用。设置环境变量后等 30 秒自动重探,或重启 DSH。
安装后可在 DSH 设置界面的 dsh-computer-use 分区调整 baseURL、model、apiKeyEnv、maxOutputTokens、timeoutMs、helperExe、enabled、announceToAgent 等配置项。
典型用法¶
打开记事本输入并保存¶
以「打开记事本,输入 Hello, DSH! 并保存」为例,四步调用:
computer_action(action="run", command="notepad")
computer_screenshot(analyze=true) # 截屏确认记事本已打开
computer_action(action="type", text="Hello, DSH!")
computer_action(action="keys", keys="^{s}") # Ctrl+S 保存
微信发消息¶
给当前聊天发消息可以一步完成:
computer_action(action="sendchat", text="今晚八点开会")
sendchat 仅针对微信(Weixin/WeChat 进程),按微信窗口宽度 62%、底边上方 55px 估算输入框位置。
交给 computer_use 自主完成¶
整段任务不必逐步编排,直接描述即可:
computer_use(task="打开 PyCharm,在打开的文件夹下创建 test.py,内容为 print('hi')")
observe 参数控制观察方式,支持 auto、screenshot、record,默认 auto——静态界面用截屏,需要观察动态过程时切换到录屏:
computer_use(task="在微信里下滑找到三天前的朋友圈并截图", observe="auto")
动态过程用录屏¶
滚动、滑动、动画、加载这类过程,与其反复截屏,不如录一段:
computer_record(seconds=4, fps=2)
录 4 秒、抽 8 帧,一次交给 MIMO 看清整个过程。
按次指定视觉模型¶
computer_screenshot(analyze=true, model="mimo-v2.5-pro")
computer_use(task="...", model="mimo-v2.5")
computer_screenshot、computer_record、computer_use 三个工具都接受 model 参数,同一次会话里可以按任务难度逐次换模型。
适用场景与注意事项¶
适合谁:在 Windows 上使用 DSH web 版,希望模型直接完成 GUI 任务——启动程序、界面点击输入、滚动查找、微信发消息,或者把整段流程交给 computer_use 自主跑完。
几条注意:
- 平台与依赖:DSH 需为运行于 Windows 的 web 版本,系统需 Windows 10/11;@linxin666/dsh-web-ui-all 全家桶必须先装,否则插件无法加载。
- 坐标是估算值:视觉模型给出的坐标不一定准,复杂界面建议小步操作、逐步逼近;删除、提交、支付等高风险操作请人工确认。
- 真实桌面:插件操作的是真实桌面、消耗真实资源,请确认意图后再让模型执行。
sendchat的范围:仅支持微信进程,输入框位置按固定比例估算。- 权限与审查:插件以当前 DSH 进程的权限运行,具备对桌面的真实控制能力;安装前请阅读插件源码,确认许可证(MIT)与自身环境相符后再启用。
结束语¶
dsh-computer-use 把「截屏/录屏 → MIMO 视觉分析 → 真实键鼠操作 → 自主循环」整条链路塞进了一组 DSH 工具,让纯文本模型真正看得见、动得了 Windows 桌面。如果它的边界条件(Windows 10/11、手动安装、坐标估算)你能接受,值得一试。
- GitHub:https://github.com/JasonWei04/dsh-computer-use
- 社区插件目录:https://www.skillhub.cn/plugins/JasonWei04/dsh-computer-use (社区独立站点,与 DeepSeek、幻方无官方从属关系)