openclaw中文件与浏览器操作需严格遵循参数规范:read支持全文读取、分段截取(offset/limit)及binary=true图片编码;write仅覆盖不追加,edit依赖精确oldtext匹配替换;browser隔离模式(profile="openclaw")最安全,交互操作须依赖snapshot生成的aria ref而非手写。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要在OpenClaw中准确调用文件读写和浏览器控制两类核心工具,避免因参数错配、路径错误或profile混淆导致任务中断或数据污染。这些工具不是可选插件,而是框架原生能力,直接决定Agent能否真正操作本地文件系统与网页界面。
文件读取:read工具的三种典型用法
第一步:读取完整文本文件,不加任何参数
直接调用read("config.yaml")即可返回全部内容,适用于小于1MB的小配置文件。
第二步:读取大日志文件的指定段落
使用offset和limit参数精准截取:read("/var/log/app.log", offset=1000, limit=200)。这能避开全文加载超时,也防止上下文爆炸——【offset从0开始计数,不是行号】。
第三步:读取二进制图片并转为base64
read("/assets/logo.png", binary=true)会自动编码为base64字符串,后续可直接嵌入HTML或传给vision模型。若漏掉binary=true,读出的是乱码字节流,无法解析。
文件写入与编辑:write和edit的区别与陷阱
write工具用于创建新文件或完全覆盖旧文件,例如write("output/report.md", "# 今日摘要\n- 完成3项任务")。注意:【write不支持追加,第二次调用会清空原文件全部内容】。
edit工具专为局部修改设计,必须提供oldText精确匹配原文片段。比如想把config.yaml里host: localhost改成host: 127.0.0.1,就得写:edit("config.yaml", [{ "oldText": "host: localhost", "newText": "host: 127.0.0.1" }])。如果oldText存在换行或缩进差异,替换就会失败——它不做模糊匹配。
这一步操作起来很简单,直接把文件拖进去就行。但切记:edit不能新增行,也不能删除整段,只能一对一替换已有文本块。
浏览器控制:browser工具的四种关键操作模式
方法一:启动隔离浏览器实例
browser(action="start", profile="openclaw")会拉起一个全新Chrome进程,用户数据目录独立,CDP端口固定为18800。这是默认安全模式,适合所有自动化任务。
方法二:接管当前用户浏览器
browser(action="start", profile="user")要求本地已运行Chromium v144+,且必须有人值守——因为会复用你的登录态和Cookie。远程执行时此模式必然失败。
方法三:打开指定网页并截图
先browser(action="open", url="https://example.com", targetId="tab1"),再browser(action="screenshot", targetId="tab1", fullPage=true)。注意targetId必须前后一致,否则截图会来自空白页。
方法四:对页面元素执行交互
先browser(action="snapshot", targetId="tab1", refs="aria")获取带ARIA ID的DOM快照,再browser(action="act", ref="e12", type="click")触发点击。ref值来自上一步响应,不能手写——【ARIA ref具有稳定性,role-based ref在UI微调后极易失效】。










