qschen86/dsh-telegram-bridge

qschen86★ 0JavaScript最后同步: 2026-08-17

在 GitHub 打开

DSH host plugin: Telegram notifications and reply-to-continue for sessions

README 摘要

dsh-telegram-bridge DSH host 插件:通过 Telegram 机器人推送通知,并支持在 Telegram 上回复继续推进会话。 功能 - 会话完成通知 :agent 完成一轮(回到 idle)后,向 Telegram 发送通知。所有通知 统一模板,按固定字段顺序: 侧边栏 icon 名称(工作区标题,如「日历待办」)→ 会话 id → 会话名(session/title 事件)→ 通知类型(✅ 会话结束 / 🔐 需要授权 / ❓ 需要确认 / ⏰ 日程提醒 / ℹ️ 其他)→ 通知内容概要 ; 回复该消息即可继续会话 。 已通知的回合基线持久化在 state.json(宿主重启不丢失);发送失败不推进基线, 下次 idle 自动重试,避免静默丢通知。首次见到某会话 idle 时:若其最近活动晚于 桥接启动时刻(新建会话、或重启后恢复的会话),直接推送并建立基线(新会话的第一轮 完成也会通知);仅当会话活动全部早于桥接启动(宿主重启加载的历史会话)时才只记基线 不推送,避免补发旧回合的噪音。其他插件经 telegramBridge.sendAll(text, {type, sessionId}) 发送时可带类型前缀并让回复直达对应会话。 - 需要确认通知 : - ask user question(模型请求确认)→ 推送问题与选项,在 Telegram 回复选项编号 / 文字 / custom: 内容 即可回答,agent 自动继续。 - 权限审批(sandbox approval)→ 推送工具名与原因;可回复 /approve allow deny 为会话设置自动审批策略(也可用环境变量设全局默认)。 - Telegram 消息路由 (按优先级): 1. 回复通知消息 → 直达对应会话(通知 message id → 会话 id 映射持久化在 state.json,宿主重启后依然有效;即使映射丢失,也会从被回复消息正文里的 sess: 标签恢复); 2. 消息正文带 sess: → 直达该会话; 3. 全局恰好只有一个待回答的确认问题 → 该消息视为对它的回答; 4. 恰好只有一个可发现会话 → 路由到该会话; 5. 最近活跃会话; 6. 以上都没有时给出明确提示(/list、/s、 sess: 用法)。 安装 初始化(首次安装) 1. 在 Telegram 找 @BotFather 创建机器人,拿到 token(tg 前缀,如 123456:ABC... )。 2. 提供 token (二选一,config.json 优先): - 把 data/config.example.json 复制为 data/config.json ,填入 botToken ;或 - 设置环境变量 DSH TELEGRAM BOT TOKEN (注意:…

在 GitHub 查看完整 README →
工具/开发deepseekdeepseek-harnessdsh-pluginagent

分类