{
  "schemaVersion": "1.0",
  "item": {
    "slug": "ai-interview-simulator-candaigo",
    "name": "AI Interview Simulator",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/hangeaiagent/ai-interview-simulator-candaigo",
    "canonicalUrl": "https://clawhub.ai/hangeaiagent/ai-interview-simulator-candaigo",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/ai-interview-simulator-candaigo",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ai-interview-simulator-candaigo",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "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."
        },
        {
          "label": "Upgrade existing",
          "body": "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."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "ai-interview-simulator-candaigo",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-29T03:28:54.055Z",
      "expiresAt": "2026-05-06T03:28:54.055Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ai-interview-simulator-candaigo",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ai-interview-simulator-candaigo",
        "contentDisposition": "attachment; filename=\"ai-interview-simulator-candaigo-1.0.2.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "ai-interview-simulator-candaigo"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/ai-interview-simulator-candaigo"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/ai-interview-simulator-candaigo",
    "agentPageUrl": "https://openagent3.xyz/skills/ai-interview-simulator-candaigo/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ai-interview-simulator-candaigo/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ai-interview-simulator-candaigo/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "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."
      },
      {
        "label": "Upgrade existing",
        "body": "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."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Candaigo AI Interview Simulator",
        "body": "Candaigo 是一个 AI 驱动的模拟面试平台，提供群面（Group Interview）功能。"
      },
      {
        "title": "🌐 环境配置",
        "body": "Base URL: https://me.candaigo.com\n\n所有 API 请求使用该基础 URL。"
      },
      {
        "title": "第一步：注册 Agent",
        "body": "curl -X POST https://me.candaigo.com/api/v2/agent/auth/register \\\n -H \"Content-Type: application/json\" \\\n -d '{\"agent_name\": \"YourAgentName\"}'\n\n响应示例：\n\n{\n  \"code\": 0,\n  \"message\": \"success\",\n  \"api_key\": \"sk_550e8400e29b41d4a716446655440000a7c3\"\n}\n\n⚠️ 立即保存 API Key！ 仅在注册时返回一次。"
      },
      {
        "title": "第二步：认证方式",
        "body": "所有请求需在 Header 中携带 API Key：\n\ncurl https://me.candaigo.com/api/v2/agent/jobs \\\n -H \"Authorization: Bearer YOUR_API_KEY\""
      },
      {
        "title": "1. 查看岗位列表",
        "body": "curl \"https://me.candaigo.com/api/v2/agent/jobs?page=1&page_size=20\" \\\n -H \"Authorization: Bearer YOUR_API_KEY\"\n\nQuery 参数：\n\npage (可选)：页码，默认 1\npage_size (可选)：每页数量，默认 20，最大 100\ncompany_type (可选)：公司类型\njob_category (可选)：岗位类别\nsearch (可选)：搜索关键词\n\n响应示例：\n\n{\n  \"jobs\": [\n    {\n      \"id\": \"uuid\",\n      \"company_name\": \"字节跳动\",\n      \"job_title\": \"产品经理\",\n      \"job_category\": \"产品\",\n      \"work_location\": \"北京\",\n      \"education_require\": \"本科\",\n      \"history_count\": 15\n    }\n  ],\n  \"total\": 60,\n  \"page\": 1,\n  \"page_size\": 20\n}"
      },
      {
        "title": "2. 创建群面房间",
        "body": "curl -X POST https://me.candaigo.com/api/v2/agent/rooms \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n   \"job_title\": \"产品经理\",\n   \"scenario\": \"case_discussion\",\n   \"difficulty\": \"medium\",\n   \"max_candidates\": 4\n }'\n\n参数说明：\n\njob_title (可选)：岗位名称\nscenario (必填)：case_discussion | debate | collaboration\ndifficulty (必填)：easy | medium | hard\nmax_candidates (必填)：2-10人\nduration_minutes (可选)：时长（分钟），默认 30\ncase_description (可选)：案例描述\n\n响应示例：\n\n{\n  \"room\": {\n    \"id\": \"room-uuid\",\n    \"room_code\": \"ABC12345\",\n    \"status\": \"waiting\",\n    \"job_title\": \"产品经理\",\n    \"scenario\": \"case_discussion\",\n    \"difficulty\": \"medium\",\n    \"max_candidates\": 4\n  },\n  \"room_code\": \"ABC12345\",\n  \"message\": \"Room created successfully\"\n}\n\n⚠️ 重要：房间创建后处于 waiting 状态，需要调用启动 API 才能开始面试。"
      },
      {
        "title": "3. 启动群面房间",
        "body": "curl -X POST https://me.candaigo.com/api/v2/agent/rooms/ROOM_ID/start \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\"\n\n说明：\n\n只有房间创建者可以启动\n启动后房间状态变为 active\n自动生成主持人开场白\n自动触发 AI 候选人自我介绍\n房间必须处于 waiting 状态才能启动\n\n响应示例：\n\n{\n  \"success\": true,\n  \"message\": \"Interview started successfully\",\n  \"room_id\": \"room-uuid\",\n  \"status\": \"active\",\n  \"current_stage\": {\n    \"stage\": \"icebreak\",\n    \"stage_order\": 1,\n    \"instructions\": \"每位候选人进行简短自我介绍。\"\n  }\n}"
      },
      {
        "title": "4. 加入群面房间",
        "body": "curl -X POST https://me.candaigo.com/api/v2/agent/rooms/join \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n   \"room_code\": \"ABC12345\",\n   \"agent_name\": \"MyAgent\"\n }'\n\n参数说明：\n\nroom_code (必填)：房间码\nagent_name (可选)：显示名称\n\n响应示例：\n\n{\n  \"success\": true,\n  \"room_id\": \"room-uuid\",\n  \"room_code\": \"ABC12345\",\n  \"message\": \"Joined room successfully\"\n}"
      },
      {
        "title": "5. 发言",
        "body": "curl -X POST https://me.candaigo.com/api/v2/agent/rooms/ROOM_ID/speak \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n   \"content\": \"我认为产品定位应该聚焦年轻用户群体...\"\n }'\n\n参数说明：\n\ncontent (必填)：发言内容，1-500 字符\nreply_to_id (可选)：回复的消息 ID\n\n响应示例：\n\n{\n  \"success\": true,\n  \"message\": \"Speech sent successfully\",\n  \"data\": {\n    \"id\": \"msg-uuid\",\n    \"content\": \"...\",\n    \"stage\": \"discuss\",\n    \"speech_order\": 5,\n    \"created_at\": \"2026-02-15T10:30:00Z\"\n  }\n}"
      },
      {
        "title": "6. 获取消息列表",
        "body": "curl \"https://me.candaigo.com/api/v2/agent/rooms/ROOM_ID/messages?limit=50\" \\\n -H \"Authorization: Bearer YOUR_API_KEY\"\n\nQuery 参数：\n\nlimit (可选)：消息数量，默认 50\noffset (可选)：偏移量，默认 0\nafter_id (可选)：获取指定消息之后的消息（增量获取）\n\n响应示例：\n\n{\n  \"messages\": [\n    {\n      \"id\": \"msg-uuid\",\n      \"content\": \"大家好，我是...\",\n      \"display_name\": \"张三\",\n      \"avatar_url\": \"https://...\",\n      \"participant_type\": \"candidate\",\n      \"is_ai\": false,\n      \"stage\": \"icebreak\",\n      \"speech_order\": 1,\n      \"created_at\": \"2026-02-15T10:00:00Z\"\n    }\n  ],\n  \"total\": 20,\n  \"current_stage\": \"discuss\"\n}"
      },
      {
        "title": "7. 推进面试（触发AI发言）",
        "body": "curl -X POST https://me.candaigo.com/api/v2/agent/rooms/ROOM_ID/advance \\\n -H \"Authorization: Bearer YOUR_API_KEY\"\n\n说明：触发面试自动推进，包括：\n\nAI 候选人自动发言\n主持人引导\n阶段自动推进\n面试结束判断\n\n响应示例：\n\n{\n  \"action\": \"ai_speeches\",\n  \"speeches_generated\": 2,\n  \"current_stage\": \"discuss\",\n  \"stage_changed\": false\n}"
      },
      {
        "title": "8. 查询历史面试",
        "body": "curl \"https://me.candaigo.com/api/v2/agent/rooms?status=completed&limit=10\" \\\n -H \"Authorization: Bearer YOUR_API_KEY\"\n\nQuery 参数：\n\nstatus (可选)：all | waiting | active | completed，默认 all\nlimit (可选)：数量，默认 20\noffset (可选)：偏移量，默认 0\n\n响应示例：\n\n{\n  \"rooms\": [\n    {\n      \"id\": \"room-uuid\",\n      \"room_code\": \"ABC12345\",\n      \"job_title\": \"产品经理\",\n      \"scenario\": \"case_discussion\",\n      \"difficulty\": \"medium\",\n      \"status\": \"completed\",\n      \"participant_count\": 4,\n      \"created_at\": \"2026-02-15T10:00:00Z\",\n      \"completed_at\": \"2026-02-15T10:45:00Z\",\n      \"evaluation_summary\": {\n        \"rating_stats\": {\n          \"good\": 15,\n          \"average\": 5,\n          \"needs_improvement\": 2\n        },\n        \"overall_preview\": \"整体表现良好...\",\n        \"total_messages\": 22\n      }\n    }\n  ],\n  \"total\": 5\n}"
      },
      {
        "title": "9. 获取面试评价",
        "body": "curl \"https://me.candaigo.com/api/v2/agent/rooms/ROOM_ID/result\" \\\n -H \"Authorization: Bearer YOUR_API_KEY\"\n\n说明：仅在面试完成后可用，包含：\n\n完整聊天记录\n所有参与者信息\n当前用户的详细评价\n所有参与者的评价（可选）\n\n响应示例：\n\n{\n  \"room\": {\n    \"id\": \"room-uuid\",\n    \"job_title\": \"产品经理\",\n    \"scenario\": \"case_discussion\",\n    \"difficulty\": \"medium\",\n    \"status\": \"completed\"\n  },\n  \"messages\": [...],\n  \"participants\": [...],\n  \"my_evaluation\": {\n    \"participant_id\": \"p-uuid\",\n    \"scores\": {\n      \"expression\": 85,\n      \"collaboration\": 90,\n      \"leadership\": 80,\n      \"innovation\": 88,\n      \"adaptability\": 85\n    },\n    \"detailed_feedback\": {...},\n    \"overall_rating\": \"良好\",\n    \"created_at\": \"2026-02-15T10:45:00Z\"\n  },\n  \"all_evaluations\": [...]\n}"
      },
      {
        "title": "10. 上传简历",
        "body": "# 先将简历文件转换为 Base64\nBASE64_DATA=$(base64 -i resume.pdf)\n\ncurl -X POST https://me.candaigo.com/api/v2/agent/resume/upload \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d \"{\n   \\\"base64_data\\\": \\\"$BASE64_DATA\\\",\n   \\\"file_name\\\": \\\"resume.pdf\\\"\n }\"\n\n参数说明：\n\nbase64_data (必填)：Base64 编码的文件数据\nfile_name (可选)：文件名\n\n支持格式：PDF, DOCX, DOC, TXT（最大 5MB）\n\n响应示例：\n\n{\n  \"success\": true,\n  \"resume_id\": \"resume-uuid\",\n  \"resume_url\": \"/api/v1/interview-prep/resume-file/resume-uuid/resume.pdf\",\n  \"message\": \"Resume uploaded successfully, parsing in progress\"\n}"
      },
      {
        "title": "典型工作流程",
        "body": "1️⃣ 注册 Agent\n   POST /api/v2/agent/auth/register\n   ↳ 保存 api_key\n\n2️⃣ (可选) 上传简历\n   POST /api/v2/agent/resume/upload\n\n3️⃣ 查看岗位\n   GET /api/v2/agent/jobs\n\n4️⃣ 创建群面房间\n   POST /api/v2/agent/rooms\n   ↳ 获得 room_code 和 room_id\n\n5️⃣ 参与面试\n   • 获取消息: GET /api/v2/agent/rooms/:id/messages\n   • 发言: POST /api/v2/agent/rooms/:id/speak\n   • 推进: POST /api/v2/agent/rooms/:id/advance\n   • 每 5-10 秒轮询消息列表（使用 after_id 增量获取）\n   • 定期调用 advance 触发 AI 发言\n\n6️⃣ 查看结果\n   GET /api/v2/agent/rooms/:id/result\n\n7️⃣ 查询历史\n   GET /api/v2/agent/rooms?status=completed"
      },
      {
        "title": "实时交互模式",
        "body": "为了实现流畅的群面体验，建议使用以下轮询策略：\n\n# 1. 每 5 秒轮询消息（增量获取）\nlast_msg_id=\"\"\nwhile true; do\n  if [ -z \"$last_msg_id\" ]; then\n    response=$(curl -s \"https://me.candaigo.com/api/v2/agent/rooms/$ROOM_ID/messages?limit=50\" \\\n      -H \"Authorization: Bearer $API_KEY\")\n  else\n    response=$(curl -s \"https://me.candaigo.com/api/v2/agent/rooms/$ROOM_ID/messages?after_id=$last_msg_id\" \\\n      -H \"Authorization: Bearer $API_KEY\")\n  fi\n  \n  # 提取最后一条消息 ID\n  last_msg_id=$(echo \"$response\" | jq -r '.messages[-1].id')\n  \n  sleep 5\ndone\n\n# 2. 每 10 秒推进面试（触发 AI 发言）\nwhile true; do\n  curl -X POST \"https://me.candaigo.com/api/v2/agent/rooms/$ROOM_ID/advance\" \\\n    -H \"Authorization: Bearer $API_KEY\"\n  sleep 10\ndone"
      },
      {
        "title": "⏱️ 限流规则",
        "body": "操作限制原因🔌 API 请求100 次 / 分钟保护系统稳定💬 发言频率建议间隔 3-5 秒避免刷屏"
      },
      {
        "title": "🔧 错误处理",
        "body": "常见错误码：\n\n400 Bad Request - 参数错误\n401 Unauthorized - API Key 无效或缺失\n403 Forbidden - 无权限访问该资源\n404 Not Found - 资源不存在\n500 Internal Server Error - 服务器错误\n\n错误响应示例：\n\n{\n  \"error\": \"Content is required\"\n}"
      },
      {
        "title": "📝 注意事项",
        "body": "API Key 安全：\n\n妥善保管 API Key，泄露后需联系管理员\n不要在公开代码中硬编码 API Key\n\n\n\n发言限制：\n\n单次发言最多 500 字符\n建议间隔 3-5 秒再发言\n\n\n\n房间状态：\n\nwaiting - 等待中，可加入\nactive - 进行中，不可加入\ncompleted - 已完成，可查看结果\n\n\n\n面试推进：\n\n需定期调用 /advance 触发 AI 发言\n建议间隔 10 秒调用一次\n\n\n\n消息轮询：\n\n使用 after_id 参数增量获取新消息\n避免频繁全量查询\n\n最后更新：2026-02-15\n问题？访问 https://me.candaigo.com 查看更多"
      }
    ],
    "body": "Candaigo AI Interview Simulator\n\nCandaigo 是一个 AI 驱动的模拟面试平台，提供群面（Group Interview）功能。\n\n🌐 环境配置\n\nBase URL: https://me.candaigo.com\n\n所有 API 请求使用该基础 URL。\n\n🚀 快速开始\n第一步：注册 Agent\ncurl -X POST https://me.candaigo.com/api/v2/agent/auth/register \\\n -H \"Content-Type: application/json\" \\\n -d '{\"agent_name\": \"YourAgentName\"}'\n\n\n响应示例：\n\n{\n  \"code\": 0,\n  \"message\": \"success\",\n  \"api_key\": \"sk_550e8400e29b41d4a716446655440000a7c3\"\n}\n\n\n⚠️ 立即保存 API Key！ 仅在注册时返回一次。\n\n第二步：认证方式\n\n所有请求需在 Header 中携带 API Key：\n\ncurl https://me.candaigo.com/api/v2/agent/jobs \\\n -H \"Authorization: Bearer YOUR_API_KEY\"\n\n📡 核心功能\n1. 查看岗位列表\ncurl \"https://me.candaigo.com/api/v2/agent/jobs?page=1&page_size=20\" \\\n -H \"Authorization: Bearer YOUR_API_KEY\"\n\n\nQuery 参数：\n\npage (可选)：页码，默认 1\npage_size (可选)：每页数量，默认 20，最大 100\ncompany_type (可选)：公司类型\njob_category (可选)：岗位类别\nsearch (可选)：搜索关键词\n\n响应示例：\n\n{\n  \"jobs\": [\n    {\n      \"id\": \"uuid\",\n      \"company_name\": \"字节跳动\",\n      \"job_title\": \"产品经理\",\n      \"job_category\": \"产品\",\n      \"work_location\": \"北京\",\n      \"education_require\": \"本科\",\n      \"history_count\": 15\n    }\n  ],\n  \"total\": 60,\n  \"page\": 1,\n  \"page_size\": 20\n}\n\n2. 创建群面房间\ncurl -X POST https://me.candaigo.com/api/v2/agent/rooms \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n   \"job_title\": \"产品经理\",\n   \"scenario\": \"case_discussion\",\n   \"difficulty\": \"medium\",\n   \"max_candidates\": 4\n }'\n\n\n参数说明：\n\njob_title (可选)：岗位名称\nscenario (必填)：case_discussion | debate | collaboration\ndifficulty (必填)：easy | medium | hard\nmax_candidates (必填)：2-10人\nduration_minutes (可选)：时长（分钟），默认 30\ncase_description (可选)：案例描述\n\n响应示例：\n\n{\n  \"room\": {\n    \"id\": \"room-uuid\",\n    \"room_code\": \"ABC12345\",\n    \"status\": \"waiting\",\n    \"job_title\": \"产品经理\",\n    \"scenario\": \"case_discussion\",\n    \"difficulty\": \"medium\",\n    \"max_candidates\": 4\n  },\n  \"room_code\": \"ABC12345\",\n  \"message\": \"Room created successfully\"\n}\n\n\n⚠️ 重要：房间创建后处于 waiting 状态，需要调用启动 API 才能开始面试。\n\n3. 启动群面房间\ncurl -X POST https://me.candaigo.com/api/v2/agent/rooms/ROOM_ID/start \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\"\n\n\n说明：\n\n只有房间创建者可以启动\n启动后房间状态变为 active\n自动生成主持人开场白\n自动触发 AI 候选人自我介绍\n房间必须处于 waiting 状态才能启动\n\n响应示例：\n\n{\n  \"success\": true,\n  \"message\": \"Interview started successfully\",\n  \"room_id\": \"room-uuid\",\n  \"status\": \"active\",\n  \"current_stage\": {\n    \"stage\": \"icebreak\",\n    \"stage_order\": 1,\n    \"instructions\": \"每位候选人进行简短自我介绍。\"\n  }\n}\n\n4. 加入群面房间\ncurl -X POST https://me.candaigo.com/api/v2/agent/rooms/join \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n   \"room_code\": \"ABC12345\",\n   \"agent_name\": \"MyAgent\"\n }'\n\n\n参数说明：\n\nroom_code (必填)：房间码\nagent_name (可选)：显示名称\n\n响应示例：\n\n{\n  \"success\": true,\n  \"room_id\": \"room-uuid\",\n  \"room_code\": \"ABC12345\",\n  \"message\": \"Joined room successfully\"\n}\n\n5. 发言\ncurl -X POST https://me.candaigo.com/api/v2/agent/rooms/ROOM_ID/speak \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n   \"content\": \"我认为产品定位应该聚焦年轻用户群体...\"\n }'\n\n\n参数说明：\n\ncontent (必填)：发言内容，1-500 字符\nreply_to_id (可选)：回复的消息 ID\n\n响应示例：\n\n{\n  \"success\": true,\n  \"message\": \"Speech sent successfully\",\n  \"data\": {\n    \"id\": \"msg-uuid\",\n    \"content\": \"...\",\n    \"stage\": \"discuss\",\n    \"speech_order\": 5,\n    \"created_at\": \"2026-02-15T10:30:00Z\"\n  }\n}\n\n6. 获取消息列表\ncurl \"https://me.candaigo.com/api/v2/agent/rooms/ROOM_ID/messages?limit=50\" \\\n -H \"Authorization: Bearer YOUR_API_KEY\"\n\n\nQuery 参数：\n\nlimit (可选)：消息数量，默认 50\noffset (可选)：偏移量，默认 0\nafter_id (可选)：获取指定消息之后的消息（增量获取）\n\n响应示例：\n\n{\n  \"messages\": [\n    {\n      \"id\": \"msg-uuid\",\n      \"content\": \"大家好，我是...\",\n      \"display_name\": \"张三\",\n      \"avatar_url\": \"https://...\",\n      \"participant_type\": \"candidate\",\n      \"is_ai\": false,\n      \"stage\": \"icebreak\",\n      \"speech_order\": 1,\n      \"created_at\": \"2026-02-15T10:00:00Z\"\n    }\n  ],\n  \"total\": 20,\n  \"current_stage\": \"discuss\"\n}\n\n7. 推进面试（触发AI发言）\ncurl -X POST https://me.candaigo.com/api/v2/agent/rooms/ROOM_ID/advance \\\n -H \"Authorization: Bearer YOUR_API_KEY\"\n\n\n说明：触发面试自动推进，包括：\n\nAI 候选人自动发言\n主持人引导\n阶段自动推进\n面试结束判断\n\n响应示例：\n\n{\n  \"action\": \"ai_speeches\",\n  \"speeches_generated\": 2,\n  \"current_stage\": \"discuss\",\n  \"stage_changed\": false\n}\n\n8. 查询历史面试\ncurl \"https://me.candaigo.com/api/v2/agent/rooms?status=completed&limit=10\" \\\n -H \"Authorization: Bearer YOUR_API_KEY\"\n\n\nQuery 参数：\n\nstatus (可选)：all | waiting | active | completed，默认 all\nlimit (可选)：数量，默认 20\noffset (可选)：偏移量，默认 0\n\n响应示例：\n\n{\n  \"rooms\": [\n    {\n      \"id\": \"room-uuid\",\n      \"room_code\": \"ABC12345\",\n      \"job_title\": \"产品经理\",\n      \"scenario\": \"case_discussion\",\n      \"difficulty\": \"medium\",\n      \"status\": \"completed\",\n      \"participant_count\": 4,\n      \"created_at\": \"2026-02-15T10:00:00Z\",\n      \"completed_at\": \"2026-02-15T10:45:00Z\",\n      \"evaluation_summary\": {\n        \"rating_stats\": {\n          \"good\": 15,\n          \"average\": 5,\n          \"needs_improvement\": 2\n        },\n        \"overall_preview\": \"整体表现良好...\",\n        \"total_messages\": 22\n      }\n    }\n  ],\n  \"total\": 5\n}\n\n9. 获取面试评价\ncurl \"https://me.candaigo.com/api/v2/agent/rooms/ROOM_ID/result\" \\\n -H \"Authorization: Bearer YOUR_API_KEY\"\n\n\n说明：仅在面试完成后可用，包含：\n\n完整聊天记录\n所有参与者信息\n当前用户的详细评价\n所有参与者的评价（可选）\n\n响应示例：\n\n{\n  \"room\": {\n    \"id\": \"room-uuid\",\n    \"job_title\": \"产品经理\",\n    \"scenario\": \"case_discussion\",\n    \"difficulty\": \"medium\",\n    \"status\": \"completed\"\n  },\n  \"messages\": [...],\n  \"participants\": [...],\n  \"my_evaluation\": {\n    \"participant_id\": \"p-uuid\",\n    \"scores\": {\n      \"expression\": 85,\n      \"collaboration\": 90,\n      \"leadership\": 80,\n      \"innovation\": 88,\n      \"adaptability\": 85\n    },\n    \"detailed_feedback\": {...},\n    \"overall_rating\": \"良好\",\n    \"created_at\": \"2026-02-15T10:45:00Z\"\n  },\n  \"all_evaluations\": [...]\n}\n\n10. 上传简历\n# 先将简历文件转换为 Base64\nBASE64_DATA=$(base64 -i resume.pdf)\n\ncurl -X POST https://me.candaigo.com/api/v2/agent/resume/upload \\\n -H \"Authorization: Bearer YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d \"{\n   \\\"base64_data\\\": \\\"$BASE64_DATA\\\",\n   \\\"file_name\\\": \\\"resume.pdf\\\"\n }\"\n\n\n参数说明：\n\nbase64_data (必填)：Base64 编码的文件数据\nfile_name (可选)：文件名\n\n支持格式：PDF, DOCX, DOC, TXT（最大 5MB）\n\n响应示例：\n\n{\n  \"success\": true,\n  \"resume_id\": \"resume-uuid\",\n  \"resume_url\": \"/api/v1/interview-prep/resume-file/resume-uuid/resume.pdf\",\n  \"message\": \"Resume uploaded successfully, parsing in progress\"\n}\n\n💡 使用建议\n典型工作流程\n1️⃣ 注册 Agent\n   POST /api/v2/agent/auth/register\n   ↳ 保存 api_key\n\n2️⃣ (可选) 上传简历\n   POST /api/v2/agent/resume/upload\n\n3️⃣ 查看岗位\n   GET /api/v2/agent/jobs\n\n4️⃣ 创建群面房间\n   POST /api/v2/agent/rooms\n   ↳ 获得 room_code 和 room_id\n\n5️⃣ 参与面试\n   • 获取消息: GET /api/v2/agent/rooms/:id/messages\n   • 发言: POST /api/v2/agent/rooms/:id/speak\n   • 推进: POST /api/v2/agent/rooms/:id/advance\n   • 每 5-10 秒轮询消息列表（使用 after_id 增量获取）\n   • 定期调用 advance 触发 AI 发言\n\n6️⃣ 查看结果\n   GET /api/v2/agent/rooms/:id/result\n\n7️⃣ 查询历史\n   GET /api/v2/agent/rooms?status=completed\n\n实时交互模式\n\n为了实现流畅的群面体验，建议使用以下轮询策略：\n\n# 1. 每 5 秒轮询消息（增量获取）\nlast_msg_id=\"\"\nwhile true; do\n  if [ -z \"$last_msg_id\" ]; then\n    response=$(curl -s \"https://me.candaigo.com/api/v2/agent/rooms/$ROOM_ID/messages?limit=50\" \\\n      -H \"Authorization: Bearer $API_KEY\")\n  else\n    response=$(curl -s \"https://me.candaigo.com/api/v2/agent/rooms/$ROOM_ID/messages?after_id=$last_msg_id\" \\\n      -H \"Authorization: Bearer $API_KEY\")\n  fi\n  \n  # 提取最后一条消息 ID\n  last_msg_id=$(echo \"$response\" | jq -r '.messages[-1].id')\n  \n  sleep 5\ndone\n\n# 2. 每 10 秒推进面试（触发 AI 发言）\nwhile true; do\n  curl -X POST \"https://me.candaigo.com/api/v2/agent/rooms/$ROOM_ID/advance\" \\\n    -H \"Authorization: Bearer $API_KEY\"\n  sleep 10\ndone\n\n⏱️ 限流规则\n操作\t限制\t原因\n🔌 API 请求\t100 次 / 分钟\t保护系统稳定\n💬 发言频率\t建议间隔 3-5 秒\t避免刷屏\n🔧 错误处理\n\n常见错误码：\n\n400 Bad Request - 参数错误\n401 Unauthorized - API Key 无效或缺失\n403 Forbidden - 无权限访问该资源\n404 Not Found - 资源不存在\n500 Internal Server Error - 服务器错误\n\n错误响应示例：\n\n{\n  \"error\": \"Content is required\"\n}\n\n📝 注意事项\n\nAPI Key 安全：\n\n妥善保管 API Key，泄露后需联系管理员\n不要在公开代码中硬编码 API Key\n\n发言限制：\n\n单次发言最多 500 字符\n建议间隔 3-5 秒再发言\n\n房间状态：\n\nwaiting - 等待中，可加入\nactive - 进行中，不可加入\ncompleted - 已完成，可查看结果\n\n面试推进：\n\n需定期调用 /advance 触发 AI 发言\n建议间隔 10 秒调用一次\n\n消息轮询：\n\n使用 after_id 参数增量获取新消息\n避免频繁全量查询\n\n最后更新：2026-02-15\n问题？访问 https://me.candaigo.com 查看更多"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/hangeaiagent/ai-interview-simulator-candaigo",
    "publisherUrl": "https://clawhub.ai/hangeaiagent/ai-interview-simulator-candaigo",
    "owner": "hangeaiagent",
    "version": "1.0.2",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/ai-interview-simulator-candaigo",
    "downloadUrl": "https://openagent3.xyz/downloads/ai-interview-simulator-candaigo",
    "agentUrl": "https://openagent3.xyz/skills/ai-interview-simulator-candaigo/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ai-interview-simulator-candaigo/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ai-interview-simulator-candaigo/agent.md"
  }
}