正文内容
Codecast
将编码代理会话实时流式传输至 Discord。全程不消耗任何 AI Token。
初始化配置
首次配置:请参阅 [references/setup.md](references/setup.md),了解 Webhook 创建、unbuffer 安装、Bot Token 获取及冒烟测试(smoke test)流程。
启动方式
使用 exec background:true 启动。后台执行的会话可跨越 Agent 轮次持续运行,且 OpenClaw 会在进程终止时自动触发 notifyOnExit。
exec background:true command:"{baseDir}/scripts/dev-relay.sh -w ~/projects/myapp -- claude -p --dangerously-skip-permissions --output-format stream-json --verbose 'Your task here'"
注意响应中返回的 session ID —— 后续可通过 process 命令监控该会话。
可选参数
| 参数 | 描述 | 默认值 |
|---|---|---|
-w |
工作目录 | 当前目录 |
-t |
超时时间(秒) | 1800 |
-h |
挂起阈值(秒) | 120 |
-n |
Agent 显示名称 | 自动识别 |
-r |
发送速率限制(条/60 秒) | 25 |
--thread |
发送至 Discord 线程(Thread)中 | 关闭 |
--skip-reads |
隐藏 Read 工具事件 | 关闭 |
--review |
PR 审查模式 | — |
--parallel |
并行任务模式 | — |
--resume |
回放已有会话 | — |
关于 PR 审查、并行任务、Discord 桥接及 Codex 结构化输出等高级功能,请参阅 [references/advanced-modes.md](references/advanced-modes.md)。
Agent 启动检查清单
- 启动后台会话 → 记录响应中的 session ID 与 PID
- 在开发频道(dev channel)中发布通知 → 说明 Agent 名称、工作目录及任务内容
-
写入导航标记(breadcrumb)文件,用于结果路由:
echo '{"channel":"","relayDir":"","pid":}' > /tmp/codecast-pending-.json - 记录至每日记忆(daily memory) → 包含 session ID、relay 目录路径、调用频道 ID
该 breadcrumb 文件告知心跳预检(heartbeat precheck)脚本:当会话结束时,应将结果发送至哪个 Discord 频道。其通过检查对应 PID 是否仍在运行,自动判定会话是否完成。
至此即完成全部配置。当进程终止后,OpenClaw 的 notifyOnExit 将自动触发系统事件及心跳请求;心跳处理程序则从 relay 目录下的 stream.jsonl 中读取输出,并将其发布至原始调用频道。
完成状态检测
OpenClaw 原生支持该能力:
-
tools.exec.notifyOnExit: true(默认启用)→ 进程退出时自动触发系统事件 + 心跳请求 - 心跳预检脚本通过扫描
/tmp/dev-relay-sessions/目录识别已结束会话 - 无需额外部署 cron 守护进程
备用方案:可在内部 Agent 的 prompt 末尾追加以下指令,作为额外完成信号:
When completely finished, run: openclaw system event --text "Done:" --mode now
监控命令
process poll sessionId:# 查询会话状态 process log sessionId:# 查看最近输出日志 process kill sessionId:# 终止指定会话
Agent 兼容性支持
| Agent | 输出模式 | 支持状态 |
|---|---|---|
| Claude Code | stream-json | 完全支持 |
| Codex |
--json JSONL 格式 |
完全支持 |
| 任意 CLI 工具 | 原始 ANSI 输出 | 基础支持 |
会话追踪机制
-
活跃会话记录:
/tmp/dev-relay-sessions/(会话结束后自动删除).json -
事件日志:
/tmp/dev-relay.XXXXXX/stream.jsonl(7 天后自动清理) -
交互式输入:
process submit sessionId:data:"message"
参考文档
- [配置指南](references/setup.md) — 首次安装、Webhook 设置、Bot Token 获取
- [高级模式](references/advanced-modes.md) — PR 审查、并行任务、Discord 桥接、Codex 支持
- [Discord 输出规范](references/discord-output.md) — 消息格式、架构设计、环境变量、故障排查