opc-agent 1.3.2 → 2.0.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/.github/ISSUE_TEMPLATE/bug_report.md +20 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +14 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +13 -0
- package/.github/workflows/ci.yml +24 -0
- package/CHANGELOG.md +48 -63
- package/CONTRIBUTING.md +21 -60
- package/README.md +284 -348
- package/README.zh-CN.md +415 -415
- package/dist/channels/slack.js +93 -10
- package/dist/channels/telegram.d.ts +30 -9
- package/dist/channels/telegram.js +125 -33
- package/dist/channels/web.d.ts +10 -0
- package/dist/channels/web.js +33 -2
- package/dist/cli.js +667 -65
- package/dist/core/agent.d.ts +23 -0
- package/dist/core/agent.js +120 -3
- package/dist/core/runtime.d.ts +5 -0
- package/dist/core/runtime.js +71 -0
- package/dist/core/scheduler.d.ts +52 -0
- package/dist/core/scheduler.js +168 -0
- package/dist/core/subagent.d.ts +28 -0
- package/dist/core/subagent.js +65 -0
- package/dist/daemon.d.ts +3 -0
- package/dist/daemon.js +134 -0
- package/dist/deploy/hermes.js +22 -22
- package/dist/deploy/openclaw.js +31 -40
- package/dist/index.d.ts +10 -10
- package/dist/index.js +22 -15
- package/dist/providers/index.d.ts +6 -2
- package/dist/providers/index.js +22 -9
- package/dist/schema/oad.d.ts +180 -6
- package/dist/schema/oad.js +12 -1
- package/dist/skills/auto-learn.d.ts +28 -0
- package/dist/skills/auto-learn.js +257 -0
- package/dist/templates/code-reviewer.d.ts +0 -8
- package/dist/templates/code-reviewer.js +5 -9
- package/dist/templates/customer-service.d.ts +0 -8
- package/dist/templates/customer-service.js +2 -6
- package/dist/templates/data-analyst.d.ts +0 -8
- package/dist/templates/data-analyst.js +5 -9
- package/dist/templates/knowledge-base.d.ts +0 -8
- package/dist/templates/knowledge-base.js +2 -6
- package/dist/templates/sales-assistant.d.ts +0 -8
- package/dist/templates/sales-assistant.js +4 -8
- package/dist/templates/teacher.d.ts +0 -8
- package/dist/templates/teacher.js +6 -10
- package/dist/tools/builtin/datetime.d.ts +3 -0
- package/dist/tools/builtin/datetime.js +44 -0
- package/dist/tools/builtin/file.d.ts +3 -0
- package/dist/tools/builtin/file.js +151 -0
- package/dist/tools/builtin/index.d.ts +15 -0
- package/dist/tools/builtin/index.js +30 -0
- package/dist/tools/builtin/shell.d.ts +3 -0
- package/dist/tools/builtin/shell.js +43 -0
- package/dist/tools/builtin/web.d.ts +3 -0
- package/dist/tools/builtin/web.js +37 -0
- package/dist/tools/mcp-client.d.ts +24 -0
- package/dist/tools/mcp-client.js +119 -0
- package/dist/traces/index.d.ts +49 -0
- package/dist/traces/index.js +102 -0
- package/docs/.vitepress/config.ts +103 -103
- package/docs/api/cli.md +48 -48
- package/docs/api/oad-schema.md +64 -64
- package/docs/api/sdk.md +80 -80
- package/docs/guide/concepts.md +51 -51
- package/docs/guide/configuration.md +79 -79
- package/docs/guide/deployment.md +42 -42
- package/docs/guide/getting-started.md +44 -44
- package/docs/guide/templates.md +28 -28
- package/docs/guide/testing.md +84 -84
- package/docs/index.md +27 -27
- package/docs/zh/api/cli.md +54 -54
- package/docs/zh/api/oad-schema.md +87 -87
- package/docs/zh/api/sdk.md +102 -102
- package/docs/zh/guide/concepts.md +104 -104
- package/docs/zh/guide/configuration.md +135 -135
- package/docs/zh/guide/deployment.md +81 -81
- package/docs/zh/guide/getting-started.md +82 -82
- package/docs/zh/guide/templates.md +84 -84
- package/docs/zh/guide/testing.md +88 -88
- package/docs/zh/index.md +27 -27
- package/examples/README.md +22 -0
- package/examples/basic-agent.ts +90 -0
- package/examples/brain-integration.ts +71 -0
- package/examples/customer-service-demo/README.md +90 -90
- package/examples/customer-service-demo/oad.yaml +107 -107
- package/examples/multi-channel.ts +74 -0
- package/package.json +1 -1
- package/src/analytics/index.ts +66 -66
- package/src/channels/discord.ts +192 -192
- package/src/channels/email.ts +177 -177
- package/src/channels/feishu.ts +236 -236
- package/src/channels/index.ts +15 -15
- package/src/channels/slack.ts +217 -160
- package/src/channels/telegram.ts +155 -33
- package/src/channels/voice.ts +106 -106
- package/src/channels/web.ts +38 -2
- package/src/channels/webhook.ts +199 -199
- package/src/channels/websocket.ts +87 -87
- package/src/channels/wechat.ts +149 -149
- package/src/cli.ts +697 -63
- package/src/core/a2a.ts +143 -143
- package/src/core/agent.ts +146 -3
- package/src/core/analytics-engine.ts +186 -186
- package/src/core/auth.ts +57 -57
- package/src/core/cache.ts +141 -141
- package/src/core/compose.ts +77 -77
- package/src/core/config.ts +14 -14
- package/src/core/errors.ts +148 -148
- package/src/core/hitl.ts +138 -138
- package/src/core/logger.ts +57 -57
- package/src/core/orchestrator.ts +215 -215
- package/src/core/performance.ts +187 -187
- package/src/core/rate-limiter.ts +128 -128
- package/src/core/room.ts +109 -109
- package/src/core/runtime.ts +230 -152
- package/src/core/sandbox.ts +101 -101
- package/src/core/scheduler.ts +187 -0
- package/src/core/security.ts +171 -171
- package/src/core/subagent.ts +98 -0
- package/src/core/types.ts +68 -68
- package/src/core/versioning.ts +106 -106
- package/src/core/watch.ts +178 -178
- package/src/core/workflow.ts +235 -235
- package/src/daemon.ts +96 -0
- package/src/deploy/hermes.ts +156 -156
- package/src/deploy/openclaw.ts +190 -200
- package/src/i18n/index.ts +216 -216
- package/src/index.ts +14 -10
- package/src/memory/deepbrain.ts +108 -108
- package/src/memory/index.ts +34 -34
- package/src/plugins/index.ts +208 -208
- package/src/providers/index.ts +354 -331
- package/src/schema/oad.ts +14 -2
- package/src/skills/auto-learn.ts +262 -0
- package/src/skills/base.ts +16 -16
- package/src/skills/document.ts +100 -100
- package/src/skills/http.ts +35 -35
- package/src/skills/index.ts +27 -27
- package/src/skills/scheduler.ts +80 -80
- package/src/skills/webhook-trigger.ts +59 -59
- package/src/templates/code-reviewer.ts +30 -34
- package/src/templates/customer-service.ts +76 -80
- package/src/templates/data-analyst.ts +66 -70
- package/src/templates/executive-assistant.ts +71 -71
- package/src/templates/financial-advisor.ts +60 -60
- package/src/templates/knowledge-base.ts +27 -31
- package/src/templates/legal-assistant.ts +71 -71
- package/src/templates/sales-assistant.ts +75 -79
- package/src/templates/teacher.ts +75 -79
- package/src/testing/index.ts +181 -181
- package/src/tools/builtin/datetime.ts +41 -0
- package/src/tools/builtin/file.ts +107 -0
- package/src/tools/builtin/index.ts +28 -0
- package/src/tools/builtin/shell.ts +43 -0
- package/src/tools/builtin/web.ts +35 -0
- package/src/tools/calculator.ts +73 -73
- package/src/tools/datetime.ts +149 -149
- package/src/tools/json-transform.ts +187 -187
- package/src/tools/mcp-client.ts +131 -0
- package/src/tools/mcp.ts +76 -76
- package/src/tools/text-analysis.ts +116 -116
- package/src/traces/index.ts +132 -0
- package/templates/Dockerfile +15 -15
- package/templates/code-reviewer/README.md +27 -27
- package/templates/code-reviewer/oad.yaml +41 -41
- package/templates/customer-service/README.md +22 -22
- package/templates/customer-service/oad.yaml +36 -36
- package/templates/docker-compose.yml +21 -21
- package/templates/ecommerce-assistant/README.md +45 -45
- package/templates/ecommerce-assistant/oad.yaml +47 -47
- package/templates/knowledge-base/README.md +28 -28
- package/templates/knowledge-base/oad.yaml +38 -38
- package/templates/sales-assistant/README.md +26 -26
- package/templates/sales-assistant/oad.yaml +43 -43
- package/templates/tech-support/README.md +43 -43
- package/templates/tech-support/oad.yaml +45 -45
- package/test-agent/Dockerfile +9 -0
- package/test-agent/README.md +50 -0
- package/test-agent/agent.yaml +23 -0
- package/test-agent/docker-compose.yml +11 -0
- package/test-agent/oad.yaml +31 -0
- package/test-agent/package-lock.json +1492 -0
- package/test-agent/package.json +18 -0
- package/test-agent/src/index.ts +24 -0
- package/test-agent/src/skills/echo.ts +15 -0
- package/test-agent/tsconfig.json +25 -0
- package/tests/a2a.test.ts +66 -66
- package/tests/agent.test.ts +72 -72
- package/tests/analytics.test.ts +50 -50
- package/tests/auto-learn.test.ts +105 -0
- package/tests/builtin-tools.test.ts +83 -0
- package/tests/channel.test.ts +39 -39
- package/tests/cli.test.ts +46 -0
- package/tests/e2e.test.ts +134 -134
- package/tests/errors.test.ts +83 -83
- package/tests/hitl.test.ts +71 -71
- package/tests/i18n.test.ts +41 -41
- package/tests/mcp.test.ts +54 -54
- package/tests/oad.test.ts +68 -68
- package/tests/performance.test.ts +115 -115
- package/tests/plugin.test.ts +74 -74
- package/tests/room.test.ts +106 -106
- package/tests/runtime.test.ts +42 -42
- package/tests/sandbox.test.ts +46 -46
- package/tests/security.test.ts +60 -60
- package/tests/subagent.test.ts +130 -0
- package/tests/telegram-discord.test.ts +60 -0
- package/tests/templates.test.ts +77 -77
- package/tests/v070.test.ts +76 -76
- package/tests/versioning.test.ts +75 -75
- package/tests/voice.test.ts +61 -61
- package/tests/webhook.test.ts +29 -29
- package/tests/workflow.test.ts +143 -143
- package/tsconfig.json +19 -19
- package/vitest.config.ts +9 -9
- package/dist/core/dashboard.d.ts +0 -35
- package/dist/core/dashboard.js +0 -157
- package/dist/core/priority.d.ts +0 -52
- package/dist/core/priority.js +0 -102
- package/src/core/dashboard.ts +0 -219
- package/src/core/priority.ts +0 -140
- package/src/dtv/data.ts +0 -29
- package/src/dtv/trust.ts +0 -43
- package/src/dtv/value.ts +0 -47
- package/src/marketplace/index.ts +0 -223
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
apiVersion: opc/v1
|
|
2
|
-
kind: Agent
|
|
3
|
-
metadata:
|
|
4
|
-
name: tech-support
|
|
5
|
-
version: 1.0.0
|
|
6
|
-
description: "技术支持工位 - 处理用户技术问题、故障排查和解决方案推荐"
|
|
7
|
-
author: Deepleaper
|
|
8
|
-
license: Apache-2.0
|
|
9
|
-
marketplace:
|
|
10
|
-
certified: false
|
|
11
|
-
category: it-support
|
|
12
|
-
spec:
|
|
13
|
-
provider:
|
|
14
|
-
default: deepseek
|
|
15
|
-
allowed: [openai, deepseek, qwen, gemini]
|
|
16
|
-
model: deepseek-chat
|
|
17
|
-
systemPrompt: |
|
|
18
|
-
你是一名专业的技术支持工程师。
|
|
19
|
-
你帮助用户解决技术问题,包括软件故障、系统配置、网络问题、硬件故障等。
|
|
20
|
-
回答时请保持专业、耐心,并提供清晰的步骤指引。
|
|
21
|
-
优先使用知识库中的已知解决方案。
|
|
22
|
-
如果问题无法远程解决,请指导用户联系线下支持或提交工单。
|
|
23
|
-
skills:
|
|
24
|
-
- name: troubleshoot
|
|
25
|
-
description: "诊断和解决技术问题,提供分步骤操作指南"
|
|
26
|
-
- name: knowledge-lookup
|
|
27
|
-
description: "查询技术文档、FAQ 和历史解决方案库"
|
|
28
|
-
- name: ticket-create
|
|
29
|
-
description: "为复杂问题创建技术支持工单并跟踪进展"
|
|
30
|
-
- name: escalate
|
|
31
|
-
description: "将高优先级问题升级到高级工程师或专项团队"
|
|
32
|
-
channels:
|
|
33
|
-
- type: web
|
|
34
|
-
port: 3000
|
|
35
|
-
memory:
|
|
36
|
-
shortTerm: true
|
|
37
|
-
longTerm: true
|
|
38
|
-
knowledge:
|
|
39
|
-
enabled: true
|
|
40
|
-
deepbrain: auto
|
|
41
|
-
dtv:
|
|
42
|
-
trust:
|
|
43
|
-
level: internal
|
|
44
|
-
value:
|
|
45
|
-
metrics: [resolution_time, first_contact_resolution, customer_satisfaction]
|
|
1
|
+
apiVersion: opc/v1
|
|
2
|
+
kind: Agent
|
|
3
|
+
metadata:
|
|
4
|
+
name: tech-support
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
description: "技术支持工位 - 处理用户技术问题、故障排查和解决方案推荐"
|
|
7
|
+
author: Deepleaper
|
|
8
|
+
license: Apache-2.0
|
|
9
|
+
marketplace:
|
|
10
|
+
certified: false
|
|
11
|
+
category: it-support
|
|
12
|
+
spec:
|
|
13
|
+
provider:
|
|
14
|
+
default: deepseek
|
|
15
|
+
allowed: [openai, deepseek, qwen, gemini]
|
|
16
|
+
model: deepseek-chat
|
|
17
|
+
systemPrompt: |
|
|
18
|
+
你是一名专业的技术支持工程师。
|
|
19
|
+
你帮助用户解决技术问题,包括软件故障、系统配置、网络问题、硬件故障等。
|
|
20
|
+
回答时请保持专业、耐心,并提供清晰的步骤指引。
|
|
21
|
+
优先使用知识库中的已知解决方案。
|
|
22
|
+
如果问题无法远程解决,请指导用户联系线下支持或提交工单。
|
|
23
|
+
skills:
|
|
24
|
+
- name: troubleshoot
|
|
25
|
+
description: "诊断和解决技术问题,提供分步骤操作指南"
|
|
26
|
+
- name: knowledge-lookup
|
|
27
|
+
description: "查询技术文档、FAQ 和历史解决方案库"
|
|
28
|
+
- name: ticket-create
|
|
29
|
+
description: "为复杂问题创建技术支持工单并跟踪进展"
|
|
30
|
+
- name: escalate
|
|
31
|
+
description: "将高优先级问题升级到高级工程师或专项团队"
|
|
32
|
+
channels:
|
|
33
|
+
- type: web
|
|
34
|
+
port: 3000
|
|
35
|
+
memory:
|
|
36
|
+
shortTerm: true
|
|
37
|
+
longTerm: true
|
|
38
|
+
knowledge:
|
|
39
|
+
enabled: true
|
|
40
|
+
deepbrain: auto
|
|
41
|
+
dtv:
|
|
42
|
+
trust:
|
|
43
|
+
level: internal
|
|
44
|
+
value:
|
|
45
|
+
metrics: [resolution_time, first_contact_resolution, customer_satisfaction]
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
FROM node:22-alpine
|
|
2
|
+
WORKDIR /app
|
|
3
|
+
COPY package.json package-lock.json* ./
|
|
4
|
+
RUN npm ci --production 2>/dev/null || npm install --production
|
|
5
|
+
COPY oad.yaml agent.yaml .env* ./
|
|
6
|
+
COPY src/ ./src/
|
|
7
|
+
COPY prompts/ ./prompts/ 2>/dev/null || true
|
|
8
|
+
EXPOSE 3000
|
|
9
|
+
CMD ["npx", "opc", "run"]
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# test-agent
|
|
2
|
+
|
|
3
|
+
Created with [OPC Agent](https://github.com/Deepleaper/opc-agent) using the `customer-service` template.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
1. **Install dependencies:**
|
|
8
|
+
```bash
|
|
9
|
+
npm install
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
2. **Run with Ollama (default):**
|
|
13
|
+
```bash
|
|
14
|
+
# Make sure Ollama is running with qwen2.5 model
|
|
15
|
+
ollama pull qwen2.5
|
|
16
|
+
npx tsx src/index.ts
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
3. **Or use OpenAI/other providers:**
|
|
20
|
+
```bash
|
|
21
|
+
# Edit .env and set your API key
|
|
22
|
+
npx opc run
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
4. **Open browser:** [http://localhost:3000](http://localhost:3000)
|
|
26
|
+
|
|
27
|
+
## Development
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npx opc dev # Hot-reload mode
|
|
31
|
+
npx opc chat # CLI chat
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Project Structure
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
test-agent/
|
|
38
|
+
├── agent.yaml # OAD agent config (used by src/index.ts)
|
|
39
|
+
├── oad.yaml # OAD config (used by opc CLI)
|
|
40
|
+
├── src/
|
|
41
|
+
│ ├── index.ts # Entry point
|
|
42
|
+
│ └── skills/
|
|
43
|
+
│ └── echo.ts # Example skill
|
|
44
|
+
├── package.json
|
|
45
|
+
└── tsconfig.json
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Configuration
|
|
49
|
+
|
|
50
|
+
Edit `agent.yaml` to customize your agent's personality, skills, and behavior.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
apiVersion: opc/v1
|
|
2
|
+
kind: Agent
|
|
3
|
+
metadata:
|
|
4
|
+
name: test-agent
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
description: My AI Agent
|
|
7
|
+
spec:
|
|
8
|
+
model: qwen2.5
|
|
9
|
+
provider:
|
|
10
|
+
default: ollama
|
|
11
|
+
systemPrompt: |
|
|
12
|
+
You are a helpful AI assistant named test-agent.
|
|
13
|
+
Be concise, helpful, and friendly.
|
|
14
|
+
channels:
|
|
15
|
+
- type: web
|
|
16
|
+
port: 3000
|
|
17
|
+
memory:
|
|
18
|
+
shortTerm: true
|
|
19
|
+
longTerm:
|
|
20
|
+
provider: deepbrain
|
|
21
|
+
skills:
|
|
22
|
+
- name: echo
|
|
23
|
+
description: Echo test skill
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
apiVersion: opc/v1
|
|
2
|
+
kind: Agent
|
|
3
|
+
metadata:
|
|
4
|
+
name: test-agent
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
description: Customer service agent with FAQ and human handoff
|
|
7
|
+
author: OPC Agent
|
|
8
|
+
license: Apache-2.0
|
|
9
|
+
spec:
|
|
10
|
+
provider:
|
|
11
|
+
default: deepseek
|
|
12
|
+
allowed:
|
|
13
|
+
- openai
|
|
14
|
+
- deepseek
|
|
15
|
+
- qwen
|
|
16
|
+
model: deepseek-chat
|
|
17
|
+
systemPrompt: |-
|
|
18
|
+
You are a friendly and professional customer service agent.
|
|
19
|
+
You help customers with their questions about products, orders, shipping, and returns.
|
|
20
|
+
Be concise, helpful, and empathetic. If you're unsure, offer to connect them with a human agent.
|
|
21
|
+
skills:
|
|
22
|
+
- name: faq-lookup
|
|
23
|
+
description: Look up FAQ answers
|
|
24
|
+
- name: human-handoff
|
|
25
|
+
description: Hand off to human agent
|
|
26
|
+
channels:
|
|
27
|
+
- type: web
|
|
28
|
+
port: 3000
|
|
29
|
+
memory:
|
|
30
|
+
shortTerm: true
|
|
31
|
+
longTerm: false
|