2026-05-27 11:13:02 +08:00
2025-12-17 20:15:18 +08:00
2026-05-27 11:10:23 +08:00
2025-12-17 20:15:18 +08:00
2026-05-27 11:13:02 +08:00
2026-05-23 10:57:26 +08:00
2026-05-26 19:32:19 +08:00
2026-05-26 19:32:19 +08:00
2025-12-29 00:33:12 +08:00
2026-05-26 19:32:19 +08:00
2026-05-26 19:32:19 +08:00
2025-12-17 20:15:18 +08:00
2026-05-26 19:32:19 +08:00
2026-05-26 20:10:36 +08:00
2026-05-27 11:13:02 +08:00
2025-12-17 20:15:18 +08:00
2025-12-17 20:15:18 +08:00

yedir-ai

yedir-ai 是一个面向商业化交付的 AI 设计工作台。它把 Lovart 风格的新首页、无限画布、Agent 工作流、图像生成与编辑、3D/CAD、本地 AI 配置中心和后台治理能力整合到同一个 Next.js 应用中。

这个仓库已经不再定位为通用 Chat 模板。旧 Chat 页面入口已移除,/api/chat 目前保留为 Canvas/Agent 等内部生成链路使用。

当前能力

  • Lovart 风格首页:静态轻量壳优先渲染,站点配置、精选图、项目、教程和会员信息通过客户端渐进加载。
  • Canvas/Agent 工作台:支持多模态生成、图片编辑、素材编排、Agent 模式和项目化创作流程。
  • 图像与视频生成链路:支持 Gemini、Volcano、Qwen、FAL、RUXA、Krea、Runway、Midjourney 等可配置供应商。
  • 3D / CAD 能力:集成 Tripo3D、World Labs、KittyCAD/Zoo,并支持后台模型别名和 Key 池配置。
  • 后台设置中心:本地 AI 设置已拆分为领域组件,支持折叠持久化、状态摘要、快捷目录和统一 section shell。
  • 生产治理:包含类型检查、lint、日志脱敏、首页公开接口缓存/降级、仓库污染物检查和 CI 质量门禁。

技术栈

  • Next.js 16 App Router
  • React 19 RC
  • TypeScript
  • Tailwind CSS + Radix UI
  • Drizzle ORM + Postgres
  • Auth.js
  • Vercel Blob / S3-compatible object storage
  • Playwright
  • Ultracite / Biome

快速开始

准备 Node.js 20、pnpm 9.12.3 和 Postgres。

pnpm install
cp .env.example .env.local
pnpm db:migrate
AUTH_TRUST_HOST=true PORT=3001 pnpm dev

默认访问地址:

http://localhost:3001/

后台设置页:

http://localhost:3001/settings

未登录访问后台会重定向到 /login?callbackUrl=%2Fsettings。

环境变量

先从 .env.example 复制到 .env.local,再按部署环境填写真实值。不要提交 .env.local 或任何真实密钥。

最小本地运行通常需要:

  • AUTH_SECRET
  • AUTH_URL 或本地开发使用 AUTH_TRUST_HOST=true
  • POSTGRES_URL
  • BLOB_READ_WRITE_TOKEN 或一组 S3 配置
  • 至少一个可用 AI Provider Key,或在后台设置中配置供应商

更多分组说明见 docs/deployment.md。

常用命令

pnpm dev
pnpm lint
pnpm check:logs
pnpm check:artifacts
pnpm check:quality
pnpm exec tsc --noEmit --pretty false
pnpm test
pnpm db:migrate
pnpm db:generate

推荐提交前至少运行:

pnpm check:quality
AUTH_TRUST_HOST=true PORT=3001 pnpm dev
SMOKE_BASE_URL=http://127.0.0.1:3001 pnpm smoke:routes

目录结构

app/                         Next.js routes, route handlers, admin pages
components/                  UI, Canvas, home, editor and product modules
components/home/lovart/      Lovart home focused render sections
lib/                         DB, AI providers, storage, observability, domain logic
docs/                        Deployment, operations, architecture and feature notes
tests/                       Playwright e2e and route-level tests
.github/workflows/           Quality gates and Playwright CI

部署与运维

  • 生产部署建议使用受控反向代理,并只在 Host 头可信时设置 AUTH_TRUST_HOST=true。
  • 首页公开接口应保持快速返回,慢数据库或外部服务异常时返回缓存或 fallback。
  • 生产日志默认通过 LOG_LEVEL=info 控制,敏感字段会被 lib/observability 脱敏。
  • Playwright workflow 独立于基础质量门禁,避免把密钥依赖和 e2e 成本混入每次 lint/typecheck。

详细说明:

开发边界

  • /classic 和 /chat/[id] 旧 Chat UI 已重定向到 /。
  • /api/chat 暂时是内部生成 API,不作为公开旧 Chat 页面入口。
  • Canvas、Agent、图像处理和后台设置仍有大型历史模块,后续应按领域继续拆分。
  • License 以仓库根目录 LICENSE 为准;本阶段未修改许可证和版权主体。
Description
AI Chatbot Project
Readme 431 MiB
Languages
TypeScript 97.4%
HTML 1.4%
Shell 0.5%
JavaScript 0.4%
Python 0.2%
Other 0.1%