GeekGeekRun 使用教程
一、先理解三个容易混淆的功能
GeekGeekRun 中的“自动开聊”“开场白”和“已读不回自动复聊”是三套不同的逻辑。
1. 自动开聊
自动开聊主要负责:
- 根据职位来源和筛选条件寻找岗位。
- 打开职位详情。
- 检查城市、薪资、工作经验、职位名称、职位描述和 BOSS 活跃度等条件。
- 对符合条件的岗位点击 BOSS 直聘的“立即沟通”。
它本质上是自动筛选岗位并建立聊天,不等于让 AI 持续代替求职者和招聘者对话。
2. 新开聊时发送内容
点击“立即沟通”并建立新会话后,可以选择发送:
- 固定内容:每个新会话发送相同的开场白。
- 大语言模型生成的内容:根据简历和开场白提示词生成首句。
新会话还没有真实聊天历史,因此即使选择大语言模型,主要依据仍然是简历和开场白提示词。不要假设模型一定能获得完整职位 JD。
3. 已读不回自动复聊
这个功能会检查已经建立的会话。当招聘者已读但没有回复,并且满足跟进时间、跟进间隔等条件时,再自动发送一条消息。
复聊内容可以选择:
- 发送“盼回复”表情。
- 由大语言模型根据简历和当前会话最近若干条消息生成。
因此,真正会使用“聊天上下文”的主要是已读不回自动复聊,而不是自动筛选和点击“立即沟通”的过程。
二、当前配置检查结果
本机配置目录:
~/.geekgeekrun/config/当前主要配置如下:
| 配置项 | 当前状态 | 说明 |
|---|---|---|
| 职位来源 | 期望职位、推荐职位、搜索职位均已开启 | 自动开聊来源正常 |
| 搜索关键词 | Java、全栈、AI | 搜索范围较宽 |
| 新开聊消息来源 | 固定内容 | 首次开聊不会由 AI 生成 |
| 复聊消息来源 | 大语言模型结合聊天上下文 | AI 只在复聊阶段介入 |
| 最近消息数量 | 8 条 | 适合作为初始值 |
| 只复聊期望职位 | 已开启 | 会受“期望职位类型正则”影响 |
| 期望职位类型正则 | 仅匹配 Java | 可能漏掉全栈和 AI 岗位 |
另外还发现以下问题:
- 简历中的“工作年限”字段被错误填写成了姓名,应改成真实年限,例如“2 年”。
- 当前固定开场白包含裸 IP 形式的个人网站地址。它容易显得像广告或不安全链接,建议改成正常域名,或暂时不要在第一句话里发送链接。
- 工作经历中的工作描述、业绩字段大部分为空。AI 生成内容时可能只能从项目描述中拼接信息。
- 当前复聊提示词要求每次必须包含“一个技能和一个量化成果”,约束过强,容易造成生硬表达或错误拼接。
三、推荐的整体配置
建议先使用相对稳妥的组合:
| 场景 | 推荐配置 |
|---|---|
| 自动筛选岗位 | 开启自动开聊,严格配置职位过滤条件 |
| 第一次打招呼 | 先使用简短固定话术,确认筛选准确后再尝试 AI |
| 招聘者正常回复 | 人工回复 |
| 招聘者已读不回 | 使用 AI 自动复聊 |
| AI 读取最近消息数量 | 先设为 8 条,长对话可调整为 12 条 |
| 模型不可用时 | 回退为“盼回复”表情,避免发送异常文本 |
自动化工具可能触发 BOSS 直聘的风控。建议控制每天的开聊数量和运行频率,不要长时间连续高频运行。
四、配置自动开聊
1. 登录 BOSS 直聘
在 GeekGeekRun 中使用“BOSS 登录助手”完成登录。程序需要使用本地登录凭据模拟浏览器操作。
不要把 Cookie、登录凭据或 boss-cookies.json 发送给其他人。
2. 配置职位来源
可以启用以下来源:
- 期望职位:来自 BOSS 直聘中设置的求职期望。
- 推荐职位:BOSS 直聘推荐列表。
- 搜索职位:根据自定义关键词搜索。
建议初次使用只开启一个来源,例如“搜索职位”,确认筛选准确后再逐步增加来源。
目前的搜索关键词是 Java、全栈、AI。如果目标主要是 Java 后端,建议缩小为:
Java后端
Java开发
后端开发“AI”关键词范围很大,容易匹配算法、产品、运营等无关岗位。需要搜索 AI 应用开发时,可以改成:
AI应用开发
Java AI
大模型应用开发
RAG开发3. 配置职位类型正则
当前正则只匹配 Java:
\bJava\b如果确实需要 Java、后端、全栈和 AI 应用相关岗位,可以改成:
Java|后端|全栈|AI|人工智能|大模型|RAG不要为了增加投递数量写成过于宽泛的表达式,否则自动开聊会产生大量不相关会话。
4. 配置职位描述正则
职位描述正则用于检查 JD 是否包含需要的技术关键词。可以使用:
Java|Spring Boot|Spring Cloud|MyBatis|MySQL|Redis|RabbitMQ|消息队列|MQ|Elasticsearch|Docker|K8s|Kubernetes|微服务需要注意职位名称、职位类型、职位描述之间的匹配逻辑。如果配置为“全部满足”,条件会非常严格;如果配置为“任一满足”,投递范围会扩大。首次运行时应观察自动开聊记录,再决定是否放宽。
5. 配置城市、薪资和工作经验
根据真实求职条件设置:
- 期望城市。
- 最低和最高薪资。
- 工作经验范围。
- 不满足条件时的处理策略。
建议先使用“本次运行跳过”或“本地标记不合适”,确认规则没有误伤后,再考虑让程序直接在 BOSS 直聘上标记不合适。
五、配置新开聊时的第一句话
进入“已读不回自动复聊”页面,找到“新开聊时发送内容”。
方案一:固定内容,推荐先使用
优点是稳定、不会编造经历,也不会因为上下文缺失而答非所问。
推荐话术:
您好,我对贵公司的岗位很感兴趣,我主要从事 Java 后端及微服务开发,如岗位匹配,希望能进一步沟通,期待您的回复。不建议第一句话就发送 IP 地址、过长的项目介绍或多条链接。
方案二:大语言模型生成
将“新开聊时发送内容”改为“大语言模型结合上下文生成”,然后编辑“开场白提示词模板”。
推荐模板:
请根据我的真实简历生成一句求职开场白。
要求:
1. 以“您好”开头。
2. 表达对当前岗位的应聘意向。
3. 只使用简历中明确存在的技能和经历,不得编造。
4. 如果无法获得当前职位的完整信息,不得猜测职位要求。
5. 不发送网址、IP 地址、联系方式或简历之外的信息。
6. 内容自然、谦逊,控制在30至60字。
7. 只返回JSON,不要解释:
{"response":"需要发送的开场白"}六、修复 AI 聊天上下文不正确
1. 修正简历字段
进入简历编辑页面,重点检查:
- 姓名。
- 工作年限。
- 期望职位。
- 个人优势。
- 工作经历。
- 项目经历。
- 真实量化成果。
“工作年限”应填写类似:
2年不要填写姓名、职位名称或一整段个人介绍。
2. 补充真实且可复用的项目成果
AI 更适合读取结构清楚的描述。例如:
负责消息中心查询性能优化,通过 Elasticsearch 重构搜索链路,将典型查询耗时从约20秒降低至1至2秒。负责基础码表微服务开发,通过 Redis 缓存热点数据,支撑百万级日调用量并降低数据库压力。不要为了让 AI 有内容可写而补充无法证明的数据。
3. 调整最近消息数量
当前设置为最近 8 条消息,适合作为初始配置。
- 对话很短:保留 8 条。
- 对话持续时间较长:可增加到 12 条。
- 不建议无脑设到最大值,历史消息越多不代表回复越准确,反而可能让模型关注旧话题。
这里的“最近消息”应当来自当前招聘者的会话。如果生成内容明显引用其他招聘者、其他公司或完全无关的岗位信息,应立即停止自动复聊并保留运行记录,这更像是程序取数异常,而不是提示词问题。
4. 替换复聊提示词
推荐使用以下模板:
你是求职沟通助手。请根据我的真实简历和当前招聘者会话的最近消息,生成一句自然、简短的跟进回复。
要求:
1. 优先理解并回应招聘者最后一条消息,不得答非所问。
2. 只使用简历中真实存在的技能、经历和成果,不得编造。
3. 不得把招聘者的话、职位要求或其他人的经历当成我的个人经历。
4. 如果聊天信息不足,只发送礼貌、通用的跟进表达。
5. 不重复当前会话中已经发送过的内容。
6. 不主动发送网址、IP地址或与当前岗位无关的项目经历。
7. 控制在20至50字,避免夸张表达和感叹号。
8. 只返回JSON,不要解释:
{"response":"需要发送的内容"}这套提示词不再强制每条消息都包含量化成果。只有对话确实需要介绍能力时,模型才引用简历中的技能和成果。
5. 使用模拟功能测试
正式运行前,进入“已读不回自动复聊提醒过程模拟”,至少测试以下场景:
- 招聘者没有回复。
- 招聘者询问工作年限。
- 招聘者询问某项技术是否熟悉。
- 招聘者发送面试邀请。
- 招聘者明确表示岗位不合适。
重点检查:
- 有没有编造工作年限。
- 有没有把 JD 内容当成个人经历。
- 有没有引用无关项目。
- 有没有在对方拒绝后继续追问。
- JSON 格式能否被程序正常解析。
七、推荐运行流程
第一次使用时建议按以下顺序操作:
- 备份
~/.geekgeekrun/config/目录。 - 修正简历中的工作年限和空白字段。
- 缩小搜索关键词范围。
- 调整职位类型和职位描述正则。
- 使用固定开场白运行少量岗位。
- 检查“自动开聊记录”中的岗位是否准确。
- 在模拟页面测试 AI 复聊。
- 确认回复没有编造或串上下文后,再开启自动复聊。
- 逐步增加职位来源和运行数量。
不要一开始就同时开启所有职位来源、大范围关键词和长时间自动复聊,否则出现问题时很难判断是哪项配置导致的。
八、常见问题
1. 为什么只完成投递,没有继续自动聊天?
因为自动开聊只负责筛选岗位并点击“立即沟通”。AI 复聊是另一个功能,需要单独配置和启动。
2. 为什么第一句话一直相同?
因为“新开聊时发送内容”当前选择的是“固定内容”。需要 AI 生成时,应切换为大语言模型选项并配置开场白提示词。
3. 为什么 AI 回复与当前问题无关?
依次检查:
- 简历字段是否填错。
- 是否真的读取了当前会话最近消息。
- 最近消息数量是否过多或过少。
- 提示词是否强制模型每次都介绍技能和项目。
- 大语言模型配置是否可用。
4. 为什么全栈或 AI 岗位没有被复聊?
当前开启了“只复聊期望职位”,但期望职位类型正则只匹配 Java。需要扩充正则,或者关闭这项限制。
5. 为什么 AI 会强行提到项目成果?
因为原复聊提示词要求每次都必须包含核心技能和量化成果。删除这条强制要求,改成“只有在对话需要时才引用”。
九、配置文件位置
主要配置文件:
~/.geekgeekrun/config/boss.json
~/.geekgeekrun/config/llm.json
~/.geekgeekrun/config/resumes.json提示词模板:
~/.geekgeekrun/storage/auto-reminder-open-message-template.md
~/.geekgeekrun/storage/auto-reminder-resume-system-message-template.md登录凭据:
~/.geekgeekrun/storage/boss-cookies.json
~/.geekgeekrun/storage/boss-local-storage.json不建议直接编辑 JSON 配置文件,应优先通过 GeekGeekRun 界面修改。编辑错误可能导致程序无法读取配置。
十、参考资料
GeekGeekRun 通过模拟网页操作实现自动开聊,BOSS 直聘页面改版、A/B 测试或账号风控都可能导致程序行为变化。遇到重复刷新、无法点击、会话跳转异常或明显串上下文时,应先停止任务,再检查运行记录和项目 Issue。