Telegram 远程终端 kangkanjyotigit/dsh-telegram-remote
DeepSeek Harness在 Telegram 里对话并实时操控 harness 全部功能
28.9/100
综合分
4
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add kangkanjyotigit/dsh-telegram-remote该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · platform
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 25 处,展示前 25 条)
- 写入本地文件lib/index.js:190
try { appendFileSync(join(dshHome(), "telegram-remote.log"), "[" + nowIso() + "] " + msg + "\n", "utf8"); } catch {} - 读取本地文件lib/index.js:235
const raw = readFileSync(lockPath, "utf8").trim(); - 写入本地文件lib/index.js:239
try { writeFileSync(lockPath, process.pid + " " + nowIso() + "\n"); holdLock = true; } catch {} - 读取本地文件lib/index.js:337
const raw = readFileSync(lockPath, "utf8").trim(); - 删除本地文件lib/index.js:338
if (Number(raw.split(/ +/)[0]) === process.pid) unlinkSync(lockPath); - 读取本地文件lib/index.js:506
const value = readFileSync(config.tokenFile, "utf8").trim(); - 读取本地文件lib/index.js:511
const value = readFileSync(join(dshHome(), "telegram-remote.token"), "utf8").trim(); - 写入本地文件lib/index.js:519
try { appendFileSync(join(dshHome(), "telegram-remote.log"), "[" + nowIso() + "] " + message + "\n", "utf8"); } catch {} - 发起网络请求lib/bot.js:58
const res = await fetch(`${API_BASE}/bot${this.token}/${method}`, { - 发起网络请求lib/bot.js:166
const res = await fetch(`${API_BASE}/file/bot${this.token}/${filePath}`); - 发起网络请求lib/bot.js:177
const res = await fetch(`${API_BASE}/bot${this.token}/sendDocument`, { method: "POST", body: form }); - 写入本地文件lib/state.js:82
await appendFile(path, lines.join("\n") + "\n", "utf8"); - 读取本地文件lib/state.js:85
const size = (await stat(path)).size; - 写入本地文件lib/state.js:86
if (size > LOG_MAX_BYTES) await rename(path, path + ".1"); - 读取本地文件lib/state.js:94
const raw = JSON.parse(readFileSync(this.statePath, "utf8")); - 写入本地文件lib/state.js:139
writeFileSync(tmp, JSON.stringify(payload, null, 2), "utf8"); - 写入本地文件lib/state.js:140
try { renameSync(tmp, this.statePath); } catch { writeFileSync(this.statePath, JSON.stringify(payload, null, 2), "utf8"); } - 写入本地文件lib/state.js:140
try { renameSync(tmp, this.statePath); } catch { writeFileSync(this.statePath, JSON.stringify(payload, null, 2), "utf8"); } - 读取本地文件lib/commands.js:1080
if (!existsSync(file)) continue; - 读取本地文件lib/commands.js:1082
const text = readFileSync(file, "utf8"); - 执行外部命令来自配置/变量lib/commands.js:1138
const child = spawn(pwshPath, ["-NoProfile", "-ExecutionPolicy", "Bypass", "-File", state.restartScriptPath], { - 读取本地文件lib/commands.js:1174
for (const candidate of candidates) if (existsSync(candidate)) return candidate; - 读取本地文件lib/commands.js:1183
for (const candidate of candidates) if (existsSync(candidate)) return candidate; - 写入本地文件lib/commands.js:1235
writeFileSync(state.restartScriptPath, script, "utf8"); - 写入本地文件lib/features.js:56
writeFileSync(path, buf);
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 远程控制Harness
- 查看完整状态
- 长轮询无外部依赖
用 Telegram Bot API 远程控制 DeepSeek Harness 并查看完整状态(长轮询,不依赖外部服务)
README
由 DeepSeek 最新模型翻译生成🤖 dsh-telegram-remote
为 DeepSeek Harness 提供完整的远程控制 + 实时状态可见性 —— 通过 Telegram。
将任意 Telegram 聊天变成一个随身终端,用于操作你的 harness:与 AI 对话、实时观看回复流式输出(思考 → 工具 → 文本)、运行命令、管理聊天/子代理/目标/任务,并控制 harness 的每一项功能 —— 全部通过一个机器人完成,无需任何外部服务(直接使用 Bot API 长轮询)。
✨ 功能特性
- 💬 从 Telegram 聊天 —— 发送一条消息,即可获得实时流式输出的结构化回复(思考、工具、最终答案),并原地编辑更新
- 🎛 完整的 harness 控制 —— 49 条命令:聊天、模型、会话、子代理、目标、任务、文件、PowerShell、导出、预设、技能、设置、凭据、权限等
- 📡 实时状态 —— 状态、正在运行的回合、排队消息(引导 / 编辑 / 删除)、后台任务
- 🔐 权限感知 —— 每个聊天的沙箱读/写/完全控制,针对高风险工具的审批按钮
- 🔔 通知 —— 每个聊天可开启/关闭/全部,后台活动推送到你
- 🔄 热重载 —— 插件编辑后热重载,无需重启(HMR)
- 🔒 单实例 —— 锁文件保证每个机器人令牌只有一个轮询器(不会出现 Telegram 409 冲突)
展开完整文档(README 剩余 1 节)
🤖 dsh-telegram-remote
为 DeepSeek Harness 提供完整的远程控制 + 实时状态可见性 —— 通过 Telegram。
将任意 Telegram 聊天变成一个随身终端,用于操作你的 harness:与 AI 对话、实时观看回复流式输出(思考 → 工具 → 文本)、运行命令、管理聊天/子代理/目标/任务,并控制 harness 的每一项功能 —— 全部通过一个机器人完成,无需任何外部服务(直接使用 Bot API 长轮询)。
✨ 功能特性
- 💬 从 Telegram 聊天 —— 发送一条消息,即可获得实时流式输出的结构化回复(思考、工具、最终答案),并原地编辑更新
- 🎛 完整的 harness 控制 —— 49 条命令:聊天、模型、会话、子代理、目标、任务、文件、PowerShell、导出、预设、技能、设置、凭据、权限等
- 📡 实时状态 —— 状态、正在运行的回合、排队消息(引导 / 编辑 / 删除)、后台任务
- 🔐 权限感知 —— 每个聊天的沙箱读/写/完全控制,针对高风险工具的审批按钮
- 🔔 通知 —— 每个聊天可开启/关闭/全部,后台活动推送到你
- 🔄 热重载 —— 插件编辑后热重载,无需重启(HMR)
- 🔒 单实例 —— 锁文件保证每个机器人令牌只有一个轮询器(不会出现 Telegram 409 冲突)
- 🖥 随处可用 —— 长轮询意味着无需公网 IP / 无需 webhook / 可在 NAT 后运行
📦 环境要求
- Node.js >= 22(使用全局 fetch)
- 一个已安装 DeepSeek Harness 并带有配置文件的实例(例如 web)
- 一个来自 @BotFather 的 Telegram 机器人令牌
🚀 安装
1. 将插件安装到你的 harness 配置文件中:
from your harness profile dir (e.g. ~/.dsh/profiles/web)
npm install link:path/to/dsh-telegram-remote
或将其添加到配置文件的 package.json 中:
{
"dependencies": {
"dsh-telegram-remote": "link:C:/path/to/dsh-telegram-remote"
}
}
2. 将插件添加到配置文件补丁(cordis.patch.yml)中:
- insert:
- id: telegram-remote
name: 'dsh-telegram-remote'
config:
tokenFile: 'C:\path\to\telegram.token' # file containing the bot token
ownerChatId: 123456789 # YOUR telegram user id (get it from /whoami)
workspaceRoot: 'C:\path\to\workspace'
allowEval: true
notifyOnStartup: true
3. 创建令牌文件(或改为设置 tokenEnv):
Set-Content -Path telegram.token -Value "123456:ABC-your-bot-token" -NoNewline
4. 启动 harness,打开与机器人的聊天,然后发送 /start。
⚙️ 配置
| 键 | 默认值 | 描述 |
| botToken | "" | 直接提供令牌(作为文件/环境变量的替代方案) |
| tokenEnv | "TELEGRAM_BOT_TOKEN" | 存放令牌的环境变量 |
| tokenFile | "" | 包含令牌的文件 |
| ownerChatId | undefined | 你的 Telegram 用户 id —— 拥有完全访问权限 |
| allowedUserIds | [] | 允许聊天的额外用户 |
| workspaceRoot | process.cwd() | /new 聊天开始的位置 |
| allowEval | true | 启用 /eval(在 harness 中运行 JS) |
| notifyOnStartup | true | 启动时发送“bot online”消息 |
| stateFile / logFile | ~/.dsh/... | 覆盖运行时状态 / 日志路径 |
💬 用法
只需输入一条消息——它会发送给你的 AI,回复会流式返回:
💭 Thinking
🔧 Tools
⋯ write ✅ read
🤖 Reply
─────── ⋆⋅☆⋅⋆ ───────
⏳ 34s
点击 /start 键盘或输入 /help 查看完整命令列表。关键命令:
- /chats · /new · /open — 管理聊天
- /model · /models — 切换 AI 模型(/model max 用于最深思考)
- /status — 当前正在发生什么
- /queue /steer /edit /remove — 控制排队消息
- /cmd /fs /mkdir — 运行命令和管理文件
- /agents /send /interrupt — 子代理
- /goal — 长期运行的目标
- /jobs /kill — 后台任务
- /export /search /archive — 对话历史
- /permission — 每个聊天的沙箱模式
- /eval /raw /api — 高级用户 harness 访问
- /reboot /shutdown — harness 生命周期(优雅)
🔒 安全注意事项
- 该机器人可以控制你的计算机——只添加你信任的用户(ownerChatId / allowedUserIds)。
- 每个请求都会根据每个聊天的 /permission 模式进行检查;有风险的工具会请求批准。
- /eval 和 /cmd 功能强大——除非你需要它们,否则考虑设置 allowEval: false。
- 无遥测,无外部服务:该机器人仅与 Telegram 和你的 harness 通信。
🔄 热重载(开发)
启用 harness HMR 后,编辑此插件的 lib/*.js 文件会在约 2 秒内重新加载:
- id: hmr
disabled: false
config:
root: ['C:\path\to\dsh-telegram-remote']
ignored: []
📄 许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
kangkanjyotigit/dsh-telegram-remote
在 Telegram 里对话并实时操控 harness 全部功能
相关插件 · 平台集成
智能体工程课walkinglabs/learn-harness-engineering
一门项目制课程,教你搭建环境、管理状态、做验证、加控制机制,让 AI 编程智能体稳定干活。
★ 21,155已汉化DSH
71.7
视频翻译配音liuzhao1225/YouDub-webui
开源视频本地化工作台:导入视频,识别、翻译并逐句克隆原声,生成字幕和配音成片。
★ 5,792已汉化Cordis
71.4
失败经验库Ikalus1988/MisakaNet
📚 零依赖、由 git 支撑的微课程库,让 AI 智能体异步分享并检索经过验证的调试经验。| https://misakanet.org
★ 550已汉化DSH
71.2
IM 机器人接入xmanrui/dsh-im
让 DeepSeek Harness 触手可及 Connecting DeepSeek Harness
★ 3,170已汉化DeepSeek 客户端
71
桌面智能体工作区freestylefly/wesight
WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…
★ 933已汉化MCP
71
中国平台研究引擎Jesseovo/last30days-skill-cn
给 AI Agent 的中文互联网研究 Skill:检索 8 大平台最近 30…
★ 2,041已汉化DSH
70.7
这是你的仓库?认领条目