前言¶
DeepSeek Harness (DSH) 插件生态旨在扩展宿主功能。对于在电脑上运行 DeepSeek Harness 的开发者,在手机上直接输入指令往往不便。dsh-telegram-channel 插件提供了一种解决方案:通过 Telegram Bot 附着到本地的活动会话,实现手机与电脑之间的同轨迹交互。
环境要求¶
- DeepSeek Harness (DSH): 0.2.x 版本(peerDependencies 声明
^0.2.0-rc.2,插件在 0.3.x 版本到来前可用)。 - Node.js: >= 22。
安装¶
安装命令根据宿主 Profile 不同而有所区别。插件 fork 自 hi-wenw/dsh-telegram-channel,以兼容 Martty Host(dsh --profile martty)。
# web profile
dsh plugin --profile web add github:zhang0098/dsh-telegram-channel
# martty profile
dsh plugin --profile martty add github:zhang0098/dsh-telegram-channel
配置¶
在环境变量或配置中设置以下项:
| 键 / 环境变量 | 含义 |
|---|---|
token / DSH_TELEGRAM_TOKEN |
Bot token |
allowedUserIds / DSH_TELEGRAM_ALLOWED_USER_IDS |
白名单(数字,逗号分隔)。留空则禁止使用 |
allowAllUsers |
调试用,设为 true 放行所有用户 |
maxMessageLength |
消息最大长度,默认 4096 |
pollingTimeoutSec |
轮询超时秒数,默认 30 |
rendering |
渲染模式,rich 或 html |
核心功能¶
- 会话绑定:通过
/sessions命令选择工作区与会话进行绑定。绑定后,手机发送的文字将直接作为该会话的后续操作。 - 冷会话支持:会话列表包含冷会话(未运行中的会话)。选择冷会话后,插件会自动 resume 该会话,且不会关闭电脑上的会话窗口。
- 双渠道镜像:绑定后,问题会同时出现在 Telegram 和电脑的 TUI/Web 界面中。任一渠道先回答,另一渠道的输入即视为无效。
- 模型切换:绑定冷会话时,会沿用上次使用的模型。后续可通过
/model命令切换下一回合的模型。
命令¶
/sessions: 列出工作区与会话,用于绑定。/last: 查看上次问答历史。/model: 切换下一回合使用的模型。/status: 查看当前绑定的会话状态。/unbind: 断开当前绑定(不关闭电脑会话)。/help: 显示帮助信息。
技术细节¶
- 版本兼容:DSH 0.2.x 使用 peerDependencies 进行版本闸门。如果宿主版本不符合
^0.2.0-rc.2,插件 bundle 会被跳过并提示skipping profile bundle。 - 架构调整:原版在 Martty 上因硬声明
inject: ['agents', 'apiProxy']而无法启动(apiProxy仅在 web profile 提供)。本 fork 移除了硬依赖,改为运行时探测。若宿主无apiProxy,/model命令会回退到ctx.llm+installModelSelection本地路径。 - 会话查询:依赖宿主的
ctx.sessionQuery.listSessions()(包含冷会话)和ctx.workspaceRegistry(用于标题和排序)。
结语¶
该插件通过 Telegram 实现了 DSH 会话的远程控制,适合需要在移动端或异构设备上接入 DeepSeek Harness 交互的开发者。项目遵循 MIT 许可证。