前言¶
在 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。同一账号同一时间只能有一个客户端收消息;与桌面版等同开可能导致「突然不说话」且无明显报错。
配置与登录¶
工具三步(也可在设置页完成)¶
- 配置 API 凭证:
tg_config { "account": { "apiId": 123456, "apiHash": "abcdef..." } }
apiId / apiHash 在 my.telegram.org → API development tools 申请。
- 发起登录:
tg_login_start { "phone": "+8613800138000" }
返回 loginId,Telegram 会发验证码。
- 提交验证码(两步验证账号还需
tg_login_password):
tg_login_code { "loginId": "login1", "code": "12345" }
- 自检:
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