dsh-wechat-transfer: Send local files from DSH to WeChat File Transfer Assistant

前言

用 DeepSeek Harness(DSH)跑任务时,报告、截图、导出文件往往落在运行 DSH 的那台 Windows 电脑上。若你在手机上远程连 DSH,或希望产物立刻出现在手机微信里,常见做法是回到电脑前复制,或自己找网盘/邮件中转。下面介绍的 dsh-wechat-transfer 是社区维护的 DSH 左侧栏插件(维护者 le0522,分类:联网工具),通过 Windows 版微信桌面客户端,把指定本地路径的文件送到指定聊天(默认「文件传输助手」),手机端微信即可收到并保存。

这是什么

dsh-wechat-transfer 在 DSH 左侧栏增加「微信传输」入口,并提供模型可调用的工具 wechat_send_file。它不替代微信客户端,而是在本机启动或唤起微信 4.x,用截屏与 Windows 自带中文 OCR 校验当前聊天与发送步骤,再通过微信原生的「选择文件」对话框把文件放进输入框;可选自动点击发送。插件仅支持 Windows(依赖 Windows PowerShell 5.1 与中文 OCR 语言包),与 SkillHub 目录页简介「Send local files to WeChat 文件传输助手 from DeepSeek Harness (Windows)」一致。

远程场景下,DSH 面板可走 /remote 网关,手机浏览器上的同一面板也能触发发送。

核心功能

面板与交付卡片

左侧栏「微信传输」面板可填写文件路径、目标聊天、是否自动发送,并提供「登录微信」「关闭微信」等操作。聊天里每个 present 交付文件卡片旁会多一个「发微信」按钮,点按即可把该文件发到默认或指定的聊天;成功或失败会显示在按钮上。

模型工具

注册工具 wechat_send_file 后,可在对话中直接要求把某个本地文件发到「文件传输助手」,由插件走同一套发送流程。

发送流程与安全策略

每次执行会置前微信主窗口(不按 Esc、不随意关窗、不在正常发送路径里启停进程),用 OCR 读标题栏确认当前聊天为目标聊天;不对则尝试在会话列表中点开目标名,仍不对则中止。存在多个同名会话时返回 chat-ambiguous 并中止。确认聊天后,点击输入栏左侧文件夹图标,在原生「选择文件」对话框的文件名框粘贴 "路径1" "路径2" 并确认,再 OCR 或像素方式校验文件是否出现在输入框;若 autoSend 为 true,会在确认发送按钮为可发送状态后点击,并校验消息是否进入聊天。默认 autoSend = false,文件只停留在输入框,由人工确认后再发。

微信 4.x 为 Qt Quick 自绘界面,无可用 UI Automation,插件采用「最小动作 + 逐步校验」的设计;校验依据的是聊天显示名(OCR),不是微信内部会话 ID,同名聊天、OCR 误判等边界在 README 中已有说明。

登录与微信进程

微信未运行时插件可启动 Weixin.exe 并尝试在登录窗点击「进入微信」;需要扫码时返回 login-qr。面板「关闭微信」会先请求微信缩到托盘,必要时结束 Weixin.exe,返回 closed-wechat。

HTTP 路由(宿主侧)

方法 路径 用途
GET /dsh-wechat-transfer/status 引擎是否就绪、上次结果、截图年龄
POST /dsh-wechat-transfer/send {paths, chat?, autoSend?} 发送文件
POST /dsh-wechat-transfer/login 处理登录窗口
POST /dsh-wechat-transfer/close 关闭微信
POST /dsh-wechat-transfer/resolve 交付卡片路径解析
GET /dsh-wechat-transfer/screenshot 最近一次校验截图

非本机访问时,客户端会在收到 403/404 后自动改用 /remote/dsh-wechat-transfer/... 重试。

安装与启用

从 npm 安装(README 推荐):

dsh plugin --profile desktop add dsh-wechat-transfer

若需跟踪源码仓库最新提交:

dsh plugin --profile desktop add github:le0522/dsh-wechat-transfer

也可从 GitHub Releases 取 zip/tgz 离线安装,或 npm install dsh-wechat-transfer 装进任意 DSH profile。安装完成后重启 DSH,左侧栏应出现「微信传输」。资料中 package.json 标明版本 0.2.9、许可证 MIT、引擎要求 dsh >= 0.2.0-rc.1。

典型用法

  1. 在面板填写本地绝对路径,目标聊天留空则使用「文件传输助手」,按需勾选是否自动发送,执行发送。
  2. 在 DSH 聊天中让模型调用 wechat_send_file,或点交付卡片旁的「发微信」。
  3. 远程用手机浏览器打开 DSH 面板,同样可发;发送过程中面板约每 1.5 秒轮询 /status 显示最新状态与时间戳。

失败时插件会返回明确 stage,例如 chat-not-open(未打开目标聊天且未粘贴)、paste-not-verified、send-not-verified、ocr-unavailable 等;成功时常见 staged(仅进输入框)或 sent(已确认发送)。

适用场景与注意

适合:Windows 上已装微信 4.x,希望 DSH 产物(尤其远程/手机驱动 DSH 时)快速进手机微信;愿意接受 OCR 校验而非绝对零误发的场景(敏感文件建议保持 autoSend 默认 false,人工点发送)。

前置:系统具备 zh-Hans OCR;目标聊天能在会话列表或全局搜索中被定位;窗口尺寸在 README 所述范围内插件会自行 normalize,最大化或过小窗口时可能临时调整尺寸并在发完后还原。

安全与权限:插件以当前 DSH 进程权限在本机操作微信窗口与文件路径,安装前请自行阅读 GitHub 仓库 源码与 MIT 许可证。DSH 社区插件目录(SkillHub)为独立站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-wechat-transfer 把「DSH 桌面产物 → 微信文件传输助手 → 手机微信」收成面板一键、交付卡片一键和模型工具三条路径,并围绕微信 4.x 无自动化 API 的现实做了分步校验。目录页:https://www.skillhub.cn/plugins/le0522/dsh-wechat-transfer;源码与完整说明:https://github.com/le0522/dsh-wechat-transfer。

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

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

Xiaoye