名称: spaces-listener
描述: 录制、转录并总结 X/Twitter Spaces —— 支持直播或回放。通过 yt-dlp 自动下载音频,使用 Whisper 转录,并生成 AI 总结。
版本: 1.6.0
作者: jamesalmeida
标签: [twitter, x, spaces, transcription, summarization, audio, recording]
when: "当用户要求录制、转录或收听 X/Twitter Space 时"
examples:
- "录制这个 Space"
- "转录这个 X Space"
- "收听并转录这个 Twitter Space"
- "下载这个 Space 的音频"
元数据:
openclaw:
requires:
bins: ["yt-dlp", "ffmpeg"]
emoji: "🎧"
录制、转录并总结 X/Twitter Spaces —— 支持直播或回放。支持多个并发录制任务。
# 开始录制(在后台运行)
spaces listen <url>
# 同时录制多个 Spaces
spaces listen "https://x.com/i/spaces/1ABC..."
spaces listen "https://x.com/i/spaces/2DEF..."
# 列出所有活跃的录制任务
spaces list
# 检查特定录制任务的状态
spaces status 1
# 停止一个录制任务
spaces stop 1
spaces stop all
# 清理过时的 pid/元数据文件
spaces clean
# 完成后进行转录
spaces transcribe ~/Desktop/space.m4a --model medium
# 总结现有的转录文本
spaces summarize ~/Desktop/space_transcript.txt
# 跳过总结步骤
spaces transcribe ~/Desktop/space.m4a --no-summarize
brew install yt-dlp ffmpeg openai-whisper
如需生成总结,请设置 OPENAI_API_KEY 环境变量(不设置仍可进行转录)。
spaces listen 都会启动一个新的后台录制任务,并分配一个唯一 ID。spaces list 查看所有活跃的录制任务。spaces stop <id> 或 spaces stop all 停止。spaces transcribe <file> 进行转录。--no-summarize 跳过)。每个 Space 都会在 ~/Dropbox/ClawdBox/XSpaces/ 目录下生成一个专属文件夹:
~/Dropbox/ClawdBox/XSpaces/
space_用户名_2026-02-03_1430/
recording.m4a — 音频文件
recording.log — 进度日志
transcript.txt — 转录文本
summary.txt — 总结文本
切勿为 Space 下载设置超时。 Space 可能长达数小时。
yt-dlp 会在 Space 结束时自动停止 —— 不要提前终止它。
正确的工作流程:
1. 运行 spaces listen <url> —— 它会启动一个后台进程并立即返回。
2. 设置一个 cron 任务(每 5-10 分钟)来检查 spaces list。
3. 当录制状态显示 "No active recordings" 时,表示已完成。
4. 转录音频文件,生成总结,并通知用户。
5. 删除该 cron 任务。
禁止操作:
- 使用带超时的 exec 命令进行下载。
- 为同一个 Space 运行多个竞争性的下载进程。
- 手动终止下载进程(除非用户要求)。
录制期间,音频文件暂存在 /tmp/spaces-listener-staging/ 目录中,完成后会自动复制到最终的 Dropbox 输出目录。这可以避免在长时间下载过程中出现 Dropbox 文件锁定问题。
| 模型 | 速度 | 准确度 |
|---|---|---|
| tiny | ⚡⚡⚡⚡ | ⭐ |
| base | ⚡⚡⚡ | ⭐⭐ |
| small | ⚡⚡ | ⭐⭐⭐ |
| medium | ⚡ | ⭐⭐⭐⭐ |
| large | 🐢 | ⭐⭐⭐⭐⭐ |