数字人对话应用(Character.AI 风格)。前端 Next.js + HeroUI,后端 NestJS(移植 SillyTavern 核心),LLM/图像走 OpenRouter。单用户、本地运行。
- 前端
apps/web— Next.js 14 (App Router) + React 18 + HeroUI v2 + TailwindCSS(注入 design-tokens) - 后端
apps/api— NestJS + SQLite (better-sqlite3) + OpenRouter - 共享
packages/shared— 前后端共享类型与 API 契约 - 包管理:pnpm workspaces | Node ≥ 22
apps/
web/ # Next.js 前端(M1#5 三栏骨架起)
api/ # NestJS 后端(M1#3 起)
packages/
shared/ # 共享类型 / DTO / V2 角色卡 / SSE 事件
doc/ # 需求、测试、令牌、夹具、研发计划
pnpm install
pnpm dev # 并行启动 web + api
pnpm test # 单测
pnpm test:e2e # Playwright E2E + 视觉回归
pnpm lint && pnpm typecheckOPENROUTER_API_KEY:放在根目录.local_env(已 gitignore,勿提交)。加载器兼容「裸 key」与「KEY=VALUE」两种写法。- 默认模型(可在设置改):文本/摘要
google/gemini-2.5-flash,生图google/gemini-2.5-flash-image。
按 DEV_PLAN 的「需求 → 编码 → 全量测试 → 批量修复 → 验收」循环,里程碑 M1–M5,进度见 GitHub Issues / Milestones。