把 DSH 装进口袋:IM + Pocket + Computer Use 三个插件实测记录
-
发帖缘起:之前在《Minimax H3 小试牛刀》那个帖里回了一段关于「用 IM 远程给本地 agent 下指令」的经验,版主建议我整理成一篇单独发出来。这篇就是在原有回复基础上扩写的实测记录。
适用对象:DSH 跑在远端服务器(或家里的机器)上,人经常不在电脑前,但又想随时使唤它的人。
一、先说我到底想解决什么
DSH 装在一台常年开机的机器上。麻烦在于:人一离开那台机器,这个 agent 就等于不存在了。
我遇到的实际场景就三类:
- 下班路上,上午让它跑的活儿不知道跑完没有,想瞄一眼结果;
- 在外面突然想起一件事要它查,但手边没有 SSH、没有远程桌面,也不想掏出笔记本;
- 电脑在办公室/宿舍,人在外面,想给它派个新任务。
这条路我自己搭过:bot 收消息 → 转成 prompt → 调本地 CLI → 把输出回传,四步就能跑通。但真要长期用,有三个坑绕不开——长任务没回执(跑 20 分钟你以为它死了)、多人串上下文(得按 chat_id 分开维护)、权限敞开(谁拿到 bot 谁就能在你机器上跑命令)。DSH 生态里已经有现成的了,而且比我那层壳完善得多。
这篇记录三个插件,各自解决链路里的一段:
插件 解决什么 我的使用频率 dsh-im 把 DSH 接进 IM,用聊天窗口下指令、收结果 最高 dsh-pocket 手机扫码,直接看/操作电脑上那个 DSH 界面 次高 dsh-computer-use 让 agent 能真的动鼠标键盘,操作 Linux 桌面 偶尔,但关键时刻很顶用 三个仓库:
- dsh-im → https://github.com/xmanrui/dsh-im
- dsh-pocket → https://github.com/shaobeichen/dsh-pocket
- dsh-computer-use → https://github.com/asdasdsdsdasdasdasd/dsh-computer-use

▲ 三个插件串起来之后的完整链路。下面逐个拆开讲。
二、dsh-im:把 DSH 接进 IM(我最常用的一个)
IM 这条路最适合懒人——不用装客户端、不用记端口、不用配远程桌面,聊天窗口你已经天天在用了。
它支持什么
一个插件、一个设置入口,把本机 DSH 接到 IM 渠道上。目前内置 9 个渠道,外加 iMessage:
飞书、微信、钉钉、企业微信(含自建应用)、QQ、Slack、Telegram、Discord、WhatsApp
每个渠道都能接多个机器人,各机器人的连接状态、工作区、模型、会话绑定互相独立——这点很实用,等于一个人可以按用途分好几个入口。

▲ 设置 → IM机器人:一个页面管所有渠道,每张卡片独立配工作区、模型、Agent Preset。
为什么我选了飞书
不是随便挑的,飞书这条链路有几个别家没有的好处:
1. 飞书自带豆包工作,语音指令能一路转给 DSH
这是我最看重的一点。我在手机上跟豆包工作说话,豆包把语音转成文字,自动转发给 DSH 飞书 bot,DSH 的回复直接出现在同一个聊天窗口。中文语音识别质量很好——老特在 YT 节目里讲过这个用法,我自己用了确实不错。不想用豆包工作的话,手机上直接装豆包输入法也行,体验同样可以。我的体验是豆包输入法适合你让DSH快速执行短指令,而不是复杂任务的时候用,它识别语音又快又准,当你想给DSH复杂指令,需要多轮对话整理思路的时候,用豆包工作更好(短指令豆包工作也要思考一会儿,没法把他的思考等级调到最低)。
在手机上跟豆包工作多轮对话、远程操控远端服务器上的 DSH,整个流程是顺的:说话 → 转文字 → DSH 干活 → 结果回到聊天窗口。
豆包
DSH 自动转发说明(我自己在用的设置)【自动转发】 你在豆包里发的消息,会自动转给 DSH,不用额外说"转发"。 DSH 的回复直接出现在当前聊天窗口。 【不转发的情况】 想跟豆包直接说话、不转给 DSH 时,开头说"豆包"或"先别转"。 例:"豆包,帮我总结一下刚才 DSH 的回复" 【自动等回复】 转发后豆包会每 10 秒查一次 DSH 有没有回复,最多等 3 分钟。 一有回复立刻摘给你;超过 3 分钟会提示"DSH 还在处理"。2. 流式卡片,不把思考过程一股脑倒给你
这点明显比我自己写的壳强。插件对飞书 Bot 做了针对性的优化:思考过程、工具执行进度、回答是分层呈现在流式卡片里的,不是每来一个 token 就刷你一脸。手机上调参数、看进度都舒服。
3. 对表格和 Markdown 的支持很好
DSH 很爱输出表格,飞书这边渲染得住。这点对看结果很重要——一份对比结果过来,直接是张能读的表,而不是一坨竖线。
4. 文件双向
传进去:图片、PDF、文件都能带上,连「引用某条消息」的上下文一起交给 DSH。
传出来:DSH 生成的文件、截图、录屏,能作为渠道原生附件回传。我这边统计下来,这段时间里这个回传能力被用了 189 次。5. 文件大小够用
飞书 IM bot 支持最大 30MB 的文件,比 Discord 免费版的 10MB 要好,mp4、图片、md、ZIP 这些都能传。
一个真实用例(比任何说明都直观)
9 月 6 日我在外面,手上只有手机,需要处理一份《智能路面识别 ASIL-B 提升可行性评估报告》。做法是:
- 把 PDF 直接拖进飞书 bot 的聊天窗口发出去;
- 引用同事标注的那条消息,让它「先讲概况,再详细分析」;
- 就着报告连着追问了好几轮——选项 A/B 到底差在哪、电动车刹车前段动能回收被切断导致的失重空落感、轮端过坎抱死趋势怎么提前识别……
全程在手机上完成,没有打开过电脑。后来这个主题还延伸做成了《ISO 26262 功能安全》科普视频。
这就是「IM 接入」真正的价值:不是把聊天框变好看,而是让一份真实的、有上下文的工作,能在你不在电脑前的时候继续推进。

另一种高频用法:甩个链接,让它去抄作业
除了处理文档,我在 IM 里干得最多的另一件事是——看到好东西,链接一甩。
最简的一次就是一条链接加两个字:
https://x.com/…/status/2098371224006951151 抄作业有时候连多余的字都不用说,因为上下文里它知道要干什么。比如在飞书上刷到一条效果不错的视频,直接把链接发过去,后面跟一句要求:
https://x.com/…/status/2098352621535072651 你使用 comfyUI,参考 4 步 lora 声音修复版 V2 的 json, 新写一个 JSON,模型使用 minimax H3 ref2V INT8,做一个同样的视频。 把拼接好的成品推送到 DSH 飞书 bot。这条指令拆开看,其实是一整条流水线:扒原帖里的提示词 → 照我自己机器上的工作流改写 JSON → 跑出一条视频 → 成品回传到聊天窗口。我要做的只是把链接贴进去。
抄作业的几种颗粒度
抄什么 怎么发 DSH 干什么 一条推文的提示词 链接 +「抄作业」 读帖子、提取提示词、按我的工作流重跑一版 一整套工作流 推文链接 + GitHub 工作流链接 +「你抄一下这个作业」 下载依赖、跑通流程、出片 一个作者的整个作品集 作品页链接 +「抓取所有图的 prompt metadata」 翻页批量抓取、存成 MD、逐张复刻 一个现成的 skill / 插件 GitHub 链接 +「你给我安装」 装好,然后给我跑示例 比如批量那一次:
使用 opencli,抓取并保存 noway163 的所有 Images 的 prompt all metadata,保存为 MD,要和网址关联。……我要你抓取他所有图的 prompt 的 metadata,让我可以抄他作业。
再往后就变成例行公事了——同一个作者的作品集,我会直接说「他的 Prompt 和 Metadata 你都给我存在本地,记得新建一个文件夹」,然后跟一句「定时任务也是一样的」。
为什么这种事特别适合放在 IM 里
因为**「看到好东西」这件事,发生在你刷手机的时候,不在电脑前。**
那条让你眼睛一亮的推文,出现在你通勤的地铁上、排队的间隙里。等三小时后你坐回电脑前,那个链接早就不知道沉到哪个 App 的哪条时间线里去了。
现在我只要顺手一甩,剩下的它自己去跑;跑完了成品还会自己回到这个聊天窗口——视频、PDF、打包好的 zip 都行。
把这 5 个视频发飞书 bot。
三、dsh-pocket:手机扫码,看到电脑上同一块屏幕
IM 适合「下指令、收结果」,但有时候你需要看着那个界面本身——比如它正在跑一个长任务,你想看它滚到哪里了;比如有个审批要点。
dsh-pocket 干的就是这个:装上后,手机扫个码,直接看到并操作电脑上的同一个 DSH 界面,实时同步。

▲ 手机上的界面就是电脑上的界面,流式输出实时同步。
几条通道,按场景切
- 局域网:同一 WiFi 扫码即开,自动识别本机 IP(WSL 环境会自动取 Windows 物理网卡 IP)。
- 公网:点「开启公网访问」走 cloudflared 隧道,4G 下也能访问。
- 公网固定域名:填 Cloudflare Tunnel Token + 自己的域名,走命名隧道,公网地址固定不变(不填就每次重启都换)。
我配的是第三条,买了一个阿里云的域名,让后照着AI教的配好Cloudflare named tunnel。最后按照dsh-pocket一步步设置,就能在手机上公网控制DSH了。

▲ 设置 → 手机访问,和「通用设置」「模型」同级。
四、dsh-computer-use:让 agent 真的动鼠标键盘
IM 和 Pocket 解决的是「怎么把指令送进去、把结果取出来」;computer-use 解决的是「agent 能不能操作那些没有 API 的东西」。
为什么专门挑了这个
市面上 computer-use 类的插件多数是 macOS 或 Windows 的,我这台是 Linux。这个插件的定位很明确:专门给 Linux X11 用,而且零重依赖——不需要 Node 原生模块、不需要 PowerShell、不需要无障碍框架,就
python3+libX11+libXtst+ ImageMagick。它提供 9 个工具:
工具 作用 computer_screenshot截图(全屏或指定区域),带缩放元数据 computer_move_mouse移动指针到原生像素坐标 computer_click移动并点击(可指定按键、连击) computer_drag拖拽 computer_scroll滚轮滚动 computer_type向当前焦点窗口输入文字 computer_key发送按键或组合键( enter/ctrl+s/alt+F4)computer_cursor读当前指针位置 computer_screen_info屏幕尺寸 + XTest 可用性 坐标是 X11 原生像素,截图会同时返回
scale和区域偏移,所以缩放后的图上点选的坐标不会偏。每步输入动作之后还可以自动附一张新截图(observeAfterAction,默认开),模型能立刻确认上一步有没有生效。我实测跑了一遍完整流程
「你用我装好的 computer use 这个 skill。去查找 NBA 官网的首页。一边翻看它,一边跳到哈登的新闻,然后点开,从头翻到尾。」
后面又追加了两条:
「整个过程你用屏幕录制把它录下来,之后发给我的 DSH 飞书机器人。」
「你录制的视频,只保留 1 分钟以后的东西,然后重新发到 DSH 飞书 bot。」它是真的在动桌面。我把那次会话的工具调用拉出来还原了一遍,一共 47 次调用,桌面操作部分是这么走的:
computer_screenshot ← 先看一眼当前屏幕 computer_click ×2 → computer_key ×2 ← 点地址栏进去、清空原内容 computer_type ← 输入网址 computer_key ×2 → type → key ×2 ← 回车、进入站点 computer_screenshot ← 确认页面真的加载出来了 computer_click ← 点进哈登那条新闻 computer_scroll ×4 ← 往下翻 computer_click ×2 → key → scroll ×4 ← 继续翻,一直翻到底后面录屏那段更完整。它先自己探测了本机的录屏工具链(
ffmpeg/x11grab/import这些在不在),确认可用之后直接起了个后台录制:ffmpeg -f x11grab -video_size 2560x1440 -framerate 25 -i :1 \ -c:v libx264 -preset veryfast ... rec/nba-harden.mkv翻完之后停录、转成 mp4、裁掉前 60 秒,最后把
NBA官网-哈登新闻-浏览录屏-1分钟后.mp4发回了飞书 bot。手机上收到的就是这个视频文件。整个过程我没在电脑上点过任何一下。
诚实评价
先说好的:在 Linux X11 上操作起来还比较流畅,点击、输入、滚动都稳,不飘。它的每一步动作都会回报「系统实际注册到的原生坐标」,加上动作后自动补截图,所以基本不会点偏。
再说实话:翻网页的速度是老年人手速,比不上 Codex 的 computer use(人家在浏览器场景做了专门优化)。它是「截图 → 判断 → 动作 → 再截图」一步步走的,页面元素多、要看清楚再点的时候会明显慢。而且网页下页有cookie弹窗和小广告的遮挡关键位置的时候,computer-use 理解要叉掉小弹窗+操纵鼠标比较慢。
但是——它够用。凡是「只能用界面、没有 API」的活儿,比如登录态维护、看一眼某个站点的页面、点开某个东西翻一遍,它都能干。而且因为它每一步都截图确认,反而不容易点错。
五、三个串起来是什么效果
单看每个插件都只是「一个入口」,串起来才有意思:
用嘴说一句话 → 飞书 bot 收到 → DSH 在服务器上干活 → 需要操作界面的时候调 computer-use 动鼠标 → 结果(表格 / 图片 / 录屏文件)直接回到手机聊天窗口。
人到哪儿,agent 跟到哪儿。上面那个 NBA 的例子,从头到尾我没打开过电脑。
六、13 个活跃日的实测数据
从 8 月 30 日到 9 月 13 日,我把本机
~/.dsh/sessions里的记录全量统计了一遍,数字比主观感受更有说服力:指标 数值 会话总数 145 个(主会话 98 / 子代理 47) 真实用户输入 998 条 工具调用总数 14,564 次 经 IM 渠道下达的指令 87 条 经 IM 回传的文件 189 次 computer_*桌面操作86 次 活跃天数 13 个(08-30 → 09-13 这 15 天里) 
▲ 每天的输入条数与会话数。09-06 是 IM 渠道的爆发点,09-12 是多 agent 编排那天。
其中 computer_ 类的拆分:截屏 14 次、按键 28 次、滚动 18 次、点击 16 次、输入 7 次。量和前面那个「翻网页」的手感是对得上的——确实是一步一步挪出来的。
七、小结
三个插件里,只用得起一个的话选 dsh-im——它把「随时随地能给 agent 下指令、还能收到成品文件」这件事做得最完整,配合飞书 + 豆包语音那条链路,基本就是给服务器上的 agent 配了一部专线电话。
要盯着看就加 dsh-pocket,它解决的是「我要看那块屏幕本身」的场景,配置一次、命名隧道固定域名之后就不用再管了。
要操作没有 API 的东西就加 dsh-computer-use,在 Linux X11 上它是目前最省事的选择,慢是真慢,但那些只能靠界面点的活儿,它真能替你干完。
最后,三个插件都是社区作者的作品,用得上就去给个 Star。
-
,
T terry 固定了此主题
-
发帖缘起:之前在《Minimax H3 小试牛刀》那个帖里回了一段关于「用 IM 远程给本地 agent 下指令」的经验,版主建议我整理成一篇单独发出来。这篇就是在原有回复基础上扩写的实测记录。
适用对象:DSH 跑在远端服务器(或家里的机器)上,人经常不在电脑前,但又想随时使唤它的人。
一、先说我到底想解决什么
DSH 装在一台常年开机的机器上。麻烦在于:人一离开那台机器,这个 agent 就等于不存在了。
我遇到的实际场景就三类:
- 下班路上,上午让它跑的活儿不知道跑完没有,想瞄一眼结果;
- 在外面突然想起一件事要它查,但手边没有 SSH、没有远程桌面,也不想掏出笔记本;
- 电脑在办公室/宿舍,人在外面,想给它派个新任务。
这条路我自己搭过:bot 收消息 → 转成 prompt → 调本地 CLI → 把输出回传,四步就能跑通。但真要长期用,有三个坑绕不开——长任务没回执(跑 20 分钟你以为它死了)、多人串上下文(得按 chat_id 分开维护)、权限敞开(谁拿到 bot 谁就能在你机器上跑命令)。DSH 生态里已经有现成的了,而且比我那层壳完善得多。
这篇记录三个插件,各自解决链路里的一段:
插件 解决什么 我的使用频率 dsh-im 把 DSH 接进 IM,用聊天窗口下指令、收结果 最高 dsh-pocket 手机扫码,直接看/操作电脑上那个 DSH 界面 次高 dsh-computer-use 让 agent 能真的动鼠标键盘,操作 Linux 桌面 偶尔,但关键时刻很顶用 三个仓库:
- dsh-im → https://github.com/xmanrui/dsh-im
- dsh-pocket → https://github.com/shaobeichen/dsh-pocket
- dsh-computer-use → https://github.com/asdasdsdsdasdasdasd/dsh-computer-use

▲ 三个插件串起来之后的完整链路。下面逐个拆开讲。
二、dsh-im:把 DSH 接进 IM(我最常用的一个)
IM 这条路最适合懒人——不用装客户端、不用记端口、不用配远程桌面,聊天窗口你已经天天在用了。
它支持什么
一个插件、一个设置入口,把本机 DSH 接到 IM 渠道上。目前内置 9 个渠道,外加 iMessage:
飞书、微信、钉钉、企业微信(含自建应用)、QQ、Slack、Telegram、Discord、WhatsApp
每个渠道都能接多个机器人,各机器人的连接状态、工作区、模型、会话绑定互相独立——这点很实用,等于一个人可以按用途分好几个入口。

▲ 设置 → IM机器人:一个页面管所有渠道,每张卡片独立配工作区、模型、Agent Preset。
为什么我选了飞书
不是随便挑的,飞书这条链路有几个别家没有的好处:
1. 飞书自带豆包工作,语音指令能一路转给 DSH
这是我最看重的一点。我在手机上跟豆包工作说话,豆包把语音转成文字,自动转发给 DSH 飞书 bot,DSH 的回复直接出现在同一个聊天窗口。中文语音识别质量很好——老特在 YT 节目里讲过这个用法,我自己用了确实不错。不想用豆包工作的话,手机上直接装豆包输入法也行,体验同样可以。我的体验是豆包输入法适合你让DSH快速执行短指令,而不是复杂任务的时候用,它识别语音又快又准,当你想给DSH复杂指令,需要多轮对话整理思路的时候,用豆包工作更好(短指令豆包工作也要思考一会儿,没法把他的思考等级调到最低)。
在手机上跟豆包工作多轮对话、远程操控远端服务器上的 DSH,整个流程是顺的:说话 → 转文字 → DSH 干活 → 结果回到聊天窗口。
豆包
DSH 自动转发说明(我自己在用的设置)【自动转发】 你在豆包里发的消息,会自动转给 DSH,不用额外说"转发"。 DSH 的回复直接出现在当前聊天窗口。 【不转发的情况】 想跟豆包直接说话、不转给 DSH 时,开头说"豆包"或"先别转"。 例:"豆包,帮我总结一下刚才 DSH 的回复" 【自动等回复】 转发后豆包会每 10 秒查一次 DSH 有没有回复,最多等 3 分钟。 一有回复立刻摘给你;超过 3 分钟会提示"DSH 还在处理"。2. 流式卡片,不把思考过程一股脑倒给你
这点明显比我自己写的壳强。插件对飞书 Bot 做了针对性的优化:思考过程、工具执行进度、回答是分层呈现在流式卡片里的,不是每来一个 token 就刷你一脸。手机上调参数、看进度都舒服。
3. 对表格和 Markdown 的支持很好
DSH 很爱输出表格,飞书这边渲染得住。这点对看结果很重要——一份对比结果过来,直接是张能读的表,而不是一坨竖线。
4. 文件双向
传进去:图片、PDF、文件都能带上,连「引用某条消息」的上下文一起交给 DSH。
传出来:DSH 生成的文件、截图、录屏,能作为渠道原生附件回传。我这边统计下来,这段时间里这个回传能力被用了 189 次。5. 文件大小够用
飞书 IM bot 支持最大 30MB 的文件,比 Discord 免费版的 10MB 要好,mp4、图片、md、ZIP 这些都能传。
一个真实用例(比任何说明都直观)
9 月 6 日我在外面,手上只有手机,需要处理一份《智能路面识别 ASIL-B 提升可行性评估报告》。做法是:
- 把 PDF 直接拖进飞书 bot 的聊天窗口发出去;
- 引用同事标注的那条消息,让它「先讲概况,再详细分析」;
- 就着报告连着追问了好几轮——选项 A/B 到底差在哪、电动车刹车前段动能回收被切断导致的失重空落感、轮端过坎抱死趋势怎么提前识别……
全程在手机上完成,没有打开过电脑。后来这个主题还延伸做成了《ISO 26262 功能安全》科普视频。
这就是「IM 接入」真正的价值:不是把聊天框变好看,而是让一份真实的、有上下文的工作,能在你不在电脑前的时候继续推进。

另一种高频用法:甩个链接,让它去抄作业
除了处理文档,我在 IM 里干得最多的另一件事是——看到好东西,链接一甩。
最简的一次就是一条链接加两个字:
https://x.com/…/status/2098371224006951151 抄作业有时候连多余的字都不用说,因为上下文里它知道要干什么。比如在飞书上刷到一条效果不错的视频,直接把链接发过去,后面跟一句要求:
https://x.com/…/status/2098352621535072651 你使用 comfyUI,参考 4 步 lora 声音修复版 V2 的 json, 新写一个 JSON,模型使用 minimax H3 ref2V INT8,做一个同样的视频。 把拼接好的成品推送到 DSH 飞书 bot。这条指令拆开看,其实是一整条流水线:扒原帖里的提示词 → 照我自己机器上的工作流改写 JSON → 跑出一条视频 → 成品回传到聊天窗口。我要做的只是把链接贴进去。
抄作业的几种颗粒度
抄什么 怎么发 DSH 干什么 一条推文的提示词 链接 +「抄作业」 读帖子、提取提示词、按我的工作流重跑一版 一整套工作流 推文链接 + GitHub 工作流链接 +「你抄一下这个作业」 下载依赖、跑通流程、出片 一个作者的整个作品集 作品页链接 +「抓取所有图的 prompt metadata」 翻页批量抓取、存成 MD、逐张复刻 一个现成的 skill / 插件 GitHub 链接 +「你给我安装」 装好,然后给我跑示例 比如批量那一次:
使用 opencli,抓取并保存 noway163 的所有 Images 的 prompt all metadata,保存为 MD,要和网址关联。……我要你抓取他所有图的 prompt 的 metadata,让我可以抄他作业。
再往后就变成例行公事了——同一个作者的作品集,我会直接说「他的 Prompt 和 Metadata 你都给我存在本地,记得新建一个文件夹」,然后跟一句「定时任务也是一样的」。
为什么这种事特别适合放在 IM 里
因为**「看到好东西」这件事,发生在你刷手机的时候,不在电脑前。**
那条让你眼睛一亮的推文,出现在你通勤的地铁上、排队的间隙里。等三小时后你坐回电脑前,那个链接早就不知道沉到哪个 App 的哪条时间线里去了。
现在我只要顺手一甩,剩下的它自己去跑;跑完了成品还会自己回到这个聊天窗口——视频、PDF、打包好的 zip 都行。
把这 5 个视频发飞书 bot。
三、dsh-pocket:手机扫码,看到电脑上同一块屏幕
IM 适合「下指令、收结果」,但有时候你需要看着那个界面本身——比如它正在跑一个长任务,你想看它滚到哪里了;比如有个审批要点。
dsh-pocket 干的就是这个:装上后,手机扫个码,直接看到并操作电脑上的同一个 DSH 界面,实时同步。

▲ 手机上的界面就是电脑上的界面,流式输出实时同步。
几条通道,按场景切
- 局域网:同一 WiFi 扫码即开,自动识别本机 IP(WSL 环境会自动取 Windows 物理网卡 IP)。
- 公网:点「开启公网访问」走 cloudflared 隧道,4G 下也能访问。
- 公网固定域名:填 Cloudflare Tunnel Token + 自己的域名,走命名隧道,公网地址固定不变(不填就每次重启都换)。
我配的是第三条,买了一个阿里云的域名,让后照着AI教的配好Cloudflare named tunnel。最后按照dsh-pocket一步步设置,就能在手机上公网控制DSH了。

▲ 设置 → 手机访问,和「通用设置」「模型」同级。
四、dsh-computer-use:让 agent 真的动鼠标键盘
IM 和 Pocket 解决的是「怎么把指令送进去、把结果取出来」;computer-use 解决的是「agent 能不能操作那些没有 API 的东西」。
为什么专门挑了这个
市面上 computer-use 类的插件多数是 macOS 或 Windows 的,我这台是 Linux。这个插件的定位很明确:专门给 Linux X11 用,而且零重依赖——不需要 Node 原生模块、不需要 PowerShell、不需要无障碍框架,就
python3+libX11+libXtst+ ImageMagick。它提供 9 个工具:
工具 作用 computer_screenshot截图(全屏或指定区域),带缩放元数据 computer_move_mouse移动指针到原生像素坐标 computer_click移动并点击(可指定按键、连击) computer_drag拖拽 computer_scroll滚轮滚动 computer_type向当前焦点窗口输入文字 computer_key发送按键或组合键( enter/ctrl+s/alt+F4)computer_cursor读当前指针位置 computer_screen_info屏幕尺寸 + XTest 可用性 坐标是 X11 原生像素,截图会同时返回
scale和区域偏移,所以缩放后的图上点选的坐标不会偏。每步输入动作之后还可以自动附一张新截图(observeAfterAction,默认开),模型能立刻确认上一步有没有生效。我实测跑了一遍完整流程
「你用我装好的 computer use 这个 skill。去查找 NBA 官网的首页。一边翻看它,一边跳到哈登的新闻,然后点开,从头翻到尾。」
后面又追加了两条:
「整个过程你用屏幕录制把它录下来,之后发给我的 DSH 飞书机器人。」
「你录制的视频,只保留 1 分钟以后的东西,然后重新发到 DSH 飞书 bot。」它是真的在动桌面。我把那次会话的工具调用拉出来还原了一遍,一共 47 次调用,桌面操作部分是这么走的:
computer_screenshot ← 先看一眼当前屏幕 computer_click ×2 → computer_key ×2 ← 点地址栏进去、清空原内容 computer_type ← 输入网址 computer_key ×2 → type → key ×2 ← 回车、进入站点 computer_screenshot ← 确认页面真的加载出来了 computer_click ← 点进哈登那条新闻 computer_scroll ×4 ← 往下翻 computer_click ×2 → key → scroll ×4 ← 继续翻,一直翻到底后面录屏那段更完整。它先自己探测了本机的录屏工具链(
ffmpeg/x11grab/import这些在不在),确认可用之后直接起了个后台录制:ffmpeg -f x11grab -video_size 2560x1440 -framerate 25 -i :1 \ -c:v libx264 -preset veryfast ... rec/nba-harden.mkv翻完之后停录、转成 mp4、裁掉前 60 秒,最后把
NBA官网-哈登新闻-浏览录屏-1分钟后.mp4发回了飞书 bot。手机上收到的就是这个视频文件。整个过程我没在电脑上点过任何一下。
诚实评价
先说好的:在 Linux X11 上操作起来还比较流畅,点击、输入、滚动都稳,不飘。它的每一步动作都会回报「系统实际注册到的原生坐标」,加上动作后自动补截图,所以基本不会点偏。
再说实话:翻网页的速度是老年人手速,比不上 Codex 的 computer use(人家在浏览器场景做了专门优化)。它是「截图 → 判断 → 动作 → 再截图」一步步走的,页面元素多、要看清楚再点的时候会明显慢。而且网页下页有cookie弹窗和小广告的遮挡关键位置的时候,computer-use 理解要叉掉小弹窗+操纵鼠标比较慢。
但是——它够用。凡是「只能用界面、没有 API」的活儿,比如登录态维护、看一眼某个站点的页面、点开某个东西翻一遍,它都能干。而且因为它每一步都截图确认,反而不容易点错。
五、三个串起来是什么效果
单看每个插件都只是「一个入口」,串起来才有意思:
用嘴说一句话 → 飞书 bot 收到 → DSH 在服务器上干活 → 需要操作界面的时候调 computer-use 动鼠标 → 结果(表格 / 图片 / 录屏文件)直接回到手机聊天窗口。
人到哪儿,agent 跟到哪儿。上面那个 NBA 的例子,从头到尾我没打开过电脑。
六、13 个活跃日的实测数据
从 8 月 30 日到 9 月 13 日,我把本机
~/.dsh/sessions里的记录全量统计了一遍,数字比主观感受更有说服力:指标 数值 会话总数 145 个(主会话 98 / 子代理 47) 真实用户输入 998 条 工具调用总数 14,564 次 经 IM 渠道下达的指令 87 条 经 IM 回传的文件 189 次 computer_*桌面操作86 次 活跃天数 13 个(08-30 → 09-13 这 15 天里) 
▲ 每天的输入条数与会话数。09-06 是 IM 渠道的爆发点,09-12 是多 agent 编排那天。
其中 computer_ 类的拆分:截屏 14 次、按键 28 次、滚动 18 次、点击 16 次、输入 7 次。量和前面那个「翻网页」的手感是对得上的——确实是一步一步挪出来的。
七、小结
三个插件里,只用得起一个的话选 dsh-im——它把「随时随地能给 agent 下指令、还能收到成品文件」这件事做得最完整,配合飞书 + 豆包语音那条链路,基本就是给服务器上的 agent 配了一部专线电话。
要盯着看就加 dsh-pocket,它解决的是「我要看那块屏幕本身」的场景,配置一次、命名隧道固定域名之后就不用再管了。
要操作没有 API 的东西就加 dsh-computer-use,在 Linux X11 上它是目前最省事的选择,慢是真慢,但那些只能靠界面点的活儿,它真能替你干完。
最后,三个插件都是社区作者的作品,用得上就去给个 Star。
这类把 CLI agent 接到 IM 的玩法,方便是真方便,但安全边界得自己兜住。几条实操:
- bot 只开白名单 chat_id,别放进群、别用 @所有人:群里任何人拿到 bot 就等于拿到你机器上的执行权。
- agent 用独立系统账号跑,不给 sudo/SSH 密钥/生产目录;工作区单独挂一个目录,能上容器/VM 更好。
- 每个 chat 维护独立 session,别串上下文;长任务要有回执和超时,不然你以为它死了其实在跑。
- computer-use 直接控鼠标键盘的风险最高:放独立桌面/VM,别在物理机主桌面上开,并限死它能操作的窗口;它能看到的屏幕内容等于全部外送。
- 留一份只读审计日志,出事后能回看它到底执行了什么。
底线一条:这个 bot 的端口永远别直接暴露公网,走内网或隧道加鉴权。
-
发帖缘起:之前在《Minimax H3 小试牛刀》那个帖里回了一段关于「用 IM 远程给本地 agent 下指令」的经验,版主建议我整理成一篇单独发出来。这篇就是在原有回复基础上扩写的实测记录。
适用对象:DSH 跑在远端服务器(或家里的机器)上,人经常不在电脑前,但又想随时使唤它的人。
一、先说我到底想解决什么
DSH 装在一台常年开机的机器上。麻烦在于:人一离开那台机器,这个 agent 就等于不存在了。
我遇到的实际场景就三类:
- 下班路上,上午让它跑的活儿不知道跑完没有,想瞄一眼结果;
- 在外面突然想起一件事要它查,但手边没有 SSH、没有远程桌面,也不想掏出笔记本;
- 电脑在办公室/宿舍,人在外面,想给它派个新任务。
这条路我自己搭过:bot 收消息 → 转成 prompt → 调本地 CLI → 把输出回传,四步就能跑通。但真要长期用,有三个坑绕不开——长任务没回执(跑 20 分钟你以为它死了)、多人串上下文(得按 chat_id 分开维护)、权限敞开(谁拿到 bot 谁就能在你机器上跑命令)。DSH 生态里已经有现成的了,而且比我那层壳完善得多。
这篇记录三个插件,各自解决链路里的一段:
插件 解决什么 我的使用频率 dsh-im 把 DSH 接进 IM,用聊天窗口下指令、收结果 最高 dsh-pocket 手机扫码,直接看/操作电脑上那个 DSH 界面 次高 dsh-computer-use 让 agent 能真的动鼠标键盘,操作 Linux 桌面 偶尔,但关键时刻很顶用 三个仓库:
- dsh-im → https://github.com/xmanrui/dsh-im
- dsh-pocket → https://github.com/shaobeichen/dsh-pocket
- dsh-computer-use → https://github.com/asdasdsdsdasdasdasd/dsh-computer-use

▲ 三个插件串起来之后的完整链路。下面逐个拆开讲。
二、dsh-im:把 DSH 接进 IM(我最常用的一个)
IM 这条路最适合懒人——不用装客户端、不用记端口、不用配远程桌面,聊天窗口你已经天天在用了。
它支持什么
一个插件、一个设置入口,把本机 DSH 接到 IM 渠道上。目前内置 9 个渠道,外加 iMessage:
飞书、微信、钉钉、企业微信(含自建应用)、QQ、Slack、Telegram、Discord、WhatsApp
每个渠道都能接多个机器人,各机器人的连接状态、工作区、模型、会话绑定互相独立——这点很实用,等于一个人可以按用途分好几个入口。

▲ 设置 → IM机器人:一个页面管所有渠道,每张卡片独立配工作区、模型、Agent Preset。
为什么我选了飞书
不是随便挑的,飞书这条链路有几个别家没有的好处:
1. 飞书自带豆包工作,语音指令能一路转给 DSH
这是我最看重的一点。我在手机上跟豆包工作说话,豆包把语音转成文字,自动转发给 DSH 飞书 bot,DSH 的回复直接出现在同一个聊天窗口。中文语音识别质量很好——老特在 YT 节目里讲过这个用法,我自己用了确实不错。不想用豆包工作的话,手机上直接装豆包输入法也行,体验同样可以。我的体验是豆包输入法适合你让DSH快速执行短指令,而不是复杂任务的时候用,它识别语音又快又准,当你想给DSH复杂指令,需要多轮对话整理思路的时候,用豆包工作更好(短指令豆包工作也要思考一会儿,没法把他的思考等级调到最低)。
在手机上跟豆包工作多轮对话、远程操控远端服务器上的 DSH,整个流程是顺的:说话 → 转文字 → DSH 干活 → 结果回到聊天窗口。
豆包
DSH 自动转发说明(我自己在用的设置)【自动转发】 你在豆包里发的消息,会自动转给 DSH,不用额外说"转发"。 DSH 的回复直接出现在当前聊天窗口。 【不转发的情况】 想跟豆包直接说话、不转给 DSH 时,开头说"豆包"或"先别转"。 例:"豆包,帮我总结一下刚才 DSH 的回复" 【自动等回复】 转发后豆包会每 10 秒查一次 DSH 有没有回复,最多等 3 分钟。 一有回复立刻摘给你;超过 3 分钟会提示"DSH 还在处理"。2. 流式卡片,不把思考过程一股脑倒给你
这点明显比我自己写的壳强。插件对飞书 Bot 做了针对性的优化:思考过程、工具执行进度、回答是分层呈现在流式卡片里的,不是每来一个 token 就刷你一脸。手机上调参数、看进度都舒服。
3. 对表格和 Markdown 的支持很好
DSH 很爱输出表格,飞书这边渲染得住。这点对看结果很重要——一份对比结果过来,直接是张能读的表,而不是一坨竖线。
4. 文件双向
传进去:图片、PDF、文件都能带上,连「引用某条消息」的上下文一起交给 DSH。
传出来:DSH 生成的文件、截图、录屏,能作为渠道原生附件回传。我这边统计下来,这段时间里这个回传能力被用了 189 次。5. 文件大小够用
飞书 IM bot 支持最大 30MB 的文件,比 Discord 免费版的 10MB 要好,mp4、图片、md、ZIP 这些都能传。
一个真实用例(比任何说明都直观)
9 月 6 日我在外面,手上只有手机,需要处理一份《智能路面识别 ASIL-B 提升可行性评估报告》。做法是:
- 把 PDF 直接拖进飞书 bot 的聊天窗口发出去;
- 引用同事标注的那条消息,让它「先讲概况,再详细分析」;
- 就着报告连着追问了好几轮——选项 A/B 到底差在哪、电动车刹车前段动能回收被切断导致的失重空落感、轮端过坎抱死趋势怎么提前识别……
全程在手机上完成,没有打开过电脑。后来这个主题还延伸做成了《ISO 26262 功能安全》科普视频。
这就是「IM 接入」真正的价值:不是把聊天框变好看,而是让一份真实的、有上下文的工作,能在你不在电脑前的时候继续推进。

另一种高频用法:甩个链接,让它去抄作业
除了处理文档,我在 IM 里干得最多的另一件事是——看到好东西,链接一甩。
最简的一次就是一条链接加两个字:
https://x.com/…/status/2098371224006951151 抄作业有时候连多余的字都不用说,因为上下文里它知道要干什么。比如在飞书上刷到一条效果不错的视频,直接把链接发过去,后面跟一句要求:
https://x.com/…/status/2098352621535072651 你使用 comfyUI,参考 4 步 lora 声音修复版 V2 的 json, 新写一个 JSON,模型使用 minimax H3 ref2V INT8,做一个同样的视频。 把拼接好的成品推送到 DSH 飞书 bot。这条指令拆开看,其实是一整条流水线:扒原帖里的提示词 → 照我自己机器上的工作流改写 JSON → 跑出一条视频 → 成品回传到聊天窗口。我要做的只是把链接贴进去。
抄作业的几种颗粒度
抄什么 怎么发 DSH 干什么 一条推文的提示词 链接 +「抄作业」 读帖子、提取提示词、按我的工作流重跑一版 一整套工作流 推文链接 + GitHub 工作流链接 +「你抄一下这个作业」 下载依赖、跑通流程、出片 一个作者的整个作品集 作品页链接 +「抓取所有图的 prompt metadata」 翻页批量抓取、存成 MD、逐张复刻 一个现成的 skill / 插件 GitHub 链接 +「你给我安装」 装好,然后给我跑示例 比如批量那一次:
使用 opencli,抓取并保存 noway163 的所有 Images 的 prompt all metadata,保存为 MD,要和网址关联。……我要你抓取他所有图的 prompt 的 metadata,让我可以抄他作业。
再往后就变成例行公事了——同一个作者的作品集,我会直接说「他的 Prompt 和 Metadata 你都给我存在本地,记得新建一个文件夹」,然后跟一句「定时任务也是一样的」。
为什么这种事特别适合放在 IM 里
因为**「看到好东西」这件事,发生在你刷手机的时候,不在电脑前。**
那条让你眼睛一亮的推文,出现在你通勤的地铁上、排队的间隙里。等三小时后你坐回电脑前,那个链接早就不知道沉到哪个 App 的哪条时间线里去了。
现在我只要顺手一甩,剩下的它自己去跑;跑完了成品还会自己回到这个聊天窗口——视频、PDF、打包好的 zip 都行。
把这 5 个视频发飞书 bot。
三、dsh-pocket:手机扫码,看到电脑上同一块屏幕
IM 适合「下指令、收结果」,但有时候你需要看着那个界面本身——比如它正在跑一个长任务,你想看它滚到哪里了;比如有个审批要点。
dsh-pocket 干的就是这个:装上后,手机扫个码,直接看到并操作电脑上的同一个 DSH 界面,实时同步。

▲ 手机上的界面就是电脑上的界面,流式输出实时同步。
几条通道,按场景切
- 局域网:同一 WiFi 扫码即开,自动识别本机 IP(WSL 环境会自动取 Windows 物理网卡 IP)。
- 公网:点「开启公网访问」走 cloudflared 隧道,4G 下也能访问。
- 公网固定域名:填 Cloudflare Tunnel Token + 自己的域名,走命名隧道,公网地址固定不变(不填就每次重启都换)。
我配的是第三条,买了一个阿里云的域名,让后照着AI教的配好Cloudflare named tunnel。最后按照dsh-pocket一步步设置,就能在手机上公网控制DSH了。

▲ 设置 → 手机访问,和「通用设置」「模型」同级。
四、dsh-computer-use:让 agent 真的动鼠标键盘
IM 和 Pocket 解决的是「怎么把指令送进去、把结果取出来」;computer-use 解决的是「agent 能不能操作那些没有 API 的东西」。
为什么专门挑了这个
市面上 computer-use 类的插件多数是 macOS 或 Windows 的,我这台是 Linux。这个插件的定位很明确:专门给 Linux X11 用,而且零重依赖——不需要 Node 原生模块、不需要 PowerShell、不需要无障碍框架,就
python3+libX11+libXtst+ ImageMagick。它提供 9 个工具:
工具 作用 computer_screenshot截图(全屏或指定区域),带缩放元数据 computer_move_mouse移动指针到原生像素坐标 computer_click移动并点击(可指定按键、连击) computer_drag拖拽 computer_scroll滚轮滚动 computer_type向当前焦点窗口输入文字 computer_key发送按键或组合键( enter/ctrl+s/alt+F4)computer_cursor读当前指针位置 computer_screen_info屏幕尺寸 + XTest 可用性 坐标是 X11 原生像素,截图会同时返回
scale和区域偏移,所以缩放后的图上点选的坐标不会偏。每步输入动作之后还可以自动附一张新截图(observeAfterAction,默认开),模型能立刻确认上一步有没有生效。我实测跑了一遍完整流程
「你用我装好的 computer use 这个 skill。去查找 NBA 官网的首页。一边翻看它,一边跳到哈登的新闻,然后点开,从头翻到尾。」
后面又追加了两条:
「整个过程你用屏幕录制把它录下来,之后发给我的 DSH 飞书机器人。」
「你录制的视频,只保留 1 分钟以后的东西,然后重新发到 DSH 飞书 bot。」它是真的在动桌面。我把那次会话的工具调用拉出来还原了一遍,一共 47 次调用,桌面操作部分是这么走的:
computer_screenshot ← 先看一眼当前屏幕 computer_click ×2 → computer_key ×2 ← 点地址栏进去、清空原内容 computer_type ← 输入网址 computer_key ×2 → type → key ×2 ← 回车、进入站点 computer_screenshot ← 确认页面真的加载出来了 computer_click ← 点进哈登那条新闻 computer_scroll ×4 ← 往下翻 computer_click ×2 → key → scroll ×4 ← 继续翻,一直翻到底后面录屏那段更完整。它先自己探测了本机的录屏工具链(
ffmpeg/x11grab/import这些在不在),确认可用之后直接起了个后台录制:ffmpeg -f x11grab -video_size 2560x1440 -framerate 25 -i :1 \ -c:v libx264 -preset veryfast ... rec/nba-harden.mkv翻完之后停录、转成 mp4、裁掉前 60 秒,最后把
NBA官网-哈登新闻-浏览录屏-1分钟后.mp4发回了飞书 bot。手机上收到的就是这个视频文件。整个过程我没在电脑上点过任何一下。
诚实评价
先说好的:在 Linux X11 上操作起来还比较流畅,点击、输入、滚动都稳,不飘。它的每一步动作都会回报「系统实际注册到的原生坐标」,加上动作后自动补截图,所以基本不会点偏。
再说实话:翻网页的速度是老年人手速,比不上 Codex 的 computer use(人家在浏览器场景做了专门优化)。它是「截图 → 判断 → 动作 → 再截图」一步步走的,页面元素多、要看清楚再点的时候会明显慢。而且网页下页有cookie弹窗和小广告的遮挡关键位置的时候,computer-use 理解要叉掉小弹窗+操纵鼠标比较慢。
但是——它够用。凡是「只能用界面、没有 API」的活儿,比如登录态维护、看一眼某个站点的页面、点开某个东西翻一遍,它都能干。而且因为它每一步都截图确认,反而不容易点错。
五、三个串起来是什么效果
单看每个插件都只是「一个入口」,串起来才有意思:
用嘴说一句话 → 飞书 bot 收到 → DSH 在服务器上干活 → 需要操作界面的时候调 computer-use 动鼠标 → 结果(表格 / 图片 / 录屏文件)直接回到手机聊天窗口。
人到哪儿,agent 跟到哪儿。上面那个 NBA 的例子,从头到尾我没打开过电脑。
六、13 个活跃日的实测数据
从 8 月 30 日到 9 月 13 日,我把本机
~/.dsh/sessions里的记录全量统计了一遍,数字比主观感受更有说服力:指标 数值 会话总数 145 个(主会话 98 / 子代理 47) 真实用户输入 998 条 工具调用总数 14,564 次 经 IM 渠道下达的指令 87 条 经 IM 回传的文件 189 次 computer_*桌面操作86 次 活跃天数 13 个(08-30 → 09-13 这 15 天里) 
▲ 每天的输入条数与会话数。09-06 是 IM 渠道的爆发点,09-12 是多 agent 编排那天。
其中 computer_ 类的拆分:截屏 14 次、按键 28 次、滚动 18 次、点击 16 次、输入 7 次。量和前面那个「翻网页」的手感是对得上的——确实是一步一步挪出来的。
七、小结
三个插件里,只用得起一个的话选 dsh-im——它把「随时随地能给 agent 下指令、还能收到成品文件」这件事做得最完整,配合飞书 + 豆包语音那条链路,基本就是给服务器上的 agent 配了一部专线电话。
要盯着看就加 dsh-pocket,它解决的是「我要看那块屏幕本身」的场景,配置一次、命名隧道固定域名之后就不用再管了。
要操作没有 API 的东西就加 dsh-computer-use,在 Linux X11 上它是目前最省事的选择,慢是真慢,但那些只能靠界面点的活儿,它真能替你干完。
最后,三个插件都是社区作者的作品,用得上就去给个 Star。
它是真的在动桌面
很不習慣Agent跟我搶Chrome瀏覽器, 瞬間開了好幾個tabs,
有時候還蠻Creepy的之前遇到個Agent Ghost, 一直亂動我的j滑鼠游標 寫了個抓鬼監督程式 找了幾個禮拜, 很久沒出現了
为什么这种事特别适合放在 IM 里
因为**「看到好东西」这件事,发生在你刷手机的时候,不在电脑前。**现在我只要顺手一甩,剩下的它自己去跑;跑完了成品还会自己回到这个聊天窗口——视频、PDF、打包好的 zip 都行。
有點科幻, 但是是現實, 未來大概會有更先進的小裝置, Qualcomm 跟各大廠合作已經在研發小型晶片了, 這個AI Pin 大概是很適合的大小 + 眼鏡上的投影裝置 棒棒 !

https://x.com/…/status/2098352621535072651
你使用 comfyUI,参考 4 步 lora 声音修复版 V2 的 json,
新写一个 JSON,模型使用 minimax H3 ref2V INT8,做一个同样的视频。
把拼接好的成品推送到 DSH 飞书 bot。這個軟硬體配置要先設定好, 看來我們玩地端模型的有福氣了 真的是愛機

很實用 感謝分享喔 !

-
它是真的在动桌面
很不習慣Agent跟我搶Chrome瀏覽器, 瞬間開了好幾個tabs,
有時候還蠻Creepy的之前遇到個Agent Ghost, 一直亂動我的j滑鼠游標 寫了個抓鬼監督程式 找了幾個禮拜, 很久沒出現了
为什么这种事特别适合放在 IM 里
因为**「看到好东西」这件事,发生在你刷手机的时候,不在电脑前。**现在我只要顺手一甩,剩下的它自己去跑;跑完了成品还会自己回到这个聊天窗口——视频、PDF、打包好的 zip 都行。
有點科幻, 但是是現實, 未來大概會有更先進的小裝置, Qualcomm 跟各大廠合作已經在研發小型晶片了, 這個AI Pin 大概是很適合的大小 + 眼鏡上的投影裝置 棒棒 !

https://x.com/…/status/2098352621535072651
你使用 comfyUI,参考 4 步 lora 声音修复版 V2 的 json,
新写一个 JSON,模型使用 minimax H3 ref2V INT8,做一个同样的视频。
把拼接好的成品推送到 DSH 飞书 bot。這個軟硬體配置要先設定好, 看來我們玩地端模型的有福氣了 真的是愛機

很實用 感謝分享喔 !

-
,系统 取消固定了此主题
-
computer use the future....
现在我vibe, 都不用重复问题,他会自己print screen去看

我左边荧幕留给agent, 右边荧幕拿来看视频,第三荧幕实时显示硬件信息。。。
我本来不需要盯着agent, 现在的点是看视频的时间,
我的minimax h3 大部分时间并不在server 直接执行,全部功能被转换成api 形式,
我现在欠缺的就是,如果server 的comfyui 卡机,lm studio 卡机,还是得必须登录server restart 这两个软件。。。要排除这两个问题,就需要第三个独立agent去杀掉这个两个进程,再启动 -
