Agent 探索一次,结晶为参数化技能;之后以确定性执行引擎进行 0 Token 回放与批量运行。
Agent-RPA 是一个面向 Agent 的浏览器自动化底座。它把认知与执行分开:外部 Agent 负责探索、判断和必要时的自愈,praxisd 负责浏览器生命周期、技能结晶与注册、确定性回放、定位、自愈编排、策略、Vault 和可观测性。
项目目前处于 alpha / 架构实现阶段,尚不适合直接用于生产环境。核心契约及 M0–M3 组件、M4 编排治理面已经实现并通过单元、契约和 fake-driver 集成测试;真实浏览器回放仍需完成 daemon 侧驱动接线,批量执行、MCP 工具面、Agent adapters 与多节点服务化仍在后续 OpenSpec change 中。
- 底座不内置 Agent:认知经 Cognition Port 委托给 Cursor、Codex、Claude、openclaw 或自研 Agent;没有 Agent/密钥时,确定性路径仍可运行。
- 回放期 0 Token:正常回放与批量路径不得调用 LLM;Token 只允许出现在外部 Agent 的探索或分级自愈中,并被计量。
- 记录语义,重合成执行:技能包保存“做什么”,轨迹与时序在回放时按身份画像重新采样。
- 传输可替换:上层只依赖
BrowserNode,T0–T3 驱动通过同一契约接入。 - 机密不进技能包和日志:所有凭据只通过
%vault:...%占位符引用。
| 阶段 | 状态 | 已落地内容 |
|---|---|---|
| M0 | 已归档 | praxisd 骨架、BrowserNode、Cognition Port、技能包与注册表契约 |
| M1 | 已归档 | 浏览器生命周期、T2 driver-cdp、探索/录制/结晶、0 Token 解释器与影子回放门禁 |
| M2 | 已归档 | 多模态感知、定位器仓库、L1/L2/L3 分级自愈 |
| M3 | 已归档 | 行为合成、指纹一致性、隐身阶梯控制面 |
| M4 | 部分完成 | 编排、Run 模型、Policy、Vault、Observability 已归档;批量参数模板待实现 |
| M5–M6 | 已提案 | MCP 工具面、Agent adapters、多节点服务化待实现 |
“已归档”表示对应 OpenSpec change 的实现和仓库内验证已完成,不等于真实站点生产验收。当前 daemon 仍有
NoTransportDialer与noDriverReplay接线占位;真实 Chrome、反检测站点与完整 Agent→MCP→浏览器闭环是后续发布门槛。
实时状态与依赖以开发路线图和 openspec/changes/ 为准。
flowchart TB
AGENT["外部 Agent<br/>Cursor / Codex / Claude / openclaw / 自研"]
subgraph PRAXIS["praxisd · Go 控制面"]
PORTS["MCP inbound / Cognition Port outbound"]
CONTROL["Orchestrator / Registry / Recorder / Crystallizer<br/>Interpreter / Self-Heal / Batch / Policy / Vault / Observability"]
RUNTIME["Browser Pool / Multimodal / Behavior / Fingerprint / Stealth"]
end
NODE["BrowserNode gRPC contract"]
DRIVERS["T0 HTTP / T1 Patchright / T2 CDP / T3 extreme"]
CHROME["System Chrome"]
AGENT --> PORTS
PORTS --> CONTROL --> RUNTIME --> NODE --> DRIVERS --> CHROME
PORTS -. cognition request .-> AGENT
六条不可违背的架构不变量见 AGENTS.md,完整设计从 docs/blueprint/00-vision-and-scope.md 开始。
前置条件:
- Go 1.26+
- OpenSpec 1.4.3(仅规格工作流需要)
- Python 3.11+ 与本地 Chrome(仅
driver-cdp和真实浏览器集成需要) protoc33.x(仅重新生成 proto 时需要)
构建并运行控制面:
git clone https://github.com/WW-AI-Lab/Agent-RPA.git
cd Agent-RPA
cp praxis.config.example praxis.config
go build -o bin/praxisd ./cmd/praxisd
./bin/praxisd --config praxis.config默认监听 127.0.0.1:7420:
curl http://127.0.0.1:7420/healthz
curl http://127.0.0.1:7420/statusz配置优先级为 --config → $PRAXIS_CONFIG → ./praxis.config → ~/.praxis/praxis.config。不要把真实凭据写进配置;只提交 %vault:...% 占位符。
go test ./...
go build ./...
openspec validate --all --strict
make driver-cdp-license-check需要本地 Chrome 的检查:
make driver-cdp-venv
make driver-cdp-test
go test -tags=integration ./test/...cmd/praxisd/ 守护进程入口与装配
internal/ 控制面与执行面实现
api/proto/ BrowserNode / Cognition 契约
drivers/ 浏览器传输驱动与契约 harness
pkg/ 可复用公共包与技能包 schema
test/ integration / e2e / invariant tests
docs/blueprint/ 架构蓝图(设计真理源)
docs/roadmap/ change DAG、里程碑与实施 gate
openspec/ 当前规格、活动 change 与归档 change
本项目采用 OpenSpec 规格驱动开发:先对齐蓝图与现状规格,再提交 proposal → specs → design → tasks,严格验证后实现并归档。开始前请阅读 AGENTS.md;变更顺序以路线图为准。
Agent-RPA 的抗检测能力用于降低合法用户代理被自动化系统误判的概率,不用于绕过授权、访问控制或人工验证。硬挑战应升级人工;部署者必须遵守目标站点 ToS、数据保护要求和当地法律。安全问题请按 SECURITY.md 私下报告。
仓库当前尚未声明项目级开源许可证。在根目录 LICENSE 经组织确认落地前,代码保持版权所有;公开可读不等于获得复制、修改或分发授权。第三方依赖仍适用各自许可证。