mcpField
G
ghostlight

ghostlight

本地服务
sylin.org浏览器自动化11 周前更新

关于 ghostlight

ghostlight 是本地浏览器自动化 MCP 服务,让 Agent 在现有已登录的 Chromium 浏览器中通过可见标签组执行操作。用户可查看、暂停或接管;可选策略用于控制浏览器权限并生成本地审计记录。

主要功能

  1. 01跨浏览器标签页的可见自动化
  2. 02读取页面、填写表单、上传文件和处理对话框
  3. 03暂停、接管或停止会话
  4. 04可选的按域名划分的权限策略
  5. 05本地工作台、状态与审计

适用场景

  1. 01在已有登录会话中完成网页工作流
  2. 02检查页面状态并排查失败的工作流
  3. 03查看或控制 Agent 的浏览器操作

MCP 相关

Ghostlight 向兼容的 stdio MCP 客户端提供 22 个浏览器工具和一个策略工具。它在本地运行,通过本地通信连接 Chromium,并返回结构化页面读取结果、操作结果和恢复建议。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"org-sylin-ghostlight": {
"command": "npx",
"args": [
"-y",
"ghostlight"
]
}
}
}
启动命令npx -y ghostlight

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmghostlight2.0.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Ghostlight 吉祥物:一只手持发光灯笼的天蓝色像素风小幽灵

Ghostlight MCP

让你的 Agent 在你常用的浏览器中拥有一个看得见的位置。

CI npm 发布版本 MCP 注册表

Ghostlight 在真实浏览器中阅读并填写启动简报,全程可见页面、字段和点击反馈

启动简报从空白表单变为可供审核,全程清晰可见。

安装 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。

  1. 安装 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
    
  2. 按照窗口显示的步骤,在浏览器中添加 Ghostlight。它会列出你电脑上的浏览器。点击“添加” 会在该浏览器中打开 Chrome 网上应用店的页面,Edge 也通过此处获取扩展程序。如果浏览器 中已安装该扩展程序,这一行会显示“打开”。

  3. 向你的 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说明了当前的边界,以及每项更改都必须通过的检查。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。