dsh-telegram-bridge:通过 Telegram 管理与回复 DSH 会话

前言

这是 DeepSeek Harness (DSH) 的一个 host 插件。它通过 Telegram 机器人推送会话通知,并支持用户在 Telegram 上回复消息以继续推进会话,解决了在移动端或通过即时通讯工具获取 DSH 会话状态的需求。

安装与启用

插件已收录在官方目录。安装时使用以下命令:

dsh plugin --profile web add dsh-telegram-bridge
dsh --profile web --dump-config
# 重启 dsh web 进程

初始化配置

首次使用需完成以下步骤:

  1. 在 Telegram 找 @BotFather 创建机器人,获取 token。
  2. 配置 token。可在 data/config.json 中设置 botToken,或设置环境变量 DSH_TELEGRAM_BOT_TOKEN。环境变量需对 dsh web 进程可见。
  3. 重启 dsh web。
  4. 在 Telegram 给机器人发送 /start(未配置授权列表时自动注册当前 chat)。
  5. 发送 /status 确认桥接状态。

核心功能

插件提供以下能力:

  • 会话完成通知:当会话回到 idle 状态时,向 Telegram 发送通知。通知包含侧边栏 icon 名称、会话 id、会话名、通知类型、内容概要。回复该消息即可继续会话。
  • 需要确认通知:当模型请求确认(ask_user_question)或需要权限审批(sandbox approval)时,推送问题或审批请求。回复选项编号、文字或 /approve 命令即可处理。
  • 消息路由:
    1. 回复通知消息:直达对应会话。
    2. 消息正文带 #sess:<会话id>:直达该会话。
    3. 全局恰好只有一个待回答的确认问题:该消息视为对它的回答。
    4. 应用路由:消息未携带 sessionId 时,按关键词识别应用。日历相关(日程/待办/提醒等)发送到 dsh-calendar-todo,其他消息默认为 dsh-chat-app 并新建会话。

Telegram 命令

  • /start:注册当前 chat。
  • /list:列出会话(编号)。
  • /s <编号|会话id> <内容>:向指定会话发送消息。
  • /q <编号> <答案>:回答指定会话的待确认问题。
  • /approve <编号> allow|deny|ask:设置会话自动审批策略。
  • /status:桥接状态。
  • /help:帮助。

审批策略与数据持久化

  • 审批策略:只有通过 /approve 命令设置的审批策略会落盘到 data/state。网页提权卡“本会话都允许”的策略仅存活于内存,重启即失效。
  • 环境变量:支持 DSH_TELEGRAM_BOT_TOKEN、DSH_TELEGRAM_ALLOWED_CHATS、DSH_TELEGRAM_APPROVAL_DEFAULT、DSH_TELEGRAM_PREFIX。
  • 配置文件:支持 data/config.json 设置 botToken、allowedChats(空表示不限制)、calendarKeywords。
羽毛球分组比赛记分
小程序二维码

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

小夜