Skip to content

Commit b20ec03

Browse files
committed
update readme
1 parent f209ff4 commit b20ec03

1 file changed

Lines changed: 98 additions & 60 deletions

File tree

README.md

Lines changed: 98 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,101 @@
1010
1111
一个面向 AI Agent 的轻量化浏览器自动化 MCP 引擎,支持操作记录与详细执行上下文导出。
1212

13-
## OpenClaw 集成(推荐)
13+
## OpenClaw 中使用 ZeroToken
1414

15-
ZeroToken 推荐与 OpenClaw 搭配,用作浏览器执行层与轨迹重放引擎
15+
ZeroToken OpenClaw 的浏览器执行层,适合**录制一次、重复执行**的自动化任务(如每日登录、定时抓取)。下面说明完整接入流程
1616

17-
- **MCPorter / ClawHub 安装**:通过 MCPorter 或 OpenClaw 的 ClawHub 安装 ZeroToken MCP,配置会自动写入 `openclaw.json`。安装后启用名为 `zerotoken` 的 MCP server,再安装 `zerotoken-openclaw` Skill(见 `docs/skills.md`)即可使用。
18-
- **MCP 已通过 Marketplace 安装时**:在支持 MCP 的客户端(如 Cursor / OpenClaw)中启用名为 `zerotoken` 的 MCP server,然后在 OpenClaw 安装 `zerotoken-openclaw` Skill,即可在工作流中直接使用 ZeroToken 的浏览器工具和轨迹脚本。
19-
- **本地开发 / 调试场景**:按照下文「安装」「快速开始」章节启动本地 MCP 服务,并在客户端中将其注册为 id 为 `zerotoken` 的 MCP server,再搭配 `zerotoken-openclaw` Skill 使用。
17+
### 为什么需要 HTTP 模式?
2018

21-
**重要**:OpenClaw 使用 ZeroToken 时需采用 **HTTP 模式**(Streamable HTTP),并在**后台手动启动** `zerotoken-mcp-http` 服务,否则每次调用会新建进程导致 browser 状态丢失。详见 `skills/zerotoken-openclaw/SKILL.md`
19+
OpenClaw 通过 MCPorter 调用 MCP 时,若使用 stdio(command 模式),**每次工具调用都会新建进程**,导致 browser 实例被销毁、状态丢失。因此必须改用 **Streamable HTTP 模式**:ZeroToken 以 HTTP 服务常驻,OpenClaw 通过 URL 连接,同一会话内 browser 状态得以保持
2220

23-
典型工作流示例和脚本格式说明见:
21+
### 接入步骤(完整流程)
2422

25-
- `docs/skills.md`:OpenClaw Skill 安装与约定
26-
- `skills/zerotoken-openclaw/SKILL.md`:教会 Agent 何时录制轨迹、何时生成脚本、如何以低 Token 成本重放
23+
#### 1. 安装 ZeroToken
24+
25+
```bash
26+
# 通过 pip 或 uv
27+
pip install zerotoken
28+
#
29+
uv add zerotoken
30+
31+
# 安装 Playwright 浏览器(必须)
32+
playwright install chromium
33+
```
34+
35+
若通过 MCPorter 安装到 OpenClaw:
36+
37+
```bash
38+
npm install -g mcporter
39+
mcporter install zerotoken --target openclaw --configure
40+
```
41+
42+
安装后同样需执行 `playwright install chromium`
43+
44+
#### 2. 在后台启动 HTTP 服务,并保持常驻
45+
46+
在终端中运行(**不要关闭**):
47+
48+
```bash
49+
zerotoken-mcp-http
50+
```
51+
52+
默认监听 `http://0.0.0.0:8000/mcp`。可指定端口:
53+
54+
```bash
55+
zerotoken-mcp-http --port 8001
56+
#
57+
ZEROTOKEN_HTTP_PORT=8001 zerotoken-mcp-http
58+
```
59+
60+
#### 3. 配置 openclaw.json
61+
62+
`~/.openclaw/openclaw.json`(或项目内 `openclaw.json`)的 `mcpServers` 中,将 ZeroToken 配置为 **URL**,不要用 command:
63+
64+
```json
65+
{
66+
"mcpServers": {
67+
"zerotoken": {
68+
"url": "http://localhost:8000/mcp"
69+
}
70+
}
71+
}
72+
```
73+
74+
若使用非默认端口,修改 URL 中的端口号即可。
75+
76+
#### 4. 安装 zerotoken-openclaw Skill
77+
78+
将 Skill 放入 OpenClaw 的 skills 目录之一:
79+
80+
- 工作区:`./skills/zerotoken-openclaw/`
81+
- 本地共享:`~/.openclaw/skills/zerotoken-openclaw/`
82+
83+
或通过 ClawHub:`clawhub install zerotoken-openclaw`(若已发布)。
84+
85+
从本仓库复制:
86+
87+
```bash
88+
cp -r skills/zerotoken-openclaw ~/.openclaw/skills/
89+
```
90+
91+
#### 5. 在 OpenClaw 中启用
92+
93+
在 OpenClaw 中启用名为 `zerotoken` 的 MCP server,并确保 `zerotoken-openclaw` Skill 已加载。Agent 即可通过 MCP 调用浏览器工具。
94+
95+
### 典型工作流
96+
97+
1. **录制轨迹**:用户描述任务(如「每日登录某站并拉取报表」),Agent 调用 `browser_init``browser_open` / `browser_click` / `browser_input` 等 → `trajectory_complete`,完成一次录制。
98+
2. **生成脚本**:对重复/定时任务,Agent 调用 `trajectory_to_script(task_id)` 将轨迹转为可回放脚本。
99+
3. **绑定定时任务**:Agent 调用 `script_binding_set(binding_key=job_id, script_task_id=task_id)` 将 OpenClaw 的 job_id 与脚本绑定。
100+
4. **定时执行**:OpenClaw 触发定时任务时,Agent 调用 `run_script_by_job_id(binding_key=job_id)` 一步执行,无需 LLM 逐步推理,Token 消耗低。
101+
102+
更多详情见:`skills/zerotoken-openclaw/SKILL.md``docs/skills.md`
103+
104+
### 常见问题
105+
106+
- **browser 状态丢失、每次操作都像第一次**:说明仍在使用 command 模式。请确保 (1) 在后台运行 `zerotoken-mcp-http`;(2) `openclaw.json``zerotoken` 配置为 `url` 而非 `command`
107+
- **连接失败 / MCP 不可用**:确认 `zerotoken-mcp-http` 已启动且端口正确(默认 8000),URL 与配置一致。
27108

28109
## 核心理念
29110

@@ -175,47 +256,9 @@ graph TB
175256

176257
## 安装
177258

178-
### 通过 MCPorter 安装(OpenClaw 推荐)
179-
180-
ZeroToken 提供 `server.json`,与 MCP Registry 及 MCPorter 兼容。通过 MCPorter 可自动发现、安装并配置到 OpenClaw:
181-
182-
```bash
183-
# 安装 MCPorter
184-
npm install -g mcporter
185-
186-
# 搜索并安装 ZeroToken(安装到 OpenClaw)
187-
mcporter search zerotoken
188-
mcporter install zerotoken --target openclaw --configure
189-
```
190-
191-
若 MCPorter 暂未收录,可手动在 `~/.openclaw/openclaw.json``mcpServers` 中添加:
192-
193-
**OpenClaw(推荐 HTTP 模式)**:先在后台运行 `zerotoken-mcp-http`,再配置为 URL:
194-
195-
```json
196-
{
197-
"mcpServers": {
198-
"zerotoken": {
199-
"url": "http://localhost:8000/mcp"
200-
}
201-
}
202-
}
203-
```
204-
205-
**Cursor 等 IDE(stdio 模式)**
206-
207-
```json
208-
{
209-
"mcpServers": {
210-
"zerotoken": {
211-
"command": "zerotoken-mcp",
212-
"args": []
213-
}
214-
}
215-
}
216-
```
259+
**OpenClaw 用户**:完整步骤见上文「[在 OpenClaw 中使用 ZeroToken](#在-openclaw-中使用-zerotoken)」。
217260

218-
若使用 uv,将 `command` 改为 `uv``args` 改为 `["run", "zerotoken-mcp"]`。安装后需执行 `playwright install chromium` 安装浏览器依赖
261+
**Cursor 等 IDE**:安装后使用 stdio 模式,在客户端配置 `command: "zerotoken-mcp"``command: "uv", args: ["run", "zerotoken-mcp"]` 即可
219262

220263
### 本地开发 / pip 安装
221264

@@ -238,22 +281,17 @@ playwright install chromium
238281

239282
### 1. 启动 MCP Server
240283

241-
**HTTP 模式**(推荐,适用于 OpenClaw / MCPorter,服务常驻以保持 browser 状态):
284+
| 场景 | 命令 | 说明 |
285+
|------|------|------|
286+
| **OpenClaw** | `zerotoken-mcp-http` | 在后台常驻,`openclaw.json` 配置 `url: "http://localhost:8000/mcp"`。详见「[在 OpenClaw 中使用 ZeroToken](#在-openclaw-中使用-zerotoken)」。 |
287+
| **Cursor 等 IDE** | `zerotoken-mcp` 或由客户端拉起 | stdio 模式,配置 `command: "zerotoken-mcp"`|
242288

243289
```bash
290+
# OpenClaw:HTTP 模式(后台常驻)
244291
zerotoken-mcp-http
245-
#
246-
zerotoken-mcp --transport streamable-http
247-
```
248-
249-
默认监听 `http://0.0.0.0:8000/mcp`。可通过 `--port``--host` 或环境变量 `ZEROTOKEN_HTTP_PORT``ZEROTOKEN_HTTP_HOST` 覆盖。**使用 OpenClaw 时必须在后台手动启动此服务**,并在 `openclaw.json` 中将 MCP 配置为 URL(如 `http://localhost:8000/mcp`)而非 command,详见 `skills/zerotoken-openclaw/SKILL.md`
250-
251-
**stdio 模式**(适用于 Cursor 等 IDE,进程由客户端拉起):
252292

253-
```bash
293+
# Cursor:stdio 模式
254294
zerotoken-mcp
255-
#
256-
python mcp_server.py
257295
```
258296

259297
### 2. AI Agent 通过 MCP 调用浏览器工具

0 commit comments

Comments
 (0)