本地运行的 AI 求职控制台。当前默认平台是 BOSS 直聘,负责职位抓取、筛选、评分、简历匹配、投递、聊天反馈闭环与到手价值核算。
| AI 沟通 | 岗位推荐 |
|---|---|
![]() |
![]() |
| 投递 Pipeline | 简历 AI |
|---|---|
![]() |
![]() |
| 任务监控 |
|---|
![]() |
- 自动连接本机 Edge / Chrome / Chromium(CDP 9222),固定复用登录配置
- 按筛选条件搜索、抓取并解析平台职位
- 按技能、经验、学历计算岗位匹配度
- 自动生成
AUTO_APPLY / REVIEW / IGNORE投递决策 - 自动选择并关联简历,历史投递记录自动补挂简历
- 批量投递打招呼,单职位手动沟通
- 自动输入自定义打招呼语,并通过聊天状态变化复核发送结果
- 打招呼后自动生成并发送简历截图,规避 HR 未回复时不能发附件的限制
- 投递记录自动去重,同一职位只保留一条记录
- 投递前跳过已投递职位,已投递完自动实时搜索新职位
- 聊天会话监控,支持查看和发送消息
- BOSS 聊天反馈自动同步:扫描会话消息,把已回复、面试、Offer、不合适回写为投递漏斗状态
- Cookie 自动备份与恢复
- 看护进程在浏览器异常后自动重试拉起
- 单任务并发锁,重复投递会被拦截
- 重复启动 exe 会自动顶掉旧实例,不产生双看护进程
- 本地控制台和 BOSS 直聘页均只保留一个标签页,后台任务不反复抢焦点
- 投递失败时保留最后一个平台页面,不再关闭浏览器
- 反馈漏斗统计(待处理/已查看/已回复/面试/Offer)与策略建议
- 本地 Web 控制台,默认 http://localhost:3456,采用求职作战台仪表盘,支持投递状态轨道、移动端和键盘焦点
- 结构化简历编辑,支持维护工作/项目/教育经历,并导出 PDF/Word
平台相关逻辑集中在 src/platforms/:
src/platforms/index.js:平台注册表和默认平台src/platforms/boss.js:BOSS 直聘适配器
默认平台通过环境变量控制:
JOB_PLATFORM=boss新平台只需要实现同一个 adapter 接口(页面定位、登录判断、Cookie 备份、抓取器、投递机器人),然后在 src/platforms/index.js 注册。切换平台时修改 JOB_PLATFORM 或 DEFAULT_PLATFORM 一行即可。
- Windows:支持 Edge、Chrome、Chromium,桌面 exe 使用 Node SEA 打包
- macOS / Linux:直接用 Node 运行,自动发现 Chrome / Chromium / Edge
- 可用
BROWSER_PATH显式指定浏览器可执行文件 - 浏览器发现、进程清理、端口检查、打开 URL 均按平台实现,不再依赖 PowerShell 作为唯一路径
- Node.js 18+(ESM)
- puppeteer-core(CDP 控制浏览器)
- tesseract.js(图片 OCR)
- SQLite(
node:sqlite) - 原生 http 服务 + 单页 Web UI
- Node SEA 单文件 exe 打包(Windows)
- Windows 11 / macOS / Linux
- Microsoft Edge、Google Chrome 或 Chromium
- Node.js 18+
- 无需 GPU
安装依赖:
npm install开发模式运行:
npm start运行测试:
npm test浏览器打开 http://localhost:3456
Windows 也可以使用 launcher.ps1 或桌面 exe。首次使用在自动打开的页面扫码登录,Cookie 会自动备份。
双击桌面 求职助手.exe,或使用 launcher.ps1 启动。启动后会自动启动浏览器(Edge/Chrome,独立 profile,不影响日常浏览器)、自动连接,并打开本地控制台。
控制台地址:
http://127.0.0.1:3456
首次使用如果浏览器没有登录 BOSS 直聘,会自动打开扫码页。登录成功后 Cookie 会备份到 portable/data/boss-cookies.json。
进入“任务监控”页面,点击“连接 Edge”或“刷新状态”。状态变为“浏览器已连接”后,才能执行搜索和投递。
在“搜索参数”中填写:
- 关键词:例如
C++ - 城市:例如
北京 - 搜索页数:建议
3
点击“搜索职位”,完成后会显示抓取到的职位数量,并写入本地数据库。
在“投递参数”中设置:
- 城市、区域、关键词
- 最低匹配度
- 投递份数
- 随机延迟范围
- 打招呼语
保持以下选项开启:
- 跳过已投递职位
- 打招呼后发送简历截图
点击“开始投递”。任务会自动打开职位、发送打招呼,并在 BOSS 未回复时直接发送简历截图。
在“聊天与反馈”中设置轮询间隔,可按需开启:
- 自动回复未读新消息
- HR 回复后自动发送简历截图
点击“开始监控”后,系统会持续扫描 BOSS 会话;也可以点击“同步反馈”手动把回复、面试、Offer 等状态写回投递记录。
进入“投递 Pipeline”查看待处理、已查看、已回复、面试、Offer 等状态;底部“Agent 日志”可查看最近 30 条任务日志。
- 运行数据:
portable/ - 登录配置:
.edge-profile/,备用.edge-profile-2/ - 用户档案:
portable/data/profile.json - Cookie 备份:
portable/data/boss-cookies.json - 聊天记录:
portable/data/chat.json - 简历编辑存档:
portable/resumes/resume-editor.json - 本地数据库:
portable/data/job-agent.db,旧临时库首次启动会自动迁移
以后改完源码,统一执行一条命令即可完整重打:
npm run build:exe脚本会自动完成:图标生成、esbuild 打包(sea-entry.cjs / sea-server.cjs / sea-worker.cjs)、SEA blob 生成、Node SEA 注入、GUI 子系统修复并断言、图标与版本信息写入,最后自动复制到当前用户桌面(不写死本机路径)。产物位于:
dist\求职助手.exe%USERPROFILE%\Desktop\求职助手.exe(脚本自动复制到当前用户桌面)
构建输入(必须齐全):
| 输入 | 说明 |
|---|---|
node.exe |
SEA 基础可执行文件,构建脚本会自动检测;也可用 -NodeExe 指定 |
node_modules/ |
esbuild / postject / rcedit / tesseract.js 等打包依赖,npm install 安装 |
tessdata/*.gz |
OCR 语言模型(chi_sim / eng),随 exe 嵌入 |
.env |
环境变量配置,会嵌入 exe 内 |
dist/sea-worker.cjs(tesseract worker 打包产物)不在上表内:它由构建脚本自动生成,无需手工准备。
⚠️ .env会随构建嵌入 exe:请勿把 exe 外传给他人;修改.env后必须重新执行npm run build:exe才会生效。
打包依赖在首次安装时已包含:
npm installmacOS / Linux 当前使用 Node 直接运行,暂不生成单文件安装包。
assets/ 品牌资产:logo、favicon、social-preview 社交封面
docs/ 设计文档 + 界面截图(导航见 docs/README.md)
screenshots/ 五个页面的真实截图
src/ 源码
core/ L1 通用能力:contracts 契约 / guards 守卫 / 纯判据,不得反向依赖平台层
modules/ L2 业务模块:ingest / value / copilot / evidence / console,模块间零依赖
platforms/ 平台适配层(当前 BOSS 直聘)
scrapers/ 平台抓取器
browser/ 浏览器连接与 CDP 管理
db/ 数据访问层与迁移
utils/ 通用工具
routes.mjs HTTP API
scoring.js 评分与决策
chatApply.js 投递/聊天门面(拆分蓝图见 docs/05_MODULARIZATION_PLAN.md)
tests/modules/ 模块级测试(与 scripts/test-*.mjs 共同构成测试套件)
scripts/ 构建、打包、测试与开发辅助脚本
web/ 单页 Web 控制台(原生 JS + CSS,无框架)
extension/ 浏览器侧边栏扩展(只读采集)
packaging/ SEA 打包、图标与启动器
prompts/ 提示词资产(含候选人「底细卡」)
prisma/ 数据模型辅助定义
server.mjs 本地 HTTP 服务入口
完整文档导航:docs/README.md
GET /api/resume/editor:读取结构化简历编辑内容POST /api/resume/editor:保存结构化简历编辑内容GET /api/resume/export?format=pdf|docx:导出 PDF 或 WordPOST /api/boss/sync-feedback:扫描 BOSS 聊天会话,按 HR 最后消息更新投递状态。POST /api/boss/launch:自动启动并连接浏览器。POST /api/boss/search:搜索并抓取职位。POST /api/boss/apply:批量自动投递。POST /api/boss/chat/start:启动聊天监控/自动回复。POST /api/boss/chat/reply:手动回复 HR。POST /api/boss/chat/send-resume:给当前会话发送简历。POST /api/resumes/upload:上传并解析简历。POST /api/resumes/:id/default:设置默认简历。
- 远端:https://github.com/zly251/job-agent
- 默认分支:
main - 历史归档:最早的 monorepo 版本在 https://github.com/zly251/codex (分支
autonomous-job-agent),已独立为当前仓库 - 仓库内不写本机盘符和用户绝对路径;需要本机路径时使用环境变量、相对路径或
-NodeExe等参数
git status
git add .
git commit -m "说明"
git push origin HEAD:autonomous-job-agent提交前检查 git status,只提交应用源码、配置和文档,不提交诊断脚本、临时文件、日志、模型和 API Key。如果本机仓库元数据和工作区分离,按当前机器实际位置临时指定 --git-dir 和 --work-tree,不要把路径写进仓库。
MIT License,见 LICENSE。





