Synaplan
开源 AI 软件平台,面向企业:自托管 AI 代理,符合 GDPR 的聊天机器人小部件,RAG 知识库,WhatsApp 与 Outlook AI,MCP,多模型路由。支持 Docker、Kubernetes 或在 Germ 托管。
AI 翻译
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
Lightweight operations app for purchasing, inventory, project transfers, and reporting.
• PRODUCT_PLAN.md defines Ergon's approved end-to-end product direction, from Marketing through Sales, Billing, Engineering, Projects, Closeout, and Service/Support.
• PRODUCT_START_PLAN.md defines the discovery, design, user-validation, and staged delivery approach. Material business-process changes require discussion before implementation.
• HANDOFF.md remains the source of truth for current implementation, migrations, verification, and open technical work.查看完整 README ↗Lightweight operations app for purchasing, inventory, project transfers, and reporting.
PRODUCT_PLAN.md defines Ergon's approved end-to-end product direction, from Marketing through Sales, Billing, Engineering, Projects, Closeout, and Service/Support.PRODUCT_START_PLAN.md defines the discovery, design, user-validation, and staged delivery approach. Material business-process changes require discussion before implementation.HANDOFF.md remains the source of truth for current implementation, migrations, verification, and open technical work.Initial build focus:
Real company data, API keys, Supabase keys, and environment variables should stay out of this repository.
npm install
npm run dev # local dev server
npm run build # tsc -b + production build (what Vercel runs)
npm run lint # eslint . -- 0 errors is the baseline; warnings are
# tracked but non-blocking (see eslint.config.js)
npm test # vitest -- unit tests for critical data loaders
npm run test:smoke # playwright -- browser smoke suite (auth gating,
# navigation, mobile shell); starts its own dev
# servers on ports 5190/5191, see playwright.config.ts
npm test uses .env.test (dummy Supabase values, safe to commit) so
persistence.ts's critical loaders exercise their real fetch path instead
of the "not configured" early return -- see the comment in that file if
you add more tests that need it.
See HANDOFF.md for the actual migration status, known issues, and open
product/permission questions -- the migration list below this section is
historical and not authoritative for what's applied in production.
The app keeps a local browser cache to prevent accidental data loss while the
page is open. Production persistence uses Supabase Auth plus normalized
app_records rows when these Vercel environment variables are set:
VITE_SUPABASE_URLVITE_SUPABASE_ANON_KEYApply Supabase migrations in backend/supabase/migrations, including
003_manufacturing_inventory_controls.sql and
004_planned_builds_and_scan_fields.sql, and
005_purchase_requests.sql, and
006_purchase_request_receipts.sql, and
007_purchase_request_order_fields.sql, and
008_persistence_documents_and_transaction_safety.sql,
009_production_auth_records_and_rls.sql, and
010_user_role_assignments.sql, and
011_direct_project_purchase_requests.sql, before enabling cloud sync.
Older app_state_snapshots rows are read only as a migration fallback. New
production writes use authenticated app_records rows and audit entries in
app_sync_events.
Project document records are included in browser backup/restore and production Supabase persistence. Files are tracked with metadata now; the storage target can later be switched to Google Drive folders or Supabase Storage.