首页/软件/Lite Monkey
L

Lite Monkey

更新于 2026-10-04

Lite Monkey:轻量级用户脚本与用户样式管理器 #

Lite Monkey 是什么? #

Lite Monkey 是一款基于 Manifest V3 规范构建的轻量级用户脚本(Userscript)与用户样式(UserStyle)管理器,同时支持 Chrome、Edge、Brave、Vivaldi 和 Firefox 等主流浏览器。它兼容 Greasemonkey / Tampermonkey 风格的 .user.js 脚本与 .user.css 样式,让你无需修改任何网站源代码,就能为任意网页注入自定义脚本逻辑或外观样式。

对于希望去除页面广告、增强站点功能、自动化重复操作,又不愿安装体积庞大、代码不透明的扩展的用户来说,Lite Monkey 提供了一个可读、可审计的替代方案:整个项目采用纯 JavaScript ESM 编写,不使用 webpack、rollup 等打包器,源码结构即为运行代码结构;同时通过隔离世界(Isolated World)与逐页 pageToken 机制,在保证脚本能力的同时收紧权限边界。

Lite Monkey 有哪些亮点特色? #

  • 轻量纯净,无打包器:项目采用纯 JavaScript ESM 编写,不依赖任何 bundler,源码目录结构与最终运行代码一一对应,体积小、可读性强,便于开发者逐行审计与二次修改。
  • 同时支持 UserScript 与 UserStyle:兼容 Greasemonkey / Tampermonkey 风格的 .user.js 脚本,并原生支持 .user.css 样式文件;对于未声明 @match 的用户样式,会自动解析 @-moz-document 规则完成匹配。
  • 严格的 @grant 权限控制:只有脚本头部明确列出的 API 才会被暴露到页面上下文,并被子后台处理器接受,从机制层面限制脚本越权访问浏览器能力。
  • 智能脚本安装拦截:对 .user.js 的顶层导航会自动打开安装界面;自动识别 raw.githubusercontent.com 与 Greasy Fork CDN 的脚本链接,同时避免误拦截 GitHub 的 blob HTML 页面,并要求下载内容为 JavaScript 或 text/plain。
  • SPA 站点自动重新匹配:监听 History / URL 变化,页面路由切换后自动重新执行匹配规则,为新增匹配的页面注入脚本与样式,单页应用无需手动刷新。
  • 隔离世界安全通信:隔离世界中的 bootstrap.js 通过每页面独立的 pageToken 与 MAIN 世界的 gm-api-provider.js 通信,使用 CustomEvent 上行而非宽松的 postMessage('*'),降低页面脚本劫持风险。
  • 跨浏览器差异化实现:Chrome 端使用模块化 Service Worker 并借助 offscreen document 处理 XHR 与剪贴板操作;Firefox 端使用事件页(background.scripts + service_worker + "type": "module"),在无 offscreen 支持时于 worker 中直接执行 XHR。
  • 内置编辑器与备份同步:集成 CodeMirror 6 编辑器、Prettier 格式化、GM 存储面板,以及使用与注入流程相同匹配引擎的 URL 测试器(含正则 @include);支持本地导入导出,并可通过 Google Drive appDataFolder 同步 customUrls 与 sourceUrl(站点排除与更新地址)。

Lite Monkey 官网首页截图

免费下载 Lite Monkey #

以下为官方提供的安装包,点击链接即可下载。

文件名 描述 大小 下载
Lite Monkey.crx Chrome / Chromium 系浏览器扩展安装包 627.6 KB 夸克网盘

提示:Lite Monkey 为 MIT 协议开源项目,除上述打包文件外,也可直接从 GitHub 仓库获取源码,按官方指引自行构建 Chrome 或 Firefox 版本。

Lite Monkey 如何使用? #

  1. 安装并启用扩展:在 Chrome / Edge / Brave / Vivaldi 中安装 Lite Monkey 扩展(或从源码加载已解压的扩展程序),安装完成后浏览器工具栏会出现 Lite Monkey 图标。
  2. 安装用户脚本:直接访问以 .user.js 结尾的脚本链接(例如来自 raw.githubusercontent.com 或 Greasy Fork CDN),Lite Monkey 会自动拦截并打开安装界面,确认后即可完成安装;也可以在扩展面板中手动新建或粘贴脚本内容。
  3. 管理脚本与样式:在扩展面板中查看已安装的脚本和样式列表,可按需启用、禁用、编辑或删除。未声明 @match 的用户样式会自动依据 @-moz-document 规则生效。
  4. 使用内置编辑器调试:点击脚本进入 CodeMirror 6 编辑器,可借助 Prettier 快速格式化代码;通过 URL 测试器输入目标网址,即可查看当前哪些脚本会命中(测试器使用与真实注入完全相同的匹配引擎,包含正则 @include)。
  5. 备份与同步:在设置中执行本地导入 / 导出以备份脚本配置,或连接 Google Drive 使用 appDataFolder 同步 customUrls 与 sourceUrl,在多台设备间保持一致的站点排除列表与更新地址。

Lite Monkey 的常见问题 #

Lite Monkey 和 Tampermonkey 有什么区别? Lite Monkey 定位为轻量级替代品,采用 Manifest V3 与纯 JavaScript ESM 编写,不使用打包器,源码更易审计;同时提供严格的 @grant 白名单机制和基于 pageToken 的隔离世界通信,权限边界更清晰。它兼容常见的 Greasemonkey / Tampermonkey 风格 .user.js 脚本。

为什么点击 GitHub 上的脚本链接没有弹出安装界面? 因为 GitHub 的 .user.js 链接指向的是 blob HTML 页面,而非脚本原文。Lite Monkey 不会拦截 HTML 页面,只会拦截 raw.githubusercontent.com、Greasy Fork CDN 等直接返回脚本内容的地址,且要求下载内容为 JavaScript 或 text/plain 类型。请改用对应文件的 Raw 直链。

脚本里调用了 GM_ API 却提示未定义怎么办?* Lite Monkey 会强制执行 @grant 白名单——只有脚本头部 @grant 明确列出的 API 才会暴露到页面并被后台处理器接受。请在脚本元数据中补充对应的 @grant 声明后重新安装。

在单页应用(SPA)中切换路由后脚本失效了? 不会。Lite Monkey 监听 History 与 URL 变化,路由切换后会重新执行匹配规则,并为新命中的页面注入对应的脚本和样式。如果仍然未生效,请用内置 URL 测试器确认该地址是否被脚本的 @match / @include 规则覆盖。

Firefox 重启后扩展消失了? 这是 Firefox 临时附加组件的正常行为——通过 about:debugging 加载的临时扩展会在浏览器重启后被清除,需要重新加载。如需长期使用,建议使用 Firefox 版本的 zip 包并按常规扩展方式安装(参考官方构建说明)。

如何确认脚本运行结果是可预期的? 建议先运行项目自带的测试套件 npm test(执行 node --test tests/*.test.js,无需额外测试运行器),覆盖范围包括元数据解析、match / @include 规则、@grant 允许列表、origin / @connect / cookie 主机校验、安装器 DNR 正则、脚本 Content-Type 白名单、备份字段映射以及 UserStyle 的 @-moz-document 推断。

Lite Monkey 如何安装? #

Chrome / Chromium(含 Edge、Brave、Vivaldi) #

方式一:直接加载源码目录

  1. 克隆或下载 Lite Monkey 仓库,得到项目文件夹。
  2. 打开浏览器扩展管理页(Chrome 为 chrome://extensions)。
  3. 打开右上角的「开发者模式」。
  4. 点击「加载已解压的扩展程序」,选择仓库根目录即可。

    仓库根目录的 manifest.json 即为 Chromium 版本的清单文件。

方式二:使用构建产物

  1. 在项目目录执行 npm run build(Linux / macOS)或 npm run build:win(Windows)。
  2. 解压生成的 build/lite-monkey-chrome-v1.0.0.zip。
  3. 在 chrome://extensions 中开启开发者模式,选择「加载已解压的扩展程序」并指向解压后的目录。

方式三:安装打包好的 .crx

直接使用本文「免费下载」区域提供的 Lite Monkey.crx 安装包进行安装(部分浏览器可能需要在扩展管理页中手动拖入文件)。

Firefox #

  1. 注意:仓库根目录的 manifest.json 不是 Firefox 的清单文件,请使用 Firefox 专用构建包(构建脚本会将 manifest.firefox.json 复制为 manifest.json)。
  2. 执行 npm run build:win(Windows)或 npm run build(Linux / macOS)。
  3. 解压生成的 build/lite-monkey-firefox-v1.0.0.zip。
  4. 打开 about:debugging#/runtime/this-firefox,点击「临时载入附加组件…」,选择解压目录中的 manifest.json。
  5. 注意:临时附加组件会在 Firefox 重启后被清除,需重新加载。

开发者环境 #

  • 安装 Node.js 后执行 npm test 运行测试套件(node --test tests/*.test.js,ESM,无额外测试运行器依赖)。
  • 打包命令:npm run build(Linux / macOS,调用 package-extensions.sh)或 npm run build:win(Windows,调用 package-extensions.ps1)。
  • 输出路径为 build/lite-monkey-chrome-v1.0.0.zip 与 build/lite-monkey-firefox-v1.0.0.zip。

Lite Monkey 如何卸载? #

Chrome / Edge / Brave / Vivaldi #

  1. 在地址栏输入 chrome://extensions(Edge 为 edge://extensions,Brave 为 brave://extensions)进入扩展管理页。
  2. 找到列表中的 Lite Monkey。
  3. 点击卡片上的「移除」按钮并确认。

Firefox #

  1. 打开 about:addons,切换到「扩展」标签页。
  2. 找到 Lite Monkey,点击「移除」。
  3. 如果是通过 about:debugging 加载的临时附加组件,可直接点击「临时载入的扩展」列表中的「移除」,或重启浏览器让其自动失效。

残留数据说明 #

卸载扩展后,Lite Monkey 存储的脚本、样式与配置数据(包括 GM 存储面板中的内容)通常会被浏览器一并清除,但已导出到本地的备份文件不会受影响,建议在卸载前先使用本地导出功能备份重要脚本。若曾启用 Google Drive appDataFolder 同步,可在 Google 账号的「第三方应用」权限设置中撤销 Lite Monkey 的访问授权,并手动删除云端 appDataFolder 中的同步数据。

相关标签
Lite Monkey用户脚本管理器Userscript Manager用户样式管理器UserStyleTampermonkey 替代品GreasemonkeyManifest V3 扩展浏览器脚本注入开源浏览器扩展