主动打招呼:
处理未读消息(含筛选条件):
核心能力: 推荐牛人筛选打招呼、沟通页面未读消息处理、简历接收、简历下载、常用语索取简历、查看候选人简历详情。
所有 browser 工具调用必须遵循以下配置:
yaml
profile: "user" # 使用用户已登录的浏览器,复用现有 Cookie/登录态
snapshotFormat: "ai" # 必须使用 AI 快照格式,获取带 [eXX] 数字引用的元素列表
target: "host" # 本地浏览器
delayMs: 2000-5000 # 操作间隔随机延迟,避免风控
元素定位策略:
场景定位方式示例简单元素 (按钮/链接)snapshot + grep "关键字" 获取ref + click ref标签页切换 (全部/未读)evaluate + XPath//span[contains(text(), '未读')]
通过关键字找到元素标准操作流程:
通过grep快照获取元素ref: 每次操作前,先获取元素Ref,确保元素可见且可点击。
定位元素 Ref: 使用 AI 快照返回的 ref 进行点击操作。
处理异常情况: 若元素操作失败(如超时、元素不可见),根据错误类型调用对应场景(如场景 H:关闭弹窗)。
📸 截图确认操作成功(铁律): 每次关键操作后必须截图 ( openclaw browser screenshot),确认页面状态符合预期再继续下一步。宁可多截图,不要盲操作。
弹窗处理: 若操作触发弹窗(如简历、广告)结束后必须关闭,必须使用 场景 H: 关闭弹窗 方法处理。
CLI 常用技巧:
定位获取 Ref: bash
# 查找关键字 (如: 推荐牛人、沟通、未读)
openclaw browser snapshot --target-id <TARGET_ID> --format ai | grep -C 10 "关键字"
点击元素 Ref: bash
openclaw browser act --kind click --target-id <TARGET_ID> --ref <REF>
profile="openclaw"。requests, responsebody, console, cookies, storage。--labels: snapshot 时不要使用 --labels 参数,会导致 listitem 丢失 ref。遇到问题时的标准动作:
text
1. 📸 截图 → 看当前页面状态
2. 📋 回顾标准流程 → 确认当前应该在哪一步
3. 🔄 重试 3 次 → 每次都重新获取 snapshot 和 ref
4. ❓ 仍失败 → 记录错误详情,判断是否属于"允许停止"的 4 种情况
常见问题速查:
问题标准解决参考场景点击候选人无反应用 evaluate + DOM 遍历点击scenario_chat_list_click.md标签页切换失败用 XPath + evaluate 点击scenario_tab_switching.md简历弹窗打不开重新获取姓名 ref,等待 6 秒scenario_view_resume_detail.md弹窗关不掉连续 2 次 Escape,或找关闭按钮 refscenario_close_popup.md返回列表失败确认当前页面,用 Escape 或点击列表项scenario_get_unread_list.md
目标页面: /web/chat/recommend
初始化检查: 检查浏览器状态 ( status),查找并复用 BOSS 直聘 Tab ( tabs)。
登录验证: 截图 ( screenshot) 确认是否在登录态。
关闭弹窗: 若截图确认有弹窗(如"牛人不回应 试试意向沟通"广告),使用 场景 H: 关闭弹窗 方法关闭。
导航与定位:
筛选操作:
打招呼循环:
role="listitem").记录与报告: 记录操作结果,生成 Markdown 报告。
目标页面: /web/chat/index 输入: 筛选条件(职位/经验/学历/薪资/地区)
输出: Markdown 筛选报告 → 飞书文档
完整12步流程,涵盖浏览器初始化、候选人遍历、简历判断、条件筛选、报告生成、飞书导入。 详见 场景 J: 处理候选人未读消息(含筛选条件)
核心流程概览:
初始化 (Step 1-3): 检查浏览器 → 启动 → 找 BOSS Tab
导航 (Step 4-6): 沟通 → 全部 → 未读
获取列表 (Step 7): grep "全部 未读" 提取候选人信息(ref/姓名/时间/未读数/职位/消息摘要)
遍历处理 (Step 8): 对每个候选人:
报告生成 (Step 10): Markdown 格式,含通过/未通过/统计
飞书导入 (Step 11): 使用 feishu-cli-import 技能
反馈结果 (Step 12): 汇报处理摘要
针对 BOSS 直聘的复杂交互场景,我们提供了详细的解决方案文档。
场景 ID场景描述解决方案摘要详细文档A要查的元素关键字共享 Ref 的标签页 (如 "全部/未读"),或者是statictext类型 ,或者没有ref的元素使用 evaluate + XPath 定位scenario_tab_switching.mdB无 Ref 的列表项 (如聊天列表)使用 evaluate + DOM 查询scenario_chat_list_click.mdC简历预览窗口下载简历iframe 内查找下载按钮scenario_resume_download.mdD使用常用语索取简历自动化发送常用语scenario_request_resume.mdE定位未读消息页面组合定位 Tab 和筛选器scenario_locate_unread.mdF获取未读消息候选人列表定位到未读消息页面后,获取候选人列表scenario_get_unread_list.mdG定位到某个候选人聊天页面有ref直接点击;无ref用evaluate+DOM查询+dispatchEvent(候选人列表通常无ref)scenario_locate_candidate.mdH关闭弹窗/模态框 (广告/简历预览/聊天窗口)Escape 键 → 标准选择器 → 几何位置定位scenario_close_popup.mdI查看候选人简历详情进入聊天页面后查看候选人简历详情scenario_view_resume_detail.mdJ处理未读消息(含筛选条件)完整12步流程:初始化→导航→列表→遍历→筛选→简历判断→报告→飞书导入scenario_handle_unread_with_filter.md
snapshotFormat="ai" 获取 eXX 引用。sleep。snapshotFormat="ai") 后重试,最多 3 次。screenshot) 检查页面状态,确认是否有非预期的弹窗、蒙层或其他遮挡物,然后调用对应场景(如场景 H:关闭弹窗)进行处理。markdown
## BOSS 直聘筛选报告
**时间**: 2026-03-12
**条件**: Java, 3-5年, 本科
**结果**:
| 姓名 | 职位 | 状态 |
|------|------|------|
| 张三 | Java | ✅ 已打招呼 |
| 李四 | Java | ❌ 失败 (原因) |