前言¶
DeepSeek Harness(DSH)的智能体能力通常依赖桌面客户端或本地 CLI:改代码、跑工具、看进度,都要坐在电脑前打开应用。手机或外出时,常见做法是 SSH 进机器,或把任务丢到别的聊天机器人里,再由另一套脚本转发——会话、工作目录和 DSH 的 profile 往往对不上,进度也散在多处。
下面介绍 maintainer aleksvega 维护的 dsh-tg-bridge:通过 Telegram Bot 把文本、语音和图片交给本机已安装的 DSH 处理,并在群组「话题」(forum topic)里按项目隔离会话与工作目录,回复里带实时进度、Stop 按钮和可复制代码块,无需打开桌面应用。
这是什么¶
dsh-tg-bridge 是面向 DeepSeek Harness 的 Telegram 桥接插件。每个 Telegram 话题对应一个独立项目:自有 session、自有工作目录;一轮对话的进度会编辑在同一条消息里更新,而不是刷屏多条。
仓库:https://github.com/aleksvega/dsh-tg-bridge
社区目录页:https://www.skillhub.cn/plugins/aleksvega/dsh-tg-bridge
核心功能¶
以下能力均来自项目 README 与 package.json 说明,可按需选用。
消息与媒体¶
- 文本:普通任务进入 agent,答案回到同一话题。
- 语音:本地 faster-whisper 转写,转写文本会先展示再进入回答。
- 图片:当前轮模型通过
read_image读取,无需默认再挂第二个视觉模型;可选vision.patch覆盖配置。
话题级项目与会话¶
- 按话题换目录:例如
/cd my-app,该话题后续轮次在对应目录执行。 - 目标与清单:
/goal、/task,重启后仍保留,并会 prepend 到每一轮上下文。 - 按话题设置 crew:
/crew use reviewer可为单个话题指定模型、effort、权限、agent 预设和语言;/crew off恢复全局 profile。内置四套只读配置可复制使用。
交互与可靠性¶
- 实时进度:每轮一条可编辑消息,含步骤、计时、缓存命中率;模型 reasoning 与长轮次的工具调用折叠块可点开查看。
- Stop / Retry、工具确认:在消息内按钮完成,不必手打命令。
- 消息不丢:带确认与重放的 journal。
- 配额耗尽 fail-fast:会尽快切到配置的免费模型(
fallbackModels)。 - 诊断:
dsh-tg check只报告状态,不改系统。 - 语言:菜单与服务消息支持
en、ru、zh;/lang固定话题语言;新话题还可根据消息字符(西里尔文 →ru,汉字 →zh)等规则推断。
环境与依赖¶
安装前请核对本机是否满足 README 中的要求:
- Node.js ≥ 24(与 DSH 自带版本一致;session 使用 zstd 压缩)
- DeepSeek Harness 0.2.1-rc.2 及以上、0.3.0 以下(
>=0.2.1-rc.2 <0.3.0;兼容范围以包内engines.dsh为准) - DSH 已安装,且存在 headless profile(
~/.dsh/profiles/headless) - 来自 @BotFather 的 Bot Token;你的 numeric user id 可通过 @userinfobot 获取
npm 包当前版本为 1.19.12,许可证 MIT(见仓库 package.json)。
安装与启用¶
独立安装(一条命令写入 token 与 user id)¶
在 Windows、macOS 或 Linux 上,init 与 bridge 均可运行;setup 的停服与自启动注册目前仅 Windows。macOS / Linux 请用 sh install.sh 注册 launchd 或 systemd --user。任意平台可用 node setup.mjs --check 查看状态。
npx dsh-tg-bridge@latest init --token 123456789:AA... --user 123456789
npx dsh-tg-bridge@latest setup
init 会把 bot token 写入 ~/.dsh/.credentials.yaml 的 refs.DSH_TELEGRAM_BOT_TOKEN;把你的 id 与工作目录写入 ~/.dsh/tg-bridge/config.json(已存在则不会覆盖);并检查 headless profile。可选 flag:--cwd <path>(默认 ~/Projects)、--voice、--dry-run。
setup 注册自启动并启动 bridge。
作为 DSH 插件¶
包内带有 dsh.bundle;目录收录仍在审核中。DSH 启动时会拉起一个 bridge,关闭 DSH 时停止;若已有 bridge 在跑(例如计划任务),则不会重复启动。须先执行上面的 init,保证配置存在。
dsh plugin --profile desktop add dsh-tg-bridge
全局 CLI 方式(需自行管控进程)¶
npm install -g dsh-tg-bridge
dsh-tg init --token 123456789:AA... --user 123456789
dsh-tg check
dsh-tg setup
Telegram 侧必做三项¶
群组里若不做下面设置,bot 可能收不到普通消息或无法按话题分项目:
- BotFather 中 Privacy mode → Disable(
/setprivacy),否则群组里往往只能看到命令。 - 群组设置里 开启 Topics,否则所有对话挤在一个会话里。
- 给 bot Pin Messages 权限(用于固定话题首条消息;没有也能跑,只是不会 pin)。
init / setup 会安装俄/英/中三套命令菜单;若只重启 bridge 菜单不会刷新,新增命令后需执行 dsh-tg menu。更完整的权限与排错见仓库 docs/TELEGRAM-SETUP.md。
典型用法¶
- 完成
init与自启动(或插件方式),在 Telegram 群组里对 bot 发文本任务。 - 切换项目目录:在该话题发送
/cd my-app,后续工具与 shell 相对该目录。 - 设定长期目标:
/goal、/task,重启 bridge 后仍生效。 - 单话题覆盖模型与 agent:
/crew use reviewer,恢复用/crew off。 - 固定界面语言:
/lang zh(或en、ru)。 - 排查环境:
dsh-tg check或node setup.mjs --check。
可选 ~/.dsh/tg-bridge/config.json 字段(README 表格):providerKeys、pricesUrl、vision.patch、vision.enabled、fallbackModels 等;未写明的键不要臆测默认值以外的行为。
从未建过 bot 时,仓库 QUICKSTART.md 按步骤从注册到首条回复。
适用场景与注意¶
适合谁:需要在手机或 Telegram 里持续驱动本机 DSH、且希望按群组话题拆分项目与 session 的开发者;语音转写、图片进 turn、进度与 Stop 按钮都在 chat 里完成闭环的场景。
权限与安全:插件与 bridge 以当前 DSH / 本机用户权限执行 agent 与工具,安装前请阅读源码与 MIT 许可证,确认 token 与 ~/.dsh/.credentials.yaml 的存放方式可接受。不要把 bot 加进不可信群组,或把 token 提交到公开仓库。
平台差异:Windows 可用 dsh-tg setup 注册 DSH-TG-Bridge 计划任务;macOS / Linux 自启动走 install.sh,不要指望在非 Windows 上直接跑 setup 的 schtasks 逻辑。
生态说明:中文社区维护的插件目录与应用内市场(如 awesome-dsh-plugin、dsh-market)与 DeepSeek / 幻方无官方从属关系;本插件按社区打包规则发布,便于与目录并列安装。
结尾¶
dsh-tg-bridge 把 DSH 的文本、语音、图片与按话题的项目隔离搬到 Telegram,并在单条消息里汇总进度与控制按钮。若要从零配置 bot 与群组,优先跟仓库 QUICKSTART;已装 DSH 桌面 profile 的用户可用 dsh plugin --profile desktop add dsh-tg-bridge 与 init 组合启用。