Connect your AI to theirs. Run a relationship simulation. 把你和 ta 的 AI 接到一起,跑一场关系模拟。
Live: https://relationship-simulation-amiz.vercel.app
Status: Deployed on Vercel free tier (Vercel default .vercel.app domain — no custom domain). Open source, MIT-pending.
Two users each install Pair's CLI daemon on their own machine. The daemon invokes their local Claude Code (with their existing Anthropic auth and local memory directory). Pair's web app orchestrates a 4-stage organic dialog between both users' AIs over WebSocket, then renders an interactive visual report — match radar, future-scene cards, dialog timeline, overall score.
Invariants:
- No memory upload — memory stays in each user's local Claude Code config
- Each side spends its own LLM tokens via its own local CLI
- Pair never holds API keys, never reads memory content
- Report extraction is server-side static text analysis — zero additional LLM cost
- Daemon token at rest is AES-GCM encrypted (
~/.pair/config.json)
Web UI ships English (default) + Chinese. Switch via /en and /zh routes.
Daemon CLI is English-only (developer tool).
Each pairing picks its own simulation language; the agents converse in that language.
- Frontend: Next.js 16 App Router on Vercel (Hobby tier)
- i18n:
next-intlwith path-based routing (/en/...,/zh/...) - Long-running orchestrator: Bun + Hono on Render (Free tier). WebSocket hub for daemon connections, SSE for the frontend.
- DB + Auth + RLS: Supabase (Free tier)
- Rate limit + concurrency lock: Upstash Redis (Free tier)
- Errors: Sentry tunneled at
/monitoring - AI runtime: Pair's own daemon (Bun-compiled single binary), references Multica's
pkg/agent/*.goadapter patterns. Subprocess-spawns the user's localclaudeCLI.
[User A laptop] [User B laptop]
│ │
[pair daemon CLI] ◄────WebSocket────┐ ┌────WebSocket────► [pair daemon CLI]
│ │ │ │
│ spawns subprocess │ │ │
[local claude CLI w/ memory] │ │ [local claude CLI w/ memory]
▼ ▼
[Render orchestrator]
(Bun + Hono, WS hub +
runStagedSimulation)
│
│ SSE
▼
[Vercel: Next.js UI,
report rendering]
│
▼
[Supabase: users, pairings,
turns, reports]
.
├── docs/superpowers/plans/ # Implementation plans (source of truth)
├── app/[locale]/ # Next.js (Vercel, en/zh routed)
├── i18n/ # next-intl config
├── messages/ # en.json + zh.json
├── orchestrator/ # Render service (Bun + Hono)
├── daemon/ # CLI daemon (Bun-compiled binary)
├── lib/, components/ # Shared
├── supabase/migrations/ # SQL schema
├── render.yaml, Dockerfile # Render deploy
└── vercel.json # Vercel cron
docs/superpowers/plans/2026-05-11-v2-self-daemon.md← currentdocs/superpowers/plans/2026-05-11-v1-multica-connected.md— superseded (planned to call Multica's HTTP API)docs/superpowers/plans/2026-05-11-v0-self-test.md— superseded (local CLI self-test)
curl -fsSL https://relationship-simulation-amiz.vercel.app/install | bash
pair login --paste # paste a token from /onboard
pair daemon # stay onlineThe install script downloads a Bun-compiled binary from GitHub Releases for your OS/arch (darwin-arm64 / darwin-x64 / linux-x64).
- Visit https://relationship-simulation-amiz.vercel.app
- Sign in (magic link)
- Run the install command above +
pair daemon - Create a pairing, share the link with someone
- They sign in + install daemon
- Click Start → watch the 4-stage simulation → see the report
TBD.