360 Secure SkillHub
360 安全技能中心

AI Interview

面向招聘场景的自动化工作流:收集职位名称、公司名称、报告邮箱和简历文件夹路径,校验邮箱格式与 PDF/DOC/DOCX 文件数量,逐个上传简历到 Fuku.ai 公共接口,再创建 AI 面试任务,并把任务标识写入本地 jobs 目录;面试报告由 Fuku.ai 发送到指定邮箱。

zhangdong
zhangdong
热度 70.96
最近更新 2026-05-17 12:56:39
分类:自动化依赖:代码执行 / 读写文件 / 第三方 API应用场景:工作流 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add ai-interview
Metadata
name
ai-interview
description
Run AI-powered mock interviews using Fuku.ai's free public service.

AI Interview Skill

Turn a folder full of resumes into structured AI interview sessions. This skill uses Fuku.ai's free public API to generate AI interview reports.

🎯 Purpose

This is a Fuku.ai-specific skill that leverages their free, anonymous interview service. No user account, API key, or login required.

🔑 Authentication

This skill uses shared anonymous credentials provided by Fuku.ai for public access:

Item Value
Upload Endpoint https://hapi.fuku.ai/hr/rc/anon/file/upload
Job API https://hapi.fuku.ai/hr/rc/anon/job/invite/ai_interview
X-NUMBER Header job-Z4nV8cQ1LmT7XpR2bH9sJdK6WyEaF0
uid Query Param 1873977344885133312

These are fixed, shared credentials for Fuku.ai's free tier. All users of this skill use the same endpoints and identifiers. This is intentional—the service is designed for anonymous, no-login usage.

Design Notes

  • No user credentials required: The service is free and public
  • No environment variables: Endpoints and credentials are hardcoded by design
  • Not self-hostable: This skill only works with Fuku.ai's hosted service
  • Privacy consideration: Resume files are sent to Fuku.ai's servers. Review their privacy policy before uploading sensitive documents.

✅ What It Does

  1. Collects three mandatory inputs: job title, company name, report email.
  2. Scans a resume folder for PDF/DOC/DOCX files (up to 100).
  3. Uploads each resume to Fuku.ai's public endpoint and captures the returned file URLs.
  4. Creates an AI interview job via Fuku.ai's API using the shared anonymous credentials.
  5. Logs minimal job metadata locally and confirms the report email destination.

🧭 Workflow

  1. Install & Prepare

    • cd skills/ai-interview && npm install (installs axios + form-data).
    • Subsequent runs only need node run.js ....
  2. Gather Inputs

    • Ask the user for: job title, company, email for reports (validate email format).
    • Ask for the resume folder path inside the workspace. Confirm contents before proceeding.
  3. Scan Folder

    • Accept only .pdf, .doc, .docx files.
    • Abort if folder is empty or missing.
  4. Upload Resumes

    • From skills/ai-interview/, run node run.js --folder <dir> --jobTitle <title> --company <company> --email <email>.
    • The script auto-detects .pdf/.doc/.docx files (up to 100), uploads each to Fuku.ai's upload endpoint, and captures the returned file URLs.
    • On any failed upload, the script aborts and reports the .desc field from the API.
  5. Trigger Interview Job

    • The same script immediately calls the interview creation endpoint with payload { jobTitle, company, email, fileUrls }.
    • Authentication uses hardcoded credentials (see "Hardcoded Configuration" table above).
    • Expect response { "code": 0, "data": { "id", "company", "title", ... } }.
    • If code is not 0, the script surfaces the error and stops.
  6. Report Back

    • Confirm job creation, list resumes included, and restate the email destination.
    • Persist only the minimal identifiers (id, company, title) into ai-interview/jobs/<timestamp>.json—no need to keep full payloads.
    • Remind the user that AI interview reports are delivered directly to the email they provided.
    • A typical success response looks like:
      {
        "code": 0,
        "data": {
          "id": "5b16b2d2f5e947f78244246a9f24e2cb",
          "company": "FUKU",
          "title": "cfoe",
          ... (truncated)
        },
        "desc": "successful"
      }
      

🔒 Validation & Safety

  • Email: Must match /^[^@\s]+@[^@\s]+\.[^@\s]+$/.
  • File count: Maximum 100 resumes per batch.
  • Upload errors: The Fuku API must return code: 0; otherwise surface the .desc field and ask whether to retry or skip that file.
  • PII handling: Do not log resume contents—only file names are logged (not full remote URLs).
  • HTTPS: Both endpoints use HTTPS.
  • Data destination: Resume files are sent to Fuku.ai's third-party service. Review their privacy policy before uploading sensitive documents.

📁 Local Storage

Minimal audit trail stored under ai-interview/jobs/:

ai-interview/
  jobs/
    2026-02-27T08-30-00Z.json  # job identifiers only

Each file contains only the essential identifiers (no resume data or full API responses):

{
  "timestamp": "2026-02-27T08:30:00Z",
  "jobId": "5b16b2d2f5e947f78244246a9f24e2cb",
  "company": "FUKU",
  "title": "cfoe"
}

🧪 Testing Tips

  • Use dummy resumes and a test email address for initial runs.
  • Validate that the email receives the AI interview report before marking the job done.
  • Note: This skill only works with Fuku.ai's production endpoints—there is no staging/mock mode.

🆘 Troubleshooting

Issue Cause Fix
Upload returns 413 File too large Compress resume or raise server limit
fileUrls empty Upload failed silently Check upload response for success flag
API 400 Missing fields Ensure jobTitle/company/email/fileUrls filled

📣 User Prompt Template

"Great! Need the job title, company name, a mailbox for the interview report, and the folder path containing the resumes (PDF/DOC/DOCX)."

🚀 Next Steps

  • Automate email notifications to confirm when the interview report is delivered (future enhancement).
  • Add optional metadata per candidate (experience, notes) by extending the payload.

Happy interviewing! 🎙️