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
羽毛球分组比赛记分
小程序二维码

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

小夜