鸿驿(dsh-hongyi):用邮箱把 DSH 状态与指令送到手机

前言

跑 DeepSeek Harness 时,电脑常在家庭宽带或公司网络后面:没有公网 IP,做端口映射也不现实;租 VPS 当中转又要钱、还要运维。常见做法是再找一套消息服务或自建网关。鸿驿(仓库名 dsh-hongyi)换了一条路:用你已有的 IMAP/SMTP 邮箱当中转,在手机和 DSH 桌面端之间 relay 状态、任务、指令和文件,不依赖公网暴露、也不依赖自建服务器。

下面按定位、能力、安装配置、协议与安全边界说明这个客户端类插件,事实均来自 GitHub 仓库 与 SkillHub 目录页。

这是什么

鸿驿是 DeepSeek Harness 的插件,维护者为 yuzhej523-maker,分类为 客户端。package.json 当前版本为 1.1.0,许可证 MIT,要求 Node >=20。

一句话:把 DSH 的状态、任务进度、结构化指令和文件,经由你自己的邮箱(默认走草稿箱静默读写)与手机端 APK 互通。架构可以概括为:

手机 APK  ⇄  QQ 邮箱(草稿箱,静默)  ⇄  DSH 电脑端插件

前提:电脑开着且 DSH 在运行;关机期间消息留在信箱(TTL 1 小时),开机后补收。

为什么用邮箱当中转

家庭宽带多数在运营商级 NAT(CGNAT)后,难以做端口转发。鸿驿不碰这两件事,只把「本来就有的邮箱」当中转站。

  • 手机在 4G/5G、公司 WiFi、国外酒店等网络都能用,中间是标准邮件协议。
  • 邮件写入草稿箱而非收件箱:不弹新邮件提醒、不进收件箱,由鸿驿经 IMAP 读取。
  • 每条消息带 HMAC-SHA256 签名;文件分片收发,收齐后按 sha256 校验。
  • 除「自由文本指令」外,遥测、文件传输、结构化指令均由本地代码读写邮箱,不调用模型(自由文本会进队列等云端解析,README 明确不消耗本地模型)。

核心功能

能力 说明
在线状态 手机查看电脑是否在线、最近遥测时间、PC 快照
任务监测 查看运行中的任务、时长;日志超过 3 分钟无变化标「疑似卡住」
指令下发 start / stop / status / tasks / download <url> / help,本地解析执行
自由文本 写入队列,等待云端解析
双向传文件 手机与电脑互传,分片 + sha256,单文件 ≤200MB
指令流水 桌面设置卡片可查看手机发来的指令及执行结果

桌面端还通过 index.js 提供 Host 侧 HTTP 路由与 /hongyi 命令;client.js 注入设置卡片(status / 中转 / 任务 / 文件 / 指令流水)。

安装与启用

README 强调:用 CLI 安装插件,不要用市场面板——当前版本面板安装会被回滚。

  1. 用官方示例路径调用 dsh plugin add(请按你本机 DSH 与插件目录改路径):
& "D:\Software\10_AI_Tools\deepseekharness\resources\runtime\cli\bin\dsh.cmd" `
  plugin --profile desktop add "D:\hongyi-build\hongyi"
  1. 重启 DSH 桌面版。

  2. 打开 设置 → 鸿驿,填写:

  • 通道 = 邮箱 · 静默通道
  • 邮箱地址 = 例如 你的QQ号@qq.com
  • 邮箱服务商 = QQ 邮箱
  • IMAP/SMTP 授权码 = 16 位授权码(设置页内置获取指南)
  • 静默通道 = 开启
  1. 点「生成新密钥」→「显示」→ 复制设备密钥。

  2. 手机安装鸿驿 APK,设置页填相同四项 →「保存并连接」。

QQ 授权码:浏览器打开 https://mail.qq.com → 设置 → 账号 →「POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV 服务」→ 开启 IMAP/SMTP → 手机验证后获得 16 位授权码(只显示一次)。更细的步骤与故障排查见仓库 docs/MANUAL.md。

典型用法:手机侧指令

结构化指令在电脑端本地解析,无需为每条指令跑模型。README 给出的命令包括:

  • status:查看状态
  • tasks:任务列表
  • start / stop:控制任务
  • download <url>:按 URL 下载
  • help:帮助

文件与状态同步走统一信封协议;桌面「指令流水」可核对手机侧下发与执行结果。

协议概要

消息为统一 JSON 信封(详见 docs/PROTOCOL.md),例如:

{
  "v": 1,
  "id": "telemetry_mwajx...",
  "type": "telemetry | file | command | ack | event",
  "from": "dsh-pc",
  "to": "phone",
  "ts": "2026-11-10T13:00:31.632Z",
  "ttl": 3600,
  "payload": { },
  "sig": "<hex HMAC-SHA256>"
}
  • id 用于幂等去重:先记账再执行,崩溃重放不会重复执行。
  • sig 为 HMAC-SHA256(设备密钥, 拼接字段);校验失败拒收。
  • TTL 按邮件服务器时钟判定。

遥测策略:有变化才上报;无变化时每 10 分钟汇总;另有 30 秒心跳——这些路径均不调模型。

适用场景与注意

适合谁:需要在无公网 IP、又不想维护 VPS 的前提下,用手机查看 DSH 机器在线与任务情况,并下发结构化指令或传文件(单文件 ≤200MB)的开发者。

运行权限:插件随当前 DSH 进程权限运行,安装前请自行审阅 MIT 源码 与许可证。

安全边界(README 原文要点):

  • 授权码与设备密钥仅存 $DSH_HOME/hongyi/credentials.json,不进 profile、不同步他处。
  • 内容经腾讯邮件服务器传输,JSON 明文,仅签名防篡改、无加密;勿传敏感文件。
  • 设备密钥泄露则他人可给你的电脑下指令;重新生成后 PC 与手机都要更新。
  • 插件只写 $DSH_HOME/hongyi/,不向邮箱以外地址上报遥测。

生态上,DSH 是「一切皆插件」;SkillHub 目录 为社区站点,与 DeepSeek / 幻方无官方从属关系。

开发与自测(维护者视角)

仓库提供离线 smoke 与 mock 信箱测试:

npm test          # smoke-host + render-check(离线,不需要真邮箱)
npm run test:all  # 加 smoke-phase1/2/3(需要 mock 信箱)
npm run test:imap # 真实邮箱静默通道探针(需要凭据)

发版前回归脚本需全绿,检查点见 docs/CHECKPOINTS.md。

结尾

鸿驿把 DSH 与手机之间的链路收拢到现有邮箱:静默草稿箱、本地结构化指令、分片文件与 HMAC 信封,避开 CGNAT 与自建中转。若你要接入,从 CLI 安装、配置 QQ(或其它 IMAP/SMTP)静默通道、两端对齐设备密钥即可起步。

  • 目录页:https://www.skillhub.cn/plugins/yuzhej523-maker/dsh-hongyi
  • GitHub:https://github.com/yuzhej523-maker/dsh-hongyi
羽毛球分组比赛记分
小程序二维码

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

小夜