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.