WangShenOL

WangShenOL

Enables AI clients to control a job application assistant that manages resume profiles, recommends SOE-first companies, tracks applications, scans jobs, and smart-fills ATS forms in a built-in browser.

Category
访问服务器

README

网申求职半自动AI助手

LLM 驱动的求职投递工具,提供 EXE 桌面客户端(内置浏览器 + 智能填表)与 CLI 全自动模式 两种使用方式:解析简历 -> 推荐公司 -> 直达官网投递渠道 -> 内置浏览器一键填表 / 全自动提交。

下载安装

从 Releases 下载 auto-apply-Setup-x.x.x.exe(即「网申求职半自动AI助手」安装向导),双击按常规安装向导完成安装(欢迎 → 选择目录 → 安装 → 完成):

  • 默认安装到用户目录(%LocalAppData%\Programs),无需管理员权限
  • 自动创建开始菜单与桌面快捷方式,支持完整卸载
  • 支持 Windows 10/11 64 位

界面预览

首次启动 —— 选择工作模式(MCP 模式 = 外部 AI 控制、无需 API Key;API 模式 = 软件内置 AI;之后可随时在「设置」中更改):

首次启动模式选择

六大功能页面:

简历档案 公司推荐
简历档案页 公司推荐页
导入 PDF/Word 用 AI 解析为结构化档案,手动编辑经历与技能 按专业匹配度推荐公司(国企优先),权重可在设置中调节
职位扫描 内置浏览器
职位扫描页 内置浏览器页
从 ATS 职位源抓取在招职位并打分排序 打开官网投递页,「智能填写」一键注入简历内容
投递记录 设置
投递记录页 设置页
所有申请的 SQLite 记录汇总 语言/工作模式/模型 API/企查查/推荐偏好统一管理

桌面客户端(推荐)

PySide6 + QtWebEngine 构建的桌面应用,六大页面:

页面 功能
简历档案 导入 PDF / Word(.docx) 用 AI 解析为结构化档案;手动编辑教育/实习/工作/项目经历;技能/语言/兴趣爱好/获奖为逐项输入框(流式排列,可增删);个人评价等全部可选
公司推荐 基于专业名称匹配度推荐公司(内置 62 家公司库,专业/技能匹配 + 国企优先加权,权重可在设置中调节),支持按地区/企业性质(国企/民企/外企/合资)/规模筛选与关键词搜索,筛选即时更新、结果缓存秒开;「企查查搜索」从企查查拉取公司,每张公司卡片可直达企查查查看工商/规模/性质信息
职位扫描 从配置的 ATS 职位源抓取在招职位,AI 打分排序
内置浏览器 打开投递渠道(必应搜索:地址栏输入关键词即搜),「智能填写」一键注入预置简历内容:文本/下拉/单选/复选/文件上传全自动,填写后人工检查提交(接管式,避免全自动风险)
投递记录 所有申请的 SQLite 记录汇总
设置 中英文切换、工作模式(MCP / API)、模型 API(拉取模型后下拉选择,按厂商分组、可输入过滤)、企查查 API(可选)、推荐偏好权重(专业匹配/技能匹配/国企优先)、MCP 服务接入配置

运行

pip install -r requirements.txt
python main_gui.py

打包 EXE / 安装包

# 方式一:绿色版(onedir,拷贝整个文件夹分发)
pyinstaller autoapply.spec --noconfirm
# 产物: dist/网申求职半自动AI助手/网申求职半自动AI助手.exe

# 方式二:安装向导安装包(推荐分发方式)
powershell -ExecutionPolicy Bypass -File build_installer.ps1
# 产物: installer/网申求职半自动AI助手-Setup-x.x.x.exe(Inno Setup 常规安装向导)
# 需安装 Inno Setup 6 + Languages/ChineseSimplified.isl 中文语言包

EXE 首次运行会弹出模式选择对话框(MCP / API),并在同目录生成 config.yaml(从 config.example.yaml 复制),数据存于 data/。

MCP 模式(外部 AI 控制)

软件同时是一个 MCP server,可被 Codex / Claude 等 AI 客户端接管(无需 API Key):

网申求职半自动AI助手.exe --mcp    # stdio JSON-RPC,协议为 Model Context Protocol

提供 8 个工具:get_profile / set_profile(读写简历档案)、recommend_companies(规则推荐,配置 Key 后 AI 优先)、search_companies、record_application / list_applications(投递记录)、open_url / smart_fill(GUI 运行中实时联动内置浏览器打开网页并智能填写)。接入命令与 Codex / Claude 配置见软件「设置 → MCP 服务」页,一键复制。

智能填写说明

  • 在任意 ATS 申请表页面(Greenhouse/Lever/Workday/通用表单)点击「⚡ 智能填写」
  • 规则引擎:姓名/邮箱/电话/地点/链接/EEO 隐私选项/工作许可/薪资等标准字段直接映射
  • AI 引擎(配置 API Key 后):自定义问答题由 LLM 基于简历生成
  • 文件上传:点击页面上传按钮时自动附加预置的简历文件
  • 填充字段带绿色描边高亮,人工检查后手动提交;「记录投递」按钮将申请写入投递记录

CLI 模式(全自动)

resume.pdf ──build-profile──> profile.json
                                  │
greenhouse/lever/workday API ──> 职位列表 ──> LLM 打分排序 ──> 逐个投递
                                                                  │
                                        Playwright + LLM 表单填充引擎(含验证码人工介入、截图留档)
                                                                  │
                                              SQLite 投递记录 / 答案缓存 / 求职信缓存
playwright install chromium
copy config.example.yaml config.yaml   # 填入目标公司 board token 等
$env:OPENAI_API_KEY="sk-..."           # 或 DeepSeek/通义等任意 OpenAI 兼容 key

python main.py build-profile --resume data/resume/resume.pdf
python main.py scan                    # 只看匹配结果,不投递
python main.py run --dry-run           # 填表+截图但不提交,先检查效果
python main.py run                     # review 模式:每份确认后提交
python main.py run --auto --max 5      # 全自动,本轮最多 5 份
python main.py status                  # 查看投递记录

测试

python test_form_fill_js.py   # 表单填充引擎(JS注入,GUI核心)
python test_pipeline.py       # CLI 管道(职位抓取+Playwright填表)

配置要点(config.yaml)

键 说明
llm.* 任意 OpenAI 兼容端点(base_url/model/api_key_env)
sources.greenhouse_boards Greenhouse board token,如 openai;URL 中 boards.greenhouse.io/<token>
sources.lever_companies Lever 公司名,如 stripe
sources.workday_sites Workday 招聘站完整 URL(实验性)
search.keywords / locations 标题/地点粗筛
apply.min_match_score LLM 打分低于该值不投
apply.daily_limit 每日提交上限
apply.mode review(逐个确认)/ auto
apply.documents.resume 上传用的简历文件路径

扩展新 ATS 适配器

在 apply/adapters.py 的 ADAPTERS 注册一个类,实现 apply(page, orch, job): 导航到 job.apply_url 后调用 run_application(page, orch, job, submit_selectors, success_patterns, next_selectors) 即可复用通用填充引擎。未知站点自动走 GenericApply。

行为与合规说明

  • 验证码:不绕过。有头模式会暂停等你手动解决;无头模式直接跳过并记录。
  • 限速:每次投递之间随机等待 delay_min/max_seconds,并有每日上限。
  • dry-run:正式使用前先用 --dry-run 检查填表质量,所有关键步骤截图存于 outputs/screenshots/。
  • 自动化提交可能违反部分网站服务条款,请仅用于本人真实求职、控制频率,并遵守目标网站规则。
  • EEO/人口统计类问题默认选择最隐私保护的选项或跳过。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选