AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证正在加载完整 README。 以下为已保存的摘录。
A full-stack, multi-pattern AI platform built on Google Gemini — task orchestration,
code/document/image/video generation, text-to-speech, real-time voice chat (Gemini
Live), music generation, and a research/RAG workbench, all behind one Next.js UI.
Bring-your-own-key (BYOK): the servers hold no API key. Each visitor pastes
their own Gemini key into the UI; it's stored only in their browser and sent with each
request. Share the app with friends and everyone runs on their own quota.查看完整 README ↗A full-stack, multi-pattern AI platform built on Google Gemini — task orchestration, code/document/image/video generation, text-to-speech, real-time voice chat (Gemini Live), music generation, and a research/RAG workbench, all behind one Next.js UI.
Bring-your-own-key (BYOK): the servers hold no API key. Each visitor pastes their own Gemini key into the UI; it's stored only in their browser and sent with each request. Share the app with friends and everyone runs on their own quota.
backend/ — Python FastAPI service wrapping the Gemini-based orchestrator and all
feature endpoints. Per-request Gemini clients are built from the caller's
X-Gemini-Key header (or ?key= on WebSockets). See backend/ and CLAUDE.md.frontend/ — Next.js 16 (App Router) + React 19 + Tailwind v4 UI. lib/api.ts is
the single API client and attaches the key to every request.Two Gemini API surfaces are in use. Most features call generate_content; the pieces
that need tool-streaming or audio interactions — the streaming assistant, Maps
grounding and Lyria 3.5 — use the Interactions API instead.
Long-running work never blocks the server: request handlers that call the model are synchronous so FastAPI runs them in its threadpool, and the orchestrator's task execution happens in background tasks that the UI polls.
Requires a Gemini API key from Google AI Studio
and Node 24.19+ (the frontend pins this in engines; Vercel and CI build on 24.x).
Docker (both services):
docker compose up --build
# open http://localhost:3000, click "Add API Key", paste your key
Or run each directly:
# backend (from backend/)
uv sync
uv run uvicorn api_server:app --reload --port 8010
# frontend (from frontend/)
npm install
npm run dev # http://localhost:3000
Create frontend/.env.local with NEXT_PUBLIC_API_URL=http://localhost:8010.
Gemini Live needs a secure context for microphone access — use
http://localhost, not ahttp://192.168.xLAN IP. It works in production over HTTPS.
Frontend → Vercel, backend → Render (Docker). No API-key secrets to configure
(BYOK). Full step-by-step in DEPLOY.md; the render.yaml blueprint
provisions the backend.
GET /health reports the running build's git commit, so you can tell at a glance
whether a deploy actually shipped.
Both hosts have an ephemeral filesystem and the backend keeps task history in memory, so a deploy or an idle spin-down clears past tasks and any files written on disk. Anything that needs to survive travels in the API response.
| Var | Where | Notes |
|---|---|---|
NEXT_PUBLIC_API_URL | frontend build | URL of the backend (e.g. https://…onrender.com) |
GEMINI_API_KEY | backend (optional) | Local-dev fallback only; unused in BYOK/cloud |
Defined in backend/main.py; swap them there.
| Role | Model |
|---|---|
| Default | gemini-3.5-flash |
| Complex / planning | gemini-3.1-pro-preview |
| Lite | gemini-3.1-flash-lite |
| Music | lyria-3.5, lyria-3-clip-preview, lyria-3-pro-preview, lyria-realtime-exp |
DEPLOY.md — Render + Vercel deploymentBYOK_PLAN.md — the bring-your-own-key design + rolloutCLAUDE.md — architecture notes and conventions