Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Access and interact with AI group interview simulations: browse jobs, create/join rooms, speak, advance interviews, upload resumes, and view history and eval...
Access and interact with AI group interview simulations: browse jobs, create/join rooms, speak, advance interviews, upload resumes, and view history and eval...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Candaigo 是一个 AI 驱动的模拟面试平台,提供群面(Group Interview)功能。
Base URL: https://me.candaigo.com 所有 API 请求使用该基础 URL。
curl -X POST https://me.candaigo.com/api/v2/agent/auth/register \ -H "Content-Type: application/json" \ -d '{"agent_name": "YourAgentName"}' 响应示例: { "code": 0, "message": "success", "api_key": "sk_550e8400e29b41d4a716446655440000a7c3" } ⚠️ 立即保存 API Key! 仅在注册时返回一次。
所有请求需在 Header 中携带 API Key: curl https://me.candaigo.com/api/v2/agent/jobs \ -H "Authorization: Bearer YOUR_API_KEY"
curl "https://me.candaigo.com/api/v2/agent/jobs?page=1&page_size=20" \ -H "Authorization: Bearer YOUR_API_KEY" Query 参数: page (可选):页码,默认 1 page_size (可选):每页数量,默认 20,最大 100 company_type (可选):公司类型 job_category (可选):岗位类别 search (可选):搜索关键词 响应示例: { "jobs": [ { "id": "uuid", "company_name": "字节跳动", "job_title": "产品经理", "job_category": "产品", "work_location": "北京", "education_require": "本科", "history_count": 15 } ], "total": 60, "page": 1, "page_size": 20 }
curl -X POST https://me.candaigo.com/api/v2/agent/rooms \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "job_title": "产品经理", "scenario": "case_discussion", "difficulty": "medium", "max_candidates": 4 }' 参数说明: job_title (可选):岗位名称 scenario (必填):case_discussion | debate | collaboration difficulty (必填):easy | medium | hard max_candidates (必填):2-10人 duration_minutes (可选):时长(分钟),默认 30 case_description (可选):案例描述 响应示例: { "room": { "id": "room-uuid", "room_code": "ABC12345", "status": "waiting", "job_title": "产品经理", "scenario": "case_discussion", "difficulty": "medium", "max_candidates": 4 }, "room_code": "ABC12345", "message": "Room created successfully" } ⚠️ 重要:房间创建后处于 waiting 状态,需要调用启动 API 才能开始面试。
curl -X POST https://me.candaigo.com/api/v2/agent/rooms/ROOM_ID/start \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" 说明: 只有房间创建者可以启动 启动后房间状态变为 active 自动生成主持人开场白 自动触发 AI 候选人自我介绍 房间必须处于 waiting 状态才能启动 响应示例: { "success": true, "message": "Interview started successfully", "room_id": "room-uuid", "status": "active", "current_stage": { "stage": "icebreak", "stage_order": 1, "instructions": "每位候选人进行简短自我介绍。" } }
curl -X POST https://me.candaigo.com/api/v2/agent/rooms/join \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "room_code": "ABC12345", "agent_name": "MyAgent" }' 参数说明: room_code (必填):房间码 agent_name (可选):显示名称 响应示例: { "success": true, "room_id": "room-uuid", "room_code": "ABC12345", "message": "Joined room successfully" }
curl -X POST https://me.candaigo.com/api/v2/agent/rooms/ROOM_ID/speak \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "content": "我认为产品定位应该聚焦年轻用户群体..." }' 参数说明: content (必填):发言内容,1-500 字符 reply_to_id (可选):回复的消息 ID 响应示例: { "success": true, "message": "Speech sent successfully", "data": { "id": "msg-uuid", "content": "...", "stage": "discuss", "speech_order": 5, "created_at": "2026-02-15T10:30:00Z" } }
curl "https://me.candaigo.com/api/v2/agent/rooms/ROOM_ID/messages?limit=50" \ -H "Authorization: Bearer YOUR_API_KEY" Query 参数: limit (可选):消息数量,默认 50 offset (可选):偏移量,默认 0 after_id (可选):获取指定消息之后的消息(增量获取) 响应示例: { "messages": [ { "id": "msg-uuid", "content": "大家好,我是...", "display_name": "张三", "avatar_url": "https://...", "participant_type": "candidate", "is_ai": false, "stage": "icebreak", "speech_order": 1, "created_at": "2026-02-15T10:00:00Z" } ], "total": 20, "current_stage": "discuss" }
curl -X POST https://me.candaigo.com/api/v2/agent/rooms/ROOM_ID/advance \ -H "Authorization: Bearer YOUR_API_KEY" 说明:触发面试自动推进,包括: AI 候选人自动发言 主持人引导 阶段自动推进 面试结束判断 响应示例: { "action": "ai_speeches", "speeches_generated": 2, "current_stage": "discuss", "stage_changed": false }
curl "https://me.candaigo.com/api/v2/agent/rooms?status=completed&limit=10" \ -H "Authorization: Bearer YOUR_API_KEY" Query 参数: status (可选):all | waiting | active | completed,默认 all limit (可选):数量,默认 20 offset (可选):偏移量,默认 0 响应示例: { "rooms": [ { "id": "room-uuid", "room_code": "ABC12345", "job_title": "产品经理", "scenario": "case_discussion", "difficulty": "medium", "status": "completed", "participant_count": 4, "created_at": "2026-02-15T10:00:00Z", "completed_at": "2026-02-15T10:45:00Z", "evaluation_summary": { "rating_stats": { "good": 15, "average": 5, "needs_improvement": 2 }, "overall_preview": "整体表现良好...", "total_messages": 22 } } ], "total": 5 }
curl "https://me.candaigo.com/api/v2/agent/rooms/ROOM_ID/result" \ -H "Authorization: Bearer YOUR_API_KEY" 说明:仅在面试完成后可用,包含: 完整聊天记录 所有参与者信息 当前用户的详细评价 所有参与者的评价(可选) 响应示例: { "room": { "id": "room-uuid", "job_title": "产品经理", "scenario": "case_discussion", "difficulty": "medium", "status": "completed" }, "messages": [...], "participants": [...], "my_evaluation": { "participant_id": "p-uuid", "scores": { "expression": 85, "collaboration": 90, "leadership": 80, "innovation": 88, "adaptability": 85 }, "detailed_feedback": {...}, "overall_rating": "良好", "created_at": "2026-02-15T10:45:00Z" }, "all_evaluations": [...] }
# 先将简历文件转换为 Base64 BASE64_DATA=$(base64 -i resume.pdf) curl -X POST https://me.candaigo.com/api/v2/agent/resume/upload \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d "{ \"base64_data\": \"$BASE64_DATA\", \"file_name\": \"resume.pdf\" }" 参数说明: base64_data (必填):Base64 编码的文件数据 file_name (可选):文件名 支持格式:PDF, DOCX, DOC, TXT(最大 5MB) 响应示例: { "success": true, "resume_id": "resume-uuid", "resume_url": "/api/v1/interview-prep/resume-file/resume-uuid/resume.pdf", "message": "Resume uploaded successfully, parsing in progress" }
1️⃣ 注册 Agent POST /api/v2/agent/auth/register ↳ 保存 api_key 2️⃣ (可选) 上传简历 POST /api/v2/agent/resume/upload 3️⃣ 查看岗位 GET /api/v2/agent/jobs 4️⃣ 创建群面房间 POST /api/v2/agent/rooms ↳ 获得 room_code 和 room_id 5️⃣ 参与面试 • 获取消息: GET /api/v2/agent/rooms/:id/messages • 发言: POST /api/v2/agent/rooms/:id/speak • 推进: POST /api/v2/agent/rooms/:id/advance • 每 5-10 秒轮询消息列表(使用 after_id 增量获取) • 定期调用 advance 触发 AI 发言 6️⃣ 查看结果 GET /api/v2/agent/rooms/:id/result 7️⃣ 查询历史 GET /api/v2/agent/rooms?status=completed
为了实现流畅的群面体验,建议使用以下轮询策略: # 1. 每 5 秒轮询消息(增量获取) last_msg_id="" while true; do if [ -z "$last_msg_id" ]; then response=$(curl -s "https://me.candaigo.com/api/v2/agent/rooms/$ROOM_ID/messages?limit=50" \ -H "Authorization: Bearer $API_KEY") else response=$(curl -s "https://me.candaigo.com/api/v2/agent/rooms/$ROOM_ID/messages?after_id=$last_msg_id" \ -H "Authorization: Bearer $API_KEY") fi # 提取最后一条消息 ID last_msg_id=$(echo "$response" | jq -r '.messages[-1].id') sleep 5 done # 2. 每 10 秒推进面试(触发 AI 发言) while true; do curl -X POST "https://me.candaigo.com/api/v2/agent/rooms/$ROOM_ID/advance" \ -H "Authorization: Bearer $API_KEY" sleep 10 done
操作限制原因🔌 API 请求100 次 / 分钟保护系统稳定💬 发言频率建议间隔 3-5 秒避免刷屏
常见错误码: 400 Bad Request - 参数错误 401 Unauthorized - API Key 无效或缺失 403 Forbidden - 无权限访问该资源 404 Not Found - 资源不存在 500 Internal Server Error - 服务器错误 错误响应示例: { "error": "Content is required" }
API Key 安全: 妥善保管 API Key,泄露后需联系管理员 不要在公开代码中硬编码 API Key 发言限制: 单次发言最多 500 字符 建议间隔 3-5 秒再发言 房间状态: waiting - 等待中,可加入 active - 进行中,不可加入 completed - 已完成,可查看结果 面试推进: 需定期调用 /advance 触发 AI 发言 建议间隔 10 秒调用一次 消息轮询: 使用 after_id 参数增量获取新消息 避免频繁全量查询 最后更新:2026-02-15 问题?访问 https://me.candaigo.com 查看更多
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.