# Telegram 机器人接入指南 > 通过官方 Telegram Bot API,将本地 DeepSeek Harness 接入 Telegram,支持单聊与群聊、原生快捷指令菜单、交互卡片按键、增量打字机流式输出与权限审批。 --- ## 🌟 核心优势 - **100% 免公网 IP / 免 Webhook**:基于 Telegram 官方 Long Polling(长轮询)机制,本地电脑或内网服务器即可直连 Telegram Bot API。 - **零依赖原生代理支持**:内置极简 HTTP/HTTPS CONNECT 隧道代理客户端,国内网络环境下仅需填入代理地址(如 `http://127.0.0.1:7890`)即可极速通信。 - **增量打字机流式输出**:接入轮次实时生命周期,通过 `editMessageText` 实现平滑打字机流式输出,单条气泡原地更新,告别刷屏。 - **原生快捷指令菜单 (`Menu` 按键)**:自动通过 `setMyCommands` 与 `setChatMenuButton` 注册全范围指令,输入 `/` 或点击左下角菜单即可一键直达。 - **原生交互卡片与审批按键**:审批请求下发 Inline Keyboard 按键 `[✓ 批准执行]` / `[✕ 拒绝执行]`,一键点击即时响应。 - **多工作区与会话持久化**:支持 `/sessions` 查看会话列表、`/use <序号>` 切换、`/workspaces` 调度工作区,重启 DSH 后白名单与会话不丢失。 --- ## 🛠️ 第一步:在 Telegram 中创建机器人并获取 Token 1. 打开 Telegram,搜索官方机器人管理号 [@BotFather](https://t.me/BotFather); 2. 点击底部 `Start` 或发送 `/newbot` 指令; 3. 根据提示依次输入: - **机器人昵称**(如 `My DSH Agent`); - **机器人用户名**(必须以 `bot` 结尾,如 `my_dsh_agent_bot`); 4. 创建成功后,@BotFather 会返回一行 **HTTP API Token**(格式如 `123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ`)。 > 💡 **(可选)在 BotFather 中固化快捷指令**: > 向 @BotFather 发送 `/setcommands`,选择你的机器人,直接复制并粘贴下方内容发送: > ```text > new - 新建会话并开始执行 (/new <提示词>) > sessions - 列出所有会话列表与切换 > use - 切换活动会话 (/use ) > workspaces - 列出本地所有可用工作区 > status - 查看 Agent 状态与会话摘要 > stop - 停止当前正在运行的任务 > end - 结束当前活动会话 > help - 显示快捷按键与完整帮助 > ``` --- ## ⚙️ 第二步:在 DSH Bridge 中配置与连接 1. 打开 DSH Web 设置页「**远程访问**」→「**IM 机器人**」; 2. 在平台选择栏中点击「**Telegram**」卡片; 3. 填入刚才获取的 **Bot Token**; 4. **网络代理(可选)**: - 若在中国大陆地区服务器或个人电脑上运行,填入本地代理地址,如 `http://127.0.0.1:7890`(支持 Clash / v2ray / Squid 等 HTTP/HTTPS 代理); - 亦可直接在系统环境变量中设置 `HTTPS_PROXY=http://127.0.0.1:7890`; 5. 点击「**保存并连接**」。 ![Telegram Bot 配置](screenshots/telegram-bot-config.jpg) --- ## 📱 第三步:扫码与自动白名单授权 1. 连接成功后,面板将展示当前机器人的二维码与 `https://t.me/` 直达链接; 2. 用手机 Telegram 扫描二维码或点击链接打开与机器人的对话; 3. 发送第一条消息(如 `/help` 或 `你好`),系统将**自动将你的 Telegram 账号加入白名单**并持久化; 4. 之后即可在 Telegram 里随时随地向 Agent 下达任务指令。 --- ## 💬 常用指令与卡片交互 | 指令 | 说明 | 交互支持 | | :--- | :--- | :--- | | *(普通文本)* | 发送给当前活动 Agent 执行任务 | 实时打字机流式输出 | | `/new <提示词>` | 在当前工作区新建会话并立即执行 | 启动全新轮次 | | `/new <提示词> @N` | 在指定工作区序号新建会话 | 多工作区调度 | | `/rename <新标题>` | 重命名当前活动会话标题 | 修改会话名称 | | `/sessions`(或 `/list`) | 查看所有会话列表 | 附带一键切换按键 | | `/use N`(或 `/resume N`) | 切换活动会话至序号 N | 快速切换上下文 | | `/workspaces` | 列出本地所有可用项目工作区 | 查看工作区路径 | | `/addworkspace <路径>` | 注册添加新的电脑工作区目录 | 自动绑定并生成快捷序号 | | `/status` | 查看当前 Agent 运行状态看板 | 附带刷新/停止/结束按键 | | `/stop` | 强制停止当前正在运行的 Agent 任务 | 即刻中断执行 | | `/end` | 结束当前活动会话 | 挂载快捷开始按键 | | `/yes` `/no`(或 `1`/`2`) | 响应权限审批请求 | 支持直接点击卡片按钮 | | `/help` | 查看快捷按键与完整使用帮助 | 挂载全套功能导航按键 | --- ## 🛡️ 多模态与安全说明 1. **图片与文件双向传输**: - 直接向 Telegram 机器人发送图片或文档,系统自动保存到本地并注入提示词供 Agent 解析; - Agent 任务执行中生成的图片、文档等产物,在轮次结束时会自动推送回 Telegram 聊天。 2. **安全白名单拦截**: - 仅白名单内的用户消息会被放行给 Agent;非白名单用户发送的消息会被直接忽略,绝不消耗 Token 或喂给模型。 3. **敏感操作审批**: - 当 Agent 尝试执行系统命令或敏感文件读写时,Telegram 会自动下发 `[✓ 批准执行]` / `[✕ 拒绝执行]` 交互按键,10 分钟未处理自动超时拒绝。