wa-for-pm

    AI lo akhirnya bisa baca WhatsApp kerjaan lo.

    Banyak keputusan kerja kejadian di grup WhatsApp, satu-satunya tempat yang gak bisa dibaca AI lo. Sekarang lo tinggal nanya, dan gak ada pesan yang keluar tanpa izin lo.

    Tanya soal WhatsApp lo

    Apa keputusan soal jadwal rilis di grup klien minggu ini?

    Rilis mundur ke Senin depan, nunggu pengujian beres. Ini pesan asalnya:

    Grup klien · Rabu 14.02

    Rilisnya kita geser ke Senin ya, pengujiannya belum beres.

    Grup klien · Rabu 14.10

    Oke, Senin jam 10 pagi.

    Draft balasan

    siap, gw kabarin tim buat Senin jam 10 ya

    Setujui

    Jawaban plus pesan aslinya. Gak ada yang kekirim sebelum lo setujui.

    Belum bisa dipasang

    Lagi disiapin buat dibuka ke publik. Tombol pasangnya nyala di halaman ini begitu siap. Member AI Circle dapet kabar duluan.

    Masih privat. Belum ada tautan unduhan. Member AI Circle dapet kabar duluan.

    SegeraVersi 0.5.0-brian.1Apa yang baru

    Kabar baiknya

    Sekarang AI lo bisa baca dokumen dan email kerjaan lo.

    Tanya apa aja soal proyek, dia nyari, ngeringkas, dan nyiapin draft balasan buat lo.

    Masalahnya

    Tapi grup klien, vendor, dan tim lo ada di WhatsApp. AI lo gak bisa lihat ke sana.

    • Jam 11 malam

      Lo scroll grup klien ke atas, nyari satu keputusan soal tanggal rilis.

    • Pas ditanya atasan

      "Tadi di grup vendor ngomongin apa?" Lo harus baca 200 chat dulu buat jawab.

    • Pas mau minta tolong AI

      Lo copy-paste chat ke ChatGPT satu per satu, terus lupa nyertain pesan yang paling penting.

    • Sore hari

      Belasan chat belum dibalas, karena tiap balasan harus baca konteksnya dulu.

    Solusinya

    wa-for-pm nyambungin WhatsApp lo ke AI lo, di komputer lo sendiri.

    Tanya pakai bahasa biasa, dapet jawaban yang pesan aslinya bisa lo cek, dan draft balasan yang nunggu persetujuan lo sebelum dikirim, kalau mode persetujuan lo nyalain.

    Bedanya

    Sebelum dan sesudah.

    Sebelum

    • Scroll ribuan chat buat nyari satu keputusan.
    • Copy-paste chat ke AI satu per satu.
    • Balasan numpuk karena harus baca konteks dulu.
    • Takut AI salah kirim ke grup klien.

    Sesudah

    • Tanya AI, dapet jawaban, dan pesan aslinya bisa lo cek.
    • AI lo baca grupnya langsung, lengkap sama siapa ngomong apa dan jam berapa.
    • Draft balasan udah siap, nyambung sama pesan yang dibalas.
    • Kirim pesan mati dari awal. Kalau dinyalain, tiap draft nunggu lo setujui.

    Cara kerjanya

    Tiga langkah, udah.

    1. Sambungin WhatsApp lo

      Scan kode QR sekali dari HP, sama kayak buka WhatsApp Web.

    2. Tanya pakai bahasa biasa

      Ketik ke Claude: "Apa keputusan soal jadwal rilis di grup klien minggu ini?"

    3. Cek draft, lalu kirim

      Nyalain mode persetujuan sekali. Tiap draft AI masuk antrean, lo baca, lalu kirim atau buang.

    Yang bisa dia lakuin

    Semua dimulai dari lo nanya ke AI lo, pakai bahasa sehari-hari.

    • 01

      Nemu keputusan tanpa scroll

      AI lo nyari di chat berdasarkan kata, grup, pengirim, atau rentang tanggal, jadi lo gak perlu scroll sendiri.

      Lo bilang ke AI"Apa keputusan soal jadwal rilis di grup klien minggu ini?"
    • 02

      Jawaban yang bisa lo cek

      Tiap pesan yang dibaca AI bawa nama pengirim dan jamnya, jadi lo bisa minta dia nunjukin pesan aslinya.

      "Katanya sih rilis Senin.""Rilis Senin jam 10, disepakati di grup klien, Rabu 14.10."
    • 03

      Ringkasan grup yang lo tinggal

      Minta AI baca satu grup dari jam tertentu dan ambil yang butuh tindakan lo aja.

      Lo bilang ke AI"Ringkas grup vendor dari kemarin sore. Cuma yang butuh jawaban gw."
    • 04

      Tau chat mana yang belum lo balas

      AI lihat pesan terakhir di tiap chat dan siapa yang ngirim, jadi yang nunggu lo gak kelewat.

      Lo bilang ke AI"Chat mana aja hari ini yang pesan terakhirnya bukan dari gw?"
    • 05

      Draft balasan yang nyambung

      AI nulis balasan sebagai kutipan pesan yang dijawab, di grup atau japri, jadi orang langsung tau lo bales yang mana.

      Lo bilang ke AI"Draft balasan buat pertanyaan terakhir di grup tim soal anggaran. Kutip pesannya."
    • 06

      Gak ada yang kekirim tanpa izin lo

      Kirim pesan mati dari awal. Kalau lo nyalain mode persetujuan, tiap draft ditahan sampai lo sendiri yang setujui, dan AI gak bisa nyetujuin draft-nya sendiri.

      AI salah kirim ke grup klien.Draftnya nunggu di antrean, lo setujui atau buang.
    • 07

      Buka file dan foto dari chat

      Dokumen, foto, dan video yang dikirim di chat bisa diambil AI, jadi lo gak perlu nyari di galeri HP.

      Lo bilang ke AI"Ambil PDF penawaran yang dikirim di grup vendor kemarin."
    Dipakai buatNyari keputusan di grup klienNyiapin jawaban buat atasan: "grup vendor ngomongin apa?"Ringkas grup tim abis cuti atau abis rapat seharianNyari chat yang belum lo balas sebelum pulangDraft balasan ke vendor, lo cek duluNgambil file yang dikirim di grup minggu laluSiapin bahan rapat dari obrolan grup
    Banyak keputusan kerjaan gw kejadian di grup WhatsApp, tempat yang gak bisa dibaca AI. Sekarang gw tinggal nanya, dan draft balasannya tetap gw cek sebelum dikirim.
    Brian Arfi FaridhiBrian Arfi FaridhiProduct Director di Merit · AI Builder · Pembuat alat ini

    Lihat jalannya

    Chat dengan AI: pertanyaan soal keputusan di grup WhatsApp, jawaban dengan kutipan pesan sumber, dan draft balasan yang belum dikirim
    Lo nanya soal grup, AI jawab dari pesan aslinya plus kutipan sumbernya, dan draft balasan nunggu persetujuan lo. Contoh percakapan fiktif, di aplikasi AI Second Brain.

    Keraguan yang wajar

    Yang biasanya ditanyain dulu.

    Kapan bisa dipakai?
    Begitu dibuka, gratis dan lisensinya MIT. Sekarang masih privat, jadi belum ada tautan unduhan. Member AI Circle dapet kabar duluan.
    Pesan gw aman?
    Pesan lo disimpan di komputer lo sendiri, bukan di server gw. Pesan cuma dibaca AI pas lo nanya, jadi isinya ikut ke layanan AI yang lo pakai, misalnya Claude. Satu risiko yang perlu lo tahu: pesan jahat di chat bisa nyoba nyuruh AI ngebocorin data. Pakai dengan sadar.
    Akun WhatsApp gw bisa kena blokir?
    Bisa. Ini bukan aplikasi resmi WhatsApp, jadi ada risiko nomor lo dibatasi. Kirim pesan mati dari awal buat ngurangin risikonya. Pakai di nomor yang lo siap tanggung risikonya.
    Bisa ngirim pesan sendiri?
    Dari awal, kirim pesan mati. Lo yang milih nyalainnya. Di mode persetujuan, AI cuma bisa nyiapin draft, dan lo yang setujui satu per satu. Ada juga mode kirim langsung buat yang mau, tapi itu pilihan lo, bukan bawaan.
    Perlu bisa coding?
    Buat sekarang, iya, sedikit. Pasangnya lewat terminal, dan butuh aplikasi AI yang bisa disambungin, kayak Claude Desktop, Claude Code, atau Cursor. Persetujuan draft juga masih lewat terminal. Dibangun di atas whatsapp-mcp (open source, MIT), ditambah pengaman kirim.
    Chat lama ikut kebaca?
    Sebagian. Pas pertama nyambung, HP lo yang nentuin berapa lama riwayat yang dikirim, biasanya sekitar tiga bulan. Setelah itu, semua pesan baru kesimpan selama tersambung.

    wa-for-pm

    Berhenti scroll grup buat nyari satu keputusan.

    Gabung AI Circle, lo dapet kabar duluan pas dibuka.

    Bagikan

    Kenal orang yang butuh ini? Kirim ke dia.

    Teks yang ikut kekirim

    AI lo akhirnya bisa baca WhatsApp kerjaan lo. Lagi disiapin, pantau di sini.

    brianarfi.com/skills/wa-for-pm

    Buat yang teknisCara pasang, kebutuhan, lisensi, dan changelog lengkap.

    Cara pasang

    Dari nol sampai jalan.

    Langkahnya diambil dari README repo-nya. Tinggal salin.

    Repo-nya belum publik, jadi langkah ini baru bisa dijalanin begitu terbit.

    1. Siapin prasyaratnya

      Go 1.25 ke atas, Python 3.11 ke atas, package manager uv, Claude Desktop atau Cursor, dan FFmpeg (opsional, buat konversi pesan suara).

    2. Jalanin bridge WhatsApp

      Pertama kali jalan, bridge-nya nyetak dan nyimpen token REST API lokal. Scan QR-nya pakai WhatsApp di HP lo.

      bash
      cd whatsapp-bridgego run .
    3. Daftarin ke Claude Desktop

      Tambahin ini ke claude_desktop_config.json, dan ganti /path/to/whatsapp-mcp dengan path lo.

      json
      {  "mcpServers": {    "whatsapp": {      "command": "uv",      "args": [        "--directory",        "/path/to/whatsapp-mcp/whatsapp-mcp-server",        "run",        "main.py"      ]    }  }}
    4. Restart Claude Desktop

      Sesudah itu AI-nya bisa pakai tool WhatsApp.

    Kebutuhan

    • Go 1.25 ke atas, Python 3.11 ke atas, dan package manager uv.
    • Claude Desktop atau Cursor.
    • FFmpeg opsional, buat konversi pesan suara.
    • Fork dari whatsapp-mcp 0.4.1. Pesan disimpan lokal di SQLite.

    Lisensi

    MIT

    Versi, lisensi, dan changelog dicek ulang ke sumbernya 2026-09-30

    Changelog

    Apa yang berubah, versi demi versi.

    Disalin dari CHANGELOG produknya, dicek 2026-09-30. Versi yang belum terbit gak ditampilkan.

    Versi 0.5.0-brian.1Terbaru14 Sep 2026

    Added

    • Fail-safe send gate safety.py (WA_SEND_MODE disabled, approval or direct, with human pacing), the out-of-band approver approve.py for staged drafts, the bridge endpoints /api/newsletters and /api/newsletter/messages, and the MCP tools list_channels, get_channel_messages and list_status_updates.
    • Cross-platform bridge launcher scripts/start-bridge.sh (macOS, Linux, Windows) with a PowerShell wrapper, and a repo-relative .mcp.json.
    • OS-aware auto-start installer scripts/install-autostart.sh: launchd on macOS, a per-user Scheduled Task on Windows.
    • Link preview cards on sent links (linkpreview.go, opt out with "no_preview": true), and true channel-post forwarding on /api/send via forwarded_newsletter_jid and forwarded_server_id. Also commits the welcome-bot one-message-per-join fix, the /api/groups roster endpoint and downloadNewsletterMedia.
    • GET /api/newsletter/updates for channel view and reaction counters, and WEBHOOK_URLS to fan one webhook payload out to several endpoints.
    • Discovery file bridge.json (port, API URL, PID, token path, start time, version) in $WHATSAPP_STATE_DIR, and pairing over REST: GET /api/pair/status, POST /api/pair/restart, POST /api/logout. The REST server now starts before pairing.
    • bin/wa, an approval-gated command line for non-MCP consumers: reads are open, send, send-file and react need --approved.
    • CI release builds of the bridge for macOS, Windows and Linux, stamped with the release tag.
    • POST /api/revoke to delete a sent message for everyone, including channel posts and status.
    • scripts/build-bridge.sh cross-compiles the bridge for every desktop app target, and /api/health reports the version.

    Changed

    • The launcher defaults to port 8180, because 8080 collides with common local services.
    • The MCP server finds the bridge through bridge.json when WHATSAPP_API_URL is not set, instead of a hardcoded port.
    • welcome_config.json is tracked, and bridge binary backups are ignored.
    • Line endings are normalized to LF repo-wide.
    • whatsmeow and go-sqlite3 bumped in go.mod.

    Fixed

    • The LID migrations now detach whatsapp.db after use, which kept the database open and locked on Windows.
    • The MCP server runs on Windows (adds tzdata), and the send-path tests pass again under the send gate.
    • Forwarded channel images are saved as .jpg, not .pjpeg, so they no longer arrive as document attachments.
    • A duplicate bridgeVersion declaration left by a merge broke the build.