尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Agentic AI travel planning powered by Atlas, a travel intelligence agent running entirely on Google Gemini, with real-time collaboration via Socket.io.
• Node.js 20+
• MongoDB (local) or MongoDB Atlas free tier
• Gemini API key — an AI-Studio-issued key (format AQ.xxx), not a plain Cloud-Console key; only AI-Studio keys actually work against the Gemini Developer API
• Google API key (Places, Maps, Cloud Translation)
See server/config.ts for the complete, authoritative list (SMTP, admin/feedback-routine secrets, rate-limit tuning, etc.檢視完整 README ↗Agentic AI travel planning powered by Atlas, a travel intelligence agent running entirely on Google Gemini, with real-time collaboration via Socket.io.
AQ.xxx), not a plain Cloud-Console key; only AI-Studio keys actually work against the Gemini Developer API# 1. Clone
git clone <repo> && cd tripmate
# 2. Install dependencies
npm install
# 3. Configure environment
cp .env.example .env
# Edit .env and fill in your API keys
# 4. Seed database with test data
npm run db:seed
# 5. Start development servers
npm run dev
# Frontend: http://localhost:3000
# Backend: http://localhost:5000
| Variable | Required | Description |
|---|---|---|
MONGODB_URI | ✅ | MongoDB connection string (not DATABASE_URL) |
SESSION_SECRET | ✅ | Random string for session signing |
JWT_SECRET | ✅ | Random string for JWT signing |
GEMINI_API_KEY | ✅ | AI-Studio-issued key — powers Atlas chat, the trip-planning multi-agent pipeline, and every AI utility (weather/travel-hacks/journal/translation). Every other LLM provider this app tried (OpenAI, NVIDIA, Groq, OpenRouter) has been removed. |
GOOGLE_API_KEY | Recommended | Places search, Maps, Cloud Translation — a plain Cloud Console key works for this (unlike GEMINI_API_KEY) |
NODE_ENV | ✅ | development, production, or test |
VITE_API_URL | Dev only | Frontend API base: http://localhost:5000 |
See server/config.ts for the complete, authoritative list (SMTP, admin/feedback-routine secrets, rate-limit tuning, etc.) — this table covers what you need for local dev, not every optional var.
| Script | Description |
|---|---|
npm run dev | Start both frontend and backend (backend serves the built client; use dev:standalone for separate hot-reloading dev servers) |
npm run dev:standalone | Frontend (port 3000) and backend (port 5000) as separate hot-reloading processes |
npm run build | Production build (Vite client + esbuild server bundle) |
npm run typecheck | TypeScript check, no emit |
npm run lint | ESLint check |
npm test | Run the full Vitest suite |
npm run test:unit | Backend/frontend/agent/SSE unit tests only |
npm run test:integration | Integration tests only |
npm run test:coverage | Tests with coverage report |
npm run db:seed | Seed database with test data |
npm run db:clear | Destructive — wipes the entire database. Never run against a shared/production MONGODB_URI. |
npm run atlas:golden-eval | Runs real end-to-end checks against Atlas against a live BASE_URL (defaults to localhost) — hits real LLM/network providers, not mocked |
Browser (React + Vite :3000)
│
│ HTTP / SSE / Socket.io
▼
Express API (Node.js :5000)
│── requireAuth (JWT, cookie-based, revocable via Session model)
│── Validate Middleware (Zod)
│── Rate Limit Middleware (per-route: auth/AI/generation/places-photo limiters)
│── Helmet, CSRF, mongo-sanitize, hpp
│
│── Agent Router ──────► Atlas Agent Loop
│ │── Two Gemini model slots (circuit breaker +
│ │ per-slot token-budget admission)
│ │── Tool Executor (~19 tools, CONFIRM_REQUIRED gate on
│ │ destructive ones — manage_expense removal, manage_collaborator)
│ │── weatherHandler, currencyHandler, translateHandler
│ │── placesHandler, emergencyHandler
│ │── packingHandler, budgetHandler, journalToolHandler
│ │── modifyItineraryHandler, expenseToolHandler
│ └── collaboratorToolHandler, tripPlannerHandler
│
│── MasterOrchestrator (server/agent/multiAgent/) — separate pipeline from Atlas chat,
│ runs SuggestionAgent/HeroImageAgent/ItineraryAgent/BudgetAgent/MapAgent/
│ PackingAgent/JournalAgent, tracked via AgentJob records
│
│── Trip / Itinerary / Expense / Packing / Journal / Collaborator Routers
│── Socket.io (SocketService) — trip rooms (auth-checked on join), presence, live mutations
│
▼
MongoDB (Mongoose) — shared/schema.ts is the single source of truth for models
docs/API.md — Full REST API referencedocs/AGENT_PROMPTS.md — Atlas prompt system referencedocs/ARCHITECTURE.md — Full system architectureDESIGN.md — Design system (Night Atlas / Passport & Visa Stamp)