dsh-computer-use:让 DeepSeek Harness 学会操作电脑

前言

DeepSeek Harness(DSH)的理念是「一切皆插件」,但底盘上的模型是纯文本的:没有视觉,也没有键鼠。你让模型「打开记事本写一行字再保存」,它既看不见记事本开没开,也点不了菜单。过去做这类桌面自动化,通常要自己搭一条管道:截屏、视觉识别、再驱动鼠标键盘写胶水代码。dsh-computer-use 把这条管道封装成了 DSH 插件,模型调几个工具就能跑通整个闭环。

这是什么

dsh-computer-use 由 JasonWei04 维护,许可证为 MIT。一句话定位:截屏/录屏 → Xiaomi MIMO 视觉分析 → 真实鼠标/键盘/窗口/程序控制 → 自主循环直到任务完成。

它操作的是真实 Windows 桌面,不是模拟器:鼠标移动、点击、拖拽、滚动、键盘输入、启动程序、激活窗口都落在真实系统上。视觉能力来自 Xiaomi MIMO 视觉模型(OpenAI 兼容端点),负责「看懂」屏幕内容和元素坐标,纯文本模型靠它补上了眼睛。

工作链路

链路是固定的三步:

  1. 观察:computer_screenshot 截屏保存 PNG,或 computer_record 录屏抽帧(JPEG);
  2. 分析:截图或录屏帧交给 MIMO,返回屏幕描述与坐标;
  3. 执行: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.5mimo-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 秒自动重新探测。没有密钥时截图、录屏工具仍可用,但 analyzecomputer_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_screenshotcomputer_recordcomputer_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、幻方无官方从属关系)
羽毛球分组比赛记分
小程序二维码

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

小夜