jakarabondi-web/traivr
GitHub: jakarabondi-web/traivr
Traivr 是一个连接专业培训师与 AI 公司的 AI 训练人力资源平台,解决高质量人类反馈、模型评估和红队测试等专业数据工作的人才匹配与流程管理问题。
Stars: 0 | Forks: 0
# Traivr
Traivr 是一个 AI 训练人力资源平台,旨在将有资质的培训师、
主题专家 (SME) 和审核员与 AI 公司连接起来。这些公司通常需要人工反馈、模型评估、RLHF 偏好数据、红队测试以及监督微调数据。
本仓库在一个代码库中包含了四个相互关联的应用:
- **营销网站** — 公共页面、注册入口
- **培训师门户** (`/trainer`) — 入职引导、市场、任务工作区、收益
- **客户门户** (`/client`) — 项目创建、质量分析、账单、数据导出
- **管理后台** (`/admin`) — 运营、质量、支付、支持、风控
有关更深入的文档,请参阅 `ARCHITECTURE.md`、`DATABASE.md`、`PERMISSIONS.md` 和 `SECURITY.md`。`ROADMAP.md` 跟踪已实现与计划中的功能。
## 技术栈
- Next.js (App Router) + TypeScript + React
- Tailwind CSS v4 + 手写的 shadcn 风格基础组件 (Radix UI)
- PostgreSQL + Prisma ORM
- Auth.js (NextAuth v5, credentials provider, JWT sessions, RBAC)
- Zod, React Hook Form, TanStack Table/Query, Recharts, Lucide icons
- Vitest, Playwright, ESLint, Prettier
邮件 (Resend) 和支付 (Stripe/Stripe Connect/Wise/PayPal) 通过 `src/lib/email` 和 `src/lib/payments` 中的小型抽象层进行集成,因此可以替换服务提供商。在未配置 API 密钥的情况下,这些功能会执行日志记录或模拟,而不是静默失败 — 有关模拟与真实功能的说明,请参阅 `SECURITY.md`。
## 快速开始
### 1. 安装依赖
```
npm install
```
### 2. 配置环境变量
```
cp .env.example .env
```
至少需要将 `DATABASE_URL` 设置为 PostgreSQL 连接字符串,并将
`AUTH_SECRET` 设置为随机的 32 字节值 (`openssl rand -base64 32`)。
### 3. 设置数据库
```
npm run db:push # sync the Prisma schema to your database (dev)
npm run db:seed # load demo accounts + sample data
```
对于长期的 schema 变更,建议使用 `npm run db:migrate` 生成迁移,而不是使用 `db:push`。
### 4. 运行开发服务器
```
npm run dev
```
打开 http://localhost:3000。
## 开发命令
| 命令 | 描述 |
| --------------------- | ----------------------------------------- |
| `npm run dev` | 启动开发服务器 |
| `npm run build` | 生产环境构建 |
| `npm run start` | 运行生产环境构建 |
| `npm run lint` | ESLint |
| `npm run test` | 运行单元/集成测试 (Vitest) |
| `npm run test:watch` | 以 watch 模式运行 Vitest |
| `npm run db:push` | 将 Prisma schema 推送到数据库 |
| `npm run db:migrate` | 创建/应用 Prisma 迁移 |
| `npm run db:seed` | 填充演示数据 |
| `npm run db:studio` | 打开 Prisma Studio |
## 演示账号(仅限开发环境)
运行 `npm run db:seed` 后,在 `/login` 使用以下账号登录:
| 邮箱 | 角色 | 密码 |
| -------------------------- | ------------ | ---------------------- |
| `trainer@traivr.demo` | 培训师 | `Traivr!Demo2026` |
| `reviewer@traivr.demo` | 审核员 | `Traivr!Demo2026` |
| `client@traivr.demo` | 客户管理员 | `Traivr!Demo2026` |
| `admin@traivr.demo` | 超级管理员 | `Traivr!Demo2026` |
这些账号和密码仅存在于您本地的种子数据库中 — 绝不会作为生产环境的凭据提交到代码库。
## 部署概述
本应用是一个标准的 Next.js 应用,可以部署到任何 Node 托管平台 (Vercel、容器等)。它需要:
- 可访问的 PostgreSQL 数据库 (`DATABASE_URL`)
- 为部署域名设置 `AUTH_SECRET` 和 `AUTH_URL`
- 可选:为依赖这些服务的功能配置 Resend、Stripe、兼容 S3 的存储和 Redis 凭据(参见 `.env.example`)
请在部署流程中运行类似 `npm run db:migrate deploy` 的迁移命令,而不是在生产环境中使用 `db:push`。
## 项目状态
这是一个正在积极开发的基础框架,而非最终产品。有关营销网站、培训师门户、客户门户和管理后台中已构建与计划开发的功能,请参见 `ROADMAP.md`。
标签:DFIR, 人工智能, 众包平台, 数据标注, 模型评估, 测试用例, 特征检测, 用户模式Hook绕过, 自动化攻击