An iMessage-based personal agent you can run with either your Claude Code subscription or your Codex / ChatGPT subscription.
Choose your runtime during setup:
codex login.No Anthropic or OpenAI API key is required for the agent runtime when using subscription auth.
📺 Watch the walkthrough: YouTube — How I built Boop
Boop in action — text it like a person, get back an answer with full context.
This is a starting point, not a finished product. It's the architecture I built for my own personal agent, opened up as a template so you can take it, text-enable your own Claude or Codex-backed agent, and extend it however you want. Integrations are plugged in via Composio — drop in an API key and connect Gmail, Slack, GitHub, Linear, Notion, and ~1000 others straight from the debug dashboard.
iMessage → Sendblue webhook → Interaction agent → Sub-agents (per task)
│ │
▼ ▼
Memory store ←── Integrations (your MCP tools)
Built on: - Claude Agent SDK or local Codex runtime — choose your provider during setup - Composio — integrations layer. One API key = Gmail, Slack, GitHub, Linear, Notion, Stripe, Supabase, + ~1000 more with hosted OAuth - Sendblue — iMessage in/out (free on their agent plan) - Convex — real-time database for memory, agents, drafts - Your Claude Code or Codex/ChatGPT subscription — no separate provider API key required
npm run dev auto-registers the inbound webhook for you every restart (no re-pasting into the dashboard when free ngrok rotates your URL).WebSearch / WebFetch / the integrations.POST /consolidate.
Agents tab — every spawned sub-agent with status, usage/cost, tokens, turns, runtime, and the integrations it touched.
Automations tab — schedule recurring jobs from a text ("every morning at 8 summarize my calendar") and watch them run.
Memory tab — force-directed graph of clustered memories across short, long, and permanent tiers. Tabular view also available.
Connections tab — Composio toolkits with OAuth handled for you. Click Connect and the agent can use it on the next message.
Luna, the inspiration.
Boop is meant to be a proactive agent — one that nudges you over iMessage with reminders, drafts, and little follow-ups. A small "boop" whenever it has something for you.
And it's named after my dog, Luna, who gives plenty of them.
I'm working on open-sourcing the native iOS app I originally built for this. The rewrite is taking much longer to get right than I'd hoped, but it will happen. I don't personally use it anymore — but enough people have asked, and I want to make it happen.
If you want to see what it looked like before I transitioned to an iMessage-based agent, here's the walkthrough on YouTube.
You need accounts for these. Keep the tabs open — setup will ask for credentials from each.
You should be able to get away with the free plan for each service except your chosen agent subscription, and I'm working to secure discounts for you guys on the pro plans. If you work at any of these companies, please reach out!
| Service | Why | Free? | Discount code |
|---|---|---|---|
| Claude Code or Codex / ChatGPT | Powers the agent. Install the matching CLI, sign in once, Boop uses your local session. | Subscription required | Working on getting one (if you work here, please reach out!) |
| Sendblue | iMessage bridge. Get a number, grab API keys. | Free on their agent plan | RAROQUE20 — 20% off for 6 months (helpful if you plan to commercialize) |
| Convex | Database + realtime. | Free tier is plenty | Working on getting one (in touch with them 👀) |
| Composio | Integrations — one API key unlocks ~1000 toolkits. Optional if you just want chat + memory + automations without third-party access. | Free tier covers personal use | CHRISXCOMPOSIO — 1 month free on starter plan |
| ngrok or similar | Expose your local port so Sendblue can reach it. | Free tier works | Working on getting one (if you work here, please reach out!) |
Custom integrations welcome. Composio covers the common catalog, but you're free to add your own MCP servers under server/integrations/ and register them in server/integrations/registry.ts — the dispatcher treats them the same as Composio-backed ones (just named toolkits the execution agent can spawn against). Useful for in-house APIs, local tools, or anything Composio doesn't ship.
Local browser use is fully optional. Boop can expose a local Chrome/Chromium profile to spawned agents, but it is off by default. Enable it from the debug dashboard under Settings → Local browser use when you want browser automation for login-only services, visual workflows, or bot-wall-sensitive pages. The Patchright browser binary is installed only if you opt in during setup or click the install button in Settings.
# 1. Clone + install
git clone https://github.com/raroque/boop-agent.git
cd boop-agent
npm install
# 2. Install one agent runtime (one-time, global) and sign in
npm install -g @anthropic-ai/claude-code
claude # sign in, then Ctrl-C to exit
# or:
npm install -g @openai/codex
codex login
# 3. Interactive setup — writes .env.local, creates Convex deployment, offers optional local browser use
npm run setup
# 4. Install ngrok (one-time) and authorize it
brew install ngrok
# or grab from https://ngrok.com/download
ngrok config add-authtoken <your-token> # free at https://dashboard.ngrok.com
# 5. Start everything with one command — server, Convex, debug UI, and ngrok
npm run dev
npm run dev prints color-prefixed output from all four processes and shows a banner with your ngrok webhook URL once the tunne
| 日期 | 榜单 | 排名 | 周期新增 | 总 STAR |
|---|