核心用法
telegram-compose 是一个子代理技能(sub-agent),由主会话自动调用以格式化并投递富文本 Telegram 消息。它基于决策规则运行:当消息超过 3 行或包含结构化数据(列表、统计、章节、报告)时,主代理会生成 Haiku 子代理任务,由该技能完成 HTML 格式化与 API 投递。
显著优点
1. 专业化 HTML 格式化:内置完整的 Telegram HTML 标签支持(粗体、斜体、下划线、删除线、代码块、剧透、引用、可展开引用、链接、用户提及),并提供结构模板与样式规则,确保消息在移动端清晰可扫描。
2. 智能长度处理:自动检测 4,096 字符限制,支持按章节边界智能拆分消息,并添加延续标记,避免截断或发送失败。
3. 移动优先的数据展示:明确禁止 <pre> 标签用于统计数据(避免等宽字体在移动端错位),改用「emoji + 粗体 + 分隔符」的自然流式布局。
4. 健壮的错误处理:针对常见 API 错误(HTML 解析失败、消息过长、线程不存在、速率限制)制定分级回退策略,最终兜底为纯文本发送,确保消息必达。
5. 配置灵活:支持多账户管理(通过 channels.telegram.accounts.<name>.botToken),自动检测 OpenClaw 配置文件路径,支持话题线程(Thread ID)投递。
潜在缺点与局限性
- 依赖外部配置:需预配置 Telegram Bot Token,且账户名必须由调用方显式指定,无法自动选择,配置缺失将直接导致任务失败。
- 无持久化状态:不存储消息历史或投递状态,失败重试仅依赖单次会话内的错误处理。
- HTML 转义责任:要求格式化时正确转义
&、<、>,虽有规则指导,但仍存在人工或自动化处理出错的风险。 - 网络单点:仅支持 Telegram 官方 API(api.telegram.org),无代理或备选端点配置。
适合人群
- 使用 OpenClaw 框架的自动化工作流开发者
- 需要向 Telegram 频道/群组投递结构化通知、监控警报、研究报告的系统管理员与运维团队
- 构建 CLI 工具链、需要将终端输出转换为移动端友好格式的技术用户
常规风险
- 凭证泄露风险:Bot Token 存储于本地 JSON 文件,需确保
~/.openclaw/目录权限正确(建议 700)。 - API 滥用与封禁:高频调用可能触发 Telegram 速率限制,虽实现了指数退避等待,但异常流量仍可能导致账户受限。
- HTML 注入风险:若原始内容未正确转义,可能导致消息格式错乱或意外解析(如用户输入包含未转义的
<b>)。 - 消息可见性:Telegram 消息投递后无法撤回(除非额外实现),批量发送前建议测试格式化结果。