AgentRPA
Enables browser-based e-commerce information collection on Taobao pages, including opening search pages and extracting titles and prices with page snapshots under policy controls.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AgentRPA run the ecom_collect recipe on jd.com for mechanical keyboards and list titles and prices"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
rpa-llm-bridge
企业 RPA 与智能体之间的双向桥。 一套仓库,两个方向:
v0.1 内核(
agentrpa):智能体通过 MCP 驱动浏览器 / Windows 桌面 / Office,统一 action 契约、YAML Recipe、Policy 闸门、hitl 暂停、断点续跑、审计。v2.0 桥(
agentrpa_bridge):影刀 / UiPath / Power Automate 反过来调用 Codex / Claude / DeepSeek Harness / 豆包,凭证托管、进程复用、并发闸门、限速、审计、指标;同时把影刀应用注册成 MCP 工具给智能体调用。
📖 详细使用说明(USAGE.md) · 🏢 企业接入方案 · 🧭 平台接入对照(PLATFORMS.md) · 🧱 设计取舍
架构

方向 A:智能体 → 电脑(v0.1)
Codex / Claude / Cursor ──MCP──▶ 浏览器(Playwright) · Windows 桌面(pywinauto) · Office(openpyxl/docx)
方向 B:RPA → 智能体(v2.0)
影刀 / UiPath / Power Automate
│ sdk/rpa_agent_block.py(零依赖,可粘进代码块)或 HTTP
▼
agentrpa-bridge gateway 鉴权 · 并发 · 限速 · 审计 · /metrics · 异步任务
├── stdio MCP ──▶ codex mcp-server / claude mcp serve / 自研 MCP
├── CLI ──▶ dsh headless(DeepSeek Harness)
└── HTTP ──▶ 豆包(火山方舟)/ DeepSeek / vLLM / 私有网关
方向 C:智能体 → RPA(v2.0 反向)
Codex / Claude / WorkBuddy ──MCP──▶ yingdao_mcp_server.py ──▶ 影刀 startJob / queryJob企业里的分工:RPA 当"手",智能体当"脑",桥负责把两边都变成对方能调用的形状,并把凭证、并发、审计、超时集中管住。
Related MCP server: fast-hands
v2.0 新增
能力 | 说明 |
企业网关 |
|
后端适配 | Codex(MCP,常驻会话)、Claude Code(工具面)、dsh headless(一次性长任务)、豆包/火山方舟、任意 OpenAI 兼容、自研 MCP |
影刀 SDK |
|
反向 MCP |
|
配置导出 |
|
审计与指标 | jsonl(prompt 指纹 + 前 200 字符 + 密钥正则脱敏)、Prometheus 文本指标 |
v2.1 新增:企业护栏

反向触发 RPA 属于对内部系统的写操作,比模型调用更需要按"应用"维度管:
护栏 | 变量 | 行为 |
应用白名单 |
| 白名单外直接拒绝,不产生任务 |
人工审批 |
| 必须带 |
单应用并发 |
| 满则 |
幂等窗口 |
| 同参重复提交返回同一 |
新增 rpa_policy 工具,智能体可自行查看护栏状态与在跑任务数。落地路径(角色、四阶段、评审问答、验收清单)见 企业接入方案。
v2.2 新增:安全与稳定性加固
一轮"按能不能上线"标准的自审,修掉 5 个已被复现的边界问题(详见 Release v2.2.0):
问题 | 修法 |
没配 token 时任意 Bearer 都放行 | 常量时间逐个比对,未知 token 一律 401 |
超限 body 打断 keep-alive 连接 | 丢弃 body + |
同一 agent 的串行锁不受 timeout 约束 | 锁等待按调用方预算超时,返回 |
超时被当成可重试错误 | 超时不再重试,只对进程崩溃重连一次 |
审计只脱敏 key,不脱敏 PII | 手机 / 身份证 / 银行卡 / 邮箱统一打码 |
另外:AGENTRPA_ALLOW_ANON 默认改为 0;RPA 并发槽位加 YINGDAO_MAX_HOLD 自动回收;wheel 补发 server.py 与影刀 SDK。
v2.3 新增:调用幂等 + 参数注入防护
能力 | 用法 | 行为 |
幂等调用 |
| 同 key 在窗口内只跑一次 agent,重复请求直接回放结果( |
参数转义 | 自动生效 | Windows |
curl -s -X POST http://127.0.0.1:8765/v1/invoke `
-H "Authorization: Bearer tok-a" -H "Idempotency-Key: order-88123" `
-H "Content-Type: application/json" `
-d '{"agent":"codex","prompt":"……"}'v2.4 新增:跨节点共享状态
限速与幂等不再困在单个进程里:
$env:AGENTRPA_STATE_BACKEND = "sqlite"
$env:AGENTRPA_STATE_PATH = "D:\bridge\state.db"后端 | 适用 |
| 单进程 / PoC |
| 同机多进程、共享盘;WAL + |
Redis | 未内置,按 |
两个网关共用一个库时,同一个 Idempotency-Key 只会跑一次 agent(有用例锁死)。
v2.5 新增:SSE 进度流
长任务不再只有一个「转圈」:
curl -N "http://127.0.0.1:8765/v1/jobs/$run_id/events" -H "Authorization: Bearer tok-a"event: progress
data: {"stage": "tool_call", "name": "read_file", "seq": 3}能力 | 说明 |
事件流 |
|
断点续传 |
|
真实事件 | CLI 参数带 |
影刀侧 |
|
v2.6 新增:质量闸门

能力 | 说明 |
覆盖率红线 |
|
CI 矩阵 | ubuntu 3.11/3.12/3.13 + windows 3.12;3.14 单列一档,失败可见但不挡合并 |
lint 全量 |
|
死代码清理 | 删掉从未被引用的 |
v2.7 新增:Redis 后端 + 事件持久化

后端 | 限速 | 幂等 | 作业事件 |
| 滑动窗口(进程内) | 进程内 | 重启即丢 |
| 滑动窗口(WAL) | 表 + 事务 | 落盘,重启回放 |
| 固定窗口(INCR) |
| List + done 键 |
$env:AGENTRPA_STATE_BACKEND = "redis"
$env:AGENTRPA_REDIS_URL = "redis://10.0.0.9:6379/0"进程重启后,GET /v1/jobs/{id}/events 仍能全量回放,GET /v1/jobs/{id} 返回 status: recovered。
快速开始
只跑桥(零第三方依赖)
git clone https://github.com/c8xm/rpa-llm-bridge.git
cd rpa-llm-bridge
python examples\local_demo.py # 不需要任何 API key
python -m unittest tests.test_mcp_client tests.test_providers tests.test_gateway tests.test_sdk tests.test_yingdao tests.test_platforms起网关:
$env:AGENTRPA_TOKENS = "tenantA:tok-a"
$env:AGENTRPA_ALLOW_ANON = "0"
python -m agentrpa_bridge.gateway --port 8765调一次:
curl -s -X POST http://127.0.0.1:8765/v1/invoke `
-H "Authorization: Bearer tok-a" -H "Content-Type: application/json" `
-d '{"agent":"codex","prompt":"把 11300 含税金额按 13% 拆出税额,只返回数字","meta":{"flow":"invoice_tax"}}'跑内核(智能体操作本机)
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e ".[dev]"
.\.venv\Scripts\python.exe -m playwright install chromium
.\.venv\Scripts\python.exe server.py后端怎么选
场景 |
| 形态 | 单次耗时 |
改脚本、跑命令、要工具 |
| MCP 常驻 | 3–15 s |
长任务(分钟级) |
| CLI 一次性 | 冷启动 2–5 s + 任务 |
中文文本生成、量大 |
| OpenAI 兼容 | 1–8 s |
模型在本机动手 |
| MCP 工具面 | 取决于工具 |
离线/私有模型 |
| OpenAI 兼容 | 取决于部署 |
接法与坑见 PLATFORMS.md:WorkBuddy 是 MCP 客户端而非后端;claude mcp serve 是工具集合不是问答;豆包 model 必须填接入点 ep-...;dsh 只读 .env 里的凭据。
工具清单
v0.1 内核(27 个 MCP 工具,详见 USAGE.md):server_info / policy_summary / driver_status / browser_* / open_url / page_snapshot / list_page_elements / click_page_element / type_into_element / scroll_page / take_screenshot / extract_page / recipe_list|get|run / run_state|resume|list / audit_tail / desktop_* / office_*
v2.0 反向(影刀):rpa_list_apps / rpa_app_params / rpa_start_job / rpa_query_job / rpa_clients / rpa_run_local / rpa_policy
项目结构
rpa-llm-bridge/
├─ server.py v0.1 MCP 工具层
├─ agentrpa/ v0.1 内核:core / drivers / recipes
├─ agentrpa_bridge/ v2.0 桥
│ ├─ mcp_client.py 最小 MCP stdio 客户端(纯 stdlib)
│ ├─ providers.py codex / claude / dsh / 豆包 / OpenAI / CLI + 会话池
│ ├─ gateway.py 企业网关(鉴权·并发·限速·审计·指标·异步)
│ ├─ yingdao_api.py 影刀开放 API(签名可替换)+ 本地 ShadowBot
│ ├─ policy.py 企业护栏:白名单 / 审批 / 单应用并发 / 幂等
│ └─ yingdao_mcp_server.py 反向 MCP:RPA 应用作为工具
├─ sdk/rpa_agent_block.py 影刀代码块单文件 SDK(3.8+)
├─ scripts/ export_mcp_config.py / install_windows.ps1 / make_assets.py
├─ examples/ local_demo.py(RPA 调智能体)/ reverse_demo.py(智能体调 RPA)
│ mock_yingdao_server.py(没有影刀环境时的假开放 API)
├─ tests/ 160 个用例(内核 43 + 桥 51 + 反方向 5 + 护栏 11 + 加固 10 + 幂等/转义 11 + 共享状态 7 + 进度流 5 + MCP 单测 7 + Redis/持久化 10)
│ 覆盖率门槛 78%(当前 82%,drivers 需真机故 omit)
└─ docs/ USAGE.md / ENTERPRISE-ADOPTION.md / PLATFORMS.md / BRIDGE_DESIGN.md / DESIGN.md安全模型
凭证分层:工位只有网关 token;模型 key 只存网关机;影刀 AccessKey 只存反向 MCP 进程。
审计脱敏:
prompt只留前 200 字符 + sha256;sk-*/ghp_*/AKIA*/Bearer *统一[REDACTED]。配额与背压:默认 60 req/min/tenant、4 并发;打满排队超时回 503,不无限堆积。
不可逆动作不外包:下单、支付、发布、删除仍留在 RPA 的审批节点,桥不提供"agent 直接确认"的通道。
v0.1 的 Policy 闸门照旧:域名白名单、应用白名单、敏感字段拦截、状态变更人工确认。
路线图
v0.1 多驱动内核(浏览器 / 桌面 / Office)
v2.0 企业网关 + 影刀 SDK + 反向 MCP + 多后端适配
dsh headless --json事件流 → 网关 SSE 进度接口同名多实例调度(
codex-1..N)与按工单 hash 分片审计按 run 聚合查询与导出
录制回放:一次人工操作转成 Recipe 草稿
桌面控件截图回归
许可
MIT © 2026 c8xm。架构思路参考 JD-Taobao-MCP,代码为独立实现,来源记录见 UPSTREAM.md。
Available Tools
6 toolsrpa_app_paramsA
查某个影刀应用的入参定义(参数名、类型、是否必填)。
Inputs: app_id (required).
rpa_clientsA
列出可调度的机器人(客户端)及其在线状态。
Inputs: no named parameters.
rpa_list_appsA
列出影刀应用(RPA 流程)。先查这个拿到 appId,再决定跑哪个流程。
Inputs: keyword.
rpa_policyA
查看当前企业护栏:应用白名单、审批清单、单应用并发上限、幂等窗口、在跑任务数与拒绝统计。
Inputs: no named parameters.
rpa_query_jobB
查询影刀任务执行状态与输出。轮询用,不要连续高频调用。
Inputs: job_id (required).
rpa_start_jobA
启动一个影刀应用任务,返回 jobId。参数必须与应用入参定义一致。涉及资金或对外发送的应用需要 approved_by(审批人工号/工单号)。
Inputs: app_id (required), params, client_id, approved_by.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool maps to a distinct step of the RPA workflow: discovering apps, inspecting their parameters, launching a job, polling job status, listing available robots, and reading the governance policy. Descriptions even explain the intended sequencing (list_apps before start_job), so there is no realistic way to confuse two tools.
Every tool uses the same rpa_ prefix plus a snake_case verb/noun pair (list_apps, app_params, start_job, query_job, clients, policy). Consistent and predictable throughout.
Six tools is a tight, well-scoped set that covers the full discovery → parameter check → launch → poll lifecycle plus inventory and guardrails. No tool looks redundant or padded.
The core launch-and-monitor loop is covered, including pre-flight parameter inspection and policy/approval checks. The notable gap is job lifecycle control — there is no cancel/stop tool and no way to list recent or running jobs beyond a single jobId lookup.
Maintenance
Related MCP Connectors
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Build and run agents and automations across hundreds of apps using natural language.
Connect AI assistants to your approved computer for files, commands, browser and desktop tasks.
Give AI agents 30,000+ safe, token-optimized actions across Workday, SAP, Oracle + hundreds more.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to securely control a user's existing Chrome profile locally, providing typed browser actions, form and editor support, WordPress workflows, terminal automation, and Figma inspection with policy-based authorization and redacted auditing.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to execute local commands and multi-step workflows with durable checkpoints, operator controls, and safe resume/revise capabilities. It also provides local web and YouTube research tools, with optional Windows UI automation.12 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to observe and control the user's live desktop by listing apps, reading accessibility trees, and performing clicks, typing, scrolling, dragging, and other input actions with per-action approvals and local audit archives.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to drive Windows desktop automation — opening and interacting with applications, native UI controls, keyboard/mouse input, files, processes, clipboard, and Chrome/Edge browsing via UI Automation and CDP. All actions pass through a safety policy with human approval, emergency stop, and deterministic verification.1MIT