Featured image of post 用 OpenCode 编排 Agent Skills,打造智能简历优化流水线

用 OpenCode 编排 Agent Skills,打造智能简历优化流水线

摘要:在 Agentic AI 时代,开发者的核心能力正在从单纯的 Coding 转向 Workflow Orchestration。本文将演示如何利用 OpenCode 作为核心运行环境,挂载 Anthropic 的标准 PDF 处理能力和 ComposioHQ 的简历定制 Skill,实现“读取 JD -> 解析简历 -> 智能生成针对性新简历”的自动化闭环。


1. 前言:从 “How to Code” 到 “How to Orchestrate”

作为技术从业者,我们经常面临需要处理非结构化数据的场景。以前我们可能需要写一个 Python 脚本,引入 PyPDF2,写正则提取关键词,再调 LLM 接口。

但在 Agent 时代,这种“胶水代码”正在被 Agent Skills 所取代。我们只需要搭建一个 Runtime(运行环境),然后把不同的 Skill(技能)像插件一样挂载上去。

今天的主角是 OpenCode —— 一个以代码为中心的开源 AI Agent,它不仅能写代码,更拥有在本地终端执行命令、管理文件系统的能力。

本文将手把手带你配置一套本地工作流,让 OpenCode 变成你的求职助手。


2. 环境准备:OpenCode 安装与初始化

OpenCode 是我们的大脑和执行器。它的设计哲学非常贴合 CLI 爱好者的习惯。

参考官方文档 opencode.ai/docs,我们可以快速完成安装。

2.1 安装

如果你使用的是 macOS 或 Linux,推荐使用官方的一键安装脚本,快速且无痛:

curl -fsSL https://opencode.ai/install | bash

如果你是 Node.js 生态用户,也可以通过 npm 全局安装:

npm install -g opencode-ai

2.2 验证安装与初始化

安装完成后,在终端输入以下命令验证:

opencode --version

在你的项目工作目录下(建议新建一个 resume-agent 文件夹),运行 opencode 即可进入交互模式。但在进入之前,我们需要先准备好它的“武器库”。


3. 挂载 Agent Skills

为了完成“读 PDF”和“改简历”的任务,我们需要引入两个外部 Skill。OpenCode 的强大之处在于它可以直接理解文件系统中的 Skill 定义。

3.1 引入 PDF 处理能力 (Anthropic Skills)

我们需要让 OpenCode 具备“阅读” PDF 文件的能力。Anthropic 官方在 GitHub 上提供了一套非常标准的 Skill 集合。

步骤:

  1. 在项目根目录下创建一个 skills 目录用于统一管理。
  2. 克隆 Anthropic 的 skills 仓库(我们只需要其中的 pdf 部分)。
mkdir -p skills

# 克隆官方仓库到临时目录
git clone https://github.com/anthropics/skills.git temp_skills

# 将 pdf skill 移动到我们的 skills 目录
mv temp_skills/skills/pdf skills/pdf

# 清理临时文件
rm -rf temp_skills
  1. 安装依赖:进入 skills/pdf 目录,查看代码或 requirements.txt。通常这个 Skill 依赖于 pypdf。我们需要确保当前环境安装了它,以便 OpenCode 调用 Python 脚本时不会报错:
pip install pypdf

3.2 引入简历定制专家 (Resume Tailor Skill)

接下来,我们需要一个懂得如何根据 JD 修改简历的“专家”。我们选用 ComposioHQ 收录的 tailored-resume-generator

步骤:

  1. 同样的操作逻辑,从 GitHub 获取 Skill:
# 克隆 Awesome Claude Skills
git clone https://github.com/ComposioHQ/awesome-claude-skills.git temp_composio

# 将 tailored-resume-generator 移动到 skills 目录
mv temp_composio/tailored-resume-generator skills/resume-tailor

# 清理
rm -rf temp_composio
  1. 确认配置:检查 skills/resume-tailor 目录。这个 Skill 通常包含精心设计的 Prompt 模板或 Python 脚本,指导 Agent 如何进行文本比对和重写。

4. 实战演示:自动化生成简历

万事俱备。现在你的项目目录结构应该如下所示:

.
├── Job Descriptions.pdf      <-- 目标职位的 JD (输入)
├── resume.pdf                <-- 你的原始简历 (输入)
├── skills/
│   ├── pdf/                  <-- 负责读取 PDF 内容
│   └── resume-tailor/        <-- 负责逻辑推理和改写

4.1 启动 OpenCode

在项目根目录下运行:

opencode

4.2 发送编排指令 (The Orchestration Prompt)

在 OpenCode 的交互界面中,我们输入以下 Prompt。注意我们需要显式地让 OpenCode 关注我们的 Skill 目录(使用 @context 指令),以便它能理解如何使用这些工具。

@context ./skills/pdf
@context ./skills/resume-tailor

任务:请作为我的职业顾问,为我生成一份针对特定职位的 Markdown 格式新简历。

输入文件:
1. 当前目录下的 `Job Descriptions.pdf` (目标职位)
2. 当前目录下的 `resume.pdf` (我的背景)

请执行以下 Agentic Workflow:

1. **信息提取 (利用 pdf skill)**   - 使用 pdf skill 读取并提取 `Job Descriptions.pdf` 中的核心技能要求、加分项和软技能。
   - 读取 `resume.pdf`,解析我的教育背景、工作经历和项目经验。

2. **差距分析 & 策略制定 (参考 resume-tailor)**   - 对比两份文档。找出我经历中与 JD 高度匹配的 "Highlights"。
   - 识别 JD 中提到但我简历中描述不够突出的 "Gaps"。

3. **内容重写 (Tailoring)**   - 生成一份新的 Markdown 简历。
   - **原则**:保持经历真实性,但调整措辞 (Rephrasing) 以匹配 JD 的关键词风格。
   - **操作**:将最相关的项目经验前置;在“技能列表”中优先列出 JD 要求的具体技术栈。

4. **输出**   - 将最终结果写入当前目录下的 `Tailored_Resume.md` 文件。

4.3 观察执行过程

你会看到 OpenCode 开始自主规划任务:

  1. 它会编写一段 Python 代码(通常是临时的)调用 skills/pdf 中的脚本去解析两个 PDF 文件。
  2. 它会将解析出的文本内容放入 LLM 的上下文窗口。
  3. 它会根据 resume-tailor 的逻辑进行推理,对比 JD 和简历。
  4. 最后,它会生成 Markdown 内容并调用文件写入工具保存为 Tailored_Resume.md

5. 总结与思考

这个案例虽然简单,但它展示了 Local-First AI 的两个核心优势:

  1. 隐私安全:你的简历(包含电话、邮箱)和 JD 都没有上传到第三方 SaaS 平台,所有的 PDF 解析都在本地完成,但是解析后的文本作为LLM的prompt被发送给LLM了,仍然有一定的风险,最好手动在老resume里把
  2. 可组合性 (Composability):我们没有为“解析 PDF”写一行代码,也没有为“怎么改简历”写复杂的 Prompt,而是通过组合社区现有的 Best Practice (Skills) 完成了任务,这个是最大的利好。

对于一名全栈工程师或架构师来说,学会 使用 OpenCode 编排 Skills,将是 AI 时代提升效率的关键杠杆。

By 大可出奇迹