插件改参数 → Codex 轮次直接失败
旧插件在自己的 hook 里改写了 browser 参数。Codex harness 不允许任何东西改写它的 app-server 审批参数,于是每一轮都报错。
- OpenClaw tool policy rewrote Codex app-server approval params.
- 表现不是「功能弱」,是整轮不可用 → V Browser 只在部分 runtime 活着
10·01 做了很多事,但只有两件改变了形态:V Browser 的跨 harness 契约打通——同一套调用在四个 runtime 上一致;Mac 节点级 computer use 打通——从那以后,「看屏幕、点鼠标」不再只有本机一台能做。两件都不容易,而且都是可复用的。
跨 harness 的难点从来不是能不能连上浏览器,而是:同一个动作,换一个 runtime 还成不成立。0.4.7 之前,答案是「有些成立」。
旧插件在自己的 hook 里改写了 browser 参数。Codex harness 不允许任何东西改写它的 app-server 审批参数,于是每一轮都报错。
新插件不再改写参数,把原本藏在 hook 里的东西摊到台面上:谁调用,谁负责把参数带全。
v_browser_acquire → { profile: "vbrowser-03", target: "host" }
browser (每次调用) → 原样带上 profile + target,直到 release
v_browser_release → 结束租约 · finally 必须调用本 DM 里 v_browser_* 调用被策略 hook 拦停,你的指令是「直接用我的 mac,不用 vbrowser 了」。
在 Mac 上起独立调试 Chrome(专用 profile,不碰日常 Chrome),走本机 CDP loopback —— 导航 register.si 成功并读到正文。
v0.4.7 发布到 V:仓库 main @04f2848,插件不再改写 Codex 的 app-server 审批参数。
在 Codex harness 的飞书私聊轮次里复验:devices 返回在线的 Tianyi Mac Chrome,审批参数被改写的报错消失。
再次调用 v_browser_devices → 返回 online=true 的 Tianyi Mac Chrome(consentScope=browser / access=owner)。
| 组件 | 版本 | 核验 |
|---|---|---|
| V Browser platform / Worker | v0.4.7 | 2026-10-01 |
| Broker @versa/v-browser-assist | v0.3.1 | 2026-08-07 |
| OpenClaw plugin @versa/openclaw-v-browser-device | v0.4.7 | 2026-10-01 |
| Chrome 扩展 | v0.2.4 | 2026-08-05 |
写这页之前我重新调了一次设备列表,不是引用记录:
已安装 skill 当天同步到新契约(备份 SKILL.md.bak-20261001);生产 / VLab 两份 skill 副本仍需向上游同步。
经扩展驱动 Mac Chrome 时,action=text 带 selector、以及 aria 格式快照可能超时 → 优先用默认快照。
download / waitForDownload 明确不属于 V Browser 能力 —— 需要下载时应报「不支持」,而不是「回归失败」。
OpenClaw 管 Browser/CDP 语义;V Browser 只管 设备/用户/Tab 授权 + 独占 Session 租约 + 路由与清理。
它一度看起来像「节点离线」。实际是:请求已经打到节点上了,被 macOS 的隐私授权挡在门外。所以修它的地方不是配置,是你 Mac 上的两个开关。
节点已配对、已批准、在线,caps 里明确写着 canvas / computer / screen,但 computer screenshot 返回 screen snapshot failed。
授权完成后,我现场跑了一次截图:返回的是一张真实屏幕,不是错误码。
确认 Allow Computer Control 开启,provider = Peekaboo;在同一面板分别 Grant Accessibility / Event Posting / Screen Recording。
给 OpenClaw 勾上「辅助功能」与「屏幕与系统音频录制」。
macOS 把辅助功能授权缓存在进程生命周期上 —— 不重启,权限就是旧值。
在辅助功能列表用 − 删掉 OpenClaw,再重新加回 /Applications/OpenClaw.app。
这是你昨天那句话的准确版本:不只是「Mac 能用了」,而是 computer use 从「本机特性」变成了「按节点选择的资源」。
| 节点 | 平台 | provider | 观测 | 动作面 | 目标 |
|---|---|---|---|---|---|
| MacBook Pro 支持屏幕操作 | macOS 27.0.0 · v2026.9.6 | Peekaboo (peekaboo-v2) | 图像 + 无障碍树 | 24 项:截图 / 点击 / 打字 / 按键 / 滚动 / 窗口与应用管理 / 菜单 / 设值 | screen / window / element |
| V host desktop 支持屏幕操作 | Linux · v2026.9.1 | CUA Computer (cua-computer) | 图像 + 无障碍树 + 浏览器 | 更多:+ zoom、录制、browser_*(导航 / 点击 / 输入 / 上传 / 下载) | screen / window / element / browser |
| Tianyi Mac(同一台硬件的另一条通道) 仅 shell / 文件 | macOS · node-host | — | 不做屏幕 | 只广播 shell / file / mcp / local-inference | 无鼠标键盘 |
macOS 的 computer-use 是持久授权、无逐动作确认。开启后 V 在你屏幕上点击 / 输入不会每次询问 —— 这一点你有权知道,也必须知道。
关掉 Allow Computer Control,节点停止广播该能力,不需要重新配对。Remote Management 账号需要有 Observe + Control。
截图可能包含私人信息。画面不进报告、不进群、不外发;只回报结论,不回报画面。这页从头到尾没有放任何一张屏幕截图。
屏幕能操作 ≠ 什么都能做。外部发送、花钱、改配置仍然走红线;越出授权范围的动作,仍然是先问再做。
09·20 我把执行面伸出了这台机器(跑命令、编译、读本机文件);10·01 补上的是另一半天赋 —— 看得见、点得动。少了任何一半,「在外面干活」都只是半句话。
浏览器只有两难:用我自己那台(干净、但没有你的登录态),或者把每一步都推给你。屏幕控制只有本机一台,够不着任何远端设备。
V Browser 给的是你明确授权的那台 Chrome(tab 级或整浏览器,随时可撤),而且四个 runtime 行为一致;computer use 给的是「看 + 点」,可以指定在哪个节点上执行。
不是不重要,是形态没变 —— 它们是「做完了」,不是「V 以后不一样了」。
makaron.si 双源确认可注册;versa.si / openclaw.si 疑同一运营方抢注挂牌($99,888 / $899)。本机密钥库无任何注册商账号与支付方式 → 硬阻塞,V 下不了单。
专用 profile 不碰日常 Chrome,本机 CDP loopback。关键坑:Chrome 136+ 起默认 profile 会直接忽略 --remote-debugging-port,必须给独立 --user-data-dir。
客户发文件「没反应」= agent 不走入库管线 + 入库脚本对空参崩溃,两层都修完发生产,7 租户已切;SKILL 从 33,846 字符拆成主文件 7,112 + 6 份 references。
小树(Mac mini)陪跑:Stage 0 地基 / Stage 1 五条 LESSON / Stage 2 知识沉淀 + 晨报定稿,跨公司 A2A 四轮定稿。
1.0.94,doctor 全绿;28 个内嵌 skill 全量同步到 ~/.agents/skills/(新增 265 / 更新 147)。
6 张卡全部 workboard_complete:1080×1920 / 30fps / 15.000s / 单音轨,QC passed。
内部笔记 / 草稿进外部群 4 次(Handoff、open items、memory 摘要),每次由小树当场指出,V 自己没发现。
长 / 结构化文本被自动升级为卡片,对端只看到「请升级至最新版本客户端」,正文丢失 ≥6 次 —— 根因未查明。
10/2 09:00 首次发布,需连续 3 天(10/2–10/4)四段齐全、第三段不为空、非敏感、纯文本,才算 Stage 2 闭环。
这两件事都是「基础设施」,所以更要分清:什么是这一轮我真的跑过的,什么是从发布记录里读来的。
| 说法 | 证据 | 级别 |
|---|---|---|
| V Browser 跨 harness 可用 | 10-01 13:25 Codex-harness 飞书私聊轮次复验 + 本轮 v_browser_devices 返回 online 设备 | 实测 |
| Mac 节点 computer use 可用 | 本轮实测 screenshot 返回 1200×502 真实屏 + nodes status 权限 accessibility/screenRecording 均为 true | 实测 |
| 四个 runtime 契约一致 | 发布记录写明 worker / vcodex / vds / vcc 一致,VLab 与 V 上用真实飞书消息验过 | 记录 · 本轮未逐一复跑 |
| Chrome 136+ 需独立 --user-data-dir | 官方行为 + 当天本机实测(默认 profile 直接忽略调试端口参数) | 实测 + 文档 |
| 节点动作面清单 | nodes status 返回的 computerUse 契约字段(provider / contractVersion / actions / targets) | 实测 |
今天这两件之所以重要,不是因为「多了两个功能」,而是因为它们的成立条件不再依赖某一次巧合:浏览器那条,换模型换 harness 都成立;屏幕那条,换节点也成立(macOS 一套 provider、Linux 另一套)。这才是能往上叠东西的地基。还有没做完的部分 —— 生产 / VLab 的 skill 副本还要向上游同步、Mac 经扩展的少数动作仍会超时、下载明确不支持、两条输出路径缺陷还挂着 —— 我把它们和已验证的部分分开写了,没有混在一起。