前言¶
DeepSeek Harness (DSH) 插件生態旨在擴展宿主功能。對於在電腦上運行 DeepSeek Harness 的開發者,在手機上直接輸入指令往往不便。dsh-telegram-channel 插件提供了一種解決方案:通過 Telegram Bot 附着到本地的活動會話,實現手機與電腦之間的同軌跡交互。
環境要求¶
- DeepSeek Harness (DSH): 0.2.x 版本(peerDependencies 聲明
^0.2.0-rc.2,插件在 0.3.x 版本到來前可用)。 - Node.js: >= 22。
安裝¶
安裝命令根據宿主 Profile 不同而有所區別。插件 fork 自 hi-wenw/dsh-telegram-channel,以兼容 Martty Host(dsh --profile martty)。
# web profile
dsh plugin --profile web add github:zhang0098/dsh-telegram-channel
# martty profile
dsh plugin --profile martty add github:zhang0098/dsh-telegram-channel
配置¶
在環境變量或配置中設置以下項:
| 鍵 / 環境變量 | 含義 |
|---|---|
token / DSH_TELEGRAM_TOKEN |
Bot token |
allowedUserIds / DSH_TELEGRAM_ALLOWED_USER_IDS |
白名單(數字,逗號分隔)。留空則禁止使用 |
allowAllUsers |
調試用,設爲 true 放行所有用戶 |
maxMessageLength |
消息最大長度,默認 4096 |
pollingTimeoutSec |
輪詢超時秒數,默認 30 |
rendering |
渲染模式,rich 或 html |
核心功能¶
- 會話綁定:通過
/sessions命令選擇工作區與會話進行綁定。綁定後,手機發送的文字將直接作爲該會話的後續操作。 - 冷會話支持:會話列表包含冷會話(未運行中的會話)。選擇冷會話後,插件會自動 resume 該會話,且不會關閉電腦上的會話窗口。
- 雙渠道鏡像:綁定後,問題會同時出現在 Telegram 和電腦的 TUI/Web 界面中。任一渠道先回答,另一渠道的輸入即視爲無效。
- 模型切換:綁定冷會話時,會沿用上次使用的模型。後續可通過
/model命令切換下一回合的模型。
命令¶
/sessions: 列出工作區與會話,用於綁定。/last: 查看上次問答歷史。/model: 切換下一回合使用的模型。/status: 查看當前綁定的會話狀態。/unbind: 斷開當前綁定(不關閉電腦會話)。/help: 顯示幫助信息。
技術細節¶
- 版本兼容:DSH 0.2.x 使用 peerDependencies 進行版本閘門。如果宿主版本不符合
^0.2.0-rc.2,插件 bundle 會被跳過並提示skipping profile bundle。 - 架構調整:原版在 Martty 上因硬聲明
inject: ['agents', 'apiProxy']而無法啓動(apiProxy僅在 web profile 提供)。本 fork 移除了硬依賴,改爲運行時探測。若宿主無apiProxy,/model命令會回退到ctx.llm+installModelSelection本地路徑。 - 會話查詢:依賴宿主的
ctx.sessionQuery.listSessions()(包含冷會話)和ctx.workspaceRegistry(用於標題和排序)。
結語¶
該插件通過 Telegram 實現了 DSH 會話的遠程控制,適合需要在移動端或異構設備上接入 DeepSeek Harness 交互的開發者。項目遵循 MIT 許可證。