前言¶
這是 DeepSeek Harness (DSH) 的一個 host 插件。它通過 Telegram 機器人推送會話通知,並支持用戶在 Telegram 上回復消息以繼續推進會話,解決了在移動端或通過即時通訊工具獲取 DSH 會話狀態的需求。
安裝與啓用¶
插件已收錄在官方目錄。安裝時使用以下命令:
dsh plugin --profile web add dsh-telegram-bridge
dsh --profile web --dump-config
# 重啓 dsh web 進程
初始化配置¶
首次使用需完成以下步驟:
- 在 Telegram 找 @BotFather 創建機器人,獲取 token。
- 配置 token。可在
data/config.json中設置botToken,或設置環境變量DSH_TELEGRAM_BOT_TOKEN。環境變量需對 dsh web 進程可見。 - 重啓 dsh web。
- 在 Telegram 給機器人發送
/start(未配置授權列表時自動註冊當前 chat)。 - 發送
/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。