dsh-telegram-bridge:把 DSH 会话搬进 Telegram

前言

DSH 的会话都跑在桌面应用里:看状态要切窗口,批准工具调用要守在电脑前,跑长任务时人一离开就没人接力。已有做法要么靠 Web UI,要么在终端里反复敲命令;只要不在机器旁边,agent 的人工介入环节就断档。

captainpersia-66/dsh-telegram-bridge(包名 @local/dsh-telegram-bridge)就是补这一档的。它在 DSH Host 进程内运行一个 Telegram bot,用手机就能看会话、看结果、发 prompt、处理批准,不需要开端口,不需要 webhook,也不需要公网地址——插件从 Host 长轮询 Telegram Bot API。

下面介绍它的能力、启用方式和使用要点。

这是什么

一个把 DSH 会话接到 Telegram 的插件,维护者是 CaptainPersia-66,社区目录分类为「客户端」。目录页标注 GitHub 星标为 1,许可证为 MIT,package.json 里版本为 1.3.0。

它解决的问题:人不坐在桌面前时,仍然能跟随会话、继续推进 agent,并在移动端完成 human-in-the-loop 的判断。

核心能力

README 列出的能力逐条如下:

  • 查看会话:标题、工作目录、运行/空闲状态、最近活动。
  • 读取结果:每一轮最新的 assistant 回答,并带 token 用量。
  • 审查一次运行:请求、回答、每一次工具调用(含成功/失败与结果预览),以及它改动的文件与增删行数。
  • 继续推进 agent:直接发纯文本当 prompt,或发出 steering 消息、停止运行、创建或重命名会话。
  • 语音输入:Telegram 语音消息由 DSH 的语音输入模型在本地转写后作为 prompt。
  • 媒体回传:某一轮产出的视频、音频、图片、文档自动发到 Telegram;/files 可以重发最近一轮的产出。
  • 批准时刻:在桌面 app 不在前台时,用手机批准/拒绝工具调用、回答 ask_user_question 卡片。
  • 结束推送:一轮跑完即推送,并附带 Result / Review / Status 按钮。

安装与启用

插件没有提供安装命令入口,也故意不附带生成好的设置表单。启用方式是:先建 bot 拿到 token,再把 token 交给 DSH,最后在 profile patch 里授权你的 chat。

1、创建 bot 并拿 token。

在 Telegram 里找 @BotFather,发 /newbot,取名并设定 …_bot 用户名,复制形如 123456789:AA… 的 token。

2、把 token 交给 DSH。

二选一:在 profile patch 的 telegram-bridge 行里直接写 botToken:(官方不建议在共享机器上这么做);或者设置 TELEGRAM_BOT_TOKEN 环境变量、或通过 Harness credential store 保存,行的默认值是 tokenRef: TELEGRAM_BOT_TOKEN。Windows 桌面装的话,路径是「系统属性 → 环境变量 → 用户变量 → 新建」,名 TELEGRAM_BOT_TOKEN,值为 token,然后彻底重启 DSH——关窗口不够,要从托盘菜单退出。

3、授权你的聊天并重启。

重启后给 bot 发 /start。此时还没有任何 chat 被授权,bot 进入配对模式,只回你的数字 chat id 和 user id,别的都不执行。把这个 chat id 加进 profile patch 的插件行:

- id: telegram-bridge
  name: "@local/dsh-telegram-bridge"
  config:
    tokenRef: TELEGRAM_BOT_TOKEN
    allowedChatIds: ["123456789"]

profile patch 的位置:Windows 是 %USERPROFILE%\.dsh\profiles\desktop\cordis.patch.yml,其他系统是 ~/.dsh/profiles/desktop/cordis.patch.yml。注意要写在 profile patch,不要写进 bundle 自己的 patch。私聊也可以用 allowedUserIds,两个列表会合并。

这里有个坑:行 override 会整体替换 config,所以设 allowedChatIds 时要重新写上 tokenRef。另外 profile patch 是在 bundle 层之后重新套用的,所以插件升级后你的配置还在。

4、重启 DSH,给 bot 发 /help,收到命令卡片就说明通了。

一个安全细节:配对本身不会授权。未知 chat 只会拿到自己的 id,且该提示有频率限制;只要 id 不在白名单里,所有命令都被忽略。

常用命令

README 的完整命令表如下,纯文本(不以 / 开头)会直接发到当前会话当 prompt。

命令 作用
/sessions (或 /list) 列出会话,点按钮选中一个
/use <n \| id-prefix \| title> 按序号、id 前缀或标题子串选中会话
/status (/current) 状态、轮次/步数、模型、token、上下文、策略、活动
/result [turns] 最近若干轮 assistant 回答,默认 1 轮
/files 把最近一轮产出的媒体/文档重发到本 chat
/review 最近一轮的请求/回答/工具调用/改动文件
/tail [turns] 最近若干轮的紧凑概览
/controls (/more) 所有会话动作的按钮卡,等同 ⚙️ All controls
/say <text> 发 prompt(纯文本的显式写法;不带文本则等下一条消息)
/steer <text> 给正在运行的轮次发 steering;不带文本则等下一条消息
/stop 停止正在运行的轮次
/new [absolute-cwd] 新建会话(可指定工作目录)并选中
/topic [rename <name> \| sync \| close \| reopen] 创建/绑定、改名、同步、关闭或重开会话 topic
/rename <title> 重命名选中会话;不带标题则等下一条消息
/pending 列出待处理的批准/提问及按钮
/approve [id] / /deny [id] 处理最旧或指定 id 的待批准项
/notify on\|off 开关本 chat 的推送
/notify all\|current 推送范围设为全部会话或仅当前会话
/whoami 查看你的 id、选中会话、通知状态、web UI 地址
/debug 脱敏后的诊断信息
/cancel 放弃待领取的按钮文本输入(Say…/Steer…/Rename…)或已输入的回答
/help 命令卡片

默认 /sessions 不显示子 agent(subagent)和已归档的会话。要看到它们,设 sessions.includeSubagents: true 和/或 sessions.includeArchived: true,或者用 /use <完整 session id> 直接指定。

典型用法

跟随多会话。 选中一个会话后,它就是纯文本和命令的默认目标。当多个会话的推送同时到达时不用再选:直接在 Telegram 里引述回复某条消息,prompt 会发到那条消息所属的会话,并把它设为后续的活跃会话;回复映射在内存里保留 24 小时、每个 chat 最多 300 条,重启后对旧消息的回复会退回当前活跃会话,这时显式发 /sessions 或点通知按钮即可。

远程批准。 桌面 app 不在前台时,批准/提问消息带内联按钮;多选答案的提问还会带 ✅ Done 和 ✏️ Other,后者把对话切到「输入你的答案」模式。也可以用 /pending 看到带按钮的待办列表,或 /approve、/deny 处理。

提醒 agent 你不在机器前。 DSH 会话默认属于坐在桌面前的人,agent 可能直接在那里开文件或窗口。插件把传输来源显式化:所有来自 Telegram 的 prompt(输入文本、引述路由文本、转写后的语音)都会被标注为远程上下文。

适用场景与注意

适合这样的场景:DSH 跑的是长任务或需要多次人工判断,而人经常不在电脑边,希望用手机继续推进会话、批准调用、收媒体产出。

需要注意的几点:

  • 插件以当前 DSH 进程的权限运行,能读到该进程能读到的文件、环境和凭证。安装前应检查源码与许可证,确认你接受它的能力边界。
  • 它会访问 TELEGRAM_BOT_TOKEN,并且从 Host 长轮询 Telegram Bot API。共享机器上不要把 token 硬写进配置行。
  • 本轮只覆盖了有明确资料的功能。安装命令、内置配置项、图标、文案等,以仓库里的 package.json 和 README.md 为准。
  • 目录页是非官方社区站点,与 DeepSeek / 幻方无官方从属关系,星标和分类数据以目录页和 GitHub 页面为准。

结尾

这个插件的价值在于把「人不在机器前」从障碍变成正常状态:会话可见、结果可读、批准可点、产出可收。如果你在 DSH 上跑自动化且需要人工值守,值得试一轮。目录页在 https://www.skillhub.cn/plugins/CaptainPersia-66/dsh-telegram-bridge,源码在 https://github.com/CaptainPersia-66/dsh-telegram-bridge。

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

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

小夜