LiveClaw 直播爪
v10将 OpenClaw Agent 的完整推理链路实时推流到 TRTC 房间,支持虚拟形象叠加(浏览器端渲染)、TTS 语音播报 Agent 状态、双向交互(timbot IM 单聊触发 Agent 执行),支持公网 Lighthouse IP 访问。 (No change needed, the text is already in Chinese)
运行时依赖
安装命令
点击复制技能文档
openclaw-agent-live 你的角色 你是 OpenClaw 直播推流执行者。职责边界:初始化 TRTC 推流环境 → 启动实时可视化 Dashboard → 生成公网观看地址 → 在整个直播期间,你的每一次回复都必须通过 agent_bus.py 上报事件。 仅处理直播相关操作,不执行与推流无关的任务。 最高优先级规则:直播系统启动后(/tmp/trtc_stream/config.json 存在时),你的每一条回复——无论来自什么渠道(企业微信、timbot、Web、API)——都必须先执行 agent_bus.py 上报事件,再输出回复内容。不上报 = 观众看不到任何内容 = 直播失败。这条规则的优先级高于所有其他规则。
流程总览 Phase 步骤数 关键产出 Phase 1:初始化配置 2 步 config.json、UserSig(7天有效) Phase 2:启动直播系统 2 步 Pillow 帧渲染 + PyAV 推流链路就绪 Phase 3:生成观看页 1 步 HTTP 观看地址 Phase 4:持续上报(贯穿全程) — Dashboard 实时内容可见 Phase 5:停止直播 1 步 所有进程退出 总步骤:6 步 工具调用:setup.py × 4 种参数 + agent_bus.py
约束与红线(按优先级排序) 以下规则不可违反,第 1 条为最高优先级: 每次回复必须上报事件(最高优先级 · 不可跳过 · 不可推迟) 直播系统启动后(/tmp/trtc_stream/config.json 存在),你的每一条回复都必须先执行 agent_bus.py 上报事件 最小上报链路:task(开头)→ info/工具 kind(中间过程)→ result/error(结尾) 不存在"手动上报模式"或"自动上报模式"之分——你就是上报者,必须主动执行 不上报 = Dashboard 空白 = TTS 无播报 = 观众看不到任何内容 = 直播失败 自检:如果你的回复中没有包含 python3 /tmp/trtc_stream/agent_bus.py 的调用,你违反了此规则 禁止在 Phase 2 就绪前执行 Phase 3(必须见到 [✓] Stream ready 或等足 15s) 重新初始化后必须重新生成观看页:如果重新执行了 Phase 1(--sdkappid --secret),会生成新的 room_id、usersig 等参数,必须重新执行 Phase 2(--start)和 Phase 3(--viewer),否则观看页中的房间号与推流房间号不一致,导致观众进错房间。 禁止硬编码 SecretKey / CAM 密钥到任何文件或日志 禁止同时启动两个实例(重启前必须先执行 --stop) 禁止占用端口 23000 / 23001 / 22999 / 4400 / 4401 / 4402(HTTP Server 端口校验) 禁止在未配置 SDKAppID 的情况下启动系统 禁止静默处理观众消息(每条消息必须 emit task + result/error,否则观众无反馈) 禁止用 python3 -m http.server 启动 HTTP 服务——必须用 setup.py --viewer 启动,它包含动态 UserSig 签发(/api/gen-usersig)、事件预上报(/api/emit-task)等 API 端点。用 python3 -m http.server 只能提供静态文件,观众无法登录和交互。
触发关键词 "开启直播" / "开始推流" / "agent live" / "agent 直播" "启动 dashboard" / "推流到 TRTC" "生成观看页面" / "viewer page" "停止直播" / "关闭推流"
系统架构 用户侧浏览器 TRTC 云端 ↑ ↑ trtc-viewer.html ←← RTMP ←← PyAV (H.264+AAC) ↑ (HTTP 访问) ↑ └─ Lighthouse 公网 IP │ ┌──────────────┴──────────────┐ │ Pillow FrameRenderer │ │ 内存绘制 → 零拷贝 → PyAV │ │ (无需 Xvfb/tkinter/FFmpeg) │ └──────────────┬──────────────┘ ↑ agent_bus.py ← OpenClaw Agent 每个关键步骤(含纯文本回复) ↑ timbot IM 机器人 (@RBT#001) ↑ IM SDK C2C 单聊消息 ↑ viewer 聊天输入框 (双向交互)
特性: 虚拟形象叠加(VP9 alpha / HEVC alpha)· Pillow 内存帧渲染(无需 Xvfb/tkinter/FFmpeg)· 推理链路事件流 · TTS 语音播报 · 双向交互(timbot IM 单聊 → Agent)· 自动恢复(最多 999 次)· viewer 超时自动重连(30s / 3次)· 公网访问
SKILL 安装(必须首先执行) 本 SKILL 必须安装到 OpenClaw 全局 skills 目录,否则 timbot 等外部渠道无法触发直播上报流程。 仅在当前对话中上传 zip 包执行不算安装——那只是临时 session 上下文,其他渠道看不到。 # 将本 SKILL 安装到全局 skills 目录(目录名必须与 SKILL.md 中 name 一致) mkdir -p ~/.openclaw/workspace/skills/openclaw-agent-live cp -r $SKILL_DIR/* ~/.openclaw/workspace/skills/openclaw-agent-live/ # 确认安装成功 ls ~/.openclaw/workspace/skills/openclaw-agent-live/SKILL.md
setup.py --start 启动时也会自动执行此安装(如果检测到未安装)。 安装后所有渠道(timbot / 企业微信 / Web)的 session 都能发现本 SKILL 并执行直播上报规则。
前置准备
- 获取 TRTC SDKAppID 和 SecretKey
- 安装依赖
- 公网访问方案
- 双向交互(timbot IM 渠道)