前言¶
DeepSeek Harness(DSH)的 Web 界面适合在桌面浏览器里长时间调试智能体,但离开电脑后很难继续同一条会话。Telegram 是常见的移动端入口,若只是手动复制粘贴,会话状态、工具审批和模型参数都无法与 DSH 对齐。
下面介绍的 dsh-telegram-bot 是社区维护的 DSH 客户端插件:把某个 DSH profile 接到 Telegram Bot,让 Web 与 Telegram 共享同一套 DSH session;每个 session 对应 Telegram 里的一个 topic。维护者为 Boobaw,在插件目录中归类为「客户端」,GitHub 仓库当前约 3 stars,许可证 MIT。
这是什么¶
dsh-telegram-bot 为 DeepSeek Harness 提供 Telegram 客户端能力。Bot token 存放在 DSH 凭据存储中,插件在 Host 进程内做轮询、topic 路由与会话桥接,不额外向模型注入工具或 system prompt 文本。
核心功能¶
资料中明确列出的能力如下:
- 一个 Telegram topic 对应一个 DSH session;Web 与 Telegram 使用同一会话对象。
- 仅镜像从 Telegram 发起的 turn;在 Web UI 里开始的对话仍留在 Web。
/sessions列出 workspace 与已有 session,并可在选定 workspace 中新建 session。- 助手回复以流式写入 topic,并做 Telegram Markdown 格式化。
- 推理过程与 tool call 以临时消息展示,回答完成后移除;每条 tool call 最多两行。
- 内联控件可调整 model、reasoning effort、permission mode、context usage。
- 工具审批提供 Deny / Allow 按钮。
- 支持
ask_user_question:选项、多选、自定义答案与 plan review。 - 命令:
/last、/rename、/stop、/restart、/status、/menu。 - Bot 文案支持英语与俄语。
- 首次配置演示视频:https://youtu.be/QEeVucfBsWk。
环境与依赖¶
- DSH
0.2.1-rc.2或更新版本(package.json 中 engines 为dsh>=0.2.1-rc.2 <0.3.0)。 - Node.js 22+。
- 来自 @BotFather 的 bot token。
- 在 BotFather 中开启 Threaded mode,并在 bot 私聊里开启 Topics。
安装与启用¶
插件当前 npm 版本为 0.1.6。安装或更新后需重启 dsh web,再在 Settings → Telegram 中配置。
从仓库本地安装:
npx @deepseek-ai/dsh plugin --profile web add .
从 npm 安装:
npx @deepseek-ai/dsh plugin --profile web add dsh-telegram-bot@latest
插件页主要用于说明,实际配置在 Settings → Telegram;可通过 bundle 开关启用或禁用插件。Enable bot 为软暂停:插件仍加载,但停止轮询。
配置项¶
| 字段 | 含义 |
|---|---|
| Bot token | @BotFather 的 token;存入凭据存储 |
tokenRef |
token 对应的凭据/环境变量名;默认 TELEGRAM_BOT_TOKEN |
cwd |
Telegram 创建 session 时的工作目录 |
agentPreset |
Telegram session 挂载的 preset;默认 standard |
| Allowed users | 允许的 Telegram user id 或 @username |
| Allowed chats | 允许的 chat id 或 @channelname |
| Show model thinking | 是否在临时消息中展示推理 |
| Show tool calls | 是否在临时消息中展示 tool call |
| Bot language | en(默认)或 ru |
| Enable bot | 启动或暂停 Telegram 轮询 |
页面上 token 字段只显示是否已配置;通过环境变量提供的 token 不能在页面里被覆盖。
首次运行¶
- 在 @BotFather 创建 bot,将 token 写入 Settings → Telegram。
- 在 @BotFather 打开 Bot Settings → Threaded mode 并启用。
- 打开 bot 对话,点 bot 名称,启用 Topics。
- 在 All 里发送
/start。若 allowlist 为空,bot 会回复你的 user id 与 chat id。 - 把你的 user id 加入 Allowed users 并 Save。
- 在 All 发送
/sessions,选择 workspace,打开或新建 session。 - 在新 topic 里发送测试消息。
无 Web UI 的 Headless profile¶
Bot 可在不启动 Web UI 的情况下运行。示例目录与依赖如下。
mkdir -p ~/.dsh/profiles/tg
cd ~/.dsh/profiles/tg
package.json:
{
"name": "dsh-profile-tg",
"private": true,
"dependencies": { "dsh-telegram-bot": "latest" },
"dsh": {
"profile": {
"bundles": ["@deepseek-ai/dsh-base", "dsh-telegram-bot"]
}
}
}
cordis.patch.yml:
- id: telegram-bot
name: dsh-telegram-bot
config:
enabled: true
allowedUsers: ["<user-id>"]
allowedChats: ["<chat-id>"]
安装并运行:
npm install
printf 'TELEGRAM_BOT_TOKEN=%s\n' '<token>' >> ~/.dsh/.env
chmod 600 ~/.dsh/.env
npx @deepseek-ai/dsh --profile tg
不要把 token 写进 cordis.patch.yml。
适用场景与注意¶
适合需要在手机 Telegram 里延续 DSH 会话、处理工具审批与结构化提问的开发者。群组与频道对话必须在 Allowed chats 中显式放行;Allowed users 为空时,bot 仅在私聊中回复 setup 提示。
安全方面需知:同一 token 不要跑两个 poller,否则 Telegram 会返回 409 Conflict。DSH 插件与 Host 同进程运行,安装前应自行审阅源码与 MIT 许可证,只安装可信来源。Bot token 放在凭据存储,而非 profile patch。
结尾¶
dsh-telegram-bot 把 DSH session、流式回复、审批与 session 控制映射到 Telegram topic,与 Web 共用会话模型。插件目录页:https://www.skillhub.cn/plugins/Boobaw/dsh-telegram-bot;源码与完整说明:https://github.com/Boobaw/dsh-telegram-bot。