用途:把 WhatsApp 导出的原始数据(zip 或含 _chat.txt 的文件夹)转换为便于阅读的分块 markdown,全程离线。
主要能力:运行 process-conversation.py 解压到 exported/ 并重新生成所有分块;脚本会打印摘要,包括待转写的音频。若有待处理音频,可询问用户是否转写,再运行 transcribe-conversation-audios.py 转写 exported/ 中尚无 .txt 的 .opus 文件,之后重新运行 process-conversation.py 将转写内联进分块。重复运行会覆盖 exported/ 并重新生成分块;音频未变时保留已有转写。
用法:python3 ${CLAUDE_SKILL_DIR}/scripts/process-conversation.py "path/to/export.zip" --output-dir .,始终传 --output-dir . 以在当前项目目录创建会话文件夹。选项:--output-dir DIR(默认与源同父目录)、--max-chunk-kb N(默认 100)。转写命令:python3 ${CLAUDE_SKILL_DIR}/scripts/transcribe-conversation-audios.py "path/to/whatsapp-name-conversation" <language>。语言可通过读取对话前约 50 行判断(<attached: 为 en,<anexado: 为 pt,<archivo adjunto: 为 es),传 whisper 代码如 en、pt、es。
输出结构:会话文件夹含 .gitignore(忽略 exported/)、.processed(记录转写偏好与语言)、按日期范围命名的 chat-*.md 分块,以及 exported/ 下的原始内容与转写 .txt。markdown 按发送者分组,发送者变化时才显示名字;照片、文档、语音消息以链接形式呈现,已转写语音显示转写文本。
阅读:分块约 100KB,可顺序读取或用 Grep 搜索;ls *.md 可看日期范围;图片和 PDF 可用 Read 工具读取,视频无法读取,音频读内联转写或 exported/ 中的 .txt。
依赖与限制:运行前可执行 ${CLAUDE_SKILL_DIR}/scripts/check-deps.sh 检查工具。转写使用本地 whisper.cpp,无需 API key;首次安装需 ffmpeg 和 cmake(brew install ffmpeg cmake),可运行 ${CLAUDE_SKILL_DIR}/scripts/setup.sh --shared 或 --local,会克隆并构建 whisper.cpp 并下载 large-v3 模型(约 3GB)。Apple Silicon 上每条语音约 2-10 秒。文件名可能含损坏的重音字符,属正常现象。视频无法读取。