opc-agent 4.1.16 → 4.1.17
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/CHANGELOG.md +119 -48
- package/README.md +290 -933
- package/README.zh-CN.md +269 -497
- package/install.sh +7 -1
- package/package.json +1 -1
package/README.zh-CN.md
CHANGED
|
@@ -1,497 +1,269 @@
|
|
|
1
|
-
<
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
</
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
##
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
opc
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
### 部署到 OpenClaw
|
|
271
|
-
|
|
272
|
-
```bash
|
|
273
|
-
opc deploy --target openclaw
|
|
274
|
-
opc deploy --target openclaw --install # 同时写入本地配置
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
在 `~/.openclaw/agents/{id}/workspace/` 下生成:`IDENTITY.md`(元数据)、`SOUL.md`(系统提示词 + 模型配置)、`AGENTS.md`(技能 + 记忆 + DTV 配置)。
|
|
278
|
-
|
|
279
|
-
### 部署到 Hermes
|
|
280
|
-
|
|
281
|
-
```bash
|
|
282
|
-
opc deploy --target hermes
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
将 OAD 转换为 Hermes Character 格式,包含 personality、bio、lore、message examples、style guides(chat / post / all)。
|
|
286
|
-
|
|
287
|
-
### 环境变量
|
|
288
|
-
|
|
289
|
-
```bash
|
|
290
|
-
# .env
|
|
291
|
-
OPC_LLM_API_KEY=your-api-key
|
|
292
|
-
OPC_LLM_BASE_URL=https://api.deepseek.com/v1
|
|
293
|
-
OPC_LLM_MODEL=deepseek-chat
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
## 📖 CLI 命令参考
|
|
297
|
-
|
|
298
|
-
| 命令 | 说明 |
|
|
299
|
-
|------|------|
|
|
300
|
-
| `opc init [name]` | 创建新智能体项目(交互式,可选模板) |
|
|
301
|
-
| `opc create <name>` | 从模板快速创建 |
|
|
302
|
-
| `opc run` | 启动智能体服务 |
|
|
303
|
-
| `opc dev` | 开发模式(文件监听热重载) |
|
|
304
|
-
| `opc chat` | 命令行交互对话(readline 界面) |
|
|
305
|
-
| `opc test` | 运行 OAD 中定义的测试用例 |
|
|
306
|
-
| `opc build` | 校验 OAD 配置合法性 |
|
|
307
|
-
| `opc info` | 查看智能体信息 |
|
|
308
|
-
| `opc analytics` | 查看使用分析 |
|
|
309
|
-
| `opc stats` | 查看运行时统计快照 |
|
|
310
|
-
| `opc deploy` | 部署智能体(`--target openclaw\|hermes`) |
|
|
311
|
-
| `opc kb add <file>` | 向知识库添加文件 |
|
|
312
|
-
| `opc kb search <query>` | 搜索知识库 |
|
|
313
|
-
| `opc kb stats` | 知识库统计 |
|
|
314
|
-
| `opc kb clear` | 清空知识库 |
|
|
315
|
-
| `opc search` | 搜索 OPC Registry |
|
|
316
|
-
| `opc tool` | MCP 工具管理 |
|
|
317
|
-
| `opc workflow run` | 运行工作流 |
|
|
318
|
-
| `opc workflow list` | 列出工作流 |
|
|
319
|
-
| `opc version-mgmt list` | 列出历史版本 |
|
|
320
|
-
| `opc version-mgmt rollback` | 回滚版本 |
|
|
321
|
-
| `opc publish` | 打包发布智能体 |
|
|
322
|
-
| `opc install <pkg>` | 安装智能体包 |
|
|
323
|
-
| `opc plugin list` | 列出已安装插件 |
|
|
324
|
-
| `opc plugin add <name>` | 添加插件 |
|
|
325
|
-
| `opc migrate` | OAD Schema 迁移 |
|
|
326
|
-
|
|
327
|
-
## 🔗 SDK 参考
|
|
328
|
-
|
|
329
|
-
```typescript
|
|
330
|
-
import { AgentRuntime, KnowledgeBase, Orchestrator } from 'opc-agent';
|
|
331
|
-
|
|
332
|
-
// 创建并启动智能体
|
|
333
|
-
const runtime = new AgentRuntime();
|
|
334
|
-
await runtime.loadConfig('oad.yaml');
|
|
335
|
-
await runtime.initialize();
|
|
336
|
-
await runtime.start();
|
|
337
|
-
|
|
338
|
-
// 使用知识库
|
|
339
|
-
const kb = new KnowledgeBase('./docs');
|
|
340
|
-
await kb.addFile('handbook.pdf');
|
|
341
|
-
const results = await kb.search('退款政策');
|
|
342
|
-
|
|
343
|
-
// 多智能体编排
|
|
344
|
-
const orch = new Orchestrator({
|
|
345
|
-
agents: [agentA, agentB],
|
|
346
|
-
strategy: 'route-by-intent',
|
|
347
|
-
});
|
|
348
|
-
```
|
|
349
|
-
|
|
350
|
-
## 🔑 OAD 配置文件完整说明
|
|
351
|
-
|
|
352
|
-
OAD(Open Agent Definition)是智能体的声明式定义格式:
|
|
353
|
-
|
|
354
|
-
```yaml
|
|
355
|
-
apiVersion: opc/v1
|
|
356
|
-
kind: Agent
|
|
357
|
-
|
|
358
|
-
metadata:
|
|
359
|
-
name: my-agent
|
|
360
|
-
version: 1.0.0
|
|
361
|
-
description: 我的智能体
|
|
362
|
-
|
|
363
|
-
spec:
|
|
364
|
-
provider:
|
|
365
|
-
default: deepseek
|
|
366
|
-
allowed: [deepseek, openai, qwen, anthropic, ollama]
|
|
367
|
-
model: deepseek-chat
|
|
368
|
-
systemPrompt: |
|
|
369
|
-
你是一个专业的客服助手...
|
|
370
|
-
|
|
371
|
-
skills: []
|
|
372
|
-
|
|
373
|
-
channels:
|
|
374
|
-
- type: web
|
|
375
|
-
port: 3000
|
|
376
|
-
|
|
377
|
-
memory:
|
|
378
|
-
shortTerm: true # 对话上下文记忆
|
|
379
|
-
longTerm: false # 跨会话持久记忆
|
|
380
|
-
|
|
381
|
-
rateLimits:
|
|
382
|
-
perUser:
|
|
383
|
-
maxRequests: 60
|
|
384
|
-
windowMs: 60000
|
|
385
|
-
|
|
386
|
-
cache:
|
|
387
|
-
enabled: true
|
|
388
|
-
ttlMs: 3600000
|
|
389
|
-
|
|
390
|
-
plugins:
|
|
391
|
-
- name: logging
|
|
392
|
-
- name: analytics
|
|
393
|
-
- name: rate-limit
|
|
394
|
-
config: { maxPerMinute: 60 }
|
|
395
|
-
|
|
396
|
-
testing:
|
|
397
|
-
cases:
|
|
398
|
-
- name: 基本问候
|
|
399
|
-
input: "你好"
|
|
400
|
-
expect:
|
|
401
|
-
contains: ["你好"]
|
|
402
|
-
maxLatencyMs: 5000
|
|
403
|
-
```
|
|
404
|
-
|
|
405
|
-
## 🔍 与其他 Agent 框架的差异
|
|
406
|
-
|
|
407
|
-
OPC Agent 的核心设计哲学是**记忆进化 + 全渠道 + 工位模板 + 生产工具链四件套**。与大多数 Agent 框架关注"如何编排多个 Agent 对话"不同,OPC 更关注的是:一个 Agent 如何在真实生产环境中**持续进化、随处触达、开箱即用**。这决定了我们在架构选择上的一系列差异。
|
|
408
|
-
|
|
409
|
-
#### vs Hermes Agent
|
|
410
|
-
|
|
411
|
-
**设计思路差异**:Hermes 是 Python 单体框架,围绕 Nous Research 的模型生态构建,强调自学习进化和 RL 训练。OPC 是 TypeScript 模块化四件套(Brain / Agent / Channel / CLI),强调工程化和开箱即用。
|
|
412
|
-
|
|
413
|
-
**OPC 的优势**:记忆进化三件套(learn → recall → evolve 自动聚类提炼)、三层 Brain Seed 预置知识体系、25 个内置渠道(vs Hermes 16+)、100+ 工位模板、原生 A2A + AG-UI 协议支持、OpenAI 兼容 API Server。
|
|
414
|
-
|
|
415
|
-
**Hermes 的优势**:Python 生态更成熟、GRPO + LoRA 的 RL 训练管线更完善、Nous Research 社区生态更大、Docker 沙箱隔离方案更成熟。
|
|
416
|
-
|
|
417
|
-
**适合谁**:如果你需要 Python 生态和 RL 训练能力,选 Hermes;如果你需要 TypeScript 全栈、记忆进化、全渠道触达和生产工具链,选 OPC。
|
|
418
|
-
|
|
419
|
-
#### vs OpenClaw
|
|
420
|
-
|
|
421
|
-
**设计思路差异**:OpenClaw 是重量级 runtime + 配置驱动,提供完整的 Gateway 运行时环境,适合"安装一次、配置运行"的场景。OPC 是轻量 CLI + 代码优先,四件套可独立使用,适合开发者自由组合。
|
|
422
|
-
|
|
423
|
-
**OPC 的优势**:模块化四件套可按需引入、100+ 工位模板、记忆进化系统、25 个内置渠道、`opc init/dev/test/deploy` 全生命周期 CLI、A2A/AG-UI 协议支持。
|
|
424
|
-
|
|
425
|
-
**OpenClaw 的优势**:开箱即用的 runtime 体验、Puppeteer 浏览器自动化、成熟的权限和安全沙箱、配置驱动上手门槛低。
|
|
426
|
-
|
|
427
|
-
**适合谁**:如果你偏好"配置即运行"的一体化方案,选 OpenClaw;如果你偏好代码优先、模块自由组合、需要记忆进化和工位体系,选 OPC。
|
|
428
|
-
|
|
429
|
-
#### vs CrewAI
|
|
430
|
-
|
|
431
|
-
**设计思路差异**:CrewAI 采用 Crew 编排模式——定义 Agent 角色、分配 Task、按流程执行。OPC 采用工位(Seat)+ 大脑(Brain)模式——每个 Agent 有独立记忆和工位模板,通过 Brain 实现知识积累和进化。
|
|
432
|
-
|
|
433
|
-
**OPC 的优势**:记忆进化(不只是短期/长期记忆,而是自动聚类提炼)、Brain Seed 预置知识、25 个内置渠道(CrewAI 需自行接入)、100+ 工位模板、TypeScript 原生。
|
|
434
|
-
|
|
435
|
-
**CrewAI 的优势**:Crew + Flow 编排模式直观易懂、Python 生态、100K+ 用户的成熟社区、Enterprise 版本功能丰富。
|
|
436
|
-
|
|
437
|
-
**适合谁**:如果你需要多 Agent 任务编排且偏好 Python,选 CrewAI;如果你需要单 Agent 深度进化、全渠道部署、TypeScript 生态,选 OPC。
|
|
438
|
-
|
|
439
|
-
#### vs AutoGen
|
|
440
|
-
|
|
441
|
-
**设计思路差异**:AutoGen 是微软主导的对话驱动多 Agent 框架,核心是 Agent 之间的对话协作和 UserProxy 人机交互。OPC 是任务驱动的工位模式,强调单 Agent 的记忆进化和生产部署能力。
|
|
442
|
-
|
|
443
|
-
**OPC 的优势**:记忆进化系统、Brain Seed、25 个内置渠道、100+ 工位模板、全生命周期 CLI、YAML 声明式配置。
|
|
444
|
-
|
|
445
|
-
**AutoGen 的优势**:微软生态支持、分布式 Agent 能力、AutoGen Studio 可视化、UserProxy 人机交互模式成熟、Python/C# 双语言支持、社区活跃。
|
|
446
|
-
|
|
447
|
-
**适合谁**:如果你需要多 Agent 对话协作和微软生态集成,选 AutoGen;如果你需要记忆进化、全渠道触达、工位模板和 TypeScript 工具链,选 OPC。
|
|
448
|
-
|
|
449
|
-
#### 功能速查表
|
|
450
|
-
|
|
451
|
-
| 功能 | OPC Agent | Hermes Agent | OpenClaw | CrewAI | AutoGen |
|
|
452
|
-
|---|:-:|:-:|:-:|:-:|:-:|
|
|
453
|
-
| **语言** | TypeScript | Python | TypeScript | Python | Python/C# |
|
|
454
|
-
| **记忆进化 (evolve)** | ✅ | 🔶 | ❌ | ❌ | ❌ |
|
|
455
|
-
| **Brain Seed 预置知识** | ✅ 三层 | ❌ | ❌ | ❌ | ❌ |
|
|
456
|
-
| **内置渠道** | 25 | 16+ | 2 | ❌ | ❌ |
|
|
457
|
-
| **工位模板** | 100+ | ❌ | ❌ | ❌ | ❌ |
|
|
458
|
-
| **CLI 全生命周期** | ✅ 20+ 命令 | 🔶 | 🔶 | 🔶 | 🔶 |
|
|
459
|
-
| **A2A + AG-UI** | ✅ | 🔶 / ❌ | ❌ | ❌ | ❌ |
|
|
460
|
-
| **多 Agent 协作** | ✅ | ✅ | 🔶 | ✅ | ✅ |
|
|
461
|
-
| **RL 训练** | ✅ 反馈优化 | ✅ GRPO+LoRA | ❌ | ❌ | ❌ |
|
|
462
|
-
| **浏览器自动化** | ✅ | ✅ | ✅ | ❌ | ❌ |
|
|
463
|
-
| **可视化** | ✅ OPC Studio | ✅ Dashboard | ❌ | 🔶 | ✅ Studio |
|
|
464
|
-
| **社区成熟度** | 🚧 早期 | ✅ 活跃 | 🚧 小众 | ✅ 大规模 | ✅ 大规模 |
|
|
465
|
-
| **许可证** | Apache-2.0 | MIT | MIT | Apache-2.0 | MIT |
|
|
466
|
-
|
|
467
|
-
> 对比基于各项目公开文档(截至 2026 年 4 月)。各框架都在快速迭代,如有偏差欢迎 [Issue 指正](https://github.com/Deepleaper/opc-agent/issues)。
|
|
468
|
-
|
|
469
|
-
---
|
|
470
|
-
|
|
471
|
-
## 🤝 贡献指南
|
|
472
|
-
|
|
473
|
-
欢迎所有形式的贡献!
|
|
474
|
-
|
|
475
|
-
```bash
|
|
476
|
-
git clone https://github.com/Deepleaper/opc-agent.git
|
|
477
|
-
cd opc-agent
|
|
478
|
-
npm install
|
|
479
|
-
npm run build # TypeScript 编译
|
|
480
|
-
npm test # 运行 146 个测试(22 个测试文件)
|
|
481
|
-
```
|
|
482
|
-
|
|
483
|
-
1. Fork 本仓库
|
|
484
|
-
2. 创建功能分支:`git checkout -b feat/awesome-feature`
|
|
485
|
-
3. 编写代码和测试
|
|
486
|
-
4. 确保测试通过:`npm test`
|
|
487
|
-
5. 提交 Pull Request
|
|
488
|
-
|
|
489
|
-
## 📄 开源协议
|
|
490
|
-
|
|
491
|
-
[Apache License 2.0](LICENSE) — 商用和开源项目均可自由使用。
|
|
492
|
-
|
|
493
|
-
---
|
|
494
|
-
|
|
495
|
-
<p align="center">
|
|
496
|
-
由 <a href="https://www.deepleaper.com">跃盟科技 (Deepleaper)</a> 用 ❤️ 打造
|
|
497
|
-
</p>
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# ⚡ OPC Agent
|
|
4
|
+
|
|
5
|
+
**开源 AI Agent 框架 — 从终端构建、运行、进化你的 AI 智能体**
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/opc-agent)
|
|
8
|
+
[](LICENSE)
|
|
9
|
+
[](https://nodejs.org/)
|
|
10
|
+
|
|
11
|
+
[快速开始](#-快速开始) · [核心特性](#-核心特性) · [架构](#-架构) · [配置](#-配置) · [CLI 命令](#-cli-命令) · [English](README.md)
|
|
12
|
+
|
|
13
|
+
</div>
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 🚀 快速开始
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm install -g opc-agent
|
|
21
|
+
opc init
|
|
22
|
+
opc run
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
一键安装(自动配置 Node.js,可选 Ollama 本地模型):
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# macOS / Linux
|
|
29
|
+
curl -fsSL https://raw.githubusercontent.com/Deepleaper/opc-agent/main/install.sh | bash
|
|
30
|
+
|
|
31
|
+
# Windows PowerShell
|
|
32
|
+
irm https://raw.githubusercontent.com/Deepleaper/opc-agent/main/install.ps1 | iex
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
启动后打开 **http://localhost:4000** 进入 Studio,或直接终端对话:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
opc chat
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## ✨ 核心特性
|
|
44
|
+
|
|
45
|
+
| | 特性 | 说明 |
|
|
46
|
+
|---|---|---|
|
|
47
|
+
| 🤖 | **53 个内置工具** | 文件、Shell、网页、浏览器、视觉、GitHub、Jira、Slack 等 |
|
|
48
|
+
| 🎨 | **Studio 可视化管理** | `http://localhost:4000`,一键管理 Agent |
|
|
49
|
+
| 💬 | **TUI 终端对话** | 流式输出、Markdown 渲染、斜杠命令 |
|
|
50
|
+
| 🧠 | **知识进化引擎** | 本地 Ollama 驱动,零成本知识蒸馏 |
|
|
51
|
+
| 📱 | **15+ 渠道接入** | Telegram、Discord、Slack、微信、邮件、WhatsApp、飞书… |
|
|
52
|
+
| 🔧 | **40 个内置技能** | 效率、知识、创意、开发者技能包 |
|
|
53
|
+
| 📋 | **OAD 声明式配置** | 一个 `oad.yaml` 定义整个 Agent |
|
|
54
|
+
| 🏥 | **Doctor 健康检查** | 13 项检查:模型、工具、渠道、记忆 |
|
|
55
|
+
| ⏰ | **定时调度** | Cron 任务 + 主动式 Agent 触发 |
|
|
56
|
+
| 🔌 | **MCP 协议** | Model Context Protocol 服务端和客户端 |
|
|
57
|
+
| 🗣️ | **语音交互** | Whisper、Azure Speech、火山引擎 STT/TTS |
|
|
58
|
+
| 📊 | **A2A 协议** | Google Agent-to-Agent 互操作 |
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 🏗️ 架构
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
┌─────────────────────────────────────────────────┐
|
|
66
|
+
│ 渠道层 │
|
|
67
|
+
│ Telegram · Discord · Slack · 微信 · 邮件 … │
|
|
68
|
+
└──────────────────────┬──────────────────────────┘
|
|
69
|
+
│
|
|
70
|
+
┌──────────────────────▼──────────────────────────┐
|
|
71
|
+
│ OPC Agent 运行时 │
|
|
72
|
+
│ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
|
|
73
|
+
│ │ 工具执行 │ │ 技能 │ │ 记忆/知识进化 │ │
|
|
74
|
+
│ │ (53 工具) │ │(40 技能) │ │ 引擎 │ │
|
|
75
|
+
│ └──────────┘ └──────────┘ └──────────────┘ │
|
|
76
|
+
│ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
|
|
77
|
+
│ │ 定时调度 │ │ 语音 │ │ MCP / A2A │ │
|
|
78
|
+
│ └──────────┘ └──────────┘ └──────────────┘ │
|
|
79
|
+
└──────────────────────┬──────────────────────────┘
|
|
80
|
+
│
|
|
81
|
+
┌──────────────────────▼──────────────────────────┐
|
|
82
|
+
│ 模型提供商 │
|
|
83
|
+
│ OpenAI · Anthropic · Ollama · Azure · Gemini │
|
|
84
|
+
└─────────────────────────────────────────────────┘
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## ⚙️ 配置
|
|
90
|
+
|
|
91
|
+
用一个 `oad.yaml` 文件定义 Agent:
|
|
92
|
+
|
|
93
|
+
```yaml
|
|
94
|
+
name: my-agent
|
|
95
|
+
description: 客服助手
|
|
96
|
+
model:
|
|
97
|
+
provider: ollama
|
|
98
|
+
model: llama3.1
|
|
99
|
+
channels:
|
|
100
|
+
- type: telegram
|
|
101
|
+
token: ${TELEGRAM_BOT_TOKEN}
|
|
102
|
+
- type: web
|
|
103
|
+
port: 4000
|
|
104
|
+
tools:
|
|
105
|
+
- file
|
|
106
|
+
- shell
|
|
107
|
+
- web-fetch
|
|
108
|
+
- browser
|
|
109
|
+
skills:
|
|
110
|
+
- weather
|
|
111
|
+
- github
|
|
112
|
+
memory:
|
|
113
|
+
provider: sqlite
|
|
114
|
+
cron:
|
|
115
|
+
- schedule: "0 9 * * *"
|
|
116
|
+
task: "检查并汇总隔夜邮件"
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## 🖥️ CLI 命令
|
|
122
|
+
|
|
123
|
+
| 命令 | 说明 |
|
|
124
|
+
|------|------|
|
|
125
|
+
| `opc init [name]` | 创建新 Agent 项目 |
|
|
126
|
+
| `opc run` | 启动 Agent(所有已配置渠道) |
|
|
127
|
+
| `opc chat` | 终端交互对话 |
|
|
128
|
+
| `opc studio` | 启动 Studio GUI(端口 4000) |
|
|
129
|
+
| `opc doctor` | 运行 13 项健康检查 |
|
|
130
|
+
| `opc setup` | 配置模型和 API Key |
|
|
131
|
+
| `opc eval` | 运行评估测试 |
|
|
132
|
+
| `opc traces` | 查看调用链路 |
|
|
133
|
+
| `opc publish` | 发布 Agent 到 npm |
|
|
134
|
+
| `opc skill list` | 列出可用技能 |
|
|
135
|
+
| `opc cron list` | 列出定时任务 |
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## 📱 渠道支持
|
|
140
|
+
|
|
141
|
+
| 渠道 | 状态 | 渠道 | 状态 |
|
|
142
|
+
|------|------|------|------|
|
|
143
|
+
| Telegram | ✅ | Discord | ✅ |
|
|
144
|
+
| Slack | ✅ | 微信 | ✅ |
|
|
145
|
+
| 邮件 (IMAP/SMTP) | ✅ | WhatsApp | ✅ |
|
|
146
|
+
| LINE | ✅ | Teams | ✅ |
|
|
147
|
+
| 飞书 | ✅ | 钉钉 | ✅ |
|
|
148
|
+
| Web UI | ✅ | WebSocket | ✅ |
|
|
149
|
+
| Webhook | ✅ | REST API | ✅ |
|
|
150
|
+
| 语音 | ✅ | SMS (Twilio) | ✅ |
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## 🔧 工具(53 个)
|
|
155
|
+
|
|
156
|
+
- **核心(8)**:文件读写、Shell、网页抓取、搜索、浏览器、视觉
|
|
157
|
+
- **开发(12)**:Git、GitHub、npm、代码分析、测试、部署、Docker
|
|
158
|
+
- **效率(8)**:日历、邮件、提醒、笔记、待办、翻译
|
|
159
|
+
- **集成(13)**:Jira、Slack、Notion、Linear、Confluence、Trello、Asana、Zendesk、HubSpot、Salesforce
|
|
160
|
+
- **知识(7)**:记忆存取、知识学习/进化、RAG 查询、向量化、摘要
|
|
161
|
+
- **媒体(5)**:图片生成/描述、语音转文字、TTS、截图
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## 📊 对比
|
|
166
|
+
|
|
167
|
+
| 特性 | OPC Agent | Hermes Agent | OpenClaw |
|
|
168
|
+
|------|-----------|-------------|----------|
|
|
169
|
+
| 内置工具 | 53 | ~10 | 30+ |
|
|
170
|
+
| GUI 管理 | ✅ | ❌ | ✅ |
|
|
171
|
+
| 终端对话 | ✅ | ❌ | ✅ |
|
|
172
|
+
| 渠道数 | 15+ | 3 | 15+ |
|
|
173
|
+
| 内置技能 | 40 | ❌ | 40 |
|
|
174
|
+
| 知识进化 | ✅ | ❌ | ✅ |
|
|
175
|
+
| 语音交互 | ✅ | ❌ | ✅ |
|
|
176
|
+
| MCP 协议 | ✅ | ✅ | ✅ |
|
|
177
|
+
| A2A 协议 | ✅ | ❌ | ✅ |
|
|
178
|
+
| 本地优先 | ✅ | ❌ | ✅ |
|
|
179
|
+
| 开源 | Apache-2.0 | 商业 | Apache-2.0 |
|
|
180
|
+
|
|
181
|
+
> **OPC Agent** 是开源核心运行时,**OpenClaw** 是基于它构建的完整平台。
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## 🧠 知识进化引擎
|
|
186
|
+
|
|
187
|
+
OPC Agent 内置知识进化流水线,**完全本地运行**,使用 Ollama:
|
|
188
|
+
|
|
189
|
+
```
|
|
190
|
+
对话 → 学习 → 聚类 → 去重 → 蒸馏 → 进化知识
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
- **零 API 成本** — 本地 Ollama 模型驱动蒸馏
|
|
194
|
+
- **自动运行** — 从每次对话中学习,按计划进化
|
|
195
|
+
- **分层记忆** — 短期(对话)→ 长期(蒸馏)→ 进化(精炼)
|
|
196
|
+
- **全文搜索** — SQLite FTS5 即时检索所有记忆
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
opc knowledge evolve # 手动触发进化
|
|
200
|
+
opc knowledge stats # 查看知识库统计
|
|
201
|
+
opc knowledge search "查询" # 搜索知识
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## 🎨 Studio 可视化
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
opc studio
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
Studio 功能:
|
|
213
|
+
- **Agent 概览** — 状态、模型、渠道、工具一目了然
|
|
214
|
+
- **在线对话** — 浏览器中测试 Agent
|
|
215
|
+
- **配置编辑** — 可视化编辑 `oad.yaml`
|
|
216
|
+
- **日志与追踪** — 实时日志流 + OpenTelemetry 追踪
|
|
217
|
+
- **技能浏览器** — 发现和安装技能
|
|
218
|
+
- **定时任务管理** — 创建和监控 Cron 任务
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## 🏥 Doctor 健康检查
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
opc doctor
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
```
|
|
229
|
+
✅ 模型连接正常 (ollama/llama3.1)
|
|
230
|
+
✅ 53/53 工具可用
|
|
231
|
+
✅ 记忆存储正常 (SQLite, 1,247 条)
|
|
232
|
+
✅ Telegram 渠道已连接
|
|
233
|
+
✅ 定时调度运行中 (3 个任务)
|
|
234
|
+
⚠️ 未配置 TTS 语音
|
|
235
|
+
✅ 磁盘空间充足 (12.3 GB)
|
|
236
|
+
...
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
13 项检查覆盖:模型连接、工具状态、渠道连接、记忆健康、磁盘空间、Node.js 版本、包更新等。
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## 🤝 参与贡献
|
|
244
|
+
|
|
245
|
+
欢迎贡献!查看 [CONTRIBUTING.md](CONTRIBUTING.md) 了解详情。
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
git clone https://github.com/Deepleaper/opc-agent.git
|
|
249
|
+
cd opc-agent
|
|
250
|
+
npm install
|
|
251
|
+
npm run build
|
|
252
|
+
npm test
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## 📄 许可证
|
|
258
|
+
|
|
259
|
+
[Apache-2.0](LICENSE) © [Deepleaper 跃盟科技](https://github.com/Deepleaper)
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
<div align="center">
|
|
264
|
+
|
|
265
|
+
**觉得有用?给个 ⭐ 支持一下**
|
|
266
|
+
|
|
267
|
+
[GitHub](https://github.com/Deepleaper/opc-agent) · [npm](https://www.npmjs.com/package/opc-agent) · [文档](https://opc-agent.dev)
|
|
268
|
+
|
|
269
|
+
</div>
|