Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

314 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BPA

CI Protocol Docs

BPA:真实浏览器中的受约束执行

协议文档 · 架构方案 · 运行与验收 · JSON Schema

BPA(Browser Process Assistance)把经过审核的浏览器流程编译成版本化 Workflow 和 Node,再交给用户真实浏览器中的扩展执行。人和 AI 可以触发同一套流程,但 AI 不直接接管浏览器,也不能在运行时下发任意 JavaScript。

当前仓库包含一条可运行的本地纵向链路:CLI、Local Core、Workflow Engine、Browser Gateway、Native Host、Chrome Extension、SQLite 状态与审计,以及用于创作 Workflow / Node 的 MCP 工具。

2026-07-30 的实现实况见 BPA 0.4 当前实况。文档与 AI 的推荐阅读顺序见 BPA 文档阅读入口。上一阶段的默认节点和 Skills 盘点保留在 BPA 当前实况与默认资产 v0.3;单节点运行、人工步骤、结构化循环和 AI 页面预定位设计见 BPA 基础场景、工程闭环与 AI 创作设计 v0.4

执行边界

Human / AI
    │  structured request
    ▼
Workflow Compiler ──→ Workflow Engine ──→ Browser Gateway
                                              ⇅  bpa.browser/1
                                      Extension Bridge
                                              │
                                              ▼
                                     Real Browser DOM

Every step ──→ Event Log · Evidence · Audit · Human Approval

Workflow 决定流程,Node 定义单步能力,Extension Bridge 校验页面上下文和权限后执行动作。页面内容只是输入,不能变成系统指令。写动作的结果无法确认时,运行进入 uncertain,不会把未知副作用当作失败后自动重试。

这不是通用浏览器 Agent,也不以 headless 浏览器代替用户环境。当前实现首先解决真实登录态下的确定性执行、断线恢复、权限收敛和证据留存。

当前版本

范围 版本 / 状态 说明
BPA Runtime 0.6.1 Windows x64 RC 与低负担业务工作台进入部分实现;真实平台验收仍按当前实况单独标记
Browser Protocol bpa.browser/1 · 1.0.0 已确认;双向独立序列、ACK、Resume、Cancel 与 Fencing
Permission / Event / Evidence v1 稳定公共模型
Workflow / Node Workflow v1alpha1 / v1alpha2 / v1alpha3;Node v1alpha1 / v1alpha2 Alpha;v1alpha3 增加冻结 Browser Resource Slot
Reference Adapter Doudian Adapter 1.2.0 当前只读参考场景,不代表通用零适配承诺

机器规范以 packages/schemas/schema 为唯一事实来源。公开站点只复制明确列入白名单的 Schema 和中性消息样例。

仓库结构

.
├── apps/
│   ├── cli/                 # 本地控制 CLI
│   ├── console-host/        # Loopback 工作台 Host 与安全文件通道
│   ├── docs/                # Astro + Starlight 协议站
│   ├── extension/           # WXT Chrome Extension
│   ├── local-core/          # 本地控制面、Unix Socket / Windows Named Pipe
│   ├── mcp-server/          # Workflow / Node 创作工具
│   ├── native-host/         # Chrome Native Messaging Host
│   └── operator-console/    # React 本地业务工作台
├── packages/
│   ├── compiler/            # Workflow 编译、摘要与版本固定
│   ├── engine/              # 执行、重试、暂停、取消与补偿
│   ├── gateway-core/        # Browser Protocol 会话与投递
│   ├── browser-bridge/      # Bridge 端协议、Pending Result
│   ├── node-runtime/        # Node 执行契约
│   ├── attention-core/      # 人工关注项与批量聚合
│   ├── interaction-policy/  # 静默恢复、延后、聚合和打断策略
│   ├── operator-read-model/ # 面向业务人员的任务与结果投影
│   ├── asset-core/          # 不可变 Asset / Blob 契约
│   ├── asset-store-local/   # 本地 SHA-256 内容寻址存储
│   ├── evidence-core/       # Evidence 生命周期与分块语义
│   ├── persistence/         # 持久化接口
│   ├── persistence-sqlite/  # SQLite Registry / Event / Inbox / Outbox
│   └── schemas/             # JSON Schema 与生成类型
├── adapters/doudian/        # 首个真实页面适配器
├── nodes/core/              # 内置控制与数据节点
├── workflows/examples/      # 可发布 Workflow 样例
├── skills/                  # BPA 创作与诊断 Skills
├── docs/                    # 架构、协议、运维和实验记录
└── scripts/                 # 安装、升级、回滚与卸载

开始开发

要求 .nvmrc 固定的 Node.js 24.18.0 和 pnpm 10.32.1;发布构建拒绝 Node patch 漂移。

git clone https://github.com/MapleCity1314/BPA.git
cd BPA
pnpm install --frozen-lockfile
pnpm verify

pnpm verify 是本地、CI 和打包前的统一门禁,覆盖仓库资产一致性、脚本语法、 Schema、类型、测试、构建和文档检查。

启动 Local Core,并在另一个终端检查状态:

pnpm core
pnpm bpa doctor

启动协议文档:

pnpm docs:dev

Chrome 扩展、Native Host、首个只读 Workflow 和 macOS 安装流程见本地 v1 运行与验收。Windows RC 的安装和验收见 Windows x64 RC 安装与验证

从资产到执行

Published Artifact 不能用相同的 asset_id + version 覆盖。候选资产可以由 MCP 工具生成或校验,但正式发布必须由人在 CLI 中明确确认。

# 校验
pnpm bpa validate node nodes/core/control.start.node.yaml

# 发布
pnpm bpa publish node nodes/core/control.start.node.yaml --yes

# 执行
pnpm bpa run <workflow-id> --version <version>
pnpm bpa inspect <run-id>
pnpm bpa events <run-id>

MCP 服务提供 catalog_searchworkflow_genworkflow_validateworkflow_simulateartifact_diffnode_gennode_requirement_create

pnpm mcp

这些工具只能创建 asset.candidate,不能代替人工批准发布。

协议与安全

Browser Protocol v1 覆盖会话建立、能力声明、Permission Grant、命令投递、结果确认、断线恢复、取消与 Fencing。协议对未知字段严格失败,Extension Bridge 会拒绝过期权限、错误序列、无效签名和不匹配的页面上下文。

项目阶段

BPA 已完成本地 v1 的纵向闭环和一个真实页面的只读参考实现。现阶段重点是收紧协议与资产模型、扩大回放和故障测试,再逐步抽离更多通用节点。仓库中的 docs/archive/ 只用于追溯,不是当前规范。

架构基线以 BPA 通用技术方案 v1.0 为准;对外集成优先阅读协议文档站

License

仓库目前尚未选择开源许可证。在 LICENSE 文件落地前,源码可公开阅读,但不自动授予复制、修改或再分发权利。

About

BPA — Browser Protocol and Automation

Resources

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages