关于 breakthrough-whatsapp-live
面向常开 Mac 的 WhatsApp Live 安装、运维与排障技能,会根据 WhatsApp Desktop 本地数据库分析消息并生成草稿,供用户审核。它不发送消息,也不提供自动回复或托管服务。
主要功能
- 01读取 WhatsApp Desktop 本地数据库
- 02规则门控后分析消息并生成草稿
- 03本机看板展示消息与草稿
- 04保存人物笔记并提出修改建议
- 05提供安装、更新与故障诊断流程
适用场景
- 01审阅个人 WhatsApp 收到的消息
- 02在看板中查看语音转录与回复草稿
- 03管理安装、暂停运行或排查问题
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ breakthrough-edu/ breakthrough-whatsapp-live --skill breakthrough-whatsapp-live安装后在 Claude Code 中输入/breakthrough-whatsapp-live确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
daemon/board.htmlwa_backfill.pywa_backup.pywa_calendar.pywa_common.pywa_digest.pywa_facts.pywa_intake.pywa_live.pywa_second_source.pywa_setup.pywa_voice.pydaemon/adapters/__init__.pycalendar_ics.pycalendar_lark.pyfacts_csv.pyfacts_lark.pysecond_source_lark.pydaemon/templates/backfill-prompt.mdbrain-prompt.mdCHANGELOG.mdclaude-settings.jsonconfig.example.jsondaemon.plistintake-evening.mjsintake-evening.plistrun.mjssecond-source-prompt.mdtopic-map.example.jsoninstall/00-start-here.md详细介绍
breakthrough-whatsapp-live
每次都要先阅读此文件。它负责路由,也规定了禁止事项。具体流程写在它所指向的文件中;如果其中某个文件与此文件冲突,以具体文件为准,并在同一会话中修正此文件。
所有者最终会得到:每条发到其本人 WhatsApp 号码的入站消息,都会唤醒其常开 Mac 上的守护进程。一个规则门控(不调用模型)会判断这批消息是否值得运行。一次无头 claude -p 运行会读取对话、进行判断(属于哪个世界、处于哪个阶段、紧急程度如何、轮到谁采取行动),并撰写草稿。一个通过 127.0.0.1 提供服务、并借助 tailscale serve 放到所有者 tailnet 上的看板,会显示文本、照片、视频、语音转录、三个标签和草稿,并带有一个可打开 WhatsApp、且已填入内容的按钮。围绕这个核心:所有者第二大脑知识库中的联系人笔记,以及所有者在 C5 站点选择的可选模块。
规则
这些规则适用于所有模式。违反任何一条都是错误,而不是需要酌情判断的情况。
- 绝不会发送任何内容。 这套工具没有发送途径,也不会为任何人的要求添加发送途径。看板会打开 WhatsApp,并预填草稿(一对一聊天);对于群组,则会复制草稿。由所有者按下发送。Claude 绝不会发送 WhatsApp 消息,也绝不会操控 WhatsApp 应用。
- 只使用官方应用自己的数据库。 守护进程只读取 WhatsApp Desktop 保存在 Mac 上的数据库,不会写入。⛔ 绝不使用非官方 WhatsApp 库,绝不使用浏览器自动化,绝不为个人号码使用 Business 或 Cloud API,也绝不在之后将其中任何一种作为高级选项提供。
- 绝不触碰其他安装的标签或端口。 此安装拥有一个
launchd.label、一个launchd.intake_label和一个board.port,记录在<home>/INSTALL-PROGRESS.md的文件头中。选择前先确认它们未被占用(C0 站点,第 2 步),并始终使用该文件头中的此安装专属值运行每条命令,绝不使用默认值。绝不对不属于此安装的 LaunchAgent 执行bootout、disable、kickstart或覆盖操作,也绝不使用其他程序正在监听的端口提供服务。 - 绝不覆盖所有者的副本或保管库笔记。 提示词、主题映射和操作手册一经复制便归所有者所有:只有所有者同意后,更新才会逐节合并(
install/update.md)。所有保管库变更都必须先作为提案交由所有者决定(references/vault-proposals.md),并使用 Write 或 Edit 工具写入。人物笔记只能通过dossier_core.place_note放置;该工具拒绝替换并非以其创建的笔记为基础的内容。 - 一次只处理一个站点;验证通过后,站点才算完成。 在本会话中运行每项探测,并亲自阅读其输出。所有者或子 Agent 说“成功了”不算证据。探测失败或尚未运行时,绝不开启下一个站点。
- 随时记录到
<home>/INSTALL-PROGRESS.md:记录每个回答、每项探测及其打印的值,以及每次跳过及其原因。新会话必须从该文件恢复进度,绝不能依赖记忆。 - Windows 上没有可行路径。 Windows 版 WhatsApp Desktop 使用与该机器绑定的密钥加密数据库,只有取证工具才能打开。清楚说明这一点一次,然后停止。此工具套件仅在 macOS 上运行。
- macOS 要求用户操作时,由所有者操作。 由所有者在“系统设置”中开启“完全磁盘访问权限”。由所有者运行
tailscale serve。只有所有者同意后,才安装软件(Homebrew formulas、约 1.5 GB 的模型下载)。请求前说明每项变更的作用。 - 他人的言论原样留在原处。 只要求所有者粘贴
wa_setup.py doctor和measure的输出内容(数量、时间、路径、群组名称)。绝不在聊天中索要消息文本、机器人令牌或密钥。哪些内容会离开 Mac,以及发送给谁,参见references/privacy.md。 - 本技能为所有者撰写的内容都遵守统一风格: 不使用 em dash、en dash、双连字符,也不使用带空格的连字符作为分隔符。使用逗号、冒号、句号和括号。命令和路径保持原样。
路由
先找到安装位置。除非所有者移动过,否则 <home> 为 ~/WhatsApp-Live;如果找不到 ~/WhatsApp-Live/INSTALL-PROGRESS.md,而所有者说已经安装,请询问安装位置(ls -d ~/WhatsApp-Live* 会有所帮助)。一台 Mac 可以有多个安装,每个安装都有自己的主目录、标签和端口:如果找到多个进度文件,请先询问所有者指的是哪个安装,再运行任何操作,并从该安装的标头中获取所有值。然后根据所有者的请求选择对应模式,每个请求只加载一个模式文件:
| 所有者说 | 模式 | 阅读 |
|---|---|---|
| “设置 whatsapp live”、“安装 whatsapp live”、“继续安装”,或没有进度文件 | 设置 | install/00-start-here.md |
“更新 whatsapp live”,或刚运行了 npx skills update | 更新 | install/update.md |
| “我的 whatsapp live 正在运行吗”、暂停或恢复、重启、日志、命令文件、更改设置 | 操作 | references/operating.md |
| “为什么这条消息没有显示在我的看板上”、某次运行失败、看板为空或无法打开、语音消息没有转录文本 | 诊断 | references/troubleshooting.md,然后阅读它在 references/pitfalls.md 中指出的问题 |
| “卸载 whatsapp live”、“移除 whatsapp live” | 卸载 | install/uninstall.md |
设置状态会影响两件事:
- 进度文件中仍有核心站点(C0 到 C5)未勾选:仍然可以回答操作和诊断问题(安装未完成的机器仍然可以分析),但只主动提出一次继续设置,并且绝不启动可选站点。
- 更新和卸载适用于任何安装,无论是否已完成。
仅当模式文件要求时,才阅读以下内容:references/config-reference.md(每个配置项、其默认值和所属站点)、references/interfaces.md(五个接口约定及随附的实现)、references/defaults-and-why.md(每项默认值、原因以及所有者重新设定的位置)、references/feature-checklist.md(每项功能及其检查方法)、references/privacy.md、references/vault-proposals.md、references/pitfalls.md。
所有者 Mac 上的文件位置
使用默认值(~/WhatsApp-Live,标签为 local.whatsapp-live);第二个安装有自己的主目录和标签。
~/.claude/skills/breakthrough-whatsapp-live/ this payload; npx skills update replaces it whole, so it never holds owner data
~/.claude/skills/breakthrough-whatsapp-read link into the payload (station C1)
~/.claude/skills/breakthrough-person-dossier link into the payload (station C4)
~/WhatsApp-Live/ paths.home (0700)
INSTALL-PROGRESS.md the wizard's record (0600)
config.json reader config, generated by wa_setup.py sync-reader-config; never hand edited
runs-work/ prewarm/ sweeps/ reader working copies and reading packs
transcripts-cache/ voice transcripts, shared by the reader and the board
brain-cwd/ empty working folder of every headless run
launchd/run.mjs launchd/<label>.plist rendered by wa_setup.py render-launchd
live/ paths.live_dir
config.json telegram.json claude-settings.json seeds.json (all 0600)
prompts/brain-prompt.md prompts/second-source-prompt.md prompts/backfill-prompt.md owner copies
topic-map.json owner copy
adapters/ the owner's own interface implementations, kept through updates
state.sqlite summaries.md facts.json voice-pairs.jsonl backup-last.json second-source-last.json
digest/ runs/ commands/ dossier-backups/ variants/ calendar/ wa_live.log stderr.log
~/Library/LaunchAgents/<launchd.label>.plist default local.whatsapp-live; <launchd.intake_label>.plist only with the evening push
~/.cache/whisper-models/<model>/ the whisper model copy, outside Documents on purpose
<vault>/ People room, playbook folders, intake buffer, Decisions, registry entries,
every one of them through references/vault-proposals.md
守护进程会从此载荷导入读取器和档案脚本(paths.reader_dir、paths.dossier_dir),无论这两个链接是否存在。这些链接供所有者在自己的会话中使用:breakthrough-whatsapp-read 会读取 WhatsApp 以回答问题;breakthrough-person-dossier 可手动编写或更新某个人的笔记。
此 skill 并非
- 不是自动回复机器人,不用于群发消息,也不能用来读取他人的号码或监视团队。
- 不是 WhatsApp Business API 或 Cloud API,也不是非官方库:唯一的访问入口是所有者自己 Mac 上的 WhatsApp Desktop 数据库。
- 不是
breakthrough-whatsapp-triage,后者可根据导出的历史记录随时在任意电脑上生成单页看板。此工具则全天候在一台始终开机的 Mac 上运行。 - 不是托管服务。它不会部署到任何地方,而且看板没有登录功能,因此所有者的 tailnet 是唯一的保护措施。