尚未检测到更新。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)