Telegram
通过 Telegram 远程控制你的 CLI-JAW 代理。发送消息、接收回复、转发代理输出、使用 STT 处理语音消息,以及使用斜杠命令——一切尽在手机上完成。
设置
1. 使用 BotFather 创建机器人
- 在 Telegram 中打开 @BotFather
- 发送
/newbot并按照提示操作 - 复制机器人令牌(格式类似
123456:ABC-DEF...)
2. 配置 settings.json
{
"telegram": {
"token": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11",
"allowedChatIds": [],
"forwardAll": true
}
}
初始时将
allowedChatIds 留空。向你的机器人发送 /id 获取你的聊天 ID,然后将其添加到数组中以确保安全。3. 替代方式:使用 jaw init
jaw init --channel telegram --telegram-token "YOUR_TOKEN"
发送与接收
- 文本消息——向你的机器人发送任何文本,它将作为提示词发送给代理
- 斜杠命令——直接在 Telegram 中使用
/model、/cli、/status等命令 - 图片和文档——附件会被下载、保存,并向代理描述其内容
- 语音消息——通过 Gemini STT(或 Whisper 备用方案)转录后以文本形式发送
转发
当 forwardAll 设为 true 时,代理的 agent_done 结果会自动转发到你的 Telegram 聊天。来自 Telegram 的结果会被排除,以避免回声重复。
/forward on # Enable forwarding
/forward off # Disable forwarding
文件传输
代理可以通过 channel send API 向 Telegram 发送文件:
POST /api/telegram/send
POST /api/channel/send # Unified endpoint (preferred)
文件会按照 20MB 的大小限制进行验证。Telegram 消息会按 4096 个字符进行分块,并转换为 Telegram HTML 格式。
群组聊天
在群组/超级群组聊天中,机器人仅在被 @botUsername 提及时才会回复。提及标记会在处理消息前自动去除。
可用命令
Telegram 中可见 27 个斜杠命令(与 Discord 相同)。机器人专属命令:
| 命令 | 描述 |
|---|---|
/start | 欢迎消息 |
/id | 显示你的聊天 ID |
/settings | 机器人设置(由机器人处理,非服务器) |
环境变量
可通过环境变量覆盖设置:
TELEGRAM_TOKEN=123456:ABC-DEF...
TELEGRAM_ALLOWED_CHAT_IDS=12345,67890