Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Franchise partner selection, geo-allocation and onboarding engine (Ops Hackathon Case 1). Live: https://franchise-desk-red.vercel.app
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Live: https://franchise-desk-red.vercel.app (public, no login)
Upload the case workbook (Applications, Territories, Existing stores). Every application gets a decision, a one-line reason with evidence, a next step and an owner. Partners who move forward get a week-by-week onboarding plan, training, first-stock set-up and a message in their language. Then ask follow-ups in plain language, or give new facts and watch the decision change, with knock-on effects and a human-confirmed swap when an approved partner is outranked.
browser (everything that decides) server (optional)
┌───────────────────────────────────────────┐ ┌──────────────────────────┐
│ SheetJS parse ─► lib/parse │ │ /api/health │
│ deterministic engine ─► lib/engine │ │ /api/chat ─► lib/llm.ts │
│ decide · assess · explain · plan │◄───►│ (Gemini, JSON commands │
│ session (update log, replay, undo) │ │ only; rate-limited, │
│ rule-based desk ─► lib/chat/rules,respond │ │ cached, 6 s timeout) │
│ UI ─► components/ │ └──────────────────────────┘
└───────────────────────────────────────────┘
lib/engine is pure TypeScript: no I/O, no clock, no randomness. Same file, same policy, same date: same output (runId in the header).| Failure | What still works |
|---|---|
No GEMINI_API_KEY, quota hit, model outage | Everything. The desk badge says Rule-based; English, Hindi and Kannada updates with IDs are still parsed by rules. |
| Server asleep or unreachable | Everything: parsing, decisions, cards, table, export and the rule-based desk run in the browser. |
| Bad file | A friendly message naming exactly what is missing; unreadable cells become flagged issues, never a crash. |
Verified by scripts/acceptance.ts in four modes: live, API returning 503, API unreachable, and a slow high-latency connection.
npm install
cp .env.example .env.local # optional: add GEMINI_API_KEY and GEMINI_MODEL
npm run dev
Tests:
npm test # unit, golden, property, metamorphic, lint, follow-ups
npx next build && npx next start -p 3211 # local production build
BASE_URL=http://localhost:3211 npx tsx scripts/acceptance.ts
Regenerate the fixtures: python scripts/gen_golden.py.
Deploy only after acceptance passes on a local production build of the same commit:
vercel deploy --prod
One-command rollback: promote the previous good deployment (list them with vercel ls --prod):
vercel promote https://franchise-desk-<previous>-garima20.vercel.app --yes
This was exercised for real once: a build that passed locally failed live acceptance (a typing race while the map loaded on a slow connection), production was promoted back within a minute, the bug was fixed, and a slow-network mode was added to acceptance.
SPEC.md · DESIGN.md · GOLDEN.md · PHASES.md · PROGRESS.md · ASSUMPTIONS.md · EDGE_CASES.md · GOLDEN_DIVERGENCES.md · DEMO_SCRIPT.md · DESIGN_DECISIONS.md · SELF_SCORE.md · JUDGE_READINESS.md · ROADMAP.md