Synaplan
기업을 위한 오픈소스 AI 플랫폼
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗One inbox for all your client conversations, plus an MCP server so Claude can read them all in one place.
Built: Gmail (multiple accounts, personal + company), Slack (read-only, signed in as you), client grouping with auto-tag rules, mobile-friendly installable web app, OAuth-protected MCP server for Claude, and an approval queue for replies (with editing). Planned: WhatsApp Business (Cloud API), Upwork, Telegram, daily-digest page.
See CHECKLIST.md for what to configure and how to test.
npm run dev, npm test (55 tests: OAuth, MCP, approvals, Gmail/Slack sync, clients), npm run typecheck.DEMO_MODE=1 npm run dev runs the UI against in-memory fake data (never active in production builds).src/lib/testing) and stubbed Gmail/Slack HTTP, so they need no credentials.draft_reply, which only creates a pending draft.POST /api/drafts/:id with a signed-in human session (not the MCP key).audit_log.account_secrets, which has no RLS policy (service role only).connected, needs_reauth, blocked_by_admin, error); company accounts may be blocked by a Workspace admin.supabase/migrations/0001_init.sql in the SQL editor. Enable Email auth.{APP_URL}/api/connect/gmail/callback. While the app is in "Testing", add your own Gmail addresses as test users (note: refresh tokens expire after 7 days in Testing mode; a public product needs Google verification and a security assessment for restricted Gmail scopes)..env.example to .env.local and fill it in. Generate secrets with openssl rand -base64 32 (TOKEN_ENCRYPTION_KEY) and openssl rand -hex 32 (CRON_SECRET). Run migrations 0001 and 0002. In Supabase → Authentication → URL Configuration, set Site URL and add {APP_URL}/auth/callback to Redirect URLs.npm install && npm run dev, or deploy to Vercel with the same env vars (needed for phone access).POST /api/sync with Authorization: Bearer $CRON_SECRET.In Claude: Settings → Connectors → Add custom connector → URL {APP_URL}/api/mcp.
Claude discovers the OAuth endpoints, you sign in, see a consent screen listing exactly what it can do, and click Approve. No keys to copy.
Implements OAuth 2.1: dynamic client registration, PKCE (S256 only), single-use codes, hashed tokens, 1h access tokens and rotating 30-day refresh tokens with replay detection. Revoke any time under Connect accounts → Connected apps.
Tools: list_accounts, list_threads, get_thread, search_messages, daily_digest, draft_reply.