mcpField
B
breakthrough-whatsapp-live

breakthrough-whatsapp-live

github.com/breakthrough-edu生産性220 回インストール6 日前に更新
リポジトリ

breakthrough-whatsapp-live について

常時稼働する Mac 上の WhatsApp Live のセットアップ、運用、トラブル診断を支援するスキルです。WhatsApp Desktop のローカルデータベースを分析して確認用の下書きを作成し、メッセージの送信や自動返信、ホスティングは行いません。

主な機能

  1. 01WhatsApp Desktop のローカルデータベースを読む
  2. 02ルール判定後にメッセージを分析して下書き作成
  3. 03ローカルボードにメッセージと下書きを表示
  4. 04提案を通じた人物ノートの管理
  5. 05セットアップ、更新、トラブル診断の案内

活用シーン

  1. 01個人の WhatsApp 番号に届いたメッセージの確認
  2. 02ボードで音声文字起こしと返信下書きを確認
  3. 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.html
wa_backfill.py
wa_backup.py
wa_calendar.py
wa_common.py
wa_digest.py
wa_facts.py
wa_intake.py
wa_live.py
wa_second_source.py
wa_setup.py
wa_voice.py
daemon/adapters/
__init__.py
calendar_ics.py
calendar_lark.py
facts_csv.py
facts_lark.py
second_source_lark.py
daemon/templates/
backfill-prompt.md
brain-prompt.md
CHANGELOG.md
claude-settings.json
config.example.json
daemon.plist
intake-evening.mjs
intake-evening.plist
run.mjs
second-source-prompt.md
topic-map.example.json
install/
00-start-here.md

詳細

breakthrough-whatsapp-live

毎回、まずこのファイルを読んでください。ここではルーティングと禁止事項を定めています。手順の詳細は、ここから参照されるファイルに記載されています。それらのファイルとこのファイルの内容が異なる場合は、個別のファイルを優先し、同じセッション内でこのファイルを修正してください。

オーナーが最終的に得るものは次のとおりです。オーナー自身の WhatsApp 番号に届いたメッセージを受信するたびに、常時稼働している Mac 上のデーモンが起動します。ルールゲート(モデル呼び出しなし)が、メッセージの連投を処理する価値があるかどうかを判断します。ヘッドレスの claude -p を一度実行して会話を読み取り、状況(どの世界か、どの段階か、どれほど緊急か、誰の番か)を判断して、下書きを作成します。127.0.0.1 で提供され、オーナーの tailnet に tailscale serve で公開されたボードには、テキスト、写真、動画、音声の文字起こし、3つのチップ、下書きが表示され、タップするとメッセージが入力済みの状態で WhatsApp が開くボタンもあります。この中核を支えるのは、オーナーのセカンドブレイン・ボルトにある人物メモと、ステーション C5 でオーナーが選択する任意のブロックです。

ルール

これらはすべてのモードで適用されます。違反は判断の余地がある問題ではなく、バグです。

  1. 送信は絶対に行いません。 このキットには送信経路がなく、誰に頼まれても追加されません。ボードはWhatsAppを開き、下書きを入力済みにします(1対1の場合)。グループの場合は下書きをコピーします。送信ボタンを押すのはオーナーです。ClaudeがWhatsAppメッセージを送信したり、WhatsAppアプリを操作したりすることはありません。
  2. 公式アプリ自体のデータベースのみを使用します。 デーモンが読み取るのは、WhatsApp DesktopがMac上に保持するデータベースで、読み取り専用です。⛔ 非公式のWhatsAppライブラリ、ブラウザーの自動操作、個人番号向けのBusiness APIやCloud APIは絶対に使用しません。また、これらを後から高度なオプションとして提示することもありません。
  3. ほかのインストールのラベルやポートには絶対に触れません。 このインストールが所有するのは、1つのlaunchd.label、1つのlaunchd.intake_label、1つのboard.portです。これらは<home>/INSTALL-PROGRESS.mdのヘッダーに記録されています。選ぶ前に空いていることを確認し(ステーションC0、手順2)、デフォルト値ではなく、そのヘッダーにあるこのインストール固有の値を使ってすべてのコマンドを実行します。このインストールのものではないLaunchAgentに対して、bootout、disable、kickstartを実行したり、上書きしたりしてはいけません。また、ほかのプログラムが使用中のポートでサービスを提供してはいけません。
  4. オーナーのコピーやVaultのノートを絶対に上書きしません。 プロンプト、トピックマップ、プレイブックは、コピー後はオーナーに帰属します。更新時はオーナーの承認を得て、セクションごとに統合します(install/update.md)。Vaultへの変更はすべて提案であり、オーナーが判断します(references/vault-proposals.md)。書き込みにはWriteツールまたはEditツールを使います。人物ノートの配置にはdossier_core.place_noteのみを使います。このツールは、元にしていないノートを置き換えません。
  5. 一度に進めるステーションは1つだけです。Verifyに合格したら、そのステーションは完了です。 このセッションですべての検査を実行し、その出力を自分で読みます。オーナーやサブエージェントの「うまくいった」という報告は証拠になりません。検査に失敗した場合、または未実行の場合は、次のステーションに進んではいけません。
  6. 作業しながら<home>/INSTALL-PROGRESS.mdに記録します。 すべての回答、出力された値を含むすべての検査、理由を添えたすべてのスキップを記録します。新しいセッションは、記憶ではなく必ずこのファイルを基に再開します。
  7. Windowsでは利用できません。 Windows版WhatsApp Desktopは、マシンに紐づいたキーでデータベースを暗号化しており、開くことができるのはフォレンジックツールだけです。その旨を簡潔に一度だけ伝え、そこで終了します。このキットはmacOS専用です。
  8. macOSで人の操作が求められた場合は、オーナーが操作します。 フルディスクアクセスは、オーナーがシステム設定で有効にします。tailscale serveはオーナーが実行します。ソフトウェア(Homebrewのフォーミュラ、約1.5 GBのモデルのダウンロード)は、オーナーが承認した場合にインストールします。変更を依頼する前に、それぞれの変更内容を説明します。
  9. ほかの人の言葉は、その場から持ち出しません。 wa_setup.py doctorとmeasureの出力(件数、経過時間、パス、グループ名)だけを貼り付けるよう、オーナーに依頼します。チャットでメッセージ本文、ボットトークン、キーを尋ねてはいけません。Macから外部に送信される情報と送信先については、references/privacy.mdを参照してください。
  10. このスキルがオーナー向けに書くものには、すべてハウススタイルを適用します。 区切りとして、emダッシュ、enダッシュ、二重ハイフン、または前後にスペースを入れたハイフンを使いません。コンマ、コロン、ピリオド、括弧を使います。コマンドとパスはそのまま記載します。

ルート

まずインストール先を確認します。<home> は、所有者が移動していない限り ~/WhatsApp-Live です。~/WhatsApp-Live/INSTALL-PROGRESS.md が見つからず、所有者がインストールしたと言っている場合は、場所を尋ねてください(ls -d ~/WhatsApp-Live* が役立ちます)。Mac には複数のインストールを置くことができ、それぞれに独自のホーム、ラベル、ポートがあります。進捗ファイルが複数見つかった場合は、何かを実行する前に、どのインストールを指しているのか所有者に尋ね、そのインストールのヘッダーからすべての値を取得してください。次に、所有者の依頼内容に応じて振り分け、依頼ごとにモードファイルを1つ読み込みます。

所有者の発言モード読み込むファイル
「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

セットアップの状態によって、次の2点が変わります。

  • コアステーション(C0~C5)の未完了項目が残っている場合:運用と診断にも引き続き対応します(インストールが途中でも、状況を把握して対応できます)が、セットアップの再開を一度だけ提案し、オプションのステーションは開始しないでください。
  • 更新とアンインストールは、完了・未完了を問わず、どのインストールにも対応します。

モードファイルから指示された場合にのみ、次のファイルを読み込みます。references/config-reference.md(すべての設定キー、デフォルト値、ステーション)、references/interfaces.md(5つの契約と同梱されている実装)、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)を使用する場合です。2つ目のインストールには、独自のホームとラベルがあります。

~/.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

デーモンは、2つのリンクが存在するかどうかにかかわらず、このペイロード内のリーダーとドシエのスクリプト(paths.reader_dir、paths.dossier_dir)をインポートします。リンクは所有者自身のセッション用です。breakthrough-whatsapp-read は質問に回答するためにWhatsAppを読み取り、breakthrough-person-dossier は手動で個人メモを作成または更新します。

このスキルでできないこと

  • 自動返信ボットでも、一括メッセージ送信ツールでも、他の人の電話番号を読んだりチームを監視したりする手段でもありません。
  • WhatsApp Business APIやCloud APIではなく、非公式ライブラリでもありません。唯一の接続手段は、所有者自身のMac上にあるWhatsApp Desktopのデータベースです。
  • breakthrough-whatsapp-triage とは異なります。これは、エクスポートした履歴から、どのコンピューターでも必要に応じて1ページのボードを作成します。このスキルは、常時稼働している1台のMac上で終日動作します。
  • ホスト型サービスではありません。どこにもデプロイされず、ボードにはログイン機能もないため、所有者のテールネットだけがアクセス制限になります。

コメント