关于 ghostlight
ghostlight 是本地浏览器自动化 MCP 服务,让 Agent 在现有已登录的 Chromium 浏览器中通过可见标签组执行操作。用户可查看、暂停或接管;可选策略用于控制浏览器权限并生成本地审计记录。
主要功能
- 01跨浏览器标签页的可见自动化
- 02读取页面、填写表单、上传文件和处理对话框
- 03暂停、接管或停止会话
- 04可选的按域名划分的权限策略
- 05本地工作台、状态与审计
适用场景
- 01在已有登录会话中完成网页工作流
- 02检查页面状态并排查失败的工作流
- 03查看或控制 Agent 的浏览器操作
MCP 相关
Ghostlight 向兼容的 stdio MCP 客户端提供 22 个浏览器工具和一个策略工具。它在本地运行,通过本地通信连接 Chromium,并返回结构化页面读取结果、操作结果和恢复建议。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Ghostlight MCP
让你的 Agent 在你常用的浏览器中拥有一个看得见的位置。

启动简报从空白表单变为可供审核,全程清晰可见。
安装 Ghostlight | 了解适用场景 | 安装指南 | 信任中心
你的 Agent 需要访问一个你已登录的页面。通常的解决方案是再开一个空白浏览器,它没有你的任何会话;而且还要由模型学习 Chrome 的内部机制才能完成任务。
Ghostlight 会在你已经打开的 Chromium 中为它创建一个标签页组。所有操作都在你眼前进行:你可以观察、暂停、接管,或结束会话。模型说明自己的需求,Ghostlight 负责浏览器操作。
让 Agent 阅读页面、填写表单、处理文件、跟进弹窗,或调查失败的 Web 工作流。Ghostlight 会跨标签页和浏览器状态变化继续执行任务,同时让浏览器操作及其控制权留在你的设备上。
留一盏灯,让走廊始终安全。
当前状态
已发布版本为 2.0.1。该版本可通过 GitHub 发布版本
v2.0.1、npm 包
[email protected]、Chrome Web Store 适配器 v2.0.1,以及 MCP Registry 记录
org.sylin/ghostlight 2.0.1 获取。这些信息均于 2026-10-22 查验,并记录在
docs/public-status.json 和
发布交付记录中。
你将获得
- 23 个目录工具:22 个浏览器工具,涵盖标签页、导航、页面阅读、屏幕截图、语义点击与悬停、表单输入、文件上传、脚本、等待、短流程、对话框和诊断;另有一个用于说明当前生效权限的策略工具。一次调用即可表达意图;Ghostlight 会在后台执行浏览器操作。
- 每次调用只给出一个真实答案:发生了什么、浏览器发生了哪些变化、哪些内容已准备就绪,以及再次运行是否安全。答案由 Ghostlight 撰写,而非页面,并且最多添加两步由它提供的恢复操作。如果效果无法确定,它会如实说明,而不妄加猜测;也绝不会建议可能导致表单重复提交的重放操作。
- 托盘中的桌面工作台,实时展示工作进展。
- 只在你的设备上运行。 Ghostlight 以你的身份运行,通过本地 IPC 访问浏览器,并在本地保存不含有效负载的记录。无需账户、没有遥测、没有激活服务、没有更新 ping、没有托管控制平面,也没有第二个隐藏浏览器。唯一的网络流量来自你要求执行的浏览操作。
最初的五分钟
你需要 Chrome、Edge、Brave 或 Chromium 125+,以及一个 MCP 客户端。npx 安装程序需要
Node.js;单行安装程序不需要。之后运行的服务是原生 Rust 程序。Agent 安装支持 Windows 和
Linux;目前尚不支持 macOS。
-
安装 Ghostlight。它会注册找到的 MCP 客户端,并打开 Ghostlight 窗口,引导你完成 设置步骤:
npx -y ghostlight install如果没有 Node.js,请使用适用于你系统的单行安装程序。在 Windows 的 PowerShell 中:
irm https://sylin.org/ghostlight/get.ps1 | iex在 Linux 上:
curl -fsSL https://sylin.org/ghostlight/get.sh | sh -
按照窗口显示的步骤,在浏览器中添加 Ghostlight。它会列出你电脑上的浏览器。点击“添加” 会在该浏览器中打开 Chrome 网上应用店的页面,Edge 也通过此处获取扩展程序。如果浏览器 中已安装该扩展程序,这一行会显示“打开”。
-
向你的 Agent 发送提示:
打开 sylin.org/ghostlight/demo/desk 并按响铃铛。
如果安装程序提示你重启某个 Agent,请先重启;安装程序会说明。无需执行其他重启步骤。
浏览器中会出现一个天蓝色的 Ghostlight 分组,Agent 会在一个不会提交或存储任何内容的演示 页面上按响铃铛,窗口则会显示“就绪”。这条提示词即可验证整个连接。若想先执行只读任务, 可以这样询问:
在新的 Ghostlight 标签页中打开 https://example.com/,总结页面内容,并告诉我你使用了哪个标签页。 不要点击、输入、提交或更改页面内容。
会话结束时,Ghostlight 保持打开的标签页会离开其分组并留在原处,因此书签栏中不会保存空闲 分组。下次使用时,同一个 Agent 会重新获得其分组,并复用 Ghostlight 为其在该网站打开且 仍保持打开状态的标签页,这样反复执行任务就不会让标签栏越来越杂乱。它绝不会接管你打开 的标签页,也不会接管其他 Agent 留下的标签页。浏览器重启后,只有当浏览器中仍显示该 Agent 上次在此看到的页面时,才会使用它记住的标签页;否则 Agent 会打开新的标签页。唯一无法 区分的情况是:重启后的浏览器为你的某个标签页分配了相同的 ID,且该标签页显示相同的地址, 例如恢复了 Agent 页面的一份副本。
如果某个步骤需要处理,请运行:
ghostlight doctor
如果你通过 npm 安装,且 ghostlight 不在 PATH 中,可以运行 npx -y ghostlight doctor 执行
同样的检查。
doctor 会检查客户端条目、本地服务、浏览器连接和扩展程序,然后指出下一步操作。
安装指南介绍了指定客户端、从源代码构建、更新、卸载和按症状
排查问题。
从单个页面到完整工作流
需要连贯执行浏览器操作时,Ghostlight 尤其出色:
- 从已登录的状态继续。 在你选定的 Chromium 配置文件中打开应用,并使用其中已有的会话。 凭据会保留在浏览器中。
- 完成交互。 导航、填写表单、上传文件、处理对话框、等待页面状态,并将结果从一个步骤 传递到下一个步骤。
- 跟随浏览器状态。 当网站打开受支持的子标签页,或已知工作区在任务进行中发生变化时, 继续工作。
- 查看失败原因。 汇总页面状态、控制台消息和网络请求,让下一步调试基于证据而不是猜测。
你可以通过 Ghostlight 配置的任意 Agent 使用相同的浏览器功能(安装指南 列出了所有 Agent),也可以通过其他兼容的 stdio MCP 客户端使用。Agent 会收到结构化的页面 读取结果、精确的元素引用、范围受限的操作回执,以及具体的恢复指引。它们可以询问策略工具, 了解当前生效的权限。
浏览器仍是共享空间
Ghostlight 会在你选择的浏览器窗口中使用一个专用的天蓝色标签组。页面扫描、点击、输入、拖动和较长的操作阶段都采用统一的视觉语言,让屏幕上的操作都有迹可循。
暂停工作区、接管某个精细步骤,或停止它。随意移动其中的标签页;Ghostlight 会跟随工作区,而不会把标签页弹回原处。普通标签页始终不属于 Agent 的控制范围:你打开的标签页绝不会被重复使用、重新分组或跳转,即使它们位于同一网站也不例外;如果你在 Ghostlight 留下的标签页中自行加载页面,该标签页就会归你掌控。
关闭标签页需要两项独立的同意:一项来自编排器的权限,该权限要求具备对应网站的 Action;另一项来自浏览器自身的保留标签页设置,该设置默认启用。这样可以让你始终看到发生过的操作记录。你随时可以自行关闭标签页。
个人使用无需策略清单即可完整运行。启动完整的浏览器引擎,开始高效工作。当工作流需要更严格的边界时,可按域名授予 read、action、write 和 execute 权限。添加受保护域名和结构化审计,并在应用策略前,根据你自己的历史记录预览策略;你可以在窗口中点击 Check,也可以运行 ghostlight policy simulate,浏览器体验始终不变。
治理指南介绍了运行模式,信任中心提供安全、隐私、连续性、部署和采购相关的证据。
它会做什么,以及不会做什么
未配置策略时,允许通过 HTTP(S) 浏览,包括 localhost、回环地址和链路本地地址。主机限制由策略管理。非 HTTP 协议和过期句柄仍受限制。可选的本地和托管策略层只能收紧功能权限。
输入凭据需要你的明确指示。填充和输入操作会接受 Agent 针对每次请求的确认;如果没有确认,调用会返回指导信息,但不会暂停会话。该确认不能覆盖策略,也不能覆盖你使用的暂停和结束会话控件。即使策略多次拒绝请求,之后获准的工作仍可继续;如果策略拒绝某个标签页跳转到目标页面,该标签页会保持暂停状态,直到 Agent 将它移至允许访问的页面或将其关闭。浏览器消息和动画均为被动呈现,不含按钮,也不会干扰你的输入;交互式运行时控制请在工作台中进行。
审计记录仅保存标识符、决策和经过内容最小化处理的测量数据:运行了哪个工具、权限是否允许、耗时多久,以及执行了什么操作——3 个字段、1,240 个单词、1280x720。记录会注明操作跳转到的网站,因为这能说明 Agent 前往了哪里,而且该网站已显示在你自己的标签栏中。路径、查询参数、片段、页面文本、字段值、屏幕截图、选择器和对话框文本都不会写入记录。docs/guides/siem-integration.md提供了精确的记录格式。
完整目录见 docs/1.0/LANGUAGE.md,精确的策略架构见 docs/guides/governance-configuration.md。
工作台
打开托盘图标即可进入 一览:当前正在运行的操作完整显示在顶部,已完成的操作堆叠在下方,最新的排在最前;每条记录都用 Ghostlight 自己的措辞——“已打开 example.com。”、“已读取 1,240 个词。”、“已填写 3 个字段并提交表单。”——而不是网页上的措辞。旁边是 集成,用于连接你已有的编码客户端,并在备份的基础上合并到它们的配置中(goose 和 Continue 则提供“复制设置”供你粘贴,绝不直接编辑);状态,用于查看整套系统是否正常;策略,逐项说明当前规则允许什么,每项能力用一行通俗文字说明,并指出由哪一层作出决定;设置,这是一个带侧边栏的选项卡,可设置此屏幕、哪些人可以查看、浏览器操作、通知和诊断,还可以在此退出 Ghostlight;以及 关于,其中载明了它的承诺:绝不向外发送数据。
每个选项卡的标题栏中,灯图标旁都有暂停和恢复控件,托盘中也有同样的控件。无论是否连接了浏览器,这些控件都能使用,因为暂停状态由 Ghostlight 自身掌控。当已配置的策略无效时,Ghostlight 会拒绝所有浏览器操作,标题栏也绝不会显示“就绪”,而是显示“策略无效”并指向“策略”;但如果出现“未连接”或“已暂停”等更紧急的状态,则优先显示这些状态。若对当前已生效的本地策略进行了错误编辑,情况则不同:最后一个有效版本会继续生效,“状态”会警告这次编辑,而标题栏不会变化。关闭窗口后,托盘图标仍会保留,Ghostlight 也会继续运行;第一次发生这种情况时,它会通过一条通知告知你。服务可在没有显示设备的情况下运行,因此即使窗口程序无法启动,或电脑没有显示器、网页视图或托盘,Ghostlight 仍会继续工作,而 ghostlight status 会说明无法显示窗口的原因。
从源代码构建
Rust 1.89 或更高版本,以及用于浏览器验证的 Chromium 125 或更高版本。
cargo build --workspace
构建会生成三个并列的可执行文件:
ghostlight-service-- 编排器,以及它在 loopback 上提供的工作台。它不链接任何 UI 工具包,也无需显示器即可运行;ghostlight-- 边缘端:MCP stdio 中继(ghostlight mcp)、Chromium 原生消息中继,以及将其他所有命令交给服务的入口;ghostlight-desktop-- 外壳:窗口、托盘和通知。在 Linux 上构建它需要 WebKitGTK 4.1、GTK 3 和 AppIndicator 开发包;运行服务则不需要。
使用 pwsh scripts/dev-loop.ps1 部署构建版本:它会将你的构建版本安装到 ~/.ghostlight/bin,并设为开发通道,因为构建目录本身无法提供服务。
docs/DEV-LOOP.md 介绍了开发循环、浏览器注册和完整的验证循环。
完成设置后,无需任何启动流程:连接的 MCP 客户端或 Chromium 启动时,如果 Ghostlight 尚未运行,就会按需启动它。
在 Windows 上,还可以通过 WinGet 安装:运行 winget install Sylin.Ghostlight,然后运行一次 ghostlight install。自包含的 Claude Desktop MCPB 是第三种方式。无论通过哪种方式,三个可执行文件最终都会放在 ~/.ghostlight/bin:WinGet 只负责交付它们,而 ghostlight install 会将它们复制到那里。运行 winget upgrade 后,下一次运行 ghostlight install 会将较新版本复制到那里。较旧的副本不会覆盖较新的版本。WinGet 在其 2.0.1 清单获准纳入 winget-pkgs 之前提供的是 2.0.0;单行安装程序提供的是 2.0.1。
当前版本与兼容性
平台状态。 Windows(x64)和 Linux(x86_64,支持 glibc 或 musl,例如 Alpine)是受支持的 2.0 平台。2.0.1 发布前已在 Windows、Bluefin 和 Alpine 上完成测试,并于 2026-10-22 在 Alpine 上验证了公开安装。macOS 尚无构建产物。
扩展状态。 Chrome Web Store 上的扩展为 adapter v2.0.1,与使用 adapter protocol 4 的 service 2.0.x 兼容。服务会向扩展提供其运行的页面代码,因此更新 2.0 服务无需更新或重新加载扩展。1.x 扩展只需更新一次即可升级到 2.0。
服务和 Chrome adapter 通过各自兼容的机制分别交付。 兼容性映射为权威依据,而 公开状态文件记录当前版本、平台和商店状态。
MCP 边缘端会为每个客户端协商兼容的 stdio 修订版本;兼容性映射中记录了这些版本。有关版本变更和升级影响,请参阅变更日志。
Ghostlight 的组成
MCP Client <--stdio--> ghostlight mcp <--relay--> ghostlight-service
<--relay--> ghostlight (browser) <--native messaging--> Extension <--CDP--> Browser
编排器负责所有产品决策,并拥有模型读取的一切内容。边缘端只负责协议和中继生命周期,不做其他事情。扩展负责 Chromium、页面和绘制,不负责策略。添加功能通常只需修改编排器;这是各个边界必须遵守的契约,并非偶然如此。
桌面应用是独立进程中的展示适配器,并非第二个服务。它没有 GUI 协议、命令运行器、文件系统访问权限或浏览器原语。
ADR-0102 记录了其中的原因。
docs/SPEC.md 深入介绍了治理模型。
| 我想…… | 从这里开始 |
|---|---|
| 安装、验证、更新、恢复或卸载 | 安装指南 |
| 让 AI 客户端执行设置 | Agent 安装指南 |
| 体验完整且可见的工作流 | 启动简报演示 |
| 从源代码构建并在本地测试 | 从源代码构建 |
| 了解哪种浏览器运行模式适合自己 | 决策辅助 |
| 添加边界或审查信任证据 | 治理指南和信任中心 |
| 阅读产品承诺与使用历程 | docs/1.0/INTENT.md |
| 阅读面向模型的完整语言 | docs/1.0/LANGUAGE.md |
| 阅读架构与验收契约 | docs/1.0/ARCHITECTURE.md、docs/1.0/ACCEPTANCE.md |
| 查看候选版本的当前状态 | docs/STATUS.md |
| 贡献代码、文档、测试或想法 | 贡献指南 |
| 阅读每项决策及其缘由 | ADR 索引 |
许可证与持续性
Ghostlight 完全免费且开源:此代码库中的所有内容,包括治理模块,均采用 Apache-2.0 OR MIT 许可证。LICENSING.md说明了许可证的适用范围。此前的开放核心模式拆分及其付费层级已通过ADR-0140撤销。
许可证状态不会影响运行时——因为根本没有许可证检查。安装后的副本会按其自身规则持续运行,无需定期联络,也不会过期。持续性承诺对此作出了长期说明。
问题与贡献
可通过 GitHub Issues 报告可复现的缺陷,通过 GitHub Discussions 提问和交流想法;安全、许可相关的问题,或不适合公开的内容,请发送邮件至 [email protected]。
我与 AI 编码 Agent 合作开发 Ghostlight。CONTRIBUTING.md说明了当前的边界,以及每项更改都必须通过的检查。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。