🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Telegram 遥控台 citedy/dsh-telegram-bot

DeepSeek Harness
citedy75 天前有提交已提供中文文档扫描:含敏感能力

在 Telegram 里浏览会话并远程运行代理任务

27/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add citedy/dsh-telegram-bot
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · platform
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 75 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 36 处,展示前 26 条)
  • 请求外部主机api.telegram.org
    scripts/setup.mjs:18
    const r = await fetch(`https://api.telegram.org/bot${token}/${method}`, {
  • 发起网络请求
    scripts/setup.mjs:18
    const r = await fetch(`https://api.telegram.org/bot${token}/${method}`, {
  • 读取密钥环境变量
    scripts/setup.mjs:33
    let token = process.env.NTY_BOT_TOKEN || ''
  • 写入本地文件
    scripts/setup.mjs:80
    mkdirSync(dirname(envTarget), { recursive: true })
  • 读取本地文件
    scripts/setup.mjs:81
    if (existsSync(envTarget)) {
  • 读取本地文件
    scripts/setup.mjs:82
    const cur = readFileSync(envTarget, 'utf8')
  • 写入本地文件
    scripts/setup.mjs:86
    writeFileSync(envTarget + '.new', envContent)
  • 写入本地文件
    scripts/setup.mjs:90
    writeFileSync(envTarget, envContent)
  • 读取本地文件
    scripts/lib.mjs:11
    if (!existsSync(file)) return {}
  • 读取本地文件
    scripts/lib.mjs:13
    for (const line of readFileSync(file, 'utf8').split('\n')) {
  • 读取密钥环境变量
    scripts/lib.mjs:25
    return process.env.NTY_BOT_TOKEN || process.env.TELEGRAM_BOT_TOKEN || ''
  • 发起网络请求
    scripts/lib.mjs:48
    const res = await fetch(`${TG}/bot${token}/${method}`, {
  • 执行外部命令固定命令
    scripts/lib.mjs:88
    const r = spawnSync('zstd', ['-dc', file], { encoding: 'utf8', timeout: 30_000 })
  • 读取本地文件
    scripts/lib.mjs:147
    if (!existsSync(dir)) return []
  • 读取本地文件
    scripts/lib.mjs:148
    return readdirSync(dir, { withFileTypes: true })
  • 读取本地文件
    scripts/sessions.mjs:11
    if (!existsSync(dir)) return []
  • 读取本地文件
    scripts/sessions.mjs:12
    return readdirSync(dir, { withFileTypes: true })
  • 读取本地文件
    scripts/sessions.mjs:13
    .filter((e) => e.isDirectory() && existsSync(join(dir, e.name, '.env')))
  • 读取本地文件
    scripts/sessions.mjs:21
    if (!existsSync(full)) return null
  • 读取本地文件
    scripts/sessions.mjs:30
    if (!existsSync(dir)) return []
  • 读取本地文件
    scripts/sessions.mjs:31
    return readdirSync(dir, { withFileTypes: true })
  • 删除本地文件递归
    scripts/sessions.mjs:103
    rmSync(full, { recursive: true, force: true })
  • 读取本地文件
    scripts/agent.mjs:17
    if (!existsSync(envFile)) return null
  • 读取密钥环境变量
    scripts/agent.mjs:24
    if (!p.env.DEEPSEEK_API_KEY && !process.env.DEEPSEEK_API_KEY) return { ok: false, reason: 'no DEEPSEEK_API_KEY' }
  • 执行外部命令来自配置/变量
    scripts/agent.mjs:46
    ? spawn(DSH_BIN(), ['--profile', DSH_PROFILE(), prompt], { cwd, env: childEnv, detached: true, stdio: ['ignore', 'pipe', 'pipe'] })
  • 执行外部命令固定命令
    scripts/agent.mjs:47
    : spawn('npx', ['-y', '@deepseek-ai/dsh', '--profile', DSH_PROFILE(), prompt], { cwd, env: childEnv, detached: true, stdio: ['ignore', 'pipe', 'pipe']
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
涉及外部主机:api.telegram.org

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 浏览会话
  • 远程运行代理任务

README

由 DeepSeek 最新模型翻译生成
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 分钟内创建自己的机器人,并拥有整条流水线。
展开完整文档(README 剩余 1 节)
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
预览分享卡片长什么样 ↓citedy/dsh-telegram-bot
分享 · DeepSeek Harness Hub
citedy/dsh-telegram-bot

在 Telegram 里浏览会话并远程运行代理任务

这是你的仓库?认领条目

回到顶部