前言¶
DeepSeek Harness (DSH) 是一個基於插件的架構。在本地運行 DSH 進程時,通過手機進行遠程控制是一個常見需求。dsh-telegram-control 插件在 DSH 進程內部運行一個 Telegram Bot,通過長輪詢與 Telegram Bot API 通信,允許用戶通過 Telegram 發送消息控制代理、管理會話和後臺任務。
插件介紹¶
dsh-telegram-control 是 DeepSeek Harness 的客戶端插件,由 jackControls 維護。它將 Telegram Bot 集成到 Harness 進程中,通過 / 命令和內聯按鈕實現遠程交互。該插件不依賴外部運行時,僅作爲 Cordis 函數插件運行,需與 DSH 核心依賴配合。
核心功能¶
該插件提供以下核心能力:
- 遠程代理控制:純文本消息作爲對話的跟進發送到選定的會話,回覆(包含思考塊 💭)會通過 Telegram 實時回傳。
- 命令界面:通過
/status、/agents、/jobs等命令查看狀態和管理資源。 - 手機端審批:Harnes 的權限請求(如沙盒升級)通過 Telegram 送達,提供
✅ Allow once/❌ Reject內聯按鈕進行審批。 - 命令菜單自動補全:Bot 通過
setMyCommands註冊命令,支持輸入時自動補全。 - 實時會話推送:通過
/watch命令將指定會話的實時輸出推送到聊天窗口。 - 基於白名單的認證:僅允許配置列表中的聊天 ID 訪問,未知聊天僅顯示提示。
- 輸出安全:所有動態文本在發送前經過 HTML 轉義,防止注入。
安裝與啓用¶
安裝前請確保環境滿足以下要求:
* Node.js 版本 >= 22
* 已安裝 DSH 並運行
* 擁有一個有效的 Telegram Bot Token(可通過 @BotFather 獲取)
執行以下命令安裝插件:
dsh plugin --profile web add github:jackControls/dsh-telegram-control
安裝後,需在運行 DSH 的進程中配置環境變量:
export DSH_TELEGRAM_TOKEN='123456:ABC-DEF...'
export DSH_TELEGRAM_ALLOWED_CHATS='123456789,987654321'
重啓 DSH 進程,與 Bot 私聊併發送 /help 即可開始使用。
命令使用¶
插件提供以下命令用於交互:
/help或/start:顯示命令列表。/status:查看運行狀態、會話數和後臺任務數。/agents:列出所有會話(包含運行中和已暫停的會話),顯示狀態、模型和當前選擇標記。/agent <number>:根據編號選擇會話。/agent <name>:根據會話標題或 ID 的子串選擇會話。/agent <session id>:根據精確會話 ID 選擇。/jobs:列出後臺任務。/kill <job id>:停止指定的後臺任務。/cancel:取消當前選中的會話的當前回合。/watch//unwatch:開啓或關閉實時輸出推送。/chatid:獲取當前聊天的 ID(用於配置白名單)。
配置項¶
除了環境變量,插件支持以下配置項(可在代碼中配置或通過環境變量回退):
| 配置項 | 環境變量回退 | 默認值 | 說明 |
|---|---|---|---|
token |
DSH_TELEGRAM_TOKEN |
必填 | Telegram Bot Token。 |
allowedChatIds |
DSH_TELEGRAM_ALLOWED_CHATS |
[] |
允許的聊天 ID 列表,空列表將拒絕所有人。 |
apiBase |
— | https://api.telegram.org |
Bot API 基礎地址。 |
defaultAgentId |
— | 無 | 當會話未選擇時,消息默認發送的目標會話 ID。 |
pollTimeoutSec |
— | 50 |
長輪詢超時時間(秒)。 |
replyTimeoutMs |
— | 600000 |
等待代理回覆的最大超時時間(毫秒)。 |
showToolCalls |
— | false |
是否在回覆等待期間顯示工具調用通知。 |
maxMessageChars |
— | 4000 |
單條消息最大字符數,超長會自動拆分。 |
注意事項¶
- 安全策略:插件採用白名單機制,
allowedChatIds爲空時將拒絕所有請求。請務必在配置中添加受信任的聊天 ID。 - 輸出處理:所有動態文本在發送前均經過 HTML 轉義,確保安全性。
- 會話管理:已暫停的會話在首次發送消息時會自動恢復,並保留原有的會話預設和歷史記錄。
- 依賴要求:需要 Node.js >= 22 版本,且 DSH 進程需要擁有訪問 Telegram API 的網絡環境。
總結¶
dsh-telegram-control 解決了在移動端遠程控制 DeepSeek Harness 會話和任務的需求。通過簡單的命令和內聯按鈕交互,開發者可以在手機上管理複雜的 Agent 流程和後臺任務。該插件代碼開源,可直接通過 dsh plugin 安裝,適合需要在移動場景下維護 DSH 進程的用戶。