一款面向个人用户与小型团队设计的基于 Web 的多模型 AI 对话中枢,为频繁在不同模型间工作的用户提供统一入口。
⌘K 快速访问所有功能和最近对话| 快捷键 | 功能 |
|---|---|
⌘K | 打开命令面板 |
⌘N | 新建对话 |
⌘/ | 聚焦输入框 |
⌘, | 打开设置 |
⌘⇧S | 切换侧边栏 |
Esc | 关闭对话框 |
# 克隆项目
git clone <repository-url>
cd 42chat
# 安装依赖
bun install
# 配置环境变量
cp .env.example .env.local
在 .env.local 中配置以下变量:
# 数据库
DATABASE_URL=postgresql://...
# 认证
BETTER_AUTH_SECRET=your-secret-key
BETTER_AUTH_URL=http://localhost:3000
# AI 提供商 (可选,用户可在设置中配置)
OPENROUTER_API_KEY=sk-or-...
SILICONFLOW_API_KEY=sk-...
# 推送数据库 schema
bun run db:push
# 或生成并运行迁移
bun run db:generate
bun run db:migrate
# 开发模式
bun run dev
# 生产构建
bun run build
bun run start
POST /api/auth/sign-up - 用户注册POST /api/auth/sign-in - 用户登录POST /api/auth/sign-out - 用户登出GET /api/v1/conversations - 获取对话列表POST /api/v1/conversations - 创建新对话GET /api/v1/conversations/:id - 获取对话详情PATCH /api/v1/conversations/:id - 更新对话DELETE /api/v1/conversations/:id - 删除对话GET /api/v1/conversations/:id/messages - 获取消息列表POST /api/v1/conversations/:id/messages - 发送消息 (SSE 流式响应)GET /api/v1/models - 获取可用模型列表GET /api/v1/settings/api-keys - 获取 API 密钥状态POST /api/v1/settings/api-keys - 保存 API 密钥DELETE /api/v1/settings/api-keys - 删除 API 密钥GET /api/v1/search - 网络搜索GET /api/v1/admin/stats - 获取系统统计数据GET /api/v1/admin/users - 获取用户列表GET /api/v1/admin/users/:id - 获取用户详情PUT /api/v1/admin/users/:id - 用户操作 (冻结/解冻/提权/降权)GET /api/v1/admin/logs - 获取系统日志GET /api/v1/admin/logs/export - 导出日志src/ ├── app/ # Next.js App Router │ ├── (auth)/ # 认证页面 │ ├── (main)/ # 主应用页面 │ ├── admin/ # 管理后台页面 │ └── api/ # API 路由 │ └── v1/ │ ├── admin/ # 管理后台 API │ ├── conversations/ │ ├── models/ │ ├── search/ # 搜索 API │ └── settings/ ├── components/ # React 组件 │ ├── auth/ # 认证组件 │ ├── chat/ # 聊天组件 │ ├── command-palette/ # 命令面板 │ ├── layout/ # 布局组件 │ ├── settings/ # 设置组件 │ └── ui/ # UI 基础组件 ├── lib/ # 工具库 │ ├── auth/ # 认证配置 │ ├── crypto/ # 加密工具 │ ├── db/ # 数据库配置 │ ├── hooks/ # 自定义 Hooks │ ├── llm/ # LLM 服务 │ ├── services/ # 业务服务 │ └── stores/ # 状态管理 └── types/ # TypeScript 类型
# 开发
bun run dev # 启动开发服务器
bun run build # 构建生产版本
bun run lint # 代码检查
bun run type-check # 类型检查
# 测试
bun run test # 运行单元测试
bun run test:watch # 监听模式
bun run test:e2e # E2E 测试
# 数据库
bun run db:push # 推送 schema
bun run db:studio # 打开数据库管理界面
完整的项目文档位于 docs/ 目录:
查看完整的文档索引:docs/README.md
MIT
Vincent