Synaplan
기업을 위한 오픈소스 AI 플랫폼
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗UK to EU shipment booking by chat or spreadsheet upload, with a deterministic pre-flight checker (rules R-01 to R-10) and carrier recommendation. See PREFLIGHT_CONTEXT.md for the full brief.
npm install
cp .env.example .env.local # add GEMINI_API_KEY (optional; the app works without it)
npm run dev # http://localhost:3000
npm test # Vitest: rules, parser, real xlsx round-trip
lib/engine/engine.ts rules, carrier logic, spreadsheet reading. Ported unchanged from the prototype. Pure, no DOM.lib/parse/chat.ts built-in chat parser and AI-merge helpers. Ported unchanged.lib/pf.ts typed boundary (the two modules above are @ts-nocheck).app/api/parse-message Gemini call. Returns JSON; the client sanitises it, the engine does all checking.app/api/second-opinion advisory restricted-goods check (not one of the ten rules).app/api/uploads saves each uploaded spreadsheet (original file plus per-booking results) to Neon. Optional; skipped when DATABASE_URL is unset. No endpoint returns stored files.lib/server/db.ts, lib/server/uploads.ts, db/schema.sql Neon access, server-side analysis, table definition (created automatically on first save).lib/fixes.ts corrections (apply, log, reset, corrected-file rows). They only change data; the unchanged rules engine decides.app/api/bookings + lib/server/booking.ts records a booking. The server re-runs the rules engine and refuses any booking with a red issue.components/ React UI. legacy/ the original prototype scripts, for reference.Set GEMINI_API_KEY in .env.local locally and in Vercel project settings for deploys. Optional: GEMINI_MODEL (comma-separated fallback chain; default gemini-3.5-flash-lite,gemini-flash-lite-latest,gemini-3.8-flash), GEMINI_DAILY_CAP (default 400). On any error, 429 or timeout the client falls back to the built-in parser.
Set DATABASE_URL (the Neon connection string, starting postgresql://) in .env.local and in Vercel. Stored files can be read in the Neon console SQL editor, for example select filename, booking_count, red_count, created_at from uploads order by created_at desc;.