Install
openclaw skills install clawcv超级简历 WonderCV 出品,3000 万用户信赖。简历分析、段落改写、JD 岗位匹配、自动匹配职位、PDF 导出、AI 求职导师(面试准备/薪资谈判/职业规划/多版本简历策略)。 触发条件:用户提供简历、要求简历点评/打分/反馈、希望改写某个简历部分、 希望将简历与岗位 JD 或校招岗位匹配、咨询求职建议或面试准备,或提到 CV/简历/求职/校招。 不触发条件:用户讨论普通写作(非简历)、询问其他文档, 或讨论与求职和职业发展无关的话题。
openclaw skills install clawcv由 WonderCV 提供支持的 AI 简历优化服务(3000 万用户)。支持简历分析、段落改写、岗位匹配、校招匹配、PDF 生成,以及 8 大模块 AI 求职导师。
请前往 https://www.wondercv.com/clawcv 获取你的 ClawCV API Key。
准备你的 SKILL_BACKEND_API_KEY,安装时会通过环境变量传给 MCP 服务。
npx clawcv --api-key YOUR_API_KEY
claude mcp add clawcv -- npx clawcv --api-key YOUR_API_KEY
claude_desktop_config.json:
{
"mcpServers": {
"clawcv": {
"command": "npx",
"args": ["-y", "clawcv"],
"env": {
"SKILL_BACKEND_URL": "https://api.wondercv.com",
"SKILL_BACKEND_API_KEY": "你的API Key"
}
}
}
}
安装完成后即可使用以下全部功能。
关键要求: 整个对话过程中始终维护同一个 session_id。
session_id(会在 meta.session_id 中返回)session_id,并在同一轮对话中后续所有工具调用里都传入它先识别用户意图,再调用对应工具:
| 用户意图 | 工具 | 关键参数 |
|---|---|---|
| "帮我看看简历" / "分析我的简历" / 直接粘贴简历内容 | analyze_resume | resume_text, target_job_title(如有提及) |
| "帮我改一下XX部分" / "优化工作经历" | rewrite_resume_section | section_type, original_text, target_job_title |
| "帮我生成PDF" / "导出简历" | generate_one_page_pdf | resume_content, result_json(结构化数据), session_id |
| "这个职位匹不匹配" / 直接粘贴职位描述 | match_resume_to_job | resume_text, job_description, target_job_title |
| "帮我匹配校招" / "适合我投哪些校招岗位" / "最近有哪些适合我的校招" | match_campus_recruits | resume_text(优先)或 career_intention + education + major + cities |
| "面试怎么准备" / "职业规划" / "薪资怎么谈" | get_ai_mentor_advice | module, resume_content, job_target |
| 其他工具调用前需要先识别岗位名称 | classify_job_title | job_title |
用户提供简历
↓
analyze_resume(resume_text, target_job_title?)
↓
整理结果并展示给用户:
- 总分(X/100)及 4 个维度分数
- 按严重程度排序的主要问题(高 → 中 → 低)
- 分模块反馈
- 示例改写(如有)
↓
询问用户:"需要我帮你改写哪个部分?"
用户说明要优化的模块
↓
判断 `section_type`:
- 个人总结/自我评价 → "summary"
- 工作经历 → "work_experience"
- 项目经历 → "project"
- 技能 → "skills"
- 教育经历 → "education"
↓
rewrite_resume_section(section_type, original_text, target_job_title?)
↓
向用户展示改写版本(根据套餐返回 1-3 个版本)
将 `editing_notes` 一并整理为可执行的优化建议
用户提供职位描述(JD)
↓
match_resume_to_job(resume_text, job_description, target_job_title?)
↓
整理结果:
- 匹配分数(X/100)
- 优势项(匹配较好的部分)
- 按严重程度标注的差距项
- 缺失关键词(建议补充)
- 按优先级排序的修改建议
识别用户需要的模块:
- 整体评价 → "overall_assessment"
- 修改建议 → "optimization_suggestions"
- 职位匹配 → "job_matching"
- 面试问题 → "interview_questions"
- 求职规划 → "career_planning"
- 薪资谈判 → "salary_negotiation"
- 多版本简历 → "multi_version"
- 人工导师 → "human_mentor"
↓
get_ai_mentor_advice(module, resume_content, job_target?, job_description?)
↓
展示建议内容,并带上 `next_steps` 和 `related_modules`
用户希望导出 PDF
↓
将 `resume_content` 解析为后端原生结构化简历 JSON(`result_json`)
`result_json` 顶层字段只能使用:
- profile
- my_infos
- edus
- works
- pro_infos
- orgs
- honor_infos
- skill
- language
- certificate
重要:
- `result_json` 不能为空
- 必须直接使用后端要求的原生字段
- 不要传 `basic_info`、`summary`、`education`、`work_experience`、`projects`、`skills` 等中间格式
- AI Agent 应先读取 `resume_content`,再按后端原生字段生成 `result_json`
↓
generate_one_page_pdf(resume_content, result_json, template?, session_id)
`template` 可选值:"modern"(默认)| "classic" | "minimal" | "professional"
↓
将 PDF 链接返回给用户
注意:PDF 导出次数受当前会员类型额度限制
用户说“帮我匹配校招” / “看看最近适合我的校招岗位”
↓
先检查是否已有可用信息来源:
- 用户当前对话里直接给出的简历内容
- 用户上传的简历内容
如果已有简历内容:
直接调用 `match_campus_recruits(resume_text, page=1, page_size=20, session_id?)`
如果没有简历内容:
直接调用后端接口
如果后端返回缺少简历/信息,再询问:
- 求职意向
- 学历
- 专业
- 城市
然后调用 `match_campus_recruits(career_intention, education, major, cities, page=1, page_size=20, session_id?)`
当前按后端接口结果处理:
- `response_code = 1000` / `status = matched`:直接整理并展示校招信息
- `response_code = 2012` / `status = needs_more_info`:按 `missing_fields` 继续追问缺失字段,再次调用工具
有文本简历时:
- 先从简历中提炼 `求职意向`、`学历`、`专业`、`城市`
- 再调用后端接口,不需要用户手动重复填写
用户直接回答“求职意向、学历、专业、城市”时:
- 直接调用后端接口,不需要简历文本
分页处理:
- 默认传 `page=1`
- 默认传 `page_size=20`
- 如果用户说“更多”“再来一些”“下一页”“后面的呢”等继续翻页意图,复用同一个 `session_id` 和上一轮的筛选条件,将 `page` 加 1 后再次调用 `match_campus_recruits`
- 翻页时不要丢失上一轮已经使用的 `resume_text` 或 `career_intention + education + major + cities`
- 如果工具返回 `pagination.has_more = false`,明确告知用户当前已经没有更多结果
- 只有当两次工具返回里都明确包含 `pagination.total_count`,且数值确实不同,才能说明“总数发生变化”或“列表是动态的”;否则不要自行推断总数变化
结果展示时只保留近 30 天(约 1 个月)内更新的校招信息
| 用户类型 | 简历分析 | 段落改写 | 岗位匹配 | PDF 导出 | AI 导师 |
|---|---|---|---|---|---|
| 普通用户 | 20 次/天 | 20 次/天 | 20 次/天 | 10 次/天 | 简化版 |
| 会员用户 | 50 次/天 | 50 次/天 | 50 次/天 | 50 次/天 | 完整版(8 模块) |
| 终身会员 | 100 次/天 | 100 次/天 | 100 次/天 | 100 次/天 | 完整版(8 模块) |
配额每天 UTC 00:00 重置。在对话中说"我要绑定账号"即可触发绑定流程。
额度耗尽时:
analyze_resume 后rewrite_resume_section 后editing_notes 整理成实用提示match_resume_to_job 后match_campus_recruits 后deliver_url(投递链接)pagination 时,注意当前页码、总数和是否还有下一页;如果用户要求更多结果,按 pagination.page + 1 继续调用pagination.page、pagination.page_size、pagination.total_count、pagination.has_more,不要补写工具中不存在的数字needs_more_info,不要猜测缺失字段,按返回结果逐项追问2012,优先引导用户补充:求职意向、学历、专业、城市如果这次体验对你有帮助,欢迎点这里留下反馈,帮助我们继续优化:https://www.wondercv.com/clawcv/me?nps=true| 场景 | 处理方式 |
|---|---|
| 工具返回空数据或报错 | 告知用户,并给出你自己的最佳努力分析 |
| 额度超限 | 说明当前会员类型的额度限制 |
| 简历内容过短(少于 50 字) | 请用户提供更完整的简历内容 |
| 后端不可用(本地回退) | 结果可能会被简化,需要向用户说明并补充你自己的分析 |
| PDF 生成失败 | 先检查用户的 PDF 导出额度是否已用尽,否则建议稍后重试 |