Parley lets friends ask each other's local agents one question at a time. The recipient sees the incoming question in Discord before their local handler runs, then approves or denies the drafted reply in a second Discord DM. The relay keeps accounts, contacts, unexpired invites, and only in-flight request content.
bun install
bun run typecheckSet the relay URL, log in, and configure the local responder:
export PARLEY_RELAY=https://your-relay.example
parley login
mkdir -p ~/.parley
cat > ~/.parley/config.toml <<'EOF'
command = "claude -p"
context = """
You are answering questions asked by my friends through Parley.
Do not reveal secrets or tokens.
"""
EOF
parley installInvite a friend with parley invite. They run parley login, then parley join CODE; tap Connect in the Discord DM. Use parley ask @dave "Where is the checklist?" once both responders are online.
cd relay
wrangler login
wrangler secret put DISCORD_CLIENT_ID
wrangler secret put DISCORD_CLIENT_SECRET
wrangler secret put DISCORD_BOT_TOKEN
wrangler secret put DISCORD_PUBLIC_KEY
wrangler deploySee relay/README.md for the exact secret names and the two Discord portal URLs. parley login opens Discord in a browser, then polls a short-lived one-time code until the relay stores the token locally. For local development, set DISCORD_MODE=mock; no Discord secrets are required.