尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Live Next.js family site. Photos, milestones, RAG search.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Mila is a blog dedicated to my daughter to capture her life memories month to month.
• Next.js App Router + React 19
• Supabase Auth & Database (Postgres, RLS)
• Role‑based protected routes: (protected) and (public) segments
• Responsive UI with Bootstrap 5 + SCSS
• AI chatbot streaming from OpenAI (ChatKit embed built but currently parked)
• TTS for blog posts via /api/blog/[slug]/audio
• Vercel Analytics, ready for CI/CD
• Node.js 22.x (matches package.json engines, .nvmrc, .node-version)
• npm / pnpm / yarn
• Supabase project and keys
• OpenAI API key查看完整 README ↗Mila is a blog dedicated to my daughter to capture her life memories month to month.
(protected) and (public) segments/api/blog/[slug]/audiopackage.json engines, .nvmrc, .node-version)git clone https://github.com/stozo04/mila-nextjs.git
cd mila-nextjs
npm install # or pnpm/yarn
cp .env.example .env.local # fill in values
npm run dev
NEXT_PUBLIC_SUPABASE_URL="" # Supabase project URL (from dashboard > Settings > API) NEXT_PUBLIC_SUPABASE_ANON_KEY="" # Supabase anon/public key (used in client/browser) SUPABASE_SERVICE_ROLE_KEY="" # Supabase service role key (server-side only, keep secret!)
OPENAI_API_KEY="" # Your OpenAI secret key OPENAI_VECTOR_STORE_ID="" # Optional: OpenAI Vector Store ID for File Search OPENAI_MODEL="" # Optional: override the default model (e.g., gpt-4.1, gpt-4o-mini) OPENAI_CHATKIT_WORKFLOW_ID="" # Workflow ID from OpenAI Agent Builder for ChatKit
SITE_URL="" # Used for backend or deployment config (sometimes Netlify/Vercel) NEXT_PUBLIC_SITE_URL="" # Base URL for auth callbacks (e.g., https://yourapp.com)
NEXT_PUBLIC_ALLOWED_EMAIL="" # Legacy setting; not an enforced allowlist NEXT_PUBLIC_ADMIN_EMAIL="" # Email for admin account (grants elevated privileges)
src/components/Shared/Chatbot/OpenAIChatBot.tsx
src/app/layout.tsx and pinned bottom-right — this is what users see/api/chat-stream over SSEsrc/components/Shared/Chatbot/ChatKitWidget.tsx
src/app/layout.tsx along with its import; nothing renders it/api/chatkit/sessionsrc/app/api/chatkit/session/route.ts
OPENAI_CHATKIT_WORKFLOW_ID) for a ChatKit client secretsrc/app/api/chat-stream/route.ts
OPENAI_VECTOR_STORE_ID is setevent: done with { conversationId, sources }, and event: errorsrc/
app/ # App Router
api/ # Route handlers
blog/[slug]/audio/route.ts
chat-stream/route.ts
components/ # Reusable React components
lib/ # Client & server helpers
styles/ # SCSS & global CSS
docs/ # Long‑form docs, assets
npm run dev: Start dev servernpm run build: Production buildnpm run start: Start built appnpm run lint: Shared agent synchronization check, then ESLinttools[0].vector_store_ids: Ensure OPENAI_VECTOR_STORE_ID is set and the ID exists in your OpenAI project.Built by Steven Gates.