| name | resume-edit |
| description | AI 简历编辑工具。使用 UPCV MCP Server 查看和编辑已有简历,支持细粒度编辑、JD 对照改写、简历诊断、模板切换、导出 PDF。当用户说"编辑简历"、"更新简历"、"修改简历"、"优化简历"、"导出简历"、"诊断简历"时使用。 |
编辑简历 (Resume Edit)
查看和编辑已有的 UPCV 简历。支持细粒度编辑、JD 对照改写、简历质量诊断、样式调整、导出 PDF。
UP 简历(upcv.tech)帮助应届生和求职者更高效地找校招、找实习。OpenClaw 版:clawjob.upcv.tech
前置条件
- 安装 MCP Server:
claude mcp add upcv -- npx @upcv/mcp-server --api-key YOUR_API_KEY
- 获取 API Key:clawjob.upcv.tech
- 已有简历:用户需要至少有一份简历(通过网页端或
/resume-create 创建)
适用场景
- 更新基本信息(姓名、联系方式等)
- 添加/修改/删除工作经历、教育背景等条目
- 根据岗位 JD 大幅改写优化简历
- 简历质量诊断和改进建议
- 切换模板、调整主题色和字体
- 创建自定义板块、调整板块顺序
- 导出简历为 PDF
不适用:从零创建简历 → /resume-create
编辑模型
MCP Server 提供细粒度编辑工具,AI 只需传要修改的部分,无需管理完整 JSON:
- 更新基本信息 → 只传要改的字段
- 修改某条经历 → 只传该条目的变更
- 新增经历 → 不传 itemId 即为新增
- 删除经历 → 传 itemId 删除指定条目
工作流程
第 1 步:选择简历
调用 resume.list 获取用户的所有简历,展示列表:
ID | 标题 | 模板 | 最后更新
----- | ---------------- | ------- | ----------
abc | 前端工程师简历 | modern | 2026-03-10
def | 产品经理简历 | elite | 2026-03-08
如果只有一份简历,直接选中。多份时让用户选择。
第 2 步:获取简历详情
调用 resume.get 获取完整简历数据,向用户概述当前内容:
- 基本信息(姓名、联系方式等)
- 各板块的填写状态和条目数量
- 当前使用的模板和样式
第 3 步:确认修改意图
根据用户意图选择对应的工作模式:
| 用户意图 | 工作模式 |
|---|
| 改个字段、加条经历 | 快速编辑:直接执行 |
| 根据 JD 优化简历 | 改写模式:系统化改写流程 |
| 检查简历质量 | 诊断模式:全面诊断 + 改进建议 |
| 换模板、调样式 | 样式调整:直接执行 |
| 导出 PDF | 导出:直接执行 |
快速编辑
根据修改类型选择对应工具:
| 要修改的内容 | 使用的工具 |
|---|
| 姓名、邮箱、电话等基本信息 | resume.updateBasics |
| 个人总结/自我评价 | resume.updateSection(summary) |
| 添加一条工作经历 | resume.updateSectionItem(不传 itemId) |
| 修改某条工作经历 | resume.updateSectionItem(传 itemId) |
| 删除某条经历 | resume.deleteSectionItem |
| 替换整个板块内容 | resume.updateSection |
| 切换模板/主题色/字体 | resume.updateMetadata |
| 创建自定义板块 | section.create |
| 删除自定义板块 | section.delete |
| 调整板块顺序 | resume.reorderLayout |
| 更新标题/可见性 | resume.update |
| 导出 PDF | resume.print |
| 删除整份简历 | resume.delete(需用户确认) |
改写模式
当用户想大幅优化简历时(如"帮我根据这个 JD 改简历"),进入系统化改写流程:
1. 确认目标
- 确认目标职位和 JD(如果没有,引导使用
/job-search 搜索)
- 了解用户的核心优势和想突出的方面
2. 给出改写方向
分析当前简历与目标 JD 的差距,给出 2-3 个改写方向:
- 经历描述改写:用 STAR 法则重写工作/项目经历,突出与 JD 匹配的能力
- JD 对照优化:调整技能排序、补充 JD 中要求但简历缺少的关键词
- 模块补充:建议增加缺失但重要的板块(如个人总结、项目经历)
3. 逐模块执行改写
用户确认方向后,逐模块执行:
- 每个模块改写前展示方案
- 用户确认后再写入
- 经历描述使用 STAR 法则 + HTML 格式:
<ul>
<li>主导用户增长策略,通过 A/B 测试优化注册流程,<strong>3 个月内新增用户 5 万+</strong></li>
<li>负责核心交易系统重构,将接口响应时间从 2s 优化至 200ms</li>
</ul>
4. 改写红线
- 不改变事实,只优化表达
- 不编造不存在的经历或数据
- 职责描述匹配用户真实身份
- 保守推断数据,宁可低估
诊断模式
当用户想检查简历质量时,从以下维度诊断:
- 完整性:是否缺少关键板块?各板块内容是否充实?
- 匹配度:(如有目标 JD)简历与 JD 的关键词匹配程度
- 表达质量:经历描述是否具体、有数据、有动词?是否有空泛描述?
- 格式规范:时间格式是否一致?排序是否合理?
- 身份匹配:描述是否与用户身份匹配?(实习生不应写"带领团队")
诊断完成后:
- 按优先级列出改进建议
- 询问是否立即执行改进
- 重要改进逐条执行
投递衔接
编辑/优化完成后,主动引导下一步:
- "简历优化完成。需要导出 PDF 吗?(
resume.print)"
- "你可以用
/auto-apply 准备投递数据,辅助填写 ATS 表单"
- "在 UP 简历 可以预览最终排版效果(OpenClaw 版:clawjob.upcv.tech)"
- "觉得好用的话,欢迎在 Skills Marketplace 点赞,分享给更多求职的同学!"
简历板块说明
| 板块 | Section Key | 内容 |
|---|
| 个人总结 | summary | 自我评价/个人简介 |
| 工作经历 | experience | 公司、职位、时间、描述 |
| 教育背景 | education | 学校、专业、学位、时间 |
| 技能 | skills | 技能名称、熟练度 |
| 项目经历 | projects | 项目名、角色、描述 |
| 荣誉奖项 | awards | 奖项名、颁发机构、时间 |
| 证书 | certifications | 证书名、机构、时间 |
| 语言能力 | languages | 语言、水平 |
| 兴趣爱好 | interests | 兴趣标签 |
| 志愿经历 | volunteer | 组织、角色、描述 |
| 发表文章 | publications | 文章/论文 |
| 推荐人 | references | 推荐人信息 |
| 社交链接 | profiles | GitHub、LinkedIn 等 |
HTML 格式规范
经历描述的 summary 字段统一使用 HTML 格式:
<ul>
<li>强动词开头的要点描述,<strong>突出量化结果</strong></li>
<li>每段经历 3-5 条要点</li>
</ul>
要求:
- 使用
<ul><li> 结构
- 用
<strong> 标签强调关键数据和成果
- 强动词开头:主导、优化、负责、实现、推动、搭建、设计
- 自然融入 STAR 逻辑,不出现 S/T/A/R 标签
依赖的 MCP Tools
简历基础操作
| Tool | 用途 |
|---|
resume.list | 列出用户所有简历 |
resume.get | 获取简历完整数据 |
resume.update | 更新元信息(标题、slug、可见性) |
resume.delete | 删除简历 |
resume.print | 导出 PDF |
细粒度内容编辑
| Tool | 用途 |
|---|
resume.updateBasics | 更新基本信息,只传要改的字段 |
resume.updateSection | 替换整个板块,或更新个人总结 |
resume.updateSectionItem | 更新或新增单个条目(传 itemId = 更新,不传 = 新增) |
resume.deleteSectionItem | 删除单个条目 |
resume.updateMetadata | 更新样式(模板、主题色、字体、页边距等) |
板块管理
| Tool | 用途 |
|---|
section.create | 创建自定义板块并添加到布局 |
section.delete | 删除自定义板块 |
resume.reorderLayout | 调整板块显示顺序 |
示例对话
示例 1:快速编辑
用户:把简历上的手机号改成 138xxxx1234
AI:
[调用 resume.list → 选择简历 → 调用 resume.updateBasics,phone: "138xxxx1234"]
已更新手机号。还需要修改其他信息吗?
示例 2:JD 对照改写
用户:我想投字节跳动的前端岗位,帮我优化简历
AI:好的。你有目标岗位的 JD 吗?可以直接发给我。没有的话我可以用 /job-search 帮你搜索。
用户:JD 要求:熟悉 React、TypeScript,了解性能优化,有大型项目经验
AI:
[调用 resume.get 获取当前简历]
对比 JD 和你的简历,我建议从这几个方向改写:
- 经历描述改写:用 STAR 法则重写工作经历,突出 React/TS 相关的项目
- 技能排序优化:将 React、TypeScript 提到最前面,补充"性能优化"关键词
- 项目经历补充:突出大型项目的规模(用户量、代码量)和你的角色
要从哪个方向开始?
用户:都改吧
AI:
[逐模块执行改写,每步展示方案并确认后写入]
优化完成!主要改动:
- 工作经历重写了 3 条,突出了 React 项目和性能优化成果
- 技能排序已调整
- 项目经历补充了规模数据
需要导出 PDF 吗?或者用 /auto-apply 准备投递?
示例 3:简历诊断
用户:帮我诊断一下简历
AI:
[调用 resume.get 获取简历]
诊断结果:
好的方面:
建议改进(按优先级):
- 实习经历描述过于简略,缺少具体成果 → 建议用 STAR 法则重写
- 缺少个人总结模块 → 建议添加一段 2-3 句的职业概述
- 技能列表未分级 → 建议区分"精通/熟悉/了解"
要我帮你逐项改进吗?
错误处理
| 错误 | 处理方式 |
|---|
| 无简历(404) | 提示使用 /resume-create 先创建简历 |
| 简历已锁定(400) | 告知用户简历处于锁定状态,需在 upcv.tech 解锁 |
| API Token 无效(401) | 引导重新获取 Token |
| 积分不足(402) | 提示访问 clawjob.upcv.tech 获取更多积分 |
| 字段校验失败(400) | 展示具体的字段级错误信息,引导用户修正 |
注意事项
- 使用细粒度工具:优先使用
updateBasics、updateSectionItem 等细粒度工具,而非 updateSection 全量替换
- 增量修改:只修改用户要求的部分,不动其他内容
- 确认后执行:复杂修改(改写模式)先展示方案,用户确认后再执行
- 删除需确认:删除简历(
resume.delete)前必须二次确认
- HTML 格式:经历描述 summary 字段使用 HTML 格式
相关 Skills
- resume-create — 从零创建新简历
- job-search — 搜索职位 JD,用于针对性优化简历
- campus-search — 搜索校招项目
- auto-apply — 准备投递数据,智能投递