当前状态: Next.js + SecondMe OAuth 已完成 ✅
项目目录: ./credit-trader-secondme
剩余时间: 2026-02-09 下午 → 2026-02-12 中午 (3.5 天)
- ✅ Next.js 项目创建 (
credit-trader-secondme) - ✅ Prisma 配置完成
- ✅ 基础 User 表结构 (包含 SecondMe OAuth 字段)
- ✅ ChatSession, ChatMessage, Note 表
- ✅ OAuth 登录流程 (
/api/auth/login,/api/auth/callback,/api/auth/logout) - ✅ 用户信息获取 (
/api/secondme/user/info,/api/user/shades) - ✅ Chat API 集成 (
/api/chat) - ✅ Act API 集成 (
/api/act) - ✅ Note API 集成 (
/api/note) - ✅ Dashboard 页面 (
/dashboard) - ✅ 登录按钮组件 (
LoginButton) - ✅ 用户资料组件 (
UserProfile) - ✅ 聊天窗口组件 (
ChatWindow)
时间: 1 小时 目标: 连接 Supabase PostgreSQL 数据库
- 访问 https://supabase.com/
- 创建新项目:
agent-labor-market - 选择区域 (推荐: Singapore 或 Tokyo)
- 等待初始化完成
在 Supabase Dashboard:
- Settings → Database → Connection string
- 复制 URI 格式的连接字符串
- Settings → API → 获取 Project URL 和 Keys
修改 prisma/schema.prisma,添加 Agent 劳动力市场需要的表:
扩展 User 表
- 添加钱包字段:balance(余额)、totalEarned(总收入)、totalSpent(总支出)
- 添加统计字段:completedTasks(完成任务数)、rating(评分)、status(状态)
- 添加任务关系:publishedTasks(发布的任务)、workerTasks(接单的任务)
新增 Task 表
- 任务基本信息:title、description、estimatedTokens、budgetRmb
- 任务状态:open、accepted、executing、completed、cancelled
- 关联用户:publisher(发布者)、worker(执行者)
- 执行结果:result、rating
- 时间戳:createdAt、updatedAt、completedAt、deadline
新增 Execution 表
- 执行记录:taskId、workerId、status、tokensUsed
- 执行结果:result、error
- 时间戳:startedAt、completedAt
新增 Transaction 表
- 交易信息:executionId、fromAgentId、toAgentId
- 金额信息:amountRmb、tokensTransferred
- 交易状态:pending、completed、failed、refunded
新增 Rating 表
- 评分信息:transactionId、raterId、rateeId、score、comment
在 .env.local 中添加 Supabase 配置:
- DATABASE_URL(Supabase PostgreSQL 连接字符串)
- NEXT_PUBLIC_SUPABASE_URL(Supabase 项目 URL)
- NEXT_PUBLIC_SUPABASE_ANON_KEY(匿名密钥)
- SUPABASE_SERVICE_ROLE_KEY(服务角色密钥)
保持现有的 SecondMe OAuth 配置不变。
执行 Prisma 命令推送 schema 到 Supabase 并生成 Prisma Client。
验收标准:
- ✅ Supabase 项目创建成功
- ✅ 数据库表创建成功 (9 张表: users, chat_sessions, chat_messages, notes, tasks, executions, transactions, ratings)
- ✅ Prisma Client 生成成功
- ✅ 本地可以连接数据库
时间: 1 小时 目标: 配置 GitHub Actions 和部署到 Vercel
创建 CI Workflow - .github/workflows/ci.yml
- 自动化代码检查:Lint、Type Check、Build 验证
- 触发时机:每次 Push 和 Pull Request
- 运行环境:Node.js 20.x
- 包含 Prisma Client 生成步骤
创建 PR Check Workflow - .github/workflows/pr-check.yml
- PR 专用检查流程
- 添加检查状态徽章
- 确保代码质量后才能合并
创建 Deploy Workflow - .github/workflows/deploy.yml(可选)
- 推送到 main 分支时触发
- 自动触发 Vercel 部署
- 发送部署通知
在 GitHub 仓库设置中添加:
- Settings → Secrets and variables → Actions
- 添加必要的密钥(用于部署通知等)
- 访问 https://vercel.com/
- Import Git Repository
- 选择
credit-trader-secondme仓库 - 配置环境变量 (复制
.env.local的所有内容):SECONDME_CLIENT_IDSECONDME_CLIENT_SECRETSECONDME_REDIRECT_URIDATABASE_URLNEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEY- 等其他环境变量
- 添加 Build Command:
npx prisma generate && npm run build - Deploy
在 SecondMe 开发者平台添加:
https://[your-vercel-domain].vercel.app/api/auth/callback
- ✅ GitHub Actions 运行成功(查看 Actions 标签页)
- ✅ 访问 Vercel 部署 URL
- ✅ 测试登录流程
- ✅ 检查
/api/secondme/user/info是否正常 - ✅ 创建测试 PR 验证 CI 流程
验收标准:
- ✅ GitHub Actions CI/CD 配置完成
- ✅ 所有检查通过(Lint、Type Check、Build)
- ✅ 项目成功部署到 Vercel
- ✅ 生产环境可以访问
- ✅ OAuth 登录在生产环境正常工作
- ✅ PR 检查自动运行
时间: Day 1 下午 + Day 2 上午 (6 小时)
创建发布页面 - src/app/publish/page.tsx
- 任务发布表单(标题、描述、预计 tokens、报酬、截止时间)
- 表单验证和提交逻辑
- 发布成功后跳转到任务详情页
创建发布 API - src/app/api/tasks/route.ts
- POST 端点:创建新任务
- 验证用户登录状态
- 验证必填字段
- 保存任务到数据库
- 返回任务 ID
- GET 端点:获取任务列表
- 支持按状态筛选
- 支持分页
- 按报酬排序
- 返回任务列表和分页信息
验收标准:
- ✅ 可以访问
/publish页面 - ✅ 可以提交任务表单
- ✅ 任务保存到数据库
- ✅ 发布后跳转到任务详情
创建市场页面 - src/app/market/page.tsx
- 显示所有待接任务(status=open)
- 任务卡片展示:
- 任务标题和报酬(突出显示)
- 任务描述(截断显示)
- 发布者信息(头像、名称)
- 预计 tokens 数量
- 点击任务卡片跳转到详情页
- 显示"发布任务"按钮
- 加载状态和空状态处理
验收标准:
- ✅ 可以访问
/market页面 - ✅ 显示所有待接任务
- ✅ 按报酬排序
- ✅ 点击任务可以跳转到详情
创建详情页面 - src/app/tasks/[id]/page.tsx
- 显示完整任务信息
- 显示发布者信息
- 显示任务状态
- 接单按钮(仅对非发布者显示)
创建详情 API - src/app/api/tasks/[id]/route.ts
- GET 端点:获取任务详情
- 包含发布者和执行者信息
- 包含执行记录
创建接单 API - src/app/api/tasks/[id]/accept/route.ts
- POST 端点:接单操作
- 验证用户不是发布者
- 更新任务状态为 accepted
- 设置 workerId
验收标准:
- ✅ 可以查看任务详情
- ✅ 可以点击接单按钮
- ✅ 接单后任务状态更新
时间: Day 2 下午 + Day 3 上午 (8 小时)
- 使用 SecondMe Act API
- 让 Agent 评估任务是否匹配
- 选择最佳 Agent
- 使用 SecondMe Chat API 或 Claude CLI
- 执行任务
- 保存结果
- 使用 SecondMe Act API 评价结果
- 积分结算
- 交易记录
时间: Day 3 下午 (4 小时)
- 显示余额
- 显示我的任务
- 显示交易历史
- Top 10 收入
- Top 10 完成数
时间: Day 4 上午 (6 小时)
- UI 打磨
- 测试修复
- 准备 Demo
- 提交项目
| 任务 | 时间 | 完成日期 |
|---|---|---|
| ✅ Next.js + OAuth | 已完成 | - |
| Step 1: Supabase 配置 | 1h | Day 1 下午 |
| Step 2: Vercel 部署 | 45min | Day 1 下午 |
| Step 3: 任务管理 | 6h | Day 1 晚 + Day 2 上午 |
| Step 4: A2A 功能 | 8h | Day 2 下午 + Day 3 上午 |
| Step 5: 数据展示 | 4h | Day 3 下午 |
| Step 6: 最后冲刺 | 6h | Day 4 上午 |
| 总计 | 25.75h |
现在就开始 Step 1:
- 创建 Supabase 项目
- 扩展 Prisma Schema
- 推送数据库
准备好后告诉我,我会帮你完成每一步! 🚀