@next-open-ai/openbot 0.1.6 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +210 -46
- package/desktop/renderer/dist/assets/{index-C_kMPPGO.css → index-BBoPEPR6.css} +2 -2
- package/desktop/renderer/dist/assets/index-DL_hPION.js +89 -0
- package/desktop/renderer/dist/index.html +2 -2
- package/dist/cli.js +10 -6
- package/dist/config/desktop-config.d.ts +23 -4
- package/dist/config/desktop-config.js +196 -13
- package/dist/config/provider-support-default.d.ts +3 -1
- package/dist/config/provider-support-default.js +15 -2
- package/dist/gateway/server.js +2 -0
- package/dist/memory/embedding.d.ts +2 -8
- package/dist/memory/embedding.js +11 -18
- package/dist/memory/index.d.ts +2 -2
- package/dist/memory/index.js +7 -3
- package/dist/memory/remote-embedding.d.ts +10 -0
- package/dist/memory/remote-embedding.js +36 -0
- package/dist/server/agent-config/agent-config.controller.d.ts +1 -1
- package/dist/server/agent-config/agent-config.service.d.ts +17 -1
- package/dist/server/agent-config/agent-config.service.js +40 -0
- package/dist/server/config/config.controller.d.ts +10 -0
- package/dist/server/config/config.module.js +2 -0
- package/dist/server/config/config.service.d.ts +13 -1
- package/dist/server/config/config.service.js +17 -2
- package/package.json +1 -2
- package/desktop/renderer/dist/assets/index-1nA9hbE0.js +0 -89
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
[](https://www.typescriptlang.org/)
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
6
|
|
|
7
|
-
**OpenBot** 是基于 Agent Skills 与编码智能体(Coding Agent)的**一体化 AI 助手平台**,支持 CLI、WebSocket 网关与桌面端。通过可插拔技能(Skills)、浏览器自动化、代码执行与长期记忆,为开发与日常任务提供可扩展的 AI
|
|
7
|
+
**OpenBot** 是基于 Agent Skills 与编码智能体(Coding Agent)的**一体化 AI 助手平台**,支持 CLI、WebSocket 网关与桌面端。通过可插拔技能(Skills)、浏览器自动化、代码执行与长期记忆,为开发与日常任务提供可扩展的 AI 工作流。除提供可自我升级扩展的 AI Agent 引擎及多通道、多终端接入外,后续将支持 MCP 以降低 Token 消耗与大模型幻觉,并接入现有 AI Agent 生态(下一步计划接入 Coze)。
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -12,11 +12,13 @@
|
|
|
12
12
|
|
|
13
13
|
| 能力 | 说明 |
|
|
14
14
|
|------|------|
|
|
15
|
-
| **技能架构** | 基于 Agent Skills
|
|
15
|
+
| **技能架构** | 基于 Agent Skills 规范,支持多路径加载、本地安装与动态扩展;支持技能自我发现与自我迭代 |
|
|
16
16
|
| **编码智能体** | 集成 [pi-coding-agent](https://www.npmjs.com/package/@mariozechner/pi-coding-agent),支持多轮工具调用与代码执行 |
|
|
17
17
|
| **浏览器自动化** | 内置 [agent-browser](https://www.npmjs.com/package/agent-browser),可导航、填表、截图与数据抓取 |
|
|
18
18
|
| **长期记忆** | 向量存储(Vectra)+ 本地嵌入,支持经验总结与会话压缩(compaction) |
|
|
19
|
-
| **多端接入** | CLI、WebSocket 网关、Electron 桌面端,同一套 Agent
|
|
19
|
+
| **多端接入** | CLI、WebSocket 网关、Electron 桌面端,同一套 Agent 核心;各端技术栈见下方「各端技术栈」 |
|
|
20
|
+
| **MCP(规划中)** | 为降低 Token 消耗与大模型幻觉,后续将支持 MCP(Model Context Protocol) |
|
|
21
|
+
| **生态接入(规划中)** | 接入现有 AI Agent 生态,下一步计划接入 Coze 生态 |
|
|
20
22
|
|
|
21
23
|
---
|
|
22
24
|
|
|
@@ -55,7 +57,7 @@
|
|
|
55
57
|
|
|
56
58
|
- **CLI**:直接调用 Agent 核心,单次提示或批量脚本。
|
|
57
59
|
- **WebSocket Gateway**(`src/gateway/`):对外提供 WebSocket(JSON-RPC),供 Web/移动端连接;负责起端口、拉 Nest 后端子进程、代理 `/server-api` 请求。**与「Desktop 后端」是不同进程。**
|
|
58
|
-
- **Desktop 后端**(`src/server/`):NestJS HTTP API,即 **server-api
|
|
60
|
+
- **Desktop 后端**(`src/server/`):NestJS HTTP API,即 **server-api**;默认端口 38081。会话、智能体配置、技能、任务、工作区、鉴权等由本模块提供。
|
|
59
61
|
- **Desktop**:Electron 包一层 Vue 前端 + 上述后端;通过 Gateway 或直连 Desktop 后端与 Agent 通信。
|
|
60
62
|
- **Agent 核心**:统一由 `AgentManager` 管理会话、技能注入与工具注册;记忆与 compaction 作为扩展参与 system prompt 与经验写入。
|
|
61
63
|
|
|
@@ -63,10 +65,10 @@
|
|
|
63
65
|
|
|
64
66
|
| 目录 | 说明 |
|
|
65
67
|
|------|------|
|
|
66
|
-
| `src/server/` | **Desktop 后端**(NestJS),HTTP API,前缀 `server-api
|
|
68
|
+
| `src/server/` | **Desktop 后端**(NestJS),HTTP API,前缀 `server-api`。 |
|
|
67
69
|
| `src/gateway/` | **WebSocket 网关**,独立进程,提供 WS JSON-RPC 并代理到 Desktop 后端。 |
|
|
68
70
|
| `src/agent/` | Agent 核心(CLI 与 Gateway 共用)。 |
|
|
69
|
-
| `src/config/` |
|
|
71
|
+
| `src/config/` | 桌面配置(~/.openbot/desktop):config.json、agents.json、provider-support.json;CLI 与 Gateway 共用。 |
|
|
70
72
|
| `examples/workspace/` | 示例工作区数据(仅示例/测试用)。真实工作区根目录为 `~/.openbot/workspace/`。 |
|
|
71
73
|
|
|
72
74
|
---
|
|
@@ -126,7 +128,7 @@
|
|
|
126
128
|
| 类别 | 技术 |
|
|
127
129
|
|------|------|
|
|
128
130
|
| 向量索引 | Vectra(LocalIndex) |
|
|
129
|
-
| 嵌入 |
|
|
131
|
+
| 嵌入 | 远端 API(config.json 中 RAG 知识库配置的 embedding 模型;未配置时长记忆空转) |
|
|
130
132
|
| 扩展 | compaction-extension(会话压缩、摘要入 prompt) |
|
|
131
133
|
| 持久化 | 与 agent 目录一致的 memory 目录、better-sqlite3(若用于元数据) |
|
|
132
134
|
|
|
@@ -139,21 +141,72 @@
|
|
|
139
141
|
|
|
140
142
|
---
|
|
141
143
|
|
|
142
|
-
|
|
144
|
+
# 一、安装与部署
|
|
143
145
|
|
|
144
|
-
|
|
146
|
+
安装与部署按**安装方式**划分:npm、Docker、Desktop 安装包。任选其一即可使用对应端的 CLI、Web 或 Desktop。
|
|
145
147
|
|
|
146
|
-
|
|
147
|
-
- 可选:`OPENAI_API_KEY` (按所用 provider 配置)
|
|
148
|
+
## 环境要求
|
|
148
149
|
|
|
149
|
-
|
|
150
|
+
- **Node.js** ≥ 20(npm 安装与本地开发必需)
|
|
151
|
+
- 可选:按所用 Provider 配置 API Key(如 `OPENAI_API_KEY`、`DEEPSEEK_API_KEY`)
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## 1.1 npm 安装
|
|
156
|
+
|
|
157
|
+
适用于:使用 **CLI**,或在自有环境中运行 **Gateway(Web)**。
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
# 全局安装(测试过node版本:20/22 24太新,有一些库要本地编译环境)
|
|
161
|
+
npm install -g @next-open-ai/openbot
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
安装后可直接使用 `openbot` 命令(见下方「使用方式」)。若需从源码构建再安装:
|
|
150
165
|
|
|
151
166
|
```bash
|
|
167
|
+
git clone <repo>
|
|
168
|
+
cd openbot
|
|
152
169
|
npm install
|
|
153
170
|
npm run build
|
|
171
|
+
npm link # 或 npm install -g . 本地全局安装
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## 1.2 Docker 部署
|
|
177
|
+
|
|
178
|
+
适用于:在服务器或容器环境中运行 **Gateway**,供 Web/其他客户端连接。
|
|
179
|
+
|
|
180
|
+
> **说明**:Docker 镜像与编排正在规划中,当前推荐使用 npm 全局安装后执行 `openbot gateway` 部署网关。
|
|
181
|
+
|
|
182
|
+
规划中的使用方式示例:
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
# 示例(以实际仓库/镜像名为准)
|
|
186
|
+
# docker pull next-open-ai/openbot
|
|
187
|
+
# docker run -p 38080:38080 -e OPENAI_API_KEY=xxx next-open-ai/openbot gateway
|
|
154
188
|
```
|
|
155
189
|
|
|
156
|
-
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## 1.3 Desktop 安装包
|
|
193
|
+
|
|
194
|
+
适用于:仅使用 **桌面端**,无需 Node 环境。
|
|
195
|
+
|
|
196
|
+
- 从 [Releases](https://github.com/next-open-ai/openbot/releases) 下载对应平台的安装包(macOS / Windows)。
|
|
197
|
+
- 安装后启动 OpenBot Desktop,按界面引导配置 API Key 与默认模型即可使用。
|
|
198
|
+
|
|
199
|
+
首次使用建议在设置中配置默认 Provider/模型,或通过 CLI 执行 `openbot login <provider> <apiKey> [model]` / `openbot config set-model <provider> <modelId>`(与桌面端共用 `~/.openbot/desktop/` 配置)。
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
# 二、使用方式
|
|
204
|
+
|
|
205
|
+
按**使用端**划分:CLI、Web、Desktop;后续将支持 iOS、Android、飞书等。
|
|
206
|
+
|
|
207
|
+
## 2.1 CLI
|
|
208
|
+
|
|
209
|
+
在已通过 **npm 安装** 或 **源码构建并 link** 的环境中,在终端使用 `openbot`。
|
|
157
210
|
|
|
158
211
|
```bash
|
|
159
212
|
# 直接对话(使用默认 workspace 与技能)
|
|
@@ -169,49 +222,143 @@ openbot --dry-run --prompt "查北京天气"
|
|
|
169
222
|
openbot --model deepseek-chat --provider deepseek "写一段 TypeScript 示例"
|
|
170
223
|
```
|
|
171
224
|
|
|
172
|
-
### CLI
|
|
225
|
+
### CLI 配置(与桌面端共用)
|
|
226
|
+
|
|
227
|
+
CLI 与桌面端共用**桌面配置**(`~/.openbot/desktop/`)。主要文件:
|
|
173
228
|
|
|
174
|
-
|
|
229
|
+
- **config.json**:全局缺省 provider/model、**defaultModelItemCode**(缺省模型在 configuredModels 中的唯一标识)、缺省智能体 id(`defaultAgentId`)、各 provider 的 API Key/baseUrl、已配置模型列表(configuredModels)等。
|
|
230
|
+
- **agents.json**:智能体列表;每个智能体可配置 provider、model、**modelItemCode**(匹配 configuredModels)、工作区。
|
|
231
|
+
- **provider-support.json**:Provider 与模型目录,供设置页下拉选择。
|
|
175
232
|
|
|
176
233
|
| 操作 | 命令 | 说明 |
|
|
177
234
|
|------|------|------|
|
|
178
|
-
| 保存 API Key | `openbot login <provider> <apiKey
|
|
179
|
-
| 设置缺省模型 | `openbot config set-model <provider> <modelId>` |
|
|
180
|
-
| 查看配置 | `openbot config list` |
|
|
181
|
-
| 同步到 Agent 目录 | `openbot config sync` |
|
|
182
|
-
|
|
183
|
-
**常用 Provider 示例**:`deepseek`、`dashscope`、`openai`、`openai-custom`(自定义 OpenAI 兼容端点)、`nvidia`、`kimi`。模型 ID 需与各 Provider 支持的一致(如 DeepSeek 的 `deepseek-chat`、OpenAI 的 `gpt-4o`);使用 `openai-custom` 时可填写自部署模型的 ID。
|
|
184
|
-
|
|
185
|
-
**命令行覆盖**:单次执行时可用 `--provider`、`--model`、`--api-key` 覆盖配置或环境变量中的值。
|
|
186
|
-
|
|
187
|
-
**环境变量**:未在桌面配置中保存 API Key 时,会回退到环境变量,例如 `OPENAI_API_KEY`、`DEEPSEEK_API_KEY`、`DASHSCOPE_API_KEY` 等(详见 `openbot --help` 末尾的 Environment 说明)。
|
|
235
|
+
| 保存 API Key(可选指定模型) | `openbot login <provider> <apiKey> [model]` | 写入 config.json;不传 model 时取该 provider 第一个模型并补齐缺省配置,可直接运行 |
|
|
236
|
+
| 设置缺省模型 | `openbot config set-model <provider> <modelId>` | 设置全局缺省 provider、model 及 defaultModelItemCode |
|
|
237
|
+
| 查看配置 | `openbot config list` | 列出 providers 与缺省模型 |
|
|
238
|
+
| 同步到 Agent 目录 | `openbot config sync` | 生成并写入 `~/.openbot/agent/models.json` |
|
|
188
239
|
|
|
189
240
|
**首次使用建议**:
|
|
190
241
|
|
|
191
242
|
```bash
|
|
192
|
-
#
|
|
243
|
+
# 方式一:login 后直接对话(不传 model 时自动用该 provider 第一个模型)
|
|
193
244
|
openbot login deepseek YOUR_DEEPSEEK_API_KEY
|
|
194
|
-
|
|
245
|
+
openbot "总结一下当前有哪些技能"
|
|
195
246
|
|
|
196
|
-
#
|
|
197
|
-
openbot
|
|
247
|
+
# 方式二:指定模型再 login
|
|
248
|
+
openbot login deepseek YOUR_DEEPSEEK_API_KEY deepseek-reasoner
|
|
249
|
+
openbot "总结一下当前有哪些技能"
|
|
198
250
|
|
|
199
|
-
#
|
|
251
|
+
# 方式三:先 login 再单独设置缺省模型
|
|
252
|
+
openbot login deepseek YOUR_DEEPSEEK_API_KEY
|
|
253
|
+
openbot config set-model deepseek deepseek-chat
|
|
200
254
|
openbot config sync
|
|
201
|
-
|
|
202
|
-
# 4. 直接对话
|
|
203
255
|
openbot "总结一下当前有哪些技能"
|
|
204
256
|
```
|
|
205
257
|
|
|
206
|
-
|
|
258
|
+
未在命令行指定 `--provider` / `--model` 时,CLI 使用缺省智能体对应的配置;单次可用 `--provider`、`--model`、`--api-key` 覆盖。未在配置中保存 API Key 时,会回退到环境变量(如 `OPENAI_API_KEY`、`DEEPSEEK_API_KEY`)。
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## 2.2 Web
|
|
263
|
+
|
|
264
|
+
通过 **WebSocket 网关** 使用 OpenBot:先启动网关,再通过 Web 客户端连接。
|
|
207
265
|
|
|
208
266
|
```bash
|
|
267
|
+
# 启动网关(默认端口 38080)
|
|
209
268
|
openbot gateway --port 38080
|
|
210
269
|
```
|
|
211
270
|
|
|
212
|
-
|
|
271
|
+
客户端连接 `ws://localhost:38080`,使用 JSON-RPC 调用 `connect`、`agent.chat`、`agent.cancel` 等(详见下方「Gateway API 简述」)。
|
|
272
|
+
前端可自行实现或使用仓库内 Web 示例(若有)。
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## 2.3 Desktop
|
|
277
|
+
|
|
278
|
+
- **通过安装包**:安装后直接打开 OpenBot Desktop,登录/配置后即可使用桌面界面(会话、智能体、技能、任务、工作区等)。
|
|
279
|
+
- **通过源码**:在「开发」章节中运行 `npm run desktop:dev` 启动开发版桌面。
|
|
280
|
+
|
|
281
|
+
桌面端与 CLI 共用同一套配置与 Agent 核心,同一台机器上配置一次即可双端使用。
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## 2.4 即将支持
|
|
286
|
+
|
|
287
|
+
**通道与终端**
|
|
288
|
+
|
|
289
|
+
| 端 | 说明 |
|
|
290
|
+
|----|------|
|
|
291
|
+
| **iOS** | 规划中 |
|
|
292
|
+
| **Android** | 规划中 |
|
|
293
|
+
| **飞书** | 规划中 |
|
|
294
|
+
|
|
295
|
+
上述端将通过 WebSocket Gateway 或专用适配与现有 Agent 核心对接。
|
|
296
|
+
|
|
297
|
+
**生态与协议**
|
|
298
|
+
|
|
299
|
+
| 方向 | 说明 |
|
|
300
|
+
|------|------|
|
|
301
|
+
| **MCP** | 支持 MCP 协议,降低 Token 消耗与大模型幻觉,与 Skill 自我发现/迭代形成互补 |
|
|
302
|
+
| **Coze 生态** | 接入现有 AI Agent 生态,下一步计划接入 Coze |
|
|
303
|
+
|
|
304
|
+
文档与发布节奏后续更新。
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
# 三、开发
|
|
213
309
|
|
|
214
|
-
|
|
310
|
+
面向**参与 OpenBot 源码开发**的读者,按形态分为 CLI、Web(Gateway + 前端)、Desktop 三部分。
|
|
311
|
+
|
|
312
|
+
## 环境与依赖
|
|
313
|
+
|
|
314
|
+
- Node.js ≥ 20
|
|
315
|
+
- 仓库克隆后安装依赖并构建:
|
|
316
|
+
|
|
317
|
+
```bash
|
|
318
|
+
git clone <repo>
|
|
319
|
+
cd openbot
|
|
320
|
+
npm install
|
|
321
|
+
npm run build
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
---
|
|
325
|
+
|
|
326
|
+
## 3.1 CLI 开发
|
|
327
|
+
|
|
328
|
+
- 入口:`openbot` → bin → `dist/cli.js`
|
|
329
|
+
- 技术:Commander(子命令 `gateway`、`login`、`config`)、TypeScript 5.7
|
|
330
|
+
- 配置与数据:`~/.openbot/agent`、`~/.openbot/desktop`(与桌面共用)
|
|
331
|
+
|
|
332
|
+
修改 CLI 后重新构建并本地安装:
|
|
333
|
+
|
|
334
|
+
```bash
|
|
335
|
+
npm run build
|
|
336
|
+
npm link
|
|
337
|
+
openbot --help
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## 3.2 Web 开发(Gateway + 前端)
|
|
343
|
+
|
|
344
|
+
- **Gateway**:`src/gateway/`,默认端口 38080,可 `-p` 指定;协议 JSON-RPC over WebSocket;职责包括连接管理、消息路由、静态资源、拉 Nest 子进程。
|
|
345
|
+
- **方法**:`connect`、`agent.chat`、`agent.cancel`、`subscribe_session`、`unsubscribe_session` 等。
|
|
346
|
+
|
|
347
|
+
本地启动网关:
|
|
348
|
+
|
|
349
|
+
```bash
|
|
350
|
+
npm run build
|
|
351
|
+
openbot gateway --port 38080
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
若仓库内有独立 Web 前端工程,则分别启动 Gateway 与前端 dev server,前端通过 `ws://localhost:38080` 连接。
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
## 3.3 Desktop 开发
|
|
359
|
+
|
|
360
|
+
- **后端**:NestJS(`src/server/`),前缀 `server-api`,默认端口 38081;Gateway 启动时会拉该子进程并代理 `/server-api`。
|
|
361
|
+
- **前端**:Electron 28 + Vue 3 + Pinia + Vite 5,位于 `desktop/`。
|
|
215
362
|
|
|
216
363
|
```bash
|
|
217
364
|
# 先构建核心(若未构建)
|
|
@@ -226,6 +373,25 @@ npm run desktop:install
|
|
|
226
373
|
|
|
227
374
|
---
|
|
228
375
|
|
|
376
|
+
## 测试
|
|
377
|
+
|
|
378
|
+
```bash
|
|
379
|
+
# 单元/集成测试(含 config、gateway、server e2e)
|
|
380
|
+
npm test
|
|
381
|
+
|
|
382
|
+
# 仅 e2e
|
|
383
|
+
npm run test:e2e
|
|
384
|
+
|
|
385
|
+
# 记忆相关测试
|
|
386
|
+
npm run test:memory
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
测试分布:`test/config/` 桌面配置、`test/gateway/` 网关、`test/server/` Nest 后端 e2e。
|
|
390
|
+
|
|
391
|
+
---
|
|
392
|
+
|
|
393
|
+
# 附录
|
|
394
|
+
|
|
229
395
|
## Gateway API 简述
|
|
230
396
|
|
|
231
397
|
- **请求**:`{ "type": "request", "id": "<id>", "method": "<method>", "params": { ... } }`
|
|
@@ -233,24 +399,22 @@ npm run desktop:install
|
|
|
233
399
|
- **错误响应**:`{ "type": "response", "id": "<id>", "error": { "message": "..." } }`
|
|
234
400
|
- **服务端事件**:如 `agent.chunk`(流式输出)、`agent.tool`(工具调用)等,格式为 `{ "type": "event", "event": "...", "payload": { ... } }`
|
|
235
401
|
|
|
236
|
-
|
|
402
|
+
常用流程:先 `connect` 建立会话,再通过 `agent.chat` 发送消息并接收流式/事件;`agent.cancel` 取消当前任务。
|
|
237
403
|
|
|
238
404
|
---
|
|
239
405
|
|
|
240
|
-
##
|
|
406
|
+
## 各端技术栈
|
|
241
407
|
|
|
242
|
-
|
|
243
|
-
# 单元/集成测试(含 config/desktop-config、gateway/utils、server agents e2e)
|
|
244
|
-
npm test
|
|
408
|
+
详见上文「各端技术栈」章节(CLI、WebSocket Gateway、Agent 核心、Desktop 后端/前端、记忆与向量、内置技能)。
|
|
245
409
|
|
|
246
|
-
|
|
247
|
-
npm run test:e2e
|
|
410
|
+
---
|
|
248
411
|
|
|
249
|
-
|
|
250
|
-
npm run test:memory
|
|
251
|
-
```
|
|
412
|
+
## 内置技能
|
|
252
413
|
|
|
253
|
-
|
|
414
|
+
| 技能 | 说明 |
|
|
415
|
+
|------|------|
|
|
416
|
+
| find-skills | 发现与安装 Cursor/Agent 技能 |
|
|
417
|
+
| agent-browser | 浏览器自动化(Playwright/agent-browser CLI) |
|
|
254
418
|
|
|
255
419
|
---
|
|
256
420
|
|