DeepSeek Harness Telegram Bridge

前言

DeepSeek Harness (DSH) 的 Telegram 機器人插件。它基於 hi-wenw/dsh-telegram-channel 構建,並從 Hermes agent 的 Telegram 網關引入了部分機制。該插件允許通過 Telegram 界面直接管理 DSH 本地會話、話題和媒體。

DSH 理念強調「一切皆插件」,此工具旨在爲 DSH 用戶提供一個基於 Telegram 的客戶端入口,支持會話隔離、話題管理和消息過濾。

核心功能

  • Per-chat/topic sessions:每個話題(論壇或 DM 話題)都是一個獨立的會話,機器人回覆會自動發送到同一話題內。
  • Topics handling:支持 message_thread_id,正確處理 General 話題(ID 爲 1),以及創建、編輯和刪除話題。插件會自動將話題重命名爲會話標題。
  • DM Topics:支持 Bot API 9.4,在 1 對 1 聊天中創建話題,每個話題作爲獨立的會話,支持根級 DM 大廳模式。
  • Group gating:提供細粒度的訪問控制,包括 require_mention(提及觸發)、allowed_chats、allowed_topics、free_response_chats/topics(自由響應模式)、guest_mode 和 ignored_threads。
  • Media in/out:支持收發照片、視頻、語音、文件和貼紙。發送文件時使用 MEDIA:/path 標籤。
  • Commands:提供 /new(創建會話)、/reset(重置)、/stop(停止並解綁)、/sessions(列出會話)、/last(查看上一輪上下文)、/model(切換模型)、/status(查看當前綁定)、/unbind(解綁)、/help(幫助)。
  • Status indicator:通過 setMyShortDescription 接口顯示在線/離線狀態。
  • Tool-call filter:內置過濾機制,防止 <tool_calls> 標籤泄露到 Telegram 消息中。
  • Polling resilience:針對 Telegram API 的 409 衝突錯誤實現指數退避重試機制。
  • Choice/clarify:支持通過 ask_user_question 觸發內聯按鈕進行選項選擇。
  • Bilingual support:支持俄語和英語,通過環境變量 DSH_TELEGRAM_LANG 切換。

安裝與啓用

安裝前請確保已滿足先決條件:Node.js 版本 ≥ 22,DSH Web 環境已配置模型,且已通過 @BotFather 創建了機器人。

使用官方安裝命令添加插件:

dsh plugin --profile web add github:todayer/todayer-dsh-telegram-bridge

配置

插件配置文件位於 ~/.dsh/telegram.env。

必要配置:

DSH_TELEGRAM_TOKEN=123456789:AA...            # 從 @BotFather 獲取的 Token
DSH_TELEGRAM_ALLOWED_USER_IDS=123456789        # 允許使用的用戶 ID(從 @userinfobot 獲取)

可選配置:

DSH_TELEGRAM_LANG=ru                           # 語言設置:ru | en
DSH_TELEGRAM_REQUIRE_MENTION=false             # 是否僅允許被提及時觸發
DSH_TELEGRAM_ALLOWED_CHATS=                    # 允許聊天的列表
DSH_TELEGRAM_ALLOWED_TOPICS=                   # 允許的話題列表
DSH_TELEGRAM_FREE_RESPONSE_CHATS=              # 自由響應聊天列表
DSH_TELEGRAM_FREE_RESPONSE_TOPICS=             # 自由響應話題列表
DSH_TELEGRAM_GUEST_MODE=false                  # 訪客模式
DSH_TELEGRAM_IGNORED_THREADS=                  # 忽略的線程 ID 列表
DSH_TELEGRAM_DM_TOPICS=[{"chatId":1212123,"topics":[{"name":"General"}]}]  # DM 話題配置(JSON 格式)
DSH_TELEGRAM_STATUS_INDICATOR=1                # 狀態指示開關
DSH_TELEGRAM_STATUS_ONLINE=🟢 Online           # 在線狀態文本
DSH_TELEGRAM_STATUS_OFFLINE=🔴 Offline         # 離線狀態文本

配置完成後,將環境變量放入 dsh.service 的 EnvironmentFile 中,並重啓服務:

sudo systemctl restart dsh.service

命令

命令 功能
/start 歡迎信息或幫助
/sessions 列出工作區及綁定的會話
/new 創建一個新的會話(強制新建)
/reset 重置當前會話(/new 的別名)
/last 查看當前綁定會話的上一輪對話
/model 切換當前會話使用的模型
/status 查看當前會話綁定狀態
/stop 停止並解綁當前會話
/unbind 解綁當前會話(不刪除)
/help 查看完整命令列表

注意事項

  • 插件以當前 DSH 進程的權限運行,安裝前建議檢查源碼與許可證。
  • 依賴關係包括 Node ≥ 22 以及 DSH Web 環境中的模型配置。
  • 基礎邏輯來源於 hi-wenw/dsh-telegram-channel,並擴展了 Hermes agent 的 Telegram 網關機制。
羽毛球分组比赛记分
小程序二维码

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

小夜