Synaplan
开源 AI 软件平台,面向企业:自托管 AI 代理,符合 GDPR 的聊天机器人小部件,RAG 知识库,WhatsApp 与 Outlook AI,MCP,多模型路由。支持 Docker、Kubernetes 或在 Germ 托管。
AI 翻译
尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Real estate CRM that replaces Cratio. See SPEC.md for scope and decisions.
supabase/migrations/0001_core.sql: schema, access rules (row level security), triggers, capture function.supabase/migrations/0002_dashboard.sql: dashboard_stats(from, to), role-aware funnel numbers.supabase/migrations/0003_workflows.sql: the day-to-day workflows found in the Cratio review: adding leads by hand (create_lead, never duplicates), extra lead and contact fields, tasks, notes, owner history, untouched-lead rotation (rotate_untouched), follow-up and task reminders (queue_reminders), notifications and push subscriptions, call logging from phones and the web (log_call, log_calls, attach_recording), attendance and location, saved views, message templates, editable dropdown lists, CSV import (import_leads).supabase/cron.sql (scheduled jobs) and supabase/storage.sql (call recordings bucket): run once on the Supabase project.web/: Next.js app. Dashboard, follow-up queue, leads (filters, saved views, bulk edit, export, Cratio-compatible import, add lead), lead page (tabs for activity, tasks, notes, calls, site visits, enquiries, history; WhatsApp and email templates; previous and next), tasks planner, calls with top callers, attendance, notifications with web push, admin (staff, lead rules, lists, templates, capture). Installable on phones as an app (PWA).mobile/: Expo app for Android and iPhone. See mobile/README.md. Android logs calls by itself from the phone's call log.tests/: ./tests/run.sh rebuilds a throwaway Postgres 16 database and runs 143 database checks across every role.capture_endpoints with a slug, project, source, team, and the SHA-256 hex of a secret you choose./functions/v1/capture/<slug> with the header x-capture-secret: <secret>.field_map if the form's field names differ from the default (contact, mobile, email, city, category, date).seed.sql to a Supabase project (SQL editor, or supabase db push).profiles (id = the auth user id, full_name, role, team_id).cd web && cp .env.example .env.local, fill the project URL and the publishable (anon) key, then npm install && npm run dev.
The app never holds the service role key. Only the capture edge function does.Needs a Supabase project and a Vercel project. Apply the migration and seed, deploy the function, set SUPABASE_URL and SUPABASE_SERVICE_ROLE_KEY. Never commit keys.
brew install postgresql@16 (Node 20+ also needed).cd local && sh start.sh (add --reset to reload demo data, --lan to open it to phones on the same Wi-Fi). Opens http://localhost:3000.demo1234: admin@, manager.lko@, priya@ (agent), marketing@ — all @relive.test../send-test-lead.sh (run twice with the same number to see a re-enquiry).
Data lives in ~/.relive-crm-local. This stack is for testing only; production uses Supabase.web/public/emoji).web. Framework: Next.js. Every push to main deploys to production.supabase/migrations and apply it to the Supabase project before merging the code that needs it.Deployments from GitHub are live: a push to main builds the web app from the web folder on Vercel.