dsh-telegram-bridge:用用戶態 MTProto 接管 Telegram 賬號自動回消息

前言

在 DSH 裏做聯網能力時,Telegram 常見做法是掛 Bot:對方看到的是 xxx_bot,對話邊界和身份感都和「本人賬號」不一樣。若你希望聯繫人仍是在和「你」私聊或羣聊裏說話,又要讓 Harness 代爲生成與發送回覆,就需要走用戶態 MTProto,並處理登錄態、連接抖動、人設與 token 成本等問題。下面介紹社區插件 dsh-telegram-bridge(維護者 zxz-feng),它把真實 Telegram 賬號接到 DSH,用分層人設、防抖、輪詢兜底和零 token 自檢自愈,儘量做到「像人回、少運維」。

這是什麼

dsh-telegram-bridge 是 DeepSeek Harness 的聯網類插件:接管一個真實 Telegram 賬號(用戶態 MTProto,不是機器人號),替你回覆聯繫人消息。當前版本 0.2.2,許可證 MIT,要求 DSH >= 0.2.0、Node >= 22。插件目錄頁:skillhub.cn/plugins/zxz-feng/dsh-telegram-bridge;源碼:github.com/zxz-feng/dsh-telegram-bridge。

DSH 生態是「一切皆插件」;社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

核心功能

資料中強調的三條線如下。

用戶賬號,不是 Bot。 使用 apiId / apiHash 與手機號登錄,session 落在插件家目錄;對方看到的是你的身份,而不是 Bot 用戶名。

回覆行爲偏「像人」。 約 3~10 秒隨機防抖;多條內容可用 ||| 分條發送;可偶爾配貼紙;人設分層以減少每輪 token(完整人設與精簡人設交替)。

運維側儘量自洽。 橋跑在獨立子進程,崩潰可拉起、斷線可重連;約每 5 分鐘自檢(selfHeal.everyMin,設爲 0 可關),檢查進程、端口、HTTP、登錄態等,不消耗 LLM token;也可手動 tg_verify 或 node scripts/verify.mjs。

其他能力包括:白名單與按會話暫停、draft 模式只生成不寫回、tg_send 主動發消息、SOCKS5 代理、設置頁「Telegram 小鯨魚」與 tg_* 工具共用同一套 lib/api.mjs 實現。

安裝與啓用

安裝前請自行審閱倉庫源碼與 MIT 許可證;插件以當前 dsh 進程權限運行,會持有 Telegram 會話與配置,僅應在可信環境使用。

本地路徑安裝(開發或自用):

dsh plugin --profile web add link:/絕對/路徑/dsh-telegram-bridge

從 GitHub 安裝(機器上需有 git):

dsh plugin --profile web add github:<你的用戶名>/dsh-telegram-bridge

裝完需重啓一次 dsh(bundle 層重啓後纔會組裝)。

若安裝報 ERR_PNPM_IGNORED_BUILDS(pnpm 12 將跳過的構建腳本視爲錯誤),可選原生依賴 bufferutil / utf-8-validate / es5-ext 會觸發;不編譯也可正常使用,可加:

dsh plugin --profile web add <本倉庫地址> --config.strict-dep-builds=false

裝成功後 dsh plugin --profile web list 應能看到本包。

重要: 沒有 session.txt 時插件不會連接,避免與官方客戶端搶 update state。同一賬號同一時間只能有一個客戶端收消息;與桌面版等同開可能導致「突然不說話」且無明顯報錯。

配置與登錄

工具三步(也可在設置頁完成)

  1. 配置 API 憑證:
tg_config  { "account": { "apiId": 123456, "apiHash": "abcdef..." } }

apiId / apiHash 在 my.telegram.org → API development tools 申請。

  1. 發起登錄:
tg_login_start  { "phone": "+8613800138000" }

返回 loginId,Telegram 會發驗證碼。

  1. 提交驗證碼(兩步驗證賬號還需 tg_login_password):
tg_login_code   { "loginId": "login1", "code": "12345" }
  1. 自檢:
tg_verify    → 應看到 6/6 通過

連不上 Telegram 的環境(例如需代理的服務器)可設:

tg_config { "socksUrl": "socks5://127.0.0.1:7890" }

本機可直連時不要填,留空即直連。

設置頁

安裝後在 DSH「設置」中會出現 Telegram 小鯨魚(與「刷B站」「QQ 小鯨魚」等並列),可總開關啓停橋、查看狀態、配代理與模型鏈、完成手機號登錄、管理白名單與運維項(自檢、日誌、重啓)。打碼字段原樣保存表示未修改;配置保存後即時生效,無需重啓橋。

典型用法

常用工具一覽:

工具 作用
tg_status 進程、連接、登錄人、白名單、在途、人設指紋、貼紙條數
tg_verify 零 token 自檢,輸出 n/6 通過
tg_config 讀/改配置
tg_chats 白名單會話及上下文輪數
tg_send 經 bridge 連接發消息
tg_pause 暫停/恢復某會話自動回覆
tg_context_clear 清空某會話上下文
tg_restart 優雅重啓
tg_log 最近日誌

常見配置片段:

// 只回這幾個人
{ "direct": { "users": ["111111111", "222222222"], "labels": { "111111111": "老朋友" } } }
// 暫停某個人(照記錄不回)
{ "direct": { "paused": ["111111111"] } }
// 只看不回(生成寫入 drafts.jsonl)
{ "mode": "draft" }
// 換模型
{ "llm": { "models": ["deepseek-v4.1-flash", "hy3"], "effortFull": "max", "effortShort": "low" } }

人設文件位於 <DSH_HOME>/persona/(renshe.txt、guard.txt、extra-tg.txt、extra-tg-short.txt 等);改文件後指紋變化,下一句會自動補發完整人設。貼紙需在本機導入:

node scripts/import-stickers.mjs
node scripts/import-stickers.mjs --no-desc

離線自檢:

node scripts/verify.mjs
node scripts/verify.mjs --fix

橋也可脫離宿主單獨運行:

BRIDGE_HOME=/path/to/home node bridge/main.mjs

適用場景與注意

更適合: 已在 DSH web profile 下運行 Harness、願意用個人 Telegram 賬號(非 Bot)做白名單私聊自動回覆或 draft 審閱後再發、且能接受單獨佔一個 MTProto 客戶端 slot 的開發者。

務必注意:

  • 同一賬號勿與官方 App / 桌面版同時收消息。
  • 羣聊默認關閉(groups.mode: "off"),啓用需自行配置白名單,風險高於私聊。
  • 貼紙 fileReference 會過期,發不出時重跑 import-stickers.mjs。
  • 子進程架構是爲隔離 GramJS update loop 未捕獲異常,避免拖垮整個 DSH。

結尾

dsh-telegram-bridge 把「真實 Telegram 賬號 + LLM 回覆」收進 DSH 插件:MTProto 登錄、分層人設、防抖與輪詢、零 token 自檢,並配有設置頁與 tg_* 工具同一數據面。安裝與行爲以倉庫 README 爲準。

  • 目錄頁:https://www.skillhub.cn/plugins/zxz-feng/dsh-telegram-bridge
  • GitHub:https://github.com/zxz-feng/dsh-telegram-bridge
羽毛球分组比赛记分
小程序二维码

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

小夜