
1. openclaw 浏览器自动化到底能帮你做什么openclaw 浏览器自动化说白了就是让一个 AI 代理去替你操作 Chrome打开网页、输入关键词、点击搜索结果、在岗位详情页停留几秒、把标题和链接抓回来。它和传统爬虫最大的区别在于——它模拟的是“人”的行为路径而不是直接怼接口。对于找工作这种场景很多招聘站点对高频请求有风控纯脚本容易被拦而浏览器自动化因为带着真实的渲染环境和交互节奏反而更稳。我第一次接触这个需求是帮一个做后端的朋友批量筛岗位。他每天要手动开几十个标签页复制 JD、对比技能栈重复劳动特别多。后来用 openclaw 的 Chrome 扩展插件做了一层“浏览器中继”让 AI 通过插件去控制当前浏览器整个流程就顺了。你不需要懂 Puppeteer也不用配 Playwright装个插件、填个令牌就能让 AI 帮你跑。这套方案适合谁三类人最明显一是正在密集投简历、需要批量检索岗位的求职者二是做招聘信息聚合、想快速验证抓取可行性的开发者三是想学习浏览器自动化但不想一上来就啃底层框架的新手。openclaw 把“控制浏览器”这件事封装成了插件 令牌的形式门槛低了很多。核心检索词这里再明确一下openclaw 浏览器自动化、Chrome 浏览器扩展插件、模拟人打开浏览器、批量检索岗位。这几个词贯穿全文你照着做就能跑通。需要提前说清楚的是openclaw 本身负责的是“浏览器控制层”它不绑定某一家模型服务。你可以把它的请求端点指向统一的 API 通道比如 TaoToken这样 Key 和调用量都在一个地方管理不用在多个平台之间来回切换。后面第 2 节会具体讲怎么接。2. TaoToken 前置准备统一 Key 与 API 通道在开始配插件之前先把“模型调用”这一层理顺。openclaw 的浏览器中继负责操作页面但它在做页面理解、岗位信息抽取、判断“这个链接要不要点”的时候是需要调用大模型的。如果你每个环节都单独去申请 Key、单独配端点后面排障会非常痛苦。我的做法是把 openclaw 的请求端点统一改到 TaoToken 的 API 通道。TaoToken 提供的是统一的 Key 管理和 API 入口官网地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end API 端点是 https://taotoken.net/api 。你只需要在 TaoToken 控制台创建一个 Key然后把这个 Key 和 Base URL 填到 openclaw 的配置里所有模型调用就走同一条通道了。具体操作分三步。第一步打开 TaoToken 控制台进入 API Keys 页面创建一个新 Key。建议按用途命名比如openclaw-job-hunt方便后面区分。创建后把 Key 复制出来注意它只显示一次。第二步确认你要用的模型 ID。openclaw 在做页面理解和信息抽取时建议选一个上下文较长、指令跟随稳定的模型。你可以在模型对话页面先测一下确认模型能正常返回。模型对话入口在 https://taotoken.net/api 对应的控制台里能找到。第三步把 Base URL 和 Key 写进 openclaw 的配置。openclaw 的配置通常是一个 JSON 或 TOML 文件具体路径取决于你的安装方式。下面给一个可复制的 JSON 片段路径和字段名按你本地实际文件为准{ openclaw: { browserRelay: { enabled: true, relayPort: 18789, token: 你的_openclaw_网管令牌 }, model: { baseUrl: https://taotoken.net/api, apiKey: 你的_taotoken_key, modelId: 你的模型ID, timeoutMs: 60000 }, automation: { humanLikeDelay: true, minStayMs: 2500, maxStayMs: 6000, clickJitter: true } } }这里有几个点要注意。relayPort是浏览器插件和 openclaw 主进程通信的端口默认 18789如果你本地被占用可以改。token是 openclaw 自己的网管令牌不是 TaoToken 的 Key这两个别搞混。baseUrl填 TaoToken 的 API 地址不要带多余路径。modelId填你在 TaoToken 控制台确认过的模型 ID。如果你用的是 TOML 格式等价写法是这样[openclaw.browserRelay] enabled true relayPort 18789 token 你的_openclaw_网管令牌 [openclaw.model] baseUrl https://taotoken.net/api apiKey 你的_taotoken_key modelId 你的模型ID timeoutMs 60000 [openclaw.automation] humanLikeDelay true minStayMs 2500 maxStayMs 6000 clickJitter true配好之后openclaw 在需要调用模型时就会走 TaoToken 的通道。这样做的好处是你只需要维护一个 Key调用量、余额、错误日志都在 TaoToken 控制台看不用在多个服务商之间对账。对于找工作这种需要反复调试提示词的场景统一通道能省很多事。另外提醒一句apiKey不要提交到 Git 仓库。建议用环境变量注入或者在本地配置文件里加.gitignore。openclaw 支持从环境变量读取字段名通常是OPENCLAW_API_KEY你可以在启动脚本里 export。3. 可复制配置Chrome 扩展插件加载与参数详解这一节是全文最核心的操作部分。openclaw 的浏览器自动化依赖一个 Chrome 扩展插件作为“中继”插件负责接收 openclaw 的指令在当前浏览器里执行点击、输入、滚动、停留等动作。你不需要自己写扩展直接用官方发布的插件即可。第一步安装 Chrome 浏览器扩展插件。用 Chrome 打开扩展商店页面搜索 openclaw browser relay找到对应插件后点击“添加至 Chrome”。安装完成后浏览器右上角会出现插件图标。如果你所在网络访问扩展商店不稳定也可以下载 crx 文件后通过开发者模式加载但优先推荐商店安装更新更方便。第二步获取 openclaw 网管令牌并填入插件。装完插件后点击图标会弹出一个配置界面要求输入 openclaw 的网管令牌。这个令牌不是 TaoToken 的 Key而是 openclaw 自身的鉴权令牌。你可以在 openclaw 网页端登录后在设置或令牌管理页面找到如果接了飞书机器人也可以直接在机器人里问“我的 openclaw 令牌是多少”。拿到后粘贴进插件输入框点击保存。第三步确认插件与 openclaw 主进程连通。插件保存令牌后会尝试连接本地 openclaw 的 relay 端口。你可以在 openclaw 主进程的日志里看到类似browser relay connected的输出。如果没连上先检查 openclaw 是否在运行、relayPort是否和插件里填的一致。第四步配置模拟人行为参数。openclaw 的自动化配置里humanLikeDelay、minStayMs、maxStayMs、clickJitter这几个参数决定了它像不像人。humanLikeDelay开启后每次点击和输入之间会有随机延迟minStayMs和maxStayMs控制页面停留时间范围clickJitter让点击坐标有微小偏移避免每次都点同一个像素点。下面是一个更完整的配置片段你可以直接复制到 openclaw 的配置文件里{ openclaw: { browserRelay: { enabled: true, relayPort: 18789, token: 你的_openclaw_网管令牌, allowedOrigins: [https://www.zhipin.com, https://www.liepin.com] }, automation: { humanLikeDelay: true, minStayMs: 2500, maxStayMs: 6000, clickJitter: true, scrollSteps: 3, typingDelayMs: 80 }, model: { baseUrl: https://taotoken.net/api, apiKey: 你的_taotoken_key, modelId: 你的模型ID } } }allowedOrigins是白名单限制插件只在指定站点上执行自动化避免误操作其他页面。scrollSteps控制每次滚动分几步模拟人浏览时的分段滚动。typingDelayMs是输入每个字符的间隔80ms 左右比较自然。如果你用的是 Cline MCP 或 Codex 的auth.json方式接入配置结构会不同但三件套不变Base URL、Key、Model ID。以 Codex 的auth.json为例{ openai: { baseURL: https://taotoken.net/api, apiKey: 你的_taotoken_key, model: 你的模型ID } }Cline MCP 的配置通常在mcp_settings.json里字段名可能是baseUrl、apiKey、model你按实际 schema 填。核心原则就一条所有模型调用都指向 TaoToken 的 API 通道Key 用同一个。配完这些插件层和模型层就都通了。下一步是实际跑一次验证。4. 验证请求一次完整的岗位检索跑通配置写完不代表能跑必须做一次端到端验证。我建议用一个真实招聘站点做测试比如打开某个岗位搜索页让 openclaw 执行“输入关键词 → 点击搜索 → 停留 → 抓取前 5 条结果标题和链接”这个流程。先启动 openclaw 主进程确认 relay 端口在监听。你可以在终端执行openclaw start --config ./openclaw.json --log-level debug看到browser relay listening on 18789和model endpoint: https://taotoken.net/api这两行说明主进程和模型通道都就绪了。然后打开 Chrome点击 openclaw 插件图标确认状态显示“已连接”。如果显示未连接回到第 5 节排查。接着在 Chrome 里打开一个岗位搜索页比如搜索“后端开发”的列表页。保持这个标签页在前台然后在 openclaw 的对话入口输入指令请在当前页面执行以下操作 1. 在搜索框输入“后端开发” 2. 点击搜索按钮 3. 等待页面加载完成后停留 3 秒 4. 抓取前 5 条岗位的标题和链接 5. 以 JSON 数组返回字段为 title 和 urlopenclaw 会把这条指令拆解成浏览器动作通过插件执行。你会在页面上看到搜索框被自动填入、按钮被点击、页面滚动。停留结束后openclaw 返回类似这样的结果[ {title: 后端开发工程师, url: https://example.com/job/123}, {title: 高级后端开发, url: https://example.com/job/456}, {title: Java 后端开发, url: https://example.com/job/789}, {title: Go 后端开发, url: https://example.com/job/101}, {title: 后端开发专家, url: https://example.com/job/112} ]如果你拿到了这个 JSON说明整条链路通了插件控制浏览器、openclaw 调度动作、模型通过 TaoToken 通道做页面理解、结果结构化返回。验证时重点看三个信号。第一页面是否真的被操作了搜索框有没有被填入、按钮有没有被点。第二停留时间是否符合配置太快或太慢都要调minStayMs/maxStayMs。第三返回的 JSON 字段是否完整如果标题为空或链接不对说明模型对页面结构的理解有偏差需要调整提示词把“标题”和“链接”的选择器描述得更具体。我实测下来第一次跑通常会遇到两个小问题一是搜索框的 selector 不唯一页面有多个 input二是搜索结果异步加载停留 3 秒不够。前者在提示词里加“定位页面顶部的主搜索框”能缓解后者把minStayMs调到 5000 以上。跑通这一次之后你就可以把指令改成批量模式比如“依次搜索后端、前端、算法三个关键词每个关键词抓前 10 条去重后返回”。openclaw 会按顺序执行中间自动处理页面跳转和停留。5. 常见报错排查401、local proxy failed、reading choices、OAuth这一节按真实报错来。你在配 openclaw TaoToken Chrome 插件的过程中大概率会碰到下面几类问题。401 Unauthorized。这个最常见通常是 Key 填错或没生效。先检查 openclaw 配置里的apiKey是不是 TaoToken 控制台创建的那个注意前后不要有空格。然后确认baseUrl是https://taotoken.net/api不要写成带/v1或其他路径的版本。如果 Key 没问题去 TaoToken 控制台看这个 Key 是否被禁用或余额不足。还有一种情况是环境变量覆盖了配置文件检查启动脚本里有没有旧的OPENCLAW_API_KEY。local proxy failed。这个报错说明 openclaw 主进程和浏览器插件之间的 relay 连接断了。先确认 openclaw 是否在运行终端有没有browser relay listening。然后检查插件里填的relayPort和配置文件里是否一致默认 18789。如果端口被占用换成 18790 并同步改插件。另外Chrome 如果开了多个用户配置插件可能装在另一个配置里确认你操作的是同一个 Chrome 实例。reading choices 报错。这个通常出现在模型返回结构不符合预期时openclaw 在解析模型输出、提取选项或字段时失败。原因可能是模型返回了多余的解释文字而不是纯 JSON。解决办法是在提示词里明确要求“只返回 JSON不要任何额外说明”并在 openclaw 配置里开启严格解析模式。如果用的是 TaoToken 通道可以在模型对话里先测一下同一个提示词确认模型输出稳定。OAuth 相关报错。如果你在 openclaw 里配了需要 OAuth 的模型服务或者插件尝试用 OAuth 登录可能会卡在回调。建议直接用 API Key 方式不要走 OAuth。TaoToken 的通道就是 API Key 鉴权配好baseUrl和apiKey即可不需要额外的 OAuth 流程。如果报错信息里出现OAuth token expired检查是不是误配了其他服务的认证方式。插件显示已连接但页面不动。先看当前标签页是否在allowedOrigins白名单里不在的话插件会拒绝执行。然后确认页面没有弹窗遮挡有些站点会弹 cookie 同意框需要先处理掉。最后看 openclaw 日志里有没有action dispatched如果有但页面没反应可能是 selector 匹配失败换一个更稳定的定位方式。模型返回慢或超时。把timeoutMs调大比如 120000。同时确认 TaoToken 通道的网络连通性可以在终端用 curl 测一下curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer 你的_taotoken_key \ -H Content-Type: application/json \ -d {model:你的模型ID,messages:[{role:user,content:ping}]}如果这条命令能返回正常结果说明通道没问题问题在 openclaw 配置或插件层。排障的核心思路是分层先确认模型通道通不通再确认 openclaw 主进程和插件通不通最后确认页面动作能不能执行。一层一层往下查比盲目改配置快得多。6. 把 openclaw 接到 TaoToken统一管理调用与后续扩展跑通一次岗位检索之后你可能会想把它做成日常工具每天定时跑一批关键词抓取新岗位去重后推送到自己的笔记或表格。这时候“统一管理调用”就很重要了。把 openclaw 的模型端点固定在 TaoToken 的 API 通道上好处有三个。第一Key 只有一个不用在 openclaw、模型服务商、其他工具之间来回同步。第二调用量和错误日志集中在一个控制台排查问题时不用到处翻。第三后续换模型或调参数只改modelId一个字段不用动其他配置。如果你打算长期跑编码类或 Agent 类任务可以了解一下 Coding Plan它更适合高频、长时间的自动化调用。入口在 TaoToken 控制台里能找到。对于找工作这种场景如果你只是每天跑几次检索按量调用就够如果要做成持续运行的 Agent再考虑套餐。接入文档里有完整的端点和参数说明配 openclaw 时遇到字段不确定的直接对照文档填。API Keys 页面用来创建和管理 Key建议给 openclaw 单独建一个方便统计用量。最后给一个实用技巧把 openclaw 的岗位检索指令存成一个模板文件比如job-search.md里面写清楚关键词列表、抓取字段、去重规则。每次跑的时候直接引用这个文件不用重复输入长指令。模板大概长这样任务批量检索岗位 关键词后端开发、前端开发、算法工程师 每个关键词抓取前 10 条 字段title、company、url、salary 去重规则按 url 去重 输出JSON 数组openclaw 读取这个模板后会依次执行搜索、停留、抓取、去重最后返回结构化结果。你把这个结果存到本地或推送到自己的工具里就是一个最小可用的求职信息聚合流程。整个流程里Chrome 扩展插件负责“手”openclaw 负责“脑”TaoToken 的 API 通道负责“模型调用”。三层各司其职你只需要维护好配置和提示词。先把第 4 节的验证跑通再逐步加关键词和字段不要一上来就追求大而全。