产品约 3 分钟
智能体连接
从 Lumo 发起连接,或从 Lumo Userscripts 授权——两个方向,同一份契约。
本页目录
Lumo Userscripts 可以把脚本暴露给 MCP 客户端。实际使用中的宿主是 Lumo,但契约并不关心是谁连接:任何能探测、获得授权并打开运行端口的扩展,都会得到同一套工具面。
两个方向,一份契约#
有两种开始方式,最终都会落到同一个会话。Lumo 可以发现提供方;提供方也可以把一个未知调用方视为需要决策的请求。
| 起点 | 发生什么 | 用户在哪里决定 |
|---|---|---|
| 从 Lumo 发起 | 在「设置 → MCP → 扩展」添加提供方的 32 位扩展 ID。 | 在 Lumo 中,第一次探测之前。 |
| 从 Lumo Userscripts 授权 | 提供方在探测中返回 authorized: false,并把请求排入队列。 | 在提供方的「设置 → 智能体」,或批准对话框。 |
| 无论哪种 | 批准后 Lumo 打开 lumo:mcp 端口并列出工具。 | 除非策略变化,不再提示。 |
从 Lumo 发起连接#
- 1
打开 MCP 设置
设置 → MCP → 扩展。同一面板会显示 Lumo 自己的扩展 ID,审批时需要它。
- 2
添加提供方 ID
粘贴 Lumo Userscripts 的 32 位 ID。ID 只包含字母 a–p。
- 3
让探测运行
Lumo 发送一次 L0 探测。端点关闭、未授权或运行时不可用都会被报告为具体状态,而不是握手失败。
- 4
批准并连接
如果提供方要求审批,打开它的设置并允许 Lumo 的 ID。回到 Lumo 后它会重试探测并建立 MCP 会话。
ID 不是名称
提供方的名称是自报值,只用于展示。授权始终比较 sender.id,因为名称可以冒充任何东西。
从 Lumo Userscripts 授权#
- 1
打开端点
设置 → 智能体 → 智能体访问。它默认关闭,关闭时任何扩展都发现不了它。
- 2
决定是否允许写入
「允许写入」是第二个开关。保持关闭时只暴露
list、get与diagnostics。 - 3
添加调用方
把 Lumo 的扩展 ID 粘贴到「允许的扩展」。面板也提供复制自身 ID 的按钮。
- 4
处理请求队列
待处理请求会出现在同一区块,并以中断对话框呈现。可以批准、忽略,或仅在本会话稍后处理。
未就绪时用户看到什么#
| 提供方状态 | Lumo 显示 | 修复方式 |
|---|---|---|
| 未安装 / 无端点 | 扩展未安装,或未暴露智能体端点。 | 检查 ID,然后重装或重新构建。 |
| 端点关闭 | <名称> 中的智能体访问已关闭。 | 在提供方中开启智能体访问。 |
| 未授权 | <名称> 不允许当前扩展。 | 把 Lumo 的 ID 加入提供方允许列表。 |
| 等待审批 | <名称> 正在等待你批准此扩展。 | 打开提供方设置并批准。 |
| 未就绪 | 提供方自己的原因说明。 | 阅读原因;通常是 chrome.userScripts 不可用。 |
安全地写入#
- 端点开启且调用方已授权后,只读工具即可使用。
- 写入工具还需要「允许写入」;关闭后影响的是下一次调用,而不是下一次会话。
- 复核模式会把新脚本创建为禁用状态,并标记待复核。
- 每次写入限制为每分钟 30 次,并记录在活动列表;参数只保存哈希。
智能体不是另一套权限系统
智能体创建的脚本,与你手写的脚本拥有同样的 @match 与 @grant 触达范围。复核模式存在的意义,就是让新脚本在你看到之前不能运行。
排查#
| 症状 | 可能原因 | 处理 |
|---|---|---|
| 工具过一会儿消失 | MV3 回收了 service worker,端口关闭。 | 再次调用工具;Lumo 会懒重连并重新初始化。 |
| 工具存在但写入全部失败 | 「允许写入」关闭,或触发限流窗口。 | 开启写入,或等待一分钟。 |
| 批准提示反复出现 | 调用方 ID 不在允许列表。 | 在「设置 → 智能体 → 允许的扩展」添加。 |
authorized: true 但没有工具 | chrome.userScripts 不可用,或没有安装脚本。 | 运行 diagnostics,再检查「允许用户脚本」。 |
| 连接到了错误的扩展 | 32 位 ID 粘贴错误。 | 从提供方的智能体区块复制 ID,不要手输。 |