Skip to content

biao29/ichatagent

 
 

Repository files navigation

iChatAgent

数字人对话应用(Character.AI 风格)。前端 Next.js + HeroUI,后端 NestJS(移植 SillyTavern 核心),LLM/图像走 OpenRouter。单用户、本地运行。

完整需求与计划见 doc/PRD · 后端需求 · 测试用例 · 保真手册 · 研发计划

技术栈

  • 前端 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 typecheck

环境变量

  • OPENROUTER_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。

About

数字人对话 (Character.AI-style) — Next.js + HeroUI frontend, NestJS backend porting SillyTavern core, OpenRouter LLM

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 95.6%
  • JavaScript 3.9%
  • CSS 0.5%