
OpenClaw 接管你的油猴脚本:让 AI 直接读改网页脚本,不用再复制粘贴
因为经常要调网页上的东西,油猴脚本我用得挺多。但改脚本这件事本身一直很烦:打开管理面板、找到那条脚本、翻到要改的地方、保存、回页面刷新,中间还得来回切窗口。要是改动没生效,这一套还得再来一遍。
我早就想让 OpenClaw 替我做这件事,每次都卡在最后一步。Tampermonkey 的管理界面是 chrome-extension:// 页面,浏览器调试接口明确拒绝第三方扩展访问,自动化工具根本进不去。代码它能写好,但要落到浏览器里,还是得我自己复制粘贴,省下来的时间又还回去了。
后来发现官方出了个 tampermonkey-mcp,这条路才算通。
https://github.com/Tampermonkey/tampermonkey-mcp
它是怎么连上的
结构不复杂:本机跑一个 MCP server,浏览器里装一个 Tampermonkey Editors 扩展,两边用本地 WebSocket 连起来。连接码是六位左右的短字符串,填一次就行。
关键在于连接方向是反的。自动化工具去碰扩展页面这条路被浏览器堵死了,但扩展可以主动连本机,所以那个限制在这里不成立。
准备工作
浏览器里要装两个扩展,只装 Tampermonkey 不够:
- Tampermonkey:https://www.tampermonkey.net/
- Tampermonkey Editors:https://chrome.google.com/webstore/detail/lieodnapokbjkkdkhdljlllmgkmdokcm
然后在 OpenClaw 这边加上这个 MCP server:
1 | openclaw mcp add tampermonkey --command npx --arg -y --arg tampermonkey-mcp@latest |
doctor 显示 ok,说明服务端能起来,它会暴露六个工具:列脚本、读全文、写回、新建、删除,还有一个生成连接码。配置改完不用重启 Gateway 也会生效。
如果 Gateway 所在的环境里找不到 npx,把 --command npx 换成 npx 的绝对路径就行。
最后一步:
- 跟 OpenClaw 说一句「连一下油猴」
- 它调
get_connection_code给你一串连接码 - 你把这串码填进 Tampermonkey Editors 的扩展弹窗
连上之后说「列一下我的脚本」,能把你的脚本列出来,就是通了。

用起来是什么体验
我的用法基本就是一句话。
举个例子。某个网站的详情页,图片全挤在左边一个 200px 宽、还带滚动条的小框里,看着很难受,而图片原图其实并不小。以前得自己翻 CSS 找容器类名、一层层往上试。现在直接跟它说:这些图改成一行一张大图,顶部那个推荐区块也不要了。
它会自己去列脚本、读全文、改本地文件,再把改完的完整脚本写回浏览器。写完之后还会开浏览器把页面真的加载一遍,检查元素有没有按预期隐藏、图片卡片实际宽高是多少,而不是只回一句「保存成功」。
这一步是我觉得最值钱的地方。这类脚本依赖页面加载时序,光看代码看不出问题,回真实页面跑一遍才算数。

几个坑
连接码是会变的。它由 MCP server 每次启动时随机生成,Gateway 重启之后要重新生成、重新填一次。嫌麻烦的话,可以让它跑成常驻服务:tampermonkey-mcp --transport=http,默认 4001 端口,OpenClaw 那边改成用 url 接入。
写回是整篇替换,不是打补丁。脚本头部 ==UserScript== 那一段要跟着一起传,漏了脚本就直接坏掉。
迁移过来之后,记得把暴力猴(Violentmonkey)里的旧脚本停掉。两个管理器同时注入同一个页面,等于同一套 DOM 操作跑了两遍,轻则卡顿重则样式打架。
Tampermonkey 的管理界面依旧是进不去的,还是那个 chrome-extension:// 的限制。别想着用浏览器自动化去点它的界面,老老实实走这个桥。
最后说一句安全
这座桥的本质,是把你浏览器里所有用户脚本的读写权限交给 AI。这个权限比「帮我改一个脚本」大得多。
所以连接之前想一下这台浏览器里都装了哪些脚本,连接码也别随手给别人。我自己的情况是几条自写的加一些从 Greasy Fork 装的,问题不大;要是脚本里有账号、token 之类的东西,还是谨慎点好。






































