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