核心用法
telegram-footer-patch 是一款面向 OpenClaw Telegram 私聊网关的自动化补丁工具,核心功能是在平台层为所有回复消息追加标准化尾注 🧠 Model + 💭 Think + 📊 Context。用户通过 Python 脚本完成一键注入,无需修改模型 prompt 或依赖模型记忆。
标准工作流:
1. 预览 (--dry-run):模拟 patch 过程,查看目标文件与注入位置
2. 应用:执行 patch_reply_footer.py,自动探测 dist/reply-*.js、compact-*.js、pi-embedded-*.js 等实际 bundle 文件
3. 重启网关:openclaw gateway restart 使补丁生效
4. 回滚:执行 revert_reply_footer.py 并重启,恢复原始状态
关键特性:
- 智能文件探测:不硬编码版本号,自动匹配当前 OpenClaw 实际使用的 dist 文件
- 升级感知:若 OpenClaw 升级导致补丁丢失,脚本通过 marker 检测识别并提示"重打",重复执行即可恢复
- 多重保护:每次写入前自动生成
.bak.telegram-footer.*备份;patch 后强制node --check语法校验;失败自动回滚;清理旧版尾注块防止重复叠加 - 精准定位:基于 needle/marker 双机制,若插入锚点失效会明确报错而非静默跳过
显著优点
1. 零侵入模型层:完全在平台网关层实现,不改变模型行为、不占用上下文 token
2. 运维友好:dry-run → apply → restart 三段式操作,配合自动备份与一键回滚,生产环境可控
3. 版本鲁棒性:不依赖固定文件名,适配 OpenClaw 迭代导致的 bundle 文件名变化
4. 防御性设计:语法校验 + 自动恢复 + 重复注入防护,降低人工操作风险
潜在缺点与局限性
1. 平台锁定:专为 OpenClaw Telegram 网关设计,无法直接迁移至其他 IM 平台或 OpenClaw 其他适配器
2. Node.js 依赖:目标环境需具备 node 可执行文件以完成语法校验
3. 升级窗口期:OpenClaw 升级后到重新 patch 之间存在"尾注真空期"
4. marker 污染风险:若官方 dist 文件未来出现相似字符串,可能导致误判或 patch 位置偏移
5. 无持久化监控:缺乏守护进程或健康检查,补丁丢失需人工触发重打
适合人群
- OpenClaw 自托管用户:希望在私聊场景强制展示模型信息、思考过程、上下文统计的标准化运营者
- 多模型切换场景:同一网关后端挂载多个模型,需通过尾注快速区分回复来源
- 合规与审计需求:需要结构化元数据附加到每条回复的 Telegram bot 运营团队
常规风险
| 风险类型 | 描述 | 缓解措施 |
|---------|------|---------|
| 升级覆盖 | OpenClaw 更新后补丁被还原 | 升级后执行脚本,内置 upgrade-aware 提示 |
| 语法错误 | 注入后 JS 校验失败 | `node --check` 自动拦截,回滚备份 |
| 双尾注叠加 | 旧版残留与新版冲突 | 脚本自动清理已知旧版尾注块 |
| 权限不足 | 无法写入 dist 目录 | 确保运行用户具备 OpenClaw 目录写权限 |
| 服务中断 | patch 后需重启网关 | 建议维护窗口执行,或配合 graceful restart |
授权:MIT License