Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗The workspace iAcquire clients use to run their AI-powered client acquisition and retention system: a dedicated six-person AI workforce (powered by Hermes Agent), leads, appointments, sales, retention, analytics, approvals, a knowledge center, human support, a Setup Center that shows each client the real progress of their own system, and an agency admin portal (client Setup Manager, Secure Integrations Manager, provisioning and activation review) for iAcquire staff.
Status: built and covered by automated tests against a local PostgreSQL emulation and mocked providers. No live Supabase project, Hermes gateway, GoHighLevel location or n8n instance has been connected or verified yet, so the portal shows honest "Not configured" / "Credentials saved" states instead of simulated data. See docs/verification-status.md for exactly what is verified and what is not, and docs/supabase-setup.md for the steps that connect it.
| Layer | Production |
|---|---|
| Accounts and sessions | Supabase Auth (email/password, invitations, verification, reset), cookie sessions via @supabase/ssr |
| Application data | Supabase PostgreSQL with Row Level Security (supabase/migrations) |
| Private files | Supabase Storage private buckets with short-lived signed access |
| Integration secrets | Managed Supabase Vault references; no plaintext secret in application tables |
| Live setup updates | Scoped Supabase Realtime revision signals, plus server-sent events and polling fallbacks |
The Hostinger appointment-event PostgreSQL and n8n's internal database are separate systems and are never used by the portal.
npm run dev loads .env.development, which uses the embedded PGlite database and local sign-in. It does not connect to the
hosted Supabase project, and it refuses a remote database unless ALLOW_REMOTE_DB_IN_DEV=true is set explicitly. See
docs/development-database-safety.md.
npm install
npm run db:seed:local -- --demo --mock-hermes http://127.0.0.1:8787
npm run mock:hermes # optional: local Hermes test double on :8787 (labelled, not a live AI)
npm run dev # http://localhost:3100
Local mode uses an embedded PostgreSQL (PGlite) in .data/pglite-development, migrated automatically on first use.
--demo creates a clearly labelled demo workspace with fictional sample records plus a second, empty
tenant for isolation checks. Demo passwords are random and written to .data/dev-credentials.local.json
(gitignored). Captured emails (verification, reset, invitations) are viewable at /dev/mailbox
in development only. To work against an approved staging project, follow
docs/staging-environment.md; never point ordinary development at production.
| Account | Role |
|---|---|
[email protected] | Agency super admin (/admin) |
[email protected] | Agency staff (assigned clients only) |
[email protected] | Client owner — Demo Workspace |
[email protected] | Client member — Demo Workspace |
[email protected] | Client owner — a separate, empty tenant |
| Command | Purpose |
|---|---|
npm run dev / build / start | Next.js app |
npm test | Vitest suite (in-memory PostgreSQL emulation, mocked providers; no network) |
npm run lint / typecheck | ESLint / TypeScript |
npm run db:migrate | Apply SQL migrations (explicit step; hosted databases are never auto-migrated) |
npm run db:seed [-- --demo] | Agency organization (and optional synthetic demo data; never run on real data) |
npm run admin:invite -- --email [email protected] [--staff] | One-time invitation link for the first agency admin |
npm run auth:migrate | Dry-run/apply the audited legacy-account to Supabase Auth migration |
npm run mock:hermes | Local Hermes API test double for visual QA |
Next.js 16 (App Router, Turbopack) · React 19 · TypeScript · Tailwind CSS 4 · Radix primitives · Motion · Zod · Supabase (Auth, PostgreSQL, Storage, Realtime, Vault) · Vitest. PGlite is used only for the explicit local demo and the automated tests.
supabase/migrations/ SQL schema, RLS policies, reference data (0001-0013); never auto-applied to hosted databases
src/app/(auth)/ login, invitations, verification, password reset, get-started
src/app/(setup)/ welcome screen and the 5-step onboarding wizard
src/app/(portal)/ client workspace: overview, setup, workforce, leads, appointments, sales,
retention, analytics, approvals, knowledge, activity, settings, support
src/app/(chat)/ full-screen AI employee chat
src/app/(admin)/admin/ agency portal: clients (+ per-client Setup Manager, Integrations, Provisioning,
Activation), the global Integrations manager, workforce, support, health, usage, audit
src/app/api/ streaming chat, help assistant, uploads, exports, health, setup sync, integrations
src/server/ server-only services (auth, tenancy, workforce, chat, approvals, leads, knowledge,
support, help, usage, audit, setup, security) and typed integration adapters
src/components/ UI by module; ui/ holds shared primitives
tests/ security, tenancy, workflow, setup, provisioning and integration-contract tests