DeepSeek Harness Hub
← 返回列表

citedy/dsh-telegram-bot

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

自托管的 DeepSeek Harness Telegram 前端:选择一个项目,以“聊天”的形式加入 dsh…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/21 · 已提供中文文档

Deepseek Harness Telegram 机器人

综合分
27
GitHub 分
27
用户评分
★ Stars
0
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add citedy/dsh-telegram-bot
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-plugin-telegram

自托管的 DeepSeek Harness Telegram 前端:选择一个项目,以“聊天”的形式加入 dsh 会话,并从 Telegram 运行无头代理。无需外部服务——机器人使用你自己的 token 直接与 api.telegram.org 通信;一切都留在你的机器上。

演示(19 秒): 一个完整循环——浏览会话、打开聊天、运行任务、观看实时进度,然后对 PR 执行操作。

https://github.com/citedy/dsh-telegram-bot/releases/download/v0.1.2/tg_dsh_harness_demo.MP4

与 dsh-imessage 风格的桥接在设计上不同:没有托管中间人,没有第三方服务上的账户。你在 2 分钟内创建自己的机器人,并拥有整条流水线。

功能

- /projects — 列出已连接的项目(带 .env 的工作区)
- /project  — 打开一个项目;会话行是可点击的按钮,可直接打开聊天
- /chat N — 加入一个 dsh 会话(session.jsonl.zstd)——与代理的“聊天”
- /recent [N] — 所有项目中最近 N 个会话(默认 5),每行都可打开聊天
- /new — 在所选项目中启动新会话
- 聊天中的任何消息 → 作为无头代理的任务,并带有最近会话消息的上下文
- 实时进度 — 运行中的消息每约 8 秒更新一次,显示代理的最新输出(editMessageText)
- /prs — 打开项目的 PR(回复该消息并发送 #5 → 操作按钮)
- /pr N status|review|merge|close — 对最近一次 /prs 列表中的 PR #N 执行操作(status = gh 摘要,review = 代理代码审查,merge = squash 合并,close)
- /rm N — 通过内联确认按钮删除会话
- /exit — 离开聊天
- Chat-id 允许列表 — 仅接受来自白名单聊天的命令

工作原理

Telegram user ──long polling──▶ bot.mjs ──▶ agent.mjs ──▶ npx @deepseek-ai/dsh headless (in project dir)
│
├──▶ sessions.mjs ──▶ session.jsonl.zstd (chat history context)
├──▶ gh CLI ──▶ /prs, /pr N status|review|merge|close
└──▶ lib.mjs ──▶ api.telegram.org (send/edit messages, fake streaming)

完整的接口图和流程请参见 docs/ARCHITECTURE.md。

安装

快捷方式(npx 向导):

npx dsh-plugin-telegram

向导会要求输入机器人 token(通过 @BotFather 创建一个),检测你的 chat id,对照 Telegram API 验证两者,写入 env 文件,并打印适用于你机器的确切 systemd 命令。

作为 dsh 插件:

dsh plugin --profile  add dsh-plugin-telegram
npx dsh-plugin-telegram   # run the setup wizard once

手动(从源码):

1. 通过 @BotFather 创建一个机器人,获取 token。
2. 将仓库克隆到某处(例如:/opt/dsh-telegram-bot)。
3. 将 .env.example 复制到 /etc/dsh/dsh-tg-bot.env,填写 token 和 TG_ADMIN_CHAT_IDS(你的 chat id;可通过 @userinfobot 获取)。
4. 作为服务运行(根据你的安装调整 unit 中的 WorkingDirectory/User):

sudo cp deploy/dsh-tg-bot.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now dsh-tg-bot
journalctl -u dsh-tg-bot -f

不使用 systemd:NTY_BOT_TOKEN=... TG_ADMIN_CHAT_IDS=... node scripts/bot.mjs

配置

| 变量 | 默认值 | 描述 |
|---|---|---|
| NTY_BOT_TOKEN / TELEGRAM_BOT_TOKEN | — | bot token |
| TG_ADMIN_CHAT_IDS / NTY_BOT_CHAT_ID | — | 允许的 chat id,以逗号分隔 |
| DSH_SESSIONS_DIR | $DSH_HOME/sessions(通常为 ~/.dsh/sessions) | dsh 会话目录 |
| DSH_PROJECTS_DIR | ~/.dsh/projects | 项目目录 |
| DSH_TG_CLI_BIN | —(npx) | 指向固定版本 dsh 二进制文件的路径;跳过 npx 解析 |
| DSH_TG_PROFILE | headless | 无头 agent 运行所用的 dsh profile |
| DSH_TG_TIMEOUT_MIN | 20 | 无头运行超时时间,单位分钟 |
| DSH_TG_POLL_TIMEOUT_S | 50 | getUpdates 超时时间 |

要求

- Node.js ≥ 20
- zstd CLI(用于读取 session.jsonl.zstd)
- 已安装 @deepseek-ai/dsh(通过 npx -y 启动)
- gh CLI(用于 /prs、/pr)

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群