opc-agent 4.1.24 → 4.2.0
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 +59 -119
- package/COMPETITIVE-GAP.md +92 -92
- package/CONTRIBUTING.md +36 -36
- package/README.md +290 -290
- package/README.zh-CN.md +269 -269
- package/dist/channels/telegram.d.ts +0 -5
- package/dist/channels/telegram.d.ts.map +1 -1
- package/dist/channels/telegram.js +0 -108
- package/dist/channels/telegram.js.map +1 -1
- package/dist/channels/voice.d.ts +97 -71
- package/dist/channels/voice.d.ts.map +1 -1
- package/dist/channels/voice.js +347 -369
- package/dist/channels/voice.js.map +1 -1
- package/dist/channels/web.d.ts.map +1 -1
- package/dist/channels/web.js +2 -8
- package/dist/channels/web.js.map +1 -1
- package/dist/channels/wechat.js +6 -6
- package/dist/cli/chat.d.ts +1 -4
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +73 -680
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/setup.js +1 -1
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli.js +280 -373
- package/dist/cli.js.map +1 -1
- package/dist/core/agent.d.ts +0 -1
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +0 -3
- package/dist/core/agent.js.map +1 -1
- package/dist/core/runtime.d.ts.map +1 -1
- package/dist/core/runtime.js +22 -192
- package/dist/core/runtime.js.map +1 -1
- package/dist/deploy/index.js +56 -56
- package/dist/doctor.d.ts +0 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +10 -155
- package/dist/doctor.js.map +1 -1
- package/dist/index.d.ts +3 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/dist/memory/deepbrain.d.ts +1 -1
- package/dist/memory/deepbrain.d.ts.map +1 -1
- package/dist/memory/deepbrain.js +4 -95
- package/dist/memory/deepbrain.js.map +1 -1
- package/dist/memory/index.d.ts +0 -2
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +1 -3
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/user-profiler.d.ts +0 -8
- package/dist/memory/user-profiler.d.ts.map +1 -1
- package/dist/memory/user-profiler.js +0 -89
- package/dist/memory/user-profiler.js.map +1 -1
- package/dist/scheduler/cron-engine.d.ts.map +1 -1
- package/dist/scheduler/cron-engine.js +36 -3
- package/dist/scheduler/cron-engine.js.map +1 -1
- package/dist/skills/auto-learn.d.ts.map +1 -1
- package/dist/skills/auto-learn.js +11 -65
- package/dist/skills/auto-learn.js.map +1 -1
- package/dist/skills/builtin/index.d.ts.map +1 -1
- package/dist/skills/builtin/index.js +30 -163
- package/dist/skills/builtin/index.js.map +1 -1
- package/dist/skills/types.d.ts +1 -1
- package/dist/skills/types.d.ts.map +1 -1
- package/dist/skills/types.js +0 -1
- package/dist/skills/types.js.map +1 -1
- package/dist/studio/server.d.ts +0 -1
- package/dist/studio/server.d.ts.map +1 -1
- package/dist/studio/server.js +12 -142
- package/dist/studio/server.js.map +1 -1
- package/dist/studio-ui/index.html +40 -359
- package/dist/ui/components.js +105 -105
- package/examples/README.md +22 -22
- package/examples/basic-agent.ts +90 -90
- package/examples/brain-integration.ts +71 -71
- package/examples/multi-channel.ts +74 -74
- package/install.ps1 +127 -127
- package/install.sh +154 -154
- package/models.json +164 -164
- package/package.json +63 -66
- package/scripts/install.ps1 +31 -31
- package/scripts/install.sh +40 -40
- package/templates/ecommerce-assistant/README.md +45 -45
- package/templates/ecommerce-assistant/oad.yaml +47 -47
- package/templates/tech-support/README.md +43 -43
- package/templates/tech-support/oad.yaml +45 -45
- package/.opc/memory.db +0 -0
- package/dist/core/model-recommender.d.ts +0 -40
- package/dist/core/model-recommender.d.ts.map +0 -1
- package/dist/core/model-recommender.js +0 -186
- package/dist/core/model-recommender.js.map +0 -1
- package/dist/memory/evolve-engine.d.ts +0 -113
- package/dist/memory/evolve-engine.d.ts.map +0 -1
- package/dist/memory/evolve-engine.js +0 -549
- package/dist/memory/evolve-engine.js.map +0 -1
- package/dist/memory/sqlite-store.d.ts +0 -40
- package/dist/memory/sqlite-store.d.ts.map +0 -1
- package/dist/memory/sqlite-store.js +0 -269
- package/dist/memory/sqlite-store.js.map +0 -1
- package/dist/scheduler/proactive.d.ts +0 -62
- package/dist/scheduler/proactive.d.ts.map +0 -1
- package/dist/scheduler/proactive.js +0 -185
- package/dist/scheduler/proactive.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,290 +1,290 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
|
|
3
|
-
# ⚡ OPC Agent
|
|
4
|
-
|
|
5
|
-
**Open Agent Framework — Build, run, and evolve AI agents from your terminal.**
|
|
6
|
-
|
|
7
|
-
[](https://www.npmjs.com/package/opc-agent)
|
|
8
|
-
[](LICENSE)
|
|
9
|
-
[](https://nodejs.org/)
|
|
10
|
-
|
|
11
|
-
[Quick Start](#-quick-start) · [Features](#-features) · [Architecture](#-architecture) · [Configuration](#-configuration) · [CLI](#-cli-commands) · [中文文档](README.zh-CN.md)
|
|
12
|
-
|
|
13
|
-
</div>
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## 🚀 Quick Start
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
npm install -g opc-agent
|
|
21
|
-
opc init
|
|
22
|
-
opc run
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
Or one-line install (includes Node.js + optional 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
|
-
Then open Studio at **http://localhost:4000** or chat in terminal:
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
opc chat
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## ✨ Features
|
|
44
|
-
|
|
45
|
-
| | Feature | Description |
|
|
46
|
-
|---|---|---|
|
|
47
|
-
| 🤖 | **53 Built-in Tools** | File, shell, web, browser, vision, GitHub, Jira, Slack, and more |
|
|
48
|
-
| 🎨 | **Studio GUI** | Visual agent management at `http://localhost:4000` |
|
|
49
|
-
| 💬 | **TUI Terminal Chat** | Streaming responses, markdown rendering, slash commands |
|
|
50
|
-
| 🧠 | **Knowledge Evolve Engine** | Local Ollama-powered zero-cost knowledge distillation |
|
|
51
|
-
| 📱 | **15+ Channels** | Telegram, Discord, Slack, WeChat, Email, WhatsApp, LINE, Teams… |
|
|
52
|
-
| 🔧 | **40 Built-in Skills** | Productivity, knowledge, creative, developer skill packs |
|
|
53
|
-
| 📋 | **OAD Config** | Declarative YAML agent definition (`oad.yaml`) |
|
|
54
|
-
| 🏥 | **Doctor** | 13 health checks — model, tools, channels, memory |
|
|
55
|
-
| ⏰ | **Cron Scheduler** | Scheduled tasks + proactive agent triggers |
|
|
56
|
-
| 🔌 | **MCP Protocol** | Model Context Protocol server & client |
|
|
57
|
-
| 🗣️ | **Voice (STT/TTS)** | Whisper, Azure Speech, Volcano Engine |
|
|
58
|
-
| 📊 | **A2A Protocol** | Google Agent-to-Agent interoperability |
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
## 🏗️ Architecture
|
|
63
|
-
|
|
64
|
-
```
|
|
65
|
-
┌─────────────────────────────────────────────────┐
|
|
66
|
-
│ Channels │
|
|
67
|
-
│ Telegram · Discord · Slack · WeChat · Email … │
|
|
68
|
-
└──────────────────────┬──────────────────────────┘
|
|
69
|
-
│
|
|
70
|
-
┌──────────────────────▼──────────────────────────┐
|
|
71
|
-
│ OPC Agent Runtime │
|
|
72
|
-
│ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
|
|
73
|
-
│ │ Tool Exec│ │ Skills │ │ Memory/Know │ │
|
|
74
|
-
│ │ (53 tools)│ │(40 skills)│ │ Evolve Engine│ │
|
|
75
|
-
│ └──────────┘ └──────────┘ └──────────────┘ │
|
|
76
|
-
│ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
|
|
77
|
-
│ │ Cron │ │ Voice │ │ MCP / A2A │ │
|
|
78
|
-
│ └──────────┘ └──────────┘ └──────────────┘ │
|
|
79
|
-
└──────────────────────┬──────────────────────────┘
|
|
80
|
-
│
|
|
81
|
-
┌──────────────────────▼──────────────────────────┐
|
|
82
|
-
│ LLM Providers │
|
|
83
|
-
│ OpenAI · Anthropic · Ollama · Azure · Gemini │
|
|
84
|
-
└─────────────────────────────────────────────────┘
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
---
|
|
88
|
-
|
|
89
|
-
## ⚙️ Configuration
|
|
90
|
-
|
|
91
|
-
Agents are defined with a single `oad.yaml` file:
|
|
92
|
-
|
|
93
|
-
```yaml
|
|
94
|
-
name: my-agent
|
|
95
|
-
description: Customer support agent
|
|
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: "Check and summarize overnight emails"
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
## 🖥️ CLI Commands
|
|
122
|
-
|
|
123
|
-
| Command | Description |
|
|
124
|
-
|---------|-------------|
|
|
125
|
-
| `opc init [name]` | Create a new agent project |
|
|
126
|
-
| `opc run` | Start agent with all configured channels |
|
|
127
|
-
| `opc chat` | Interactive TUI chat in terminal |
|
|
128
|
-
| `opc studio` | Launch Studio GUI (port 4000) |
|
|
129
|
-
| `opc doctor` | Run 13 health checks |
|
|
130
|
-
| `opc setup` | Configure model provider & API keys |
|
|
131
|
-
| `opc eval` | Run evaluation test suite |
|
|
132
|
-
| `opc traces` | View OpenTelemetry traces |
|
|
133
|
-
| `opc publish` | Publish agent to npm |
|
|
134
|
-
| `opc skill list` | List available skills |
|
|
135
|
-
| `opc skill add <name>` | Add a skill to agent |
|
|
136
|
-
| `opc cron list` | List scheduled tasks |
|
|
137
|
-
|
|
138
|
-
---
|
|
139
|
-
|
|
140
|
-
## 📱 Channels
|
|
141
|
-
|
|
142
|
-
OPC Agent connects to **15+ messaging platforms** out of the box:
|
|
143
|
-
|
|
144
|
-
| Channel | Status | Channel | Status |
|
|
145
|
-
|---------|--------|---------|--------|
|
|
146
|
-
| Telegram | ✅ | Discord | ✅ |
|
|
147
|
-
| Slack | ✅ | WeChat | ✅ |
|
|
148
|
-
| Email (IMAP/SMTP) | ✅ | WhatsApp | ✅ |
|
|
149
|
-
| LINE | ✅ | Teams | ✅ |
|
|
150
|
-
| Feishu/Lark | ✅ | DingTalk | ✅ |
|
|
151
|
-
| Web UI | ✅ | WebSocket | ✅ |
|
|
152
|
-
| Webhook | ✅ | REST API | ✅ |
|
|
153
|
-
| Voice | ✅ | SMS (Twilio) | ✅ |
|
|
154
|
-
|
|
155
|
-
---
|
|
156
|
-
|
|
157
|
-
## 🔧 Tools (53)
|
|
158
|
-
|
|
159
|
-
### Core (8)
|
|
160
|
-
`file-read` · `file-write` · `file-list` · `shell-exec` · `web-fetch` · `web-search` · `browser` · `vision`
|
|
161
|
-
|
|
162
|
-
### Developer (12)
|
|
163
|
-
`git-status` · `git-diff` · `git-commit` · `github-issue` · `github-pr` · `github-search` · `npm-search` · `code-analyze` · `test-run` · `lint` · `deploy` · `docker`
|
|
164
|
-
|
|
165
|
-
### Productivity (8)
|
|
166
|
-
`calendar` · `email-send` · `email-read` · `reminder` · `note` · `todo` · `timer` · `translate`
|
|
167
|
-
|
|
168
|
-
### Integration (13)
|
|
169
|
-
`jira-issue` · `jira-search` · `slack-send` · `slack-read` · `notion-page` · `notion-search` · `linear-issue` · `confluence` · `trello` · `asana` · `zendesk` · `hubspot` · `salesforce`
|
|
170
|
-
|
|
171
|
-
### Knowledge (7)
|
|
172
|
-
`memory-store` · `memory-recall` · `knowledge-learn` · `knowledge-evolve` · `rag-query` · `embedding` · `summarize`
|
|
173
|
-
|
|
174
|
-
### Media (5)
|
|
175
|
-
`image-generate` · `image-describe` · `audio-transcribe` · `tts-speak` · `screenshot`
|
|
176
|
-
|
|
177
|
-
---
|
|
178
|
-
|
|
179
|
-
## 📊 Comparison
|
|
180
|
-
|
|
181
|
-
| Feature | OPC Agent | Hermes Agent | OpenClaw |
|
|
182
|
-
|---------|-----------|-------------|----------|
|
|
183
|
-
| Built-in tools | 53 | ~10 | 30+ |
|
|
184
|
-
| GUI (Studio) | ✅ | ❌ | ✅ |
|
|
185
|
-
| TUI Chat | ✅ | ❌ | ✅ |
|
|
186
|
-
| Channels | 15+ | 3 | 15+ |
|
|
187
|
-
| Built-in skills | 40 | ❌ | 40 |
|
|
188
|
-
| Knowledge evolution | ✅ | ❌ | ✅ |
|
|
189
|
-
| Voice (STT/TTS) | ✅ | ❌ | ✅ |
|
|
190
|
-
| MCP Protocol | ✅ | ✅ | ✅ |
|
|
191
|
-
| A2A Protocol | ✅ | ❌ | ✅ |
|
|
192
|
-
| Cron scheduler | ✅ | ❌ | ✅ |
|
|
193
|
-
| One-line install | ✅ | ❌ | ✅ |
|
|
194
|
-
| Health checks | 13 | ❌ | ✅ |
|
|
195
|
-
| Local-first (Ollama) | ✅ | ❌ | ✅ |
|
|
196
|
-
| Open source | Apache-2.0 | Proprietary | Apache-2.0 |
|
|
197
|
-
|
|
198
|
-
> **OPC Agent** is the open-source core runtime. **OpenClaw** is the full platform built on top of it.
|
|
199
|
-
|
|
200
|
-
---
|
|
201
|
-
|
|
202
|
-
## 🧠 Knowledge Evolve Engine
|
|
203
|
-
|
|
204
|
-
OPC Agent includes a built-in knowledge evolution pipeline that runs **entirely local** with Ollama:
|
|
205
|
-
|
|
206
|
-
```
|
|
207
|
-
Conversations → Learn → Cluster → Deduplicate → Distill → Evolved Knowledge
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
- **Zero API cost** — uses local Ollama models for distillation
|
|
211
|
-
- **Automatic** — learns from every conversation, evolves on schedule
|
|
212
|
-
- **Tiered memory** — short-term (conversation) → long-term (distilled) → evolved (refined)
|
|
213
|
-
- **Full-text search** — SQLite FTS5 for instant recall across all memory
|
|
214
|
-
|
|
215
|
-
```bash
|
|
216
|
-
opc knowledge evolve # Trigger manual evolution
|
|
217
|
-
opc knowledge stats # View knowledge base stats
|
|
218
|
-
opc knowledge search "query" # Search across all knowledge
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
---
|
|
222
|
-
|
|
223
|
-
## 🎨 Studio
|
|
224
|
-
|
|
225
|
-
Launch the visual management dashboard:
|
|
226
|
-
|
|
227
|
-
```bash
|
|
228
|
-
opc studio
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
Studio provides:
|
|
232
|
-
- **Agent overview** — status, model, channels, tools at a glance
|
|
233
|
-
- **Live chat** — test your agent in the browser
|
|
234
|
-
- **Configuration editor** — edit `oad.yaml` visually
|
|
235
|
-
- **Logs & traces** — real-time log streaming and OpenTelemetry traces
|
|
236
|
-
- **Skill browser** — discover and install skills
|
|
237
|
-
- **Cron manager** — create and monitor scheduled tasks
|
|
238
|
-
|
|
239
|
-
---
|
|
240
|
-
|
|
241
|
-
## 🏥 Doctor
|
|
242
|
-
|
|
243
|
-
Run comprehensive health checks:
|
|
244
|
-
|
|
245
|
-
```bash
|
|
246
|
-
opc doctor
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
```
|
|
250
|
-
✅ Model provider connected (ollama/llama3.1)
|
|
251
|
-
✅ 53/53 tools available
|
|
252
|
-
✅ Memory store healthy (SQLite, 1,247 entries)
|
|
253
|
-
✅ Telegram channel connected
|
|
254
|
-
✅ Cron scheduler running (3 jobs)
|
|
255
|
-
⚠️ No TTS provider configured
|
|
256
|
-
✅ Disk space OK (12.3 GB free)
|
|
257
|
-
...
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
13 checks covering: model connectivity, tool wiring, channel status, memory health, disk space, Node.js version, package updates, and more.
|
|
261
|
-
|
|
262
|
-
---
|
|
263
|
-
|
|
264
|
-
## 🤝 Contributing
|
|
265
|
-
|
|
266
|
-
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
267
|
-
|
|
268
|
-
```bash
|
|
269
|
-
git clone https://github.com/Deepleaper/opc-agent.git
|
|
270
|
-
cd opc-agent
|
|
271
|
-
npm install
|
|
272
|
-
npm run build
|
|
273
|
-
npm test
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
---
|
|
277
|
-
|
|
278
|
-
## 📄 License
|
|
279
|
-
|
|
280
|
-
[Apache-2.0](LICENSE) © [Deepleaper](https://github.com/Deepleaper)
|
|
281
|
-
|
|
282
|
-
---
|
|
283
|
-
|
|
284
|
-
<div align="center">
|
|
285
|
-
|
|
286
|
-
**If OPC Agent helps you build better agents, give us a ⭐**
|
|
287
|
-
|
|
288
|
-
[GitHub](https://github.com/Deepleaper/opc-agent) · [npm](https://www.npmjs.com/package/opc-agent) · [Docs](https://opc-agent.dev)
|
|
289
|
-
|
|
290
|
-
</div>
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# ⚡ OPC Agent
|
|
4
|
+
|
|
5
|
+
**Open Agent Framework — Build, run, and evolve AI agents from your terminal.**
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/opc-agent)
|
|
8
|
+
[](LICENSE)
|
|
9
|
+
[](https://nodejs.org/)
|
|
10
|
+
|
|
11
|
+
[Quick Start](#-quick-start) · [Features](#-features) · [Architecture](#-architecture) · [Configuration](#-configuration) · [CLI](#-cli-commands) · [中文文档](README.zh-CN.md)
|
|
12
|
+
|
|
13
|
+
</div>
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 🚀 Quick Start
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm install -g opc-agent
|
|
21
|
+
opc init
|
|
22
|
+
opc run
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Or one-line install (includes Node.js + optional 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
|
+
Then open Studio at **http://localhost:4000** or chat in terminal:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
opc chat
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## ✨ Features
|
|
44
|
+
|
|
45
|
+
| | Feature | Description |
|
|
46
|
+
|---|---|---|
|
|
47
|
+
| 🤖 | **53 Built-in Tools** | File, shell, web, browser, vision, GitHub, Jira, Slack, and more |
|
|
48
|
+
| 🎨 | **Studio GUI** | Visual agent management at `http://localhost:4000` |
|
|
49
|
+
| 💬 | **TUI Terminal Chat** | Streaming responses, markdown rendering, slash commands |
|
|
50
|
+
| 🧠 | **Knowledge Evolve Engine** | Local Ollama-powered zero-cost knowledge distillation |
|
|
51
|
+
| 📱 | **15+ Channels** | Telegram, Discord, Slack, WeChat, Email, WhatsApp, LINE, Teams… |
|
|
52
|
+
| 🔧 | **40 Built-in Skills** | Productivity, knowledge, creative, developer skill packs |
|
|
53
|
+
| 📋 | **OAD Config** | Declarative YAML agent definition (`oad.yaml`) |
|
|
54
|
+
| 🏥 | **Doctor** | 13 health checks — model, tools, channels, memory |
|
|
55
|
+
| ⏰ | **Cron Scheduler** | Scheduled tasks + proactive agent triggers |
|
|
56
|
+
| 🔌 | **MCP Protocol** | Model Context Protocol server & client |
|
|
57
|
+
| 🗣️ | **Voice (STT/TTS)** | Whisper, Azure Speech, Volcano Engine |
|
|
58
|
+
| 📊 | **A2A Protocol** | Google Agent-to-Agent interoperability |
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 🏗️ Architecture
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
┌─────────────────────────────────────────────────┐
|
|
66
|
+
│ Channels │
|
|
67
|
+
│ Telegram · Discord · Slack · WeChat · Email … │
|
|
68
|
+
└──────────────────────┬──────────────────────────┘
|
|
69
|
+
│
|
|
70
|
+
┌──────────────────────▼──────────────────────────┐
|
|
71
|
+
│ OPC Agent Runtime │
|
|
72
|
+
│ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
|
|
73
|
+
│ │ Tool Exec│ │ Skills │ │ Memory/Know │ │
|
|
74
|
+
│ │ (53 tools)│ │(40 skills)│ │ Evolve Engine│ │
|
|
75
|
+
│ └──────────┘ └──────────┘ └──────────────┘ │
|
|
76
|
+
│ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │
|
|
77
|
+
│ │ Cron │ │ Voice │ │ MCP / A2A │ │
|
|
78
|
+
│ └──────────┘ └──────────┘ └──────────────┘ │
|
|
79
|
+
└──────────────────────┬──────────────────────────┘
|
|
80
|
+
│
|
|
81
|
+
┌──────────────────────▼──────────────────────────┐
|
|
82
|
+
│ LLM Providers │
|
|
83
|
+
│ OpenAI · Anthropic · Ollama · Azure · Gemini │
|
|
84
|
+
└─────────────────────────────────────────────────┘
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## ⚙️ Configuration
|
|
90
|
+
|
|
91
|
+
Agents are defined with a single `oad.yaml` file:
|
|
92
|
+
|
|
93
|
+
```yaml
|
|
94
|
+
name: my-agent
|
|
95
|
+
description: Customer support agent
|
|
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: "Check and summarize overnight emails"
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## 🖥️ CLI Commands
|
|
122
|
+
|
|
123
|
+
| Command | Description |
|
|
124
|
+
|---------|-------------|
|
|
125
|
+
| `opc init [name]` | Create a new agent project |
|
|
126
|
+
| `opc run` | Start agent with all configured channels |
|
|
127
|
+
| `opc chat` | Interactive TUI chat in terminal |
|
|
128
|
+
| `opc studio` | Launch Studio GUI (port 4000) |
|
|
129
|
+
| `opc doctor` | Run 13 health checks |
|
|
130
|
+
| `opc setup` | Configure model provider & API keys |
|
|
131
|
+
| `opc eval` | Run evaluation test suite |
|
|
132
|
+
| `opc traces` | View OpenTelemetry traces |
|
|
133
|
+
| `opc publish` | Publish agent to npm |
|
|
134
|
+
| `opc skill list` | List available skills |
|
|
135
|
+
| `opc skill add <name>` | Add a skill to agent |
|
|
136
|
+
| `opc cron list` | List scheduled tasks |
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## 📱 Channels
|
|
141
|
+
|
|
142
|
+
OPC Agent connects to **15+ messaging platforms** out of the box:
|
|
143
|
+
|
|
144
|
+
| Channel | Status | Channel | Status |
|
|
145
|
+
|---------|--------|---------|--------|
|
|
146
|
+
| Telegram | ✅ | Discord | ✅ |
|
|
147
|
+
| Slack | ✅ | WeChat | ✅ |
|
|
148
|
+
| Email (IMAP/SMTP) | ✅ | WhatsApp | ✅ |
|
|
149
|
+
| LINE | ✅ | Teams | ✅ |
|
|
150
|
+
| Feishu/Lark | ✅ | DingTalk | ✅ |
|
|
151
|
+
| Web UI | ✅ | WebSocket | ✅ |
|
|
152
|
+
| Webhook | ✅ | REST API | ✅ |
|
|
153
|
+
| Voice | ✅ | SMS (Twilio) | ✅ |
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## 🔧 Tools (53)
|
|
158
|
+
|
|
159
|
+
### Core (8)
|
|
160
|
+
`file-read` · `file-write` · `file-list` · `shell-exec` · `web-fetch` · `web-search` · `browser` · `vision`
|
|
161
|
+
|
|
162
|
+
### Developer (12)
|
|
163
|
+
`git-status` · `git-diff` · `git-commit` · `github-issue` · `github-pr` · `github-search` · `npm-search` · `code-analyze` · `test-run` · `lint` · `deploy` · `docker`
|
|
164
|
+
|
|
165
|
+
### Productivity (8)
|
|
166
|
+
`calendar` · `email-send` · `email-read` · `reminder` · `note` · `todo` · `timer` · `translate`
|
|
167
|
+
|
|
168
|
+
### Integration (13)
|
|
169
|
+
`jira-issue` · `jira-search` · `slack-send` · `slack-read` · `notion-page` · `notion-search` · `linear-issue` · `confluence` · `trello` · `asana` · `zendesk` · `hubspot` · `salesforce`
|
|
170
|
+
|
|
171
|
+
### Knowledge (7)
|
|
172
|
+
`memory-store` · `memory-recall` · `knowledge-learn` · `knowledge-evolve` · `rag-query` · `embedding` · `summarize`
|
|
173
|
+
|
|
174
|
+
### Media (5)
|
|
175
|
+
`image-generate` · `image-describe` · `audio-transcribe` · `tts-speak` · `screenshot`
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## 📊 Comparison
|
|
180
|
+
|
|
181
|
+
| Feature | OPC Agent | Hermes Agent | OpenClaw |
|
|
182
|
+
|---------|-----------|-------------|----------|
|
|
183
|
+
| Built-in tools | 53 | ~10 | 30+ |
|
|
184
|
+
| GUI (Studio) | ✅ | ❌ | ✅ |
|
|
185
|
+
| TUI Chat | ✅ | ❌ | ✅ |
|
|
186
|
+
| Channels | 15+ | 3 | 15+ |
|
|
187
|
+
| Built-in skills | 40 | ❌ | 40 |
|
|
188
|
+
| Knowledge evolution | ✅ | ❌ | ✅ |
|
|
189
|
+
| Voice (STT/TTS) | ✅ | ❌ | ✅ |
|
|
190
|
+
| MCP Protocol | ✅ | ✅ | ✅ |
|
|
191
|
+
| A2A Protocol | ✅ | ❌ | ✅ |
|
|
192
|
+
| Cron scheduler | ✅ | ❌ | ✅ |
|
|
193
|
+
| One-line install | ✅ | ❌ | ✅ |
|
|
194
|
+
| Health checks | 13 | ❌ | ✅ |
|
|
195
|
+
| Local-first (Ollama) | ✅ | ❌ | ✅ |
|
|
196
|
+
| Open source | Apache-2.0 | Proprietary | Apache-2.0 |
|
|
197
|
+
|
|
198
|
+
> **OPC Agent** is the open-source core runtime. **OpenClaw** is the full platform built on top of it.
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## 🧠 Knowledge Evolve Engine
|
|
203
|
+
|
|
204
|
+
OPC Agent includes a built-in knowledge evolution pipeline that runs **entirely local** with Ollama:
|
|
205
|
+
|
|
206
|
+
```
|
|
207
|
+
Conversations → Learn → Cluster → Deduplicate → Distill → Evolved Knowledge
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
- **Zero API cost** — uses local Ollama models for distillation
|
|
211
|
+
- **Automatic** — learns from every conversation, evolves on schedule
|
|
212
|
+
- **Tiered memory** — short-term (conversation) → long-term (distilled) → evolved (refined)
|
|
213
|
+
- **Full-text search** — SQLite FTS5 for instant recall across all memory
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
opc knowledge evolve # Trigger manual evolution
|
|
217
|
+
opc knowledge stats # View knowledge base stats
|
|
218
|
+
opc knowledge search "query" # Search across all knowledge
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## 🎨 Studio
|
|
224
|
+
|
|
225
|
+
Launch the visual management dashboard:
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
opc studio
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Studio provides:
|
|
232
|
+
- **Agent overview** — status, model, channels, tools at a glance
|
|
233
|
+
- **Live chat** — test your agent in the browser
|
|
234
|
+
- **Configuration editor** — edit `oad.yaml` visually
|
|
235
|
+
- **Logs & traces** — real-time log streaming and OpenTelemetry traces
|
|
236
|
+
- **Skill browser** — discover and install skills
|
|
237
|
+
- **Cron manager** — create and monitor scheduled tasks
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## 🏥 Doctor
|
|
242
|
+
|
|
243
|
+
Run comprehensive health checks:
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
opc doctor
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
```
|
|
250
|
+
✅ Model provider connected (ollama/llama3.1)
|
|
251
|
+
✅ 53/53 tools available
|
|
252
|
+
✅ Memory store healthy (SQLite, 1,247 entries)
|
|
253
|
+
✅ Telegram channel connected
|
|
254
|
+
✅ Cron scheduler running (3 jobs)
|
|
255
|
+
⚠️ No TTS provider configured
|
|
256
|
+
✅ Disk space OK (12.3 GB free)
|
|
257
|
+
...
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
13 checks covering: model connectivity, tool wiring, channel status, memory health, disk space, Node.js version, package updates, and more.
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## 🤝 Contributing
|
|
265
|
+
|
|
266
|
+
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
git clone https://github.com/Deepleaper/opc-agent.git
|
|
270
|
+
cd opc-agent
|
|
271
|
+
npm install
|
|
272
|
+
npm run build
|
|
273
|
+
npm test
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## 📄 License
|
|
279
|
+
|
|
280
|
+
[Apache-2.0](LICENSE) © [Deepleaper](https://github.com/Deepleaper)
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
<div align="center">
|
|
285
|
+
|
|
286
|
+
**If OPC Agent helps you build better agents, give us a ⭐**
|
|
287
|
+
|
|
288
|
+
[GitHub](https://github.com/Deepleaper/opc-agent) · [npm](https://www.npmjs.com/package/opc-agent) · [Docs](https://opc-agent.dev)
|
|
289
|
+
|
|
290
|
+
</div>
|