TTokenySpace
返回 Skills 列表

Offer-Rain

把 JD 发给 Agent,让他帮你投递简历

#中文
0

安装到 Tokeny(自动)

下载 ZIP
安装"offer-rain"技能
技能信息:
- 名称: Offer-Rain
- 标识: offer-rain
- 描述: 把 JD 发给 Agent,让他帮你投递简历
- 版本: 1.0.0
下载地址:
https://www.tokeny.space/api/skills/offer-rain/download
继续

复制上方内容到 Tokeny 客户端并在会话中发送即可自动安装;也可直接 下载 ZIP并拖动到技能窗口安装。

SKILL.md

初始检查

如果用户配置文件存在且包含以下字段,则跳过第一步步骤

  • smtp_server: SMTP服务器地址
  • smtp_port: SMTP服务器端口
  • sender: 发件人邮箱地址
  • password: 发件人邮箱密码
  • attachment_path: 简历附件文件路径

单次投递步骤

第一步:配置用户信息

填入 用户配置文件 中的 sender, password, 和 attachment_path 字段。

  1. 在本文件所在目录下创建一个名为 user.json 的文件。如果已经存在,请直接编辑该文件。
  2. 直接填入以下字段:
{
    "smtp_server": "smtp.163.com",
    "smtp_port": 465,
}
  1. 询问用户关于以下字段的信息,并将其添加到 user.json 文件中:
    1. name: 字符串类型,用户的姓名,配置邮件主题/正文时可使用。
      • 询问语句:请告诉我您的姓名。
    2. sender: 字符串类型,用户的邮箱地址,并判断是否为有效的邮箱格式以及是否为 163 邮箱,如果否,则提示用户仅支持 163 邮箱,并中断后续流程。
      • 询问语句:请告诉我您的邮箱地址(仅支持 163 邮箱)
    3. password: 字符串类型,用户的邮箱授权码。
    4. attachment_path: 字符串类型,简历附件文件的路径。
      • 询问语句:请告诉我您的简历附件文件路径。
      • 验证:检查文件是否存在,如果不存在,则提示用户重新输入,直到输入的路径有效为止。
      • 注意:写入 user.json 文件时,确保路径使用双反斜杠 \\ 或单正斜杠 /,以避免路径解析错误。

注意: 请确保在配置用户信息时,user.json 文件的格式正确,且所有字段都已填写完整。

用户配置文件示例:

{
    "smtp_server": "smtp.163.com",
    "smtp_port": 465,
    "sender": "your_email@163.com",
    "password": "your_email_password",
    "attachment_path": "path/to/your/resume.pdf"
}

第二步:配置邮件信息

识别招聘启事/投递要求,配置邮件信息。

识别招聘启事/投递要求:

  • 如果用户提供了较为详细的招聘启事/投递要求(如招聘方邮箱、邮件主题命名要求、邮件正文内容等),则根据这些要求配置相关的邮件信息,即如下字段:

    • receiver: 招聘方邮箱地址
    • subject: 邮件主题,根据投递要求进行编写
    • body: 邮件正文内容,根据投递要求进行编写,默认为:“您好,我是XXX,现将我的简历发送给您,请查收,谢谢!”
    • attachment_name: 邮件附件命名,根据投递要求进行编写
  • 如果未识别到以上字段的信息,则询问用户关于邮件信息的详细要求,并根据用户的回答配置邮件信息:

    • 询问语句
      1. 请告诉我招聘方的邮箱地址。
      2. 请告诉我邮件主题。
      3. 请告诉我邮件正文内容,或者是否采取默认的“您好,我是XXX,现将我的简历发送给您,请查收,谢谢!”。
      4. 请告诉我简历的命名规范。

根据招聘启事/投递要求,配置邮件信息

  1. 创建一个 XXX.json 文件,其中 XXX 为招聘方的公司名称或职位名称,放在 ./log/YYYY-MM-DD/ 目录下,确保文件名唯一且具有描述性。
  2. 识别招聘启事/投递要求后,参考 邮件信息配置示例 填写邮件信息,包括 receiver, subject, attachment_namebody 字段。
    • receiver: 字符串类型,招聘方的邮箱地址。
    • subject: 字符串类型,邮件主题。
    • body: 字符串类型,邮件正文内容。
    • attachment_name: 字符串类型,邮件附件命名
  3. 继承 用户配置文件 中的 smtp_server, smtp_port, sender, passwordattachment_path 字段。

邮件信息配置示例:

{
    "receiver": "recruiter@company.com",
    "subject": "XXX-清华大学-大四",
    "body": "您好,我是XXX,现将我的简历发送给您,请查收,谢谢!",
    "smtp_server": "smtp.163.com",
    "smtp_port": 465,
    "sender": "your_email@163.com",
    "password": "your_email_password",
    "attachment_path": "path/to/your/resume.pdf",
    "attachment_name": "XXX-清华大学-大四"
}

第三步:自检(强制)

逐字段核查邮件信息配置,必须原样 quote 出 JD 中对应的原文,禁止凭印象判断:

  • receiver
    • JD 原文:<直接 quote JD 中关于投递邮箱的句子>
    • 配置内容:<当前 receiver 值>
    • 是否命中:[ ✅ / ❌ ] + 一句差异说明(邮箱域名是否一致、是否存在拼写/别名偏差)
  • subject
    • JD 原文:<直接 quote JD 中关于邮件主题的要求>
    • 配置内容:<当前 subject 值>
    • 是否命中:[ ✅ / ❌ ] + 一句差异说明(模板是否对齐、命名占位符是否已被正确替换)
  • body
    • JD 原文:<直接 quote JD 中关于邮件正文的要求>
    • 配置内容:<当前 body 值>
    • 是否命中:[ ✅ / ❌ ] + 一句差异说明(JD 列举的要素是否全部出现、是否漏掉"最早到岗日 / GitHub 链接"等硬性要求)
  • attachment_name
    • JD 原文:<直接 quote JD 中关于简历命名的要求>
    • 配置内容:<当前 attachment_name 值>
    • 是否命中:[ ✅ / ❌ ] + 一句差异说明(命名格式是否一致、是否含 \ / : * ? " < > | 等 OS 非法字符)

Fail-stop 规则:自检任意一项为 ❌,必须回到第二步修正配置,禁止进入第四步(发送前用户确认)

第四步:发送前请求用户确认

将邮件信息配置文件的以下内容展示给用户,并请求用户确认是否发送邮件。必须得到用户的明确确认,才能继续发送邮件。

  • 招聘方邮箱地址(receiver
  • 邮件主题(subject
  • 邮件正文内容(body
  • 简历附件文件路径(attachment_path
  • 简历附件文件命名(attachment_name

第五步:发送邮件

运行 scripts/send_email.py 脚本,使用配置好的邮件信息发送邮件。

python scripts/send_email.py --config ./log/YYYY-MM-DD/XXX.json

第六步:汇报

根据脚本的执行结果,向用户汇报邮件发送是否成功。

批量投递

当用户需要批量投递简历时,则按照单次投递的操作步骤,针对每个招聘方创建一个独立的邮件信息配置文件,编写好后,交给用户一起确认,用户确认后,依次调用 scripts/send_email.py 脚本发送邮件,并最终向用户汇报每封邮件的发送结果。

重要:需将每份投递对应的 receiver, subject, body, attachment_path, attachment_name 完整发给用户确认。

用户信息配置

配置修改

当用户需要修改已配置的用户信息时,直接编辑 用户配置文件 中的相关字段即可。

记忆化

每次投递时,如果第一次在投递要求中识别出了以下信息且用户已提供,则询问用户是否希望将这些信息记忆化,以便下次投递时直接使用:

  • School: 用户所在学校名称
  • Major: 用户所学专业名称。
  • Graduation Year: 预计毕业年份。
  • Graduation Month: 预计毕业月份。
  • Current Grade: 当前所在年级(本科/硕士/博士/大一/硕一/博一)。
  • Others

评论

加载中…