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。

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

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

小夜