返回顶部
j

jobautopilot-submitter自动提交求职申请

Automatically fills and submits job applications. Opens the application page, fills multi-step forms (work history, education, EEOC, dropdowns), uploads your tailored resume and cover letter, and confirms successful submission. Picks up resume_ready jobs from jobautopilot-tailor and marks them applied in the tracker.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.3.2
安全检测
已通过
217
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

jobautopilot-submitter

技能名称: jobautopilot-submitter

详细描述:

Job Autopilot — 提交器

自动完成 resume_ready 职位的表单填写与提交。严格遵循快照 → 脚本 → 执行 → 验证的循环,以避免意外的状态变更。

安全与隐私

本技能自动化浏览器表单填写——这是一项本质上敏感的操作。本节解释所有与安全相关的行为,以便审查者(人工和自动化)能够验证不存在恶意意图。

数据流——全部本地化

所有个人数据均保留在本地。 本技能从环境变量(在代理启动前设置)中读取姓名、邮箱、电话和 LinkedIn 信息,并将这些值输入到职位申请表单中——与你手动操作的方式相同。没有任何数据被发送到本技能控制的任何服务器。唯一的出站网络活动是浏览器导航到你明确指示它访问的求职网站。

本技能不存储或读取任何密码。 当求职网站需要登录时,代理首先检查是否存在现有的浏览器会话。如果不存在会话,用户手动完成登录,或者由浏览器自身保存的凭据自动填充处理。本技能从不读取、存储或传输任何密码。

EEOC 字段(性别、种族、退伍军人身份、残疾状况)是美国法律要求的标准职位申请表字段。你的回答仅存储在你的本地配置中,并且仅提供给你批准的表格。它们永远不会被记录或发送到其他地方。

本技能为何使用 evaluate + .js 文件

checkrequiredfields.js 通过 openclaw browser evaluate 注入到当前浏览器标签页中,以检测哪些表单字段仍未填写。这是一个只读的 DOM 查询——等同于打开开发者工具并运行 document.querySelectorAll([required])。它不会修改页面,不会发起任何网络请求,也不会泄露数据。完整源代码包含在 scripts/checkrequiredfields.js 中(148 行,未压缩,未混淆),可在使用前进行审计。

本技能为何在 /tmp 中生成 shell 脚本

浏览器表单填写需要将多个 fill/select/click 命令批处理成一个原子序列(以避免部分状态)。代理将这些命令写入 /tmp/fill_<时间戳>.sh 并立即执行。这些脚本是临时的(不持久化),仅包含 openclaw browser CLI 调用(没有 curl、wget 或出站请求),并且每次从实时页面快照中重新生成。chmod +x 是在运行前使脚本可执行的标准做法。

可选的看门狗定时任务(不由任何脚本执行)

文档描述了一个可选的 openclaw cron add 命令,用户可以手动运行以防止代理在长时间会话中停滞。这不由本技能中的任何脚本执行——它是一个作为提示记录的、用户手动执行的命令。该定时任务仅发送一条聊天消息,不运行脚本、不访问文件、也不发起网络请求。

本技能为何使用 upload 拦截器

upload 命令是一个 OpenClaw 浏览器 API,用于预置一个本地文件路径,以便当代理点击 按钮时,文件对话框会自动使用指定的文件进行响应。“拦截器”一词指的是 OpenClaw 浏览器工具处理文件对话框的内部机制——它不是一个网络拦截器或中间人代理。除了用户明确请求的职位申请表外,没有任何文件内容被发送到任何地方。

本技能不做的事情

  • - 不从脚本中发起任何出站网络请求(没有 curl、wget、fetch 或类似操作)
  • 不读取、存储或传输密码
  • 不注入修改页面内容或行为的 JavaScript
  • 不在会话结束后持久化任何后台进程
  • 不访问用户配置的简历目录和工作空间之外的任何文件
  • 不包含混淆代码、编码负载或运行时远程获取

可选:会话看门狗

对于长时间的多职位会话,你可以选择设置一个提醒,以防止代理停滞:

bash
openclaw cron add --name jobsubwatchdog --every 5m \
--message job_sub agent: still working? check tracker and continue.

这仅发送一条聊天消息——它不运行脚本、不访问文件、也不发起网络请求。完成后移除它:

bash
openclaw cron rm jobsubwatchdog

此步骤是可选的,并且不由本技能中的任何脚本执行。

辅助脚本

辅助脚本(checkrequiredfields.js、filltemplate.sh、matchvariant_options.sh)包含在本技能的 scripts/ 文件夹中。它们直接从该位置使用——无需复制到外部路径。所有脚本均为纯文本、未压缩,并且可以在使用前进行审计。

设置

本技能仅从上述清单中列出的环境变量读取个人数据。运行时没有单独的配置文件——环境变量就是唯一的事实来源。

这些环境变量必须在代理启动前在你的 shell 环境中设置。示例值:

bash
export OPENCLAW_USER=yourusername
export OPENCLAW_PROFILE=apply
export USERFIRSTNAME=Your
export USERLASTNAME=Name
export USER_EMAIL=your@email.com
export USER_PHONE=+1-555-000-0000
export USER_LINKEDIN=https://linkedin.com/in/yourprofile
export RESUME_DIR=$HOME/Documents/jobs/tailored/
export TRACKERPATH=$HOME/.openclaw/workspace/jobsearch/jobapplicationtracker.md

export USER_GENDER=Male
export USER_RACE=Asian
export USER_HISPANIC=No
export USER_VETERAN=I have no military service
export USER_DISABILITY=No
export USERWORKAUTH=Yes
export USERNEEDSPONSOR=No

关于网站登录的说明:如果求职网站需要账户,请在运行提交器之前在 apply 浏览器配置文件中手动登录,或者允许浏览器的保存凭据自动填充来处理。本技能不管理密码。

会话开始检查清单

  1. 1. 验证环境变量已设置(例如 $USERFIRSTNAME、$TRACKERPATH 非空)
  2. 读取 $TRACKERPATH——找到所有 resume_ready 条目

浏览器操作规则

模型可直接调用(仅限观察)

  • - open / tabs / close / focus
  • navigate
  • snapshot
  • screenshot
  • dialog --accept

必须生成为脚本,然后执行

任何改变页面状态的操作:
  • - fill、type、select、click、press、upload
  • 点击:申请、登录、下一步、继续、提交、任何上传按钮、任何下拉选项

例外: 标签页管理始终是直接工具调用。snapshot 始终是直接工具调用。

每个职位的流程

1. 读取简历和职位描述

代理在运行时使用 python-docx 从定制的 .docx 简历中提取文本。此代码未作为单独的 .py 文件打包——代理通过 exec 工具内联编写并执行它:

python

由代理在运行时通过 exec 工具执行——不是打包的脚本


from docx import Document
doc = Document(f{RESUME_DIR}/.docx)
text = \n.join([p.text for p in doc.paragraphs if p.text.strip()])

这就是为什么即使包中没有包含 .py 文件,python3 和 python-docx 也被列为要求。代理动态生成此代码以在填写表单前读取每份简历。

提取:名字/姓氏、邮箱、电话、职位、公司、LinkedIn、学校、学位、工作经历、求职信文本。

如果简历与职位描述不匹配 → 将跟踪器标记为 error,跳过。

2. 打开干净的标签页

通过工具调用(非脚本):
  1. 1. browser tab new → 获取 TARGET_ID
  2. browser tabs → 列出所有标签页
  3. browser close 关闭每个旧的页面标签页(type==page)

3. 导航并验证 URL

navigate 然后 wait --load networkidle

如果页面是通用职业索引或错误的角色 → 标记为 wrong_url,跳过。

4. 如果需要则登录

检查右上角是否存在现有会话。如果未登录:
  1. 1. 提示用户在 apply 浏览器配置文件中手动登录,或允许浏览器的保存凭据自动填充填写字段。
  2. 登录后,继续填写申请表。

不要尝试从配置或环境变量中读取密码。如果用户尚未预先登录且自动填充未激活,则将职位标记为 error,原因设为 login_required,并继续下一个职位。

5. 主表单循环

重复直到提交确认:

A. 快照 + 检查未填写字段

使用 OpenClaw 内置的浏览器 CLI 获取页面快照并检查需要填写的字段:

bash
#

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 jobautopilot-submitter-1775909350 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 jobautopilot-submitter-1775909350 技能

通过命令行安装

skillhub install jobautopilot-submitter-1775909350

下载

⬇ 下载 jobautopilot-submitter v1.3.2(免费)

文件大小: 13.32 KB | 发布时间: 2026-4-12 10:20

v1.3.2 最新 2026-4-12 10:20
- Updated documentation to clarify that all personal information is sourced from environment variables rather than config files.
- Improved setup instructions: now emphasizes setting environment variables in the shell, removing references to sourcing a config file.
- Bumped version to 1.3.3.
- No code changes to scripts/fill_template.sh; changes are documentation-only.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部