Skip to content

feat(browser): 增加托管 Browser MCP 运行时与内置会话浏览器 - #535

Closed
lj64212585 wants to merge 2 commits into
xintaofei:mainfrom
lj64212585:feat/browser-in
Closed

feat(browser): 增加托管 Browser MCP 运行时与内置会话浏览器#535
lj64212585 wants to merge 2 commits into
xintaofei:mainfrom
lj64212585:feat/browser-in

Conversation

@lj64212585

Copy link
Copy Markdown

概述

本 PR 在不替换 Codeg 现有 Agent、ACP、Session、MCP 设置链或 Delegation 系统的前提下,
增加以 Windows 为首要运行平台的托管 Browser MCP 运行时。它将固定版本的 Browser sidecar
打包进客户端,通过现有 MCP 汇合点注入兼容的 ACP 会话,并为每个会话增加内置 Browser
界面,使用户与 Agent 操作同一个托管 Chromium target。

主要改动

  • 新增独立的 @codeg/browser-mcp sidecar,提供 20 个严格校验的工具,覆盖运行时、标签页、
    页面检查、语义操作、截图和受控下载。
  • 新增 BrowserRuntimeManager,作为 sidecar、托管 Chromium 进程树、私有 loopback endpoint、
    每次启动生成的 bearer、managed profile、下载目录、健康状态和恢复流程的唯一所有者。
  • 增加带就绪门禁的 ACP 注入。只有 Agent registry 支持、实际 wire 传递、ACP HTTP capability、
    逻辑 session 创建时冻结的启用快照和 runtime Ready 状态全部满足时,才向 Agent 注入 Browser。
    任一门禁失败都保持 fail closed,不会阻断 Agent session,也不会提供失效的 MCP endpoint。
  • 在 AuxPanel 增加每 connection 唯一的 Browser surface。每个 live target 都对应一个可见的内部
    标签;隐藏或切换只停止帧附着,显式关闭才释放该 session 的 targets。
  • 为内置 Browser 增加真实 CDP viewport resize、等比 frame 呈现,以及基于同一 fitted rect 的
    pointer、wheel 和 key 输入映射。
  • 增加仅 Windows 可见的“自动操作”设置入口,包含只影响未来 session 的总开关、即时
    embedded/external backend 切换、health/recover 操作和保存失败回滚。
  • 增加 Browser 专用工具卡片,使截图继续附着在 Browser 调用中,不被误标为 Image Generation。
  • 增加离线 sidecar 准备、Tauri bundle 接入、Windows 安装器 companion 清理、固定依赖来源记录、
    第三方声明、安全测试和 Windows Chrome smoke 覆盖。

安全与隐私

  • 导航只允许 http:https:,并按 SSRF 策略校验 URL、DNS 结果、redirect 和被拦截的
    子资源请求。
  • MCP endpoint 只监听 loopback,并要求每次启动生成的 bearer;该 bearer 不进入公开状态、
    持久设置、renderer 状态或普通日志。
  • ACP 诊断在 tracing 或保留 stderr tail 之前脱敏 Bearer 值。
  • Browser 自动化使用独立 managed profile 和受控下载根目录,不读取用户默认 Chrome profile,
    也不静默复用其 cookie。
  • 文本和截图结果都有明确大小上限;公开合同不包含 evaluate、上传、系统文件对话框或任意
    文件保存工具。

范围

  • Runtime 支持和正式验收以 Windows Desktop 为首要范围。
  • macOS/Linux 构建只获得 fail-closed 的打包 stub,用于保持现有 Tauri release 校验有效;
    这不代表提供跨平台 Browser 支持。
  • codeg-browser-sidecar 与现有 Delegation companion codeg-mcp 保持独立。
  • 保留现有 Agent、Session、权限、Delegation 和用户 MCP 配置模型。
image image

@lj64212585 lj64212585 closed this Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant