opc-agent 1.3.1 → 1.3.2
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 +6 -0
- package/CONTRIBUTING.md +75 -75
- package/README.md +358 -235
- package/README.zh-CN.md +415 -415
- package/dist/cli.js +34 -118
- package/dist/core/dashboard.d.ts +35 -0
- package/dist/core/dashboard.js +157 -0
- package/dist/core/priority.d.ts +52 -0
- package/dist/core/priority.js +102 -0
- package/dist/deploy/hermes.js +22 -22
- package/dist/deploy/openclaw.js +40 -31
- package/dist/index.d.ts +10 -3
- package/dist/index.js +15 -6
- package/dist/schema/oad.d.ts +2 -1
- package/dist/templates/code-reviewer.d.ts +8 -0
- package/dist/templates/code-reviewer.js +9 -5
- package/dist/templates/customer-service.d.ts +8 -0
- package/dist/templates/customer-service.js +6 -2
- package/dist/templates/data-analyst.d.ts +8 -0
- package/dist/templates/data-analyst.js +9 -5
- package/dist/templates/knowledge-base.d.ts +8 -0
- package/dist/templates/knowledge-base.js +6 -2
- package/dist/templates/sales-assistant.d.ts +8 -0
- package/dist/templates/sales-assistant.js +8 -4
- package/dist/templates/teacher.d.ts +8 -0
- package/dist/templates/teacher.js +10 -6
- 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/customer-service-demo/README.md +90 -90
- package/examples/customer-service-demo/oad.yaml +107 -107
- 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 +160 -160
- package/src/channels/telegram.ts +90 -90
- package/src/channels/voice.ts +106 -106
- 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 +32 -124
- package/src/core/a2a.ts +143 -143
- package/src/core/agent.ts +152 -152
- 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/dashboard.ts +219 -0
- 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/priority.ts +140 -0
- package/src/core/rate-limiter.ts +128 -128
- package/src/core/room.ts +109 -109
- package/src/core/runtime.ts +152 -152
- package/src/core/sandbox.ts +101 -101
- package/src/core/security.ts +171 -171
- 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/deploy/hermes.ts +156 -156
- package/src/deploy/openclaw.ts +200 -190
- package/src/dtv/data.ts +29 -0
- package/src/dtv/trust.ts +43 -0
- package/src/dtv/value.ts +47 -0
- package/src/i18n/index.ts +216 -216
- package/src/index.ts +10 -3
- package/src/marketplace/index.ts +223 -0
- package/src/memory/deepbrain.ts +108 -108
- package/src/memory/index.ts +34 -34
- package/src/plugins/index.ts +208 -208
- package/src/schema/oad.ts +155 -154
- 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 +34 -30
- package/src/templates/customer-service.ts +80 -76
- package/src/templates/data-analyst.ts +70 -66
- package/src/templates/executive-assistant.ts +71 -71
- package/src/templates/financial-advisor.ts +60 -60
- package/src/templates/knowledge-base.ts +31 -27
- package/src/templates/legal-assistant.ts +71 -71
- package/src/templates/sales-assistant.ts +79 -75
- package/src/templates/teacher.ts +79 -75
- package/src/testing/index.ts +181 -181
- 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.ts +76 -76
- package/src/tools/text-analysis.ts +116 -116
- 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/tests/a2a.test.ts +66 -66
- package/tests/agent.test.ts +72 -72
- package/tests/analytics.test.ts +50 -50
- package/tests/channel.test.ts +39 -39
- 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/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/.github/workflows/ci.yml +0 -24
- package/dist/traces/index.d.ts +0 -49
- package/dist/traces/index.js +0 -102
- package/src/traces/index.ts +0 -132
|
@@ -1,135 +1,135 @@
|
|
|
1
|
-
# 配置详解
|
|
2
|
-
|
|
3
|
-
## OAD 文件结构
|
|
4
|
-
|
|
5
|
-
`oad.yaml` 是智能体的核心配置文件,所有配置都在这里:
|
|
6
|
-
|
|
7
|
-
```yaml
|
|
8
|
-
apiVersion: opc/v1
|
|
9
|
-
kind: Agent
|
|
10
|
-
metadata:
|
|
11
|
-
name: my-agent
|
|
12
|
-
version: 1.0.0
|
|
13
|
-
description: 我的智能体
|
|
14
|
-
spec:
|
|
15
|
-
provider:
|
|
16
|
-
default: deepseek
|
|
17
|
-
allowed: [openai, deepseek, qwen]
|
|
18
|
-
model: deepseek-chat
|
|
19
|
-
systemPrompt: "你是一个专业的助手。"
|
|
20
|
-
skills: []
|
|
21
|
-
channels:
|
|
22
|
-
- type: web
|
|
23
|
-
port: 3000
|
|
24
|
-
memory:
|
|
25
|
-
shortTerm: true
|
|
26
|
-
longTerm: false
|
|
27
|
-
testing:
|
|
28
|
-
cases:
|
|
29
|
-
- name: 问候测试
|
|
30
|
-
input: "你好"
|
|
31
|
-
expect:
|
|
32
|
-
contains: ["你好", "帮"]
|
|
33
|
-
maxLatencyMs: 5000
|
|
34
|
-
rateLimits:
|
|
35
|
-
perUser:
|
|
36
|
-
maxRequests: 60
|
|
37
|
-
windowMs: 60000
|
|
38
|
-
perProvider:
|
|
39
|
-
maxRequests: 100
|
|
40
|
-
windowMs: 60000
|
|
41
|
-
cache:
|
|
42
|
-
enabled: true
|
|
43
|
-
ttlMs: 3600000
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## 环境变量
|
|
47
|
-
|
|
48
|
-
| 变量 | 说明 | 默认值 |
|
|
49
|
-
|------|------|--------|
|
|
50
|
-
| `OPC_LLM_API_KEY` | 大语言模型 API Key | — |
|
|
51
|
-
| `OPC_LLM_BASE_URL` | API 地址 | `https://api.openai.com/v1` |
|
|
52
|
-
| `OPC_LLM_MODEL` | 模型名称 | `gpt-4o-mini` |
|
|
53
|
-
|
|
54
|
-
## 模型供应商配置
|
|
55
|
-
|
|
56
|
-
```yaml
|
|
57
|
-
spec:
|
|
58
|
-
provider:
|
|
59
|
-
default: deepseek # 默认供应商
|
|
60
|
-
allowed: [deepseek, qwen, openai] # 允许的供应商列表
|
|
61
|
-
model: deepseek-chat # 具体模型
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
运行时通过环境变量 `OPC_LLM_API_KEY` 和 `OPC_LLM_BASE_URL` 传入凭证。
|
|
65
|
-
|
|
66
|
-
## 限流配置
|
|
67
|
-
|
|
68
|
-
保护你的 API 配额和后端服务:
|
|
69
|
-
|
|
70
|
-
```yaml
|
|
71
|
-
spec:
|
|
72
|
-
rateLimits:
|
|
73
|
-
perUser:
|
|
74
|
-
maxRequests: 60 # 每个用户每分钟最多 60 次请求
|
|
75
|
-
windowMs: 60000
|
|
76
|
-
perProvider:
|
|
77
|
-
maxRequests: 100 # 每个供应商每分钟最多 100 次请求
|
|
78
|
-
windowMs: 60000
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
## 缓存配置
|
|
82
|
-
|
|
83
|
-
开启 LLM 响应缓存,降低 API 调用成本:
|
|
84
|
-
|
|
85
|
-
```yaml
|
|
86
|
-
spec:
|
|
87
|
-
cache:
|
|
88
|
-
enabled: true
|
|
89
|
-
ttlMs: 3600000 # 缓存有效期 1 小时
|
|
90
|
-
maxEntries: 1000 # 最大缓存条数
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
## 渠道配置
|
|
94
|
-
|
|
95
|
-
```yaml
|
|
96
|
-
spec:
|
|
97
|
-
channels:
|
|
98
|
-
- type: web
|
|
99
|
-
port: 3000
|
|
100
|
-
config:
|
|
101
|
-
cors: true
|
|
102
|
-
sse: true # 启用 SSE 流式响应
|
|
103
|
-
|
|
104
|
-
- type: telegram
|
|
105
|
-
config:
|
|
106
|
-
token: ${TELEGRAM_BOT_TOKEN}
|
|
107
|
-
|
|
108
|
-
- type: wechat
|
|
109
|
-
config:
|
|
110
|
-
appId: ${WECHAT_APP_ID}
|
|
111
|
-
appSecret: ${WECHAT_APP_SECRET}
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
## 记忆配置
|
|
115
|
-
|
|
116
|
-
```yaml
|
|
117
|
-
spec:
|
|
118
|
-
memory:
|
|
119
|
-
shortTerm: true # 对话上下文记忆
|
|
120
|
-
longTerm: true # 跨会话长期记忆
|
|
121
|
-
provider: deepbrain # 长期记忆后端
|
|
122
|
-
config:
|
|
123
|
-
collection: my-kb # 知识库集合名称
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
## DTV 信任配置
|
|
127
|
-
|
|
128
|
-
```yaml
|
|
129
|
-
spec:
|
|
130
|
-
dtv:
|
|
131
|
-
trust:
|
|
132
|
-
level: sandbox # sandbox | verified | certified | listed
|
|
133
|
-
value:
|
|
134
|
-
metrics: [response_time, satisfaction_score]
|
|
135
|
-
```
|
|
1
|
+
# 配置详解
|
|
2
|
+
|
|
3
|
+
## OAD 文件结构
|
|
4
|
+
|
|
5
|
+
`oad.yaml` 是智能体的核心配置文件,所有配置都在这里:
|
|
6
|
+
|
|
7
|
+
```yaml
|
|
8
|
+
apiVersion: opc/v1
|
|
9
|
+
kind: Agent
|
|
10
|
+
metadata:
|
|
11
|
+
name: my-agent
|
|
12
|
+
version: 1.0.0
|
|
13
|
+
description: 我的智能体
|
|
14
|
+
spec:
|
|
15
|
+
provider:
|
|
16
|
+
default: deepseek
|
|
17
|
+
allowed: [openai, deepseek, qwen]
|
|
18
|
+
model: deepseek-chat
|
|
19
|
+
systemPrompt: "你是一个专业的助手。"
|
|
20
|
+
skills: []
|
|
21
|
+
channels:
|
|
22
|
+
- type: web
|
|
23
|
+
port: 3000
|
|
24
|
+
memory:
|
|
25
|
+
shortTerm: true
|
|
26
|
+
longTerm: false
|
|
27
|
+
testing:
|
|
28
|
+
cases:
|
|
29
|
+
- name: 问候测试
|
|
30
|
+
input: "你好"
|
|
31
|
+
expect:
|
|
32
|
+
contains: ["你好", "帮"]
|
|
33
|
+
maxLatencyMs: 5000
|
|
34
|
+
rateLimits:
|
|
35
|
+
perUser:
|
|
36
|
+
maxRequests: 60
|
|
37
|
+
windowMs: 60000
|
|
38
|
+
perProvider:
|
|
39
|
+
maxRequests: 100
|
|
40
|
+
windowMs: 60000
|
|
41
|
+
cache:
|
|
42
|
+
enabled: true
|
|
43
|
+
ttlMs: 3600000
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## 环境变量
|
|
47
|
+
|
|
48
|
+
| 变量 | 说明 | 默认值 |
|
|
49
|
+
|------|------|--------|
|
|
50
|
+
| `OPC_LLM_API_KEY` | 大语言模型 API Key | — |
|
|
51
|
+
| `OPC_LLM_BASE_URL` | API 地址 | `https://api.openai.com/v1` |
|
|
52
|
+
| `OPC_LLM_MODEL` | 模型名称 | `gpt-4o-mini` |
|
|
53
|
+
|
|
54
|
+
## 模型供应商配置
|
|
55
|
+
|
|
56
|
+
```yaml
|
|
57
|
+
spec:
|
|
58
|
+
provider:
|
|
59
|
+
default: deepseek # 默认供应商
|
|
60
|
+
allowed: [deepseek, qwen, openai] # 允许的供应商列表
|
|
61
|
+
model: deepseek-chat # 具体模型
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
运行时通过环境变量 `OPC_LLM_API_KEY` 和 `OPC_LLM_BASE_URL` 传入凭证。
|
|
65
|
+
|
|
66
|
+
## 限流配置
|
|
67
|
+
|
|
68
|
+
保护你的 API 配额和后端服务:
|
|
69
|
+
|
|
70
|
+
```yaml
|
|
71
|
+
spec:
|
|
72
|
+
rateLimits:
|
|
73
|
+
perUser:
|
|
74
|
+
maxRequests: 60 # 每个用户每分钟最多 60 次请求
|
|
75
|
+
windowMs: 60000
|
|
76
|
+
perProvider:
|
|
77
|
+
maxRequests: 100 # 每个供应商每分钟最多 100 次请求
|
|
78
|
+
windowMs: 60000
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## 缓存配置
|
|
82
|
+
|
|
83
|
+
开启 LLM 响应缓存,降低 API 调用成本:
|
|
84
|
+
|
|
85
|
+
```yaml
|
|
86
|
+
spec:
|
|
87
|
+
cache:
|
|
88
|
+
enabled: true
|
|
89
|
+
ttlMs: 3600000 # 缓存有效期 1 小时
|
|
90
|
+
maxEntries: 1000 # 最大缓存条数
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## 渠道配置
|
|
94
|
+
|
|
95
|
+
```yaml
|
|
96
|
+
spec:
|
|
97
|
+
channels:
|
|
98
|
+
- type: web
|
|
99
|
+
port: 3000
|
|
100
|
+
config:
|
|
101
|
+
cors: true
|
|
102
|
+
sse: true # 启用 SSE 流式响应
|
|
103
|
+
|
|
104
|
+
- type: telegram
|
|
105
|
+
config:
|
|
106
|
+
token: ${TELEGRAM_BOT_TOKEN}
|
|
107
|
+
|
|
108
|
+
- type: wechat
|
|
109
|
+
config:
|
|
110
|
+
appId: ${WECHAT_APP_ID}
|
|
111
|
+
appSecret: ${WECHAT_APP_SECRET}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## 记忆配置
|
|
115
|
+
|
|
116
|
+
```yaml
|
|
117
|
+
spec:
|
|
118
|
+
memory:
|
|
119
|
+
shortTerm: true # 对话上下文记忆
|
|
120
|
+
longTerm: true # 跨会话长期记忆
|
|
121
|
+
provider: deepbrain # 长期记忆后端
|
|
122
|
+
config:
|
|
123
|
+
collection: my-kb # 知识库集合名称
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## DTV 信任配置
|
|
127
|
+
|
|
128
|
+
```yaml
|
|
129
|
+
spec:
|
|
130
|
+
dtv:
|
|
131
|
+
trust:
|
|
132
|
+
level: sandbox # sandbox | verified | certified | listed
|
|
133
|
+
value:
|
|
134
|
+
metrics: [response_time, satisfaction_score]
|
|
135
|
+
```
|
|
@@ -1,81 +1,81 @@
|
|
|
1
|
-
# 部署指南
|
|
2
|
-
|
|
3
|
-
## 本地开发
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
# 热重载开发模式
|
|
7
|
-
opc dev
|
|
8
|
-
|
|
9
|
-
# 普通启动
|
|
10
|
-
opc run
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
## Docker 部署
|
|
14
|
-
|
|
15
|
-
每个 `opc init` 创建的项目都自带 `Dockerfile` 和 `docker-compose.yml`:
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
docker compose up -d
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
### 自定义 Docker 配置
|
|
22
|
-
|
|
23
|
-
```yaml
|
|
24
|
-
# docker-compose.yml
|
|
25
|
-
services:
|
|
26
|
-
agent:
|
|
27
|
-
build: .
|
|
28
|
-
ports:
|
|
29
|
-
- "3000:3000"
|
|
30
|
-
env_file: .env
|
|
31
|
-
restart: unless-stopped
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## 部署到 OpenClaw
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
# 部署
|
|
38
|
-
opc deploy --target openclaw
|
|
39
|
-
|
|
40
|
-
# 部署并注册到配置
|
|
41
|
-
opc deploy --target openclaw --install
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## 部署到 Hermes 云
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
# 直接部署
|
|
48
|
-
opc deploy --target hermes
|
|
49
|
-
|
|
50
|
-
# 生成部署文件到指定目录
|
|
51
|
-
opc deploy --target hermes --output ./my-deploy
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## 环境变量
|
|
55
|
-
|
|
56
|
-
在 `.env` 文件中配置:
|
|
57
|
-
|
|
58
|
-
```bash
|
|
59
|
-
# 大语言模型配置
|
|
60
|
-
OPC_LLM_API_KEY=sk-xxx
|
|
61
|
-
OPC_LLM_BASE_URL=https://api.deepseek.com/v1
|
|
62
|
-
OPC_LLM_MODEL=deepseek-chat
|
|
63
|
-
|
|
64
|
-
# Telegram 机器人(可选)
|
|
65
|
-
TELEGRAM_BOT_TOKEN=xxx
|
|
66
|
-
|
|
67
|
-
# 微信公众号(可选)
|
|
68
|
-
WECHAT_APP_ID=xxx
|
|
69
|
-
WECHAT_APP_SECRET=xxx
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
## 上线检查清单
|
|
73
|
-
|
|
74
|
-
- [ ] 在 `.env` 中配置正确的 API Key
|
|
75
|
-
- [ ] 在 `oad.yaml` 中配置限流策略
|
|
76
|
-
- [ ] 开启缓存以降低 API 成本
|
|
77
|
-
- [ ] 配置监控和告警
|
|
78
|
-
- [ ] 运行 `opc test` 确保测试通过
|
|
79
|
-
- [ ] 检查 DTV 信任等级设置
|
|
80
|
-
- [ ] 配置 CORS 和安全头
|
|
81
|
-
- [ ] 准备回滚方案
|
|
1
|
+
# 部署指南
|
|
2
|
+
|
|
3
|
+
## 本地开发
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
# 热重载开发模式
|
|
7
|
+
opc dev
|
|
8
|
+
|
|
9
|
+
# 普通启动
|
|
10
|
+
opc run
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Docker 部署
|
|
14
|
+
|
|
15
|
+
每个 `opc init` 创建的项目都自带 `Dockerfile` 和 `docker-compose.yml`:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
docker compose up -d
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### 自定义 Docker 配置
|
|
22
|
+
|
|
23
|
+
```yaml
|
|
24
|
+
# docker-compose.yml
|
|
25
|
+
services:
|
|
26
|
+
agent:
|
|
27
|
+
build: .
|
|
28
|
+
ports:
|
|
29
|
+
- "3000:3000"
|
|
30
|
+
env_file: .env
|
|
31
|
+
restart: unless-stopped
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## 部署到 OpenClaw
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# 部署
|
|
38
|
+
opc deploy --target openclaw
|
|
39
|
+
|
|
40
|
+
# 部署并注册到配置
|
|
41
|
+
opc deploy --target openclaw --install
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## 部署到 Hermes 云
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# 直接部署
|
|
48
|
+
opc deploy --target hermes
|
|
49
|
+
|
|
50
|
+
# 生成部署文件到指定目录
|
|
51
|
+
opc deploy --target hermes --output ./my-deploy
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## 环境变量
|
|
55
|
+
|
|
56
|
+
在 `.env` 文件中配置:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# 大语言模型配置
|
|
60
|
+
OPC_LLM_API_KEY=sk-xxx
|
|
61
|
+
OPC_LLM_BASE_URL=https://api.deepseek.com/v1
|
|
62
|
+
OPC_LLM_MODEL=deepseek-chat
|
|
63
|
+
|
|
64
|
+
# Telegram 机器人(可选)
|
|
65
|
+
TELEGRAM_BOT_TOKEN=xxx
|
|
66
|
+
|
|
67
|
+
# 微信公众号(可选)
|
|
68
|
+
WECHAT_APP_ID=xxx
|
|
69
|
+
WECHAT_APP_SECRET=xxx
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## 上线检查清单
|
|
73
|
+
|
|
74
|
+
- [ ] 在 `.env` 中配置正确的 API Key
|
|
75
|
+
- [ ] 在 `oad.yaml` 中配置限流策略
|
|
76
|
+
- [ ] 开启缓存以降低 API 成本
|
|
77
|
+
- [ ] 配置监控和告警
|
|
78
|
+
- [ ] 运行 `opc test` 确保测试通过
|
|
79
|
+
- [ ] 检查 DTV 信任等级设置
|
|
80
|
+
- [ ] 配置 CORS 和安全头
|
|
81
|
+
- [ ] 准备回滚方案
|
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
# 快速开始
|
|
2
|
-
|
|
3
|
-
## 安装
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
npm install -g opc-agent
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
## 创建第一个智能体
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
# 交互式创建(会让你选模板和配置)
|
|
13
|
-
opc init my-agent
|
|
14
|
-
cd my-agent
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
或者直接用模板:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
opc init my-bot --template customer-service
|
|
21
|
-
opc init my-bot --template sales-assistant
|
|
22
|
-
opc init my-bot --template knowledge-base
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## 配置
|
|
26
|
-
|
|
27
|
-
编辑 `.env` 文件,填入你的大语言模型 API Key:
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
OPC_LLM_API_KEY=your-api-key
|
|
31
|
-
OPC_LLM_BASE_URL=https://api.deepseek.com/v1 # DeepSeek
|
|
32
|
-
OPC_LLM_MODEL=deepseek-chat
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
支持的供应商和对应的 Base URL:
|
|
36
|
-
|
|
37
|
-
| 供应商 | Base URL | 推荐模型 |
|
|
38
|
-
|--------|----------|---------|
|
|
39
|
-
| DeepSeek | `https://api.deepseek.com/v1` | `deepseek-chat` |
|
|
40
|
-
| 通义千问 | `https://dashscope.aliyuncs.com/compatible-mode/v1` | `qwen-plus` |
|
|
41
|
-
| OpenAI | `https://api.openai.com/v1` | `gpt-4o-mini` |
|
|
42
|
-
| Ollama (本地) | `http://localhost:11434/v1` | `llama3` |
|
|
43
|
-
|
|
44
|
-
## 启动
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
# 启动 Web 对话服务
|
|
48
|
-
opc run
|
|
49
|
-
|
|
50
|
-
# 或者用命令行对话
|
|
51
|
-
opc chat
|
|
52
|
-
|
|
53
|
-
# 开发模式(改代码自动重启)
|
|
54
|
-
opc dev
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
访问 `http://localhost:3000` 即可看到对话界面。
|
|
58
|
-
|
|
59
|
-
## 校验配置
|
|
60
|
-
|
|
61
|
-
```bash
|
|
62
|
-
opc build
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## 运行测试
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
opc test
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## 查看数据分析
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
opc analytics
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
## 下一步
|
|
78
|
-
|
|
79
|
-
- [核心概念](/zh/guide/concepts) — 理解 OAD、技能、渠道等概念
|
|
80
|
-
- [模板列表](/zh/guide/templates) — 查看全部 12 个场景模板
|
|
81
|
-
- [配置详解](/zh/guide/configuration) — OAD 文件的完整配置项
|
|
82
|
-
- [部署指南](/zh/guide/deployment) — Docker、OpenClaw、Hermes 部署
|
|
1
|
+
# 快速开始
|
|
2
|
+
|
|
3
|
+
## 安装
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm install -g opc-agent
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## 创建第一个智能体
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# 交互式创建(会让你选模板和配置)
|
|
13
|
+
opc init my-agent
|
|
14
|
+
cd my-agent
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
或者直接用模板:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
opc init my-bot --template customer-service
|
|
21
|
+
opc init my-bot --template sales-assistant
|
|
22
|
+
opc init my-bot --template knowledge-base
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## 配置
|
|
26
|
+
|
|
27
|
+
编辑 `.env` 文件,填入你的大语言模型 API Key:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
OPC_LLM_API_KEY=your-api-key
|
|
31
|
+
OPC_LLM_BASE_URL=https://api.deepseek.com/v1 # DeepSeek
|
|
32
|
+
OPC_LLM_MODEL=deepseek-chat
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
支持的供应商和对应的 Base URL:
|
|
36
|
+
|
|
37
|
+
| 供应商 | Base URL | 推荐模型 |
|
|
38
|
+
|--------|----------|---------|
|
|
39
|
+
| DeepSeek | `https://api.deepseek.com/v1` | `deepseek-chat` |
|
|
40
|
+
| 通义千问 | `https://dashscope.aliyuncs.com/compatible-mode/v1` | `qwen-plus` |
|
|
41
|
+
| OpenAI | `https://api.openai.com/v1` | `gpt-4o-mini` |
|
|
42
|
+
| Ollama (本地) | `http://localhost:11434/v1` | `llama3` |
|
|
43
|
+
|
|
44
|
+
## 启动
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# 启动 Web 对话服务
|
|
48
|
+
opc run
|
|
49
|
+
|
|
50
|
+
# 或者用命令行对话
|
|
51
|
+
opc chat
|
|
52
|
+
|
|
53
|
+
# 开发模式(改代码自动重启)
|
|
54
|
+
opc dev
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
访问 `http://localhost:3000` 即可看到对话界面。
|
|
58
|
+
|
|
59
|
+
## 校验配置
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
opc build
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## 运行测试
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
opc test
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## 查看数据分析
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
opc analytics
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## 下一步
|
|
78
|
+
|
|
79
|
+
- [核心概念](/zh/guide/concepts) — 理解 OAD、技能、渠道等概念
|
|
80
|
+
- [模板列表](/zh/guide/templates) — 查看全部 12 个场景模板
|
|
81
|
+
- [配置详解](/zh/guide/configuration) — OAD 文件的完整配置项
|
|
82
|
+
- [部署指南](/zh/guide/deployment) — Docker、OpenClaw、Hermes 部署
|