opc-agent 4.1.0 → 4.1.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/.github/ISSUE_TEMPLATE/bug_report.md +20 -20
- package/.github/ISSUE_TEMPLATE/feature_request.md +14 -14
- package/.github/PULL_REQUEST_TEMPLATE.md +13 -13
- package/CHANGELOG.md +48 -48
- package/CONTRIBUTING.md +36 -36
- package/README.zh-CN.md +497 -497
- package/USABILITY-ISSUES.md +73 -0
- package/dist/channels/web.js +8 -2
- package/dist/channels/wechat.js +6 -6
- package/dist/cli.js +200 -85
- package/dist/core/runtime.js +37 -15
- package/dist/deploy/index.js +56 -56
- package/dist/doctor.d.ts +1 -0
- package/dist/doctor.js +105 -10
- package/dist/memory/deepbrain.d.ts +1 -1
- package/dist/memory/deepbrain.js +95 -4
- package/dist/scheduler/cron-engine.js +3 -36
- package/dist/studio/server.js +30 -1
- package/dist/studio-ui/index.html +230 -10
- 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/fix-sidebar.mjs +188 -188
- package/install.ps1 +154 -154
- package/install.sh +164 -164
- package/package.json +1 -1
- package/scripts/install.ps1 +31 -31
- package/scripts/install.sh +40 -40
- package/serve-studio.js +13 -13
- package/serve-test.js +25 -25
- package/src/channels/dingtalk.ts +46 -46
- package/src/channels/email.ts +351 -351
- package/src/channels/feishu.ts +349 -349
- package/src/channels/googlechat.ts +42 -42
- package/src/channels/imessage.ts +31 -31
- package/src/channels/irc.ts +82 -82
- package/src/channels/line.ts +32 -32
- package/src/channels/matrix.ts +33 -33
- package/src/channels/mattermost.ts +57 -57
- package/src/channels/msteams.ts +32 -32
- package/src/channels/nostr.ts +32 -32
- package/src/channels/qq.ts +33 -33
- package/src/channels/signal.ts +32 -32
- package/src/channels/sms.ts +33 -33
- package/src/channels/telegram.ts +616 -616
- package/src/channels/twitch.ts +65 -65
- package/src/channels/voice-call.ts +100 -100
- package/src/channels/web.ts +8 -2
- package/src/channels/websocket.ts +399 -399
- package/src/channels/wechat.ts +329 -329
- package/src/channels/whatsapp.ts +32 -32
- package/src/cli/chat.ts +99 -99
- package/src/cli/setup.ts +314 -314
- package/src/cli.ts +195 -92
- package/src/core/agent.ts +476 -476
- package/src/core/api-server.ts +277 -277
- package/src/core/audio.ts +98 -98
- package/src/core/collaboration.ts +275 -275
- package/src/core/context-discovery.ts +85 -85
- package/src/core/context-refs.ts +140 -140
- package/src/core/gateway.ts +106 -106
- package/src/core/heartbeat.ts +51 -51
- package/src/core/hooks.ts +105 -105
- package/src/core/ide-bridge.ts +133 -133
- package/src/core/node-network.ts +86 -86
- package/src/core/profiles.ts +122 -122
- package/src/core/runtime.ts +25 -0
- package/src/core/scheduler.ts +187 -187
- package/src/core/session-manager.ts +137 -137
- package/src/core/subagent.ts +98 -98
- package/src/core/vision.ts +180 -180
- package/src/core/workflow-graph.ts +365 -365
- package/src/daemon.ts +96 -96
- package/src/deploy/index.ts +255 -255
- package/src/doctor.ts +98 -11
- package/src/eval/index.ts +211 -211
- package/src/eval/suites/basic.json +16 -16
- package/src/eval/suites/memory.json +12 -12
- package/src/eval/suites/safety.json +14 -14
- package/src/hub/brain-seed.ts +54 -54
- package/src/hub/client.ts +60 -60
- package/src/mcp/servers/calculator-mcp.ts +65 -65
- package/src/mcp/servers/crypto-mcp.ts +73 -73
- package/src/mcp/servers/database-mcp.ts +72 -72
- package/src/mcp/servers/datetime-mcp.ts +69 -69
- package/src/mcp/servers/filesystem.ts +66 -66
- package/src/mcp/servers/github-mcp.ts +58 -58
- package/src/mcp/servers/index.ts +63 -63
- package/src/mcp/servers/json-mcp.ts +102 -102
- package/src/mcp/servers/memory-mcp.ts +56 -56
- package/src/mcp/servers/regex-mcp.ts +53 -53
- package/src/mcp/servers/web-mcp.ts +49 -49
- package/src/memory/context-compressor.ts +189 -189
- package/src/memory/deepbrain.ts +99 -5
- package/src/memory/seed-loader.ts +212 -212
- package/src/memory/user-profiler.ts +215 -215
- package/src/plugins/content-filter.ts +23 -23
- package/src/plugins/logger.ts +18 -18
- package/src/plugins/rate-limiter.ts +38 -38
- package/src/protocols/a2a/client.ts +132 -132
- package/src/protocols/a2a/index.ts +8 -8
- package/src/protocols/a2a/server.ts +333 -333
- package/src/protocols/a2a/types.ts +88 -88
- package/src/protocols/a2a/utils.ts +50 -50
- package/src/protocols/agui/client.ts +83 -83
- package/src/protocols/agui/index.ts +4 -4
- package/src/protocols/agui/server.ts +218 -218
- package/src/protocols/agui/types.ts +153 -153
- package/src/protocols/index.ts +2 -2
- package/src/protocols/mcp/agent-tools.ts +134 -134
- package/src/protocols/mcp/index.ts +8 -8
- package/src/protocols/mcp/server.ts +262 -262
- package/src/protocols/mcp/types.ts +69 -69
- package/src/providers/index.ts +632 -632
- package/src/publish/index.ts +376 -376
- package/src/scheduler/cron-engine.ts +191 -191
- package/src/scheduler/index.ts +2 -2
- package/src/schema/oad.ts +217 -217
- package/src/security/approval.ts +131 -131
- package/src/security/approvals.ts +143 -143
- package/src/security/elevated.ts +105 -105
- package/src/security/guardrails.ts +248 -248
- package/src/security/index.ts +9 -9
- package/src/security/keys.ts +87 -87
- package/src/security/secrets.ts +129 -129
- package/src/skills/builtin/index.ts +408 -408
- package/src/skills/marketplace.ts +113 -113
- package/src/skills/types.ts +42 -42
- package/src/studio/server.ts +31 -1
- package/src/studio/templates-data.ts +178 -178
- package/src/studio-ui/index.html +230 -10
- package/src/telemetry/index.ts +324 -324
- package/src/tools/builtin/browser.ts +299 -299
- package/src/tools/builtin/datetime.ts +41 -41
- package/src/tools/builtin/file.ts +107 -107
- package/src/tools/builtin/home-assistant.ts +116 -116
- package/src/tools/builtin/rl-tools.ts +243 -243
- package/src/tools/builtin/shell.ts +43 -43
- package/src/tools/builtin/vision.ts +64 -64
- package/src/tools/builtin/web-search.ts +126 -126
- package/src/tools/builtin/web.ts +35 -35
- package/src/tools/document-processor.ts +213 -213
- package/src/tools/image-generator.ts +150 -150
- package/src/tools/integrations/calendar.ts +73 -73
- package/src/tools/integrations/code-exec.ts +39 -39
- package/src/tools/integrations/csv-analyzer.ts +92 -92
- package/src/tools/integrations/database.ts +44 -44
- package/src/tools/integrations/email-send.ts +76 -76
- package/src/tools/integrations/git-tool.ts +42 -42
- package/src/tools/integrations/github-tool.ts +76 -76
- package/src/tools/integrations/image-gen.ts +56 -56
- package/src/tools/integrations/index.ts +92 -92
- package/src/tools/integrations/jira.ts +83 -83
- package/src/tools/integrations/notion.ts +71 -71
- package/src/tools/integrations/npm-tool.ts +48 -48
- package/src/tools/integrations/pdf-reader.ts +58 -58
- package/src/tools/integrations/slack.ts +65 -65
- package/src/tools/integrations/summarizer.ts +49 -49
- package/src/tools/integrations/translator.ts +48 -48
- package/src/tools/integrations/trello.ts +60 -60
- package/src/tools/integrations/vector-search.ts +42 -42
- package/src/tools/integrations/web-scraper.ts +47 -47
- package/src/tools/integrations/web-search.ts +58 -58
- package/src/tools/integrations/webhook.ts +38 -38
- package/src/tools/mcp-client.ts +131 -131
- package/src/tools/web-scraper.ts +179 -179
- package/src/tools/web-search.ts +180 -180
- package/src/ui/components.ts +127 -127
- package/srv-out.txt +1 -1
- 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/test-agent/Dockerfile +9 -9
- package/test-agent/README.md +50 -50
- package/test-agent/agent.yaml +23 -23
- package/test-agent/docker-compose.yml +11 -11
- package/test-agent/oad.yaml +31 -31
- package/test-agent/package-lock.json +1492 -1492
- package/test-agent/package.json +17 -17
- package/test-agent/src/index.ts +24 -24
- package/test-agent/src/skills/echo.ts +15 -15
- package/test-agent/tsconfig.json +24 -24
- package/test-full.js +43 -43
- package/test-sidebar.js +22 -22
- package/test-studio3.js +75 -75
- package/test-studio4.js +41 -41
- package/tests/a2a-protocol.test.ts +285 -285
- package/tests/agui-protocol.test.ts +246 -246
- package/tests/api-server.test.ts +148 -148
- package/tests/approvals.test.ts +89 -89
- package/tests/audio.test.ts +40 -40
- package/tests/brain-seed-extended.test.ts +490 -490
- package/tests/brain-seed.test.ts +239 -239
- package/tests/browser.test.ts +179 -179
- package/tests/channels/discord.test.ts +79 -79
- package/tests/channels/email.test.ts +148 -148
- package/tests/channels/feishu.test.ts +123 -123
- package/tests/channels/telegram.test.ts +129 -129
- package/tests/channels/websocket.test.ts +53 -53
- package/tests/channels/wechat.test.ts +170 -170
- package/tests/channels-extra.test.ts +45 -45
- package/tests/chat-cli.test.ts +160 -160
- package/tests/cli.test.ts +46 -46
- package/tests/context-compressor.test.ts +172 -172
- package/tests/context-refs.test.ts +121 -121
- package/tests/cron-engine.test.ts +101 -101
- package/tests/daemon.test.ts +135 -135
- package/tests/deepbrain-wire.test.ts +234 -234
- package/tests/deploy-and-dag.test.ts +196 -196
- package/tests/doctor.test.ts +38 -38
- package/tests/document-processor.test.ts +69 -69
- package/tests/e2e-nocode.test.ts +442 -442
- package/tests/elevated.test.ts +69 -69
- package/tests/eval.test.ts +173 -173
- package/tests/gateway.test.ts +63 -63
- package/tests/guardrails.test.ts +177 -177
- package/tests/home-assistant.test.ts +40 -40
- package/tests/hooks.test.ts +79 -79
- package/tests/ide-bridge.test.ts +38 -38
- package/tests/image-generator.test.ts +84 -84
- package/tests/init-role.test.ts +124 -124
- package/tests/integrations.test.ts +249 -249
- package/tests/mcp-client.test.ts +92 -92
- package/tests/mcp-server.test.ts +178 -178
- package/tests/mcp-servers.test.ts +260 -260
- package/tests/node-network.test.ts +74 -74
- package/tests/plugin-a2a-enhanced.test.ts +230 -230
- package/tests/profiles.test.ts +61 -61
- package/tests/publish.test.ts +231 -231
- package/tests/rl-tools.test.ts +93 -93
- package/tests/sandbox-manager.test.ts +46 -46
- package/tests/scheduler.test.ts +200 -200
- package/tests/secrets.test.ts +107 -107
- package/tests/security-enhanced.test.ts +233 -233
- package/tests/settings-api.test.ts +148 -148
- package/tests/setup.test.ts +73 -73
- package/tests/subagent.test.ts +193 -193
- package/tests/telegram-discord.test.ts +60 -60
- package/tests/telemetry.test.ts +186 -186
- package/tests/user-profiler.test.ts +169 -169
- package/tests/v090-features.test.ts +254 -254
- package/tests/vision.test.ts +61 -61
- package/tests/voice-call.test.ts +47 -47
- package/tests/voice-enhanced.test.ts +169 -169
- package/tests/voice-interaction.test.ts +38 -38
- package/tests/web-search.test.ts +155 -155
- package/tests/workflow-graph.test.ts +279 -279
- package/tutorial/customer-service-agent/README.md +612 -612
- package/tutorial/customer-service-agent/SOUL.md +26 -26
- package/tutorial/customer-service-agent/agent.yaml +63 -63
- package/tutorial/customer-service-agent/package.json +19 -19
- package/tutorial/customer-service-agent/src/index.ts +69 -69
- package/tutorial/customer-service-agent/src/skills/faq.ts +27 -27
- package/tutorial/customer-service-agent/src/skills/ticket.ts +22 -22
- package/tutorial/customer-service-agent/tsconfig.json +14 -14
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
# Ecommerce Assistant — 电商助手工位
|
|
2
|
-
|
|
3
|
-
专为电商平台设计的 AI 导购与售后工位,覆盖商品推荐、订单查询、退换货处理全链路。
|
|
4
|
-
|
|
5
|
-
## 快速开始
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
opc init --template ecommerce-assistant
|
|
9
|
-
opc start
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
访问 http://localhost:3000 即可使用电商助手聊天界面。
|
|
13
|
-
|
|
14
|
-
## 功能
|
|
15
|
-
|
|
16
|
-
| 技能 | 说明 |
|
|
17
|
-
|------|------|
|
|
18
|
-
| product-search | 关键词/类目/价格区间商品搜索 |
|
|
19
|
-
| order-query | 订单状态与物流实时查询 |
|
|
20
|
-
| after-sale | 退换货受理与投诉处理 |
|
|
21
|
-
| promotion | 个性化优惠券与促销推送 |
|
|
22
|
-
| recommendation | 基于偏好的个性化商品推荐 |
|
|
23
|
-
|
|
24
|
-
## 配置
|
|
25
|
-
|
|
26
|
-
在 `oad.yaml` 中修改以下参数:
|
|
27
|
-
|
|
28
|
-
- `spec.provider.default` — 切换 LLM 提供商(deepseek / openai / qwen)
|
|
29
|
-
- `spec.model` — 指定模型版本
|
|
30
|
-
- `spec.systemPrompt` — 定制品牌话术、商品范围和售后规则
|
|
31
|
-
|
|
32
|
-
### 环境变量
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
OPC_LLM_API_KEY=your_key
|
|
36
|
-
OPC_LLM_MODEL=deepseek-chat # 可选,覆盖 oad.yaml 中的 model
|
|
37
|
-
OPC_DEEPBRAIN_ENABLED=true # 启用 DeepBrain 知识库增强(需全局安装 deepbrain)
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## 推荐搭配
|
|
41
|
-
|
|
42
|
-
- 将商品目录、售后政策、FAQ 上传至知识库(`/api/kb/upload`)
|
|
43
|
-
- 开启 `OPC_DEEPBRAIN_ENABLED=true` 提升商品语义匹配精度
|
|
44
|
-
- 通过 Dashboard(`/dashboard`)监控转化率、客满率和退单率
|
|
45
|
-
- 结合 CRM 系统 Webhook 实现订单状态实时同步
|
|
1
|
+
# Ecommerce Assistant — 电商助手工位
|
|
2
|
+
|
|
3
|
+
专为电商平台设计的 AI 导购与售后工位,覆盖商品推荐、订单查询、退换货处理全链路。
|
|
4
|
+
|
|
5
|
+
## 快速开始
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
opc init --template ecommerce-assistant
|
|
9
|
+
opc start
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
访问 http://localhost:3000 即可使用电商助手聊天界面。
|
|
13
|
+
|
|
14
|
+
## 功能
|
|
15
|
+
|
|
16
|
+
| 技能 | 说明 |
|
|
17
|
+
|------|------|
|
|
18
|
+
| product-search | 关键词/类目/价格区间商品搜索 |
|
|
19
|
+
| order-query | 订单状态与物流实时查询 |
|
|
20
|
+
| after-sale | 退换货受理与投诉处理 |
|
|
21
|
+
| promotion | 个性化优惠券与促销推送 |
|
|
22
|
+
| recommendation | 基于偏好的个性化商品推荐 |
|
|
23
|
+
|
|
24
|
+
## 配置
|
|
25
|
+
|
|
26
|
+
在 `oad.yaml` 中修改以下参数:
|
|
27
|
+
|
|
28
|
+
- `spec.provider.default` — 切换 LLM 提供商(deepseek / openai / qwen)
|
|
29
|
+
- `spec.model` — 指定模型版本
|
|
30
|
+
- `spec.systemPrompt` — 定制品牌话术、商品范围和售后规则
|
|
31
|
+
|
|
32
|
+
### 环境变量
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
OPC_LLM_API_KEY=your_key
|
|
36
|
+
OPC_LLM_MODEL=deepseek-chat # 可选,覆盖 oad.yaml 中的 model
|
|
37
|
+
OPC_DEEPBRAIN_ENABLED=true # 启用 DeepBrain 知识库增强(需全局安装 deepbrain)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## 推荐搭配
|
|
41
|
+
|
|
42
|
+
- 将商品目录、售后政策、FAQ 上传至知识库(`/api/kb/upload`)
|
|
43
|
+
- 开启 `OPC_DEEPBRAIN_ENABLED=true` 提升商品语义匹配精度
|
|
44
|
+
- 通过 Dashboard(`/dashboard`)监控转化率、客满率和退单率
|
|
45
|
+
- 结合 CRM 系统 Webhook 实现订单状态实时同步
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
apiVersion: opc/v1
|
|
2
|
-
kind: Agent
|
|
3
|
-
metadata:
|
|
4
|
-
name: ecommerce-assistant
|
|
5
|
-
version: 1.0.0
|
|
6
|
-
description: "电商助手工位 - 商品推荐、订单查询、售后服务一体化"
|
|
7
|
-
author: Deepleaper
|
|
8
|
-
license: Apache-2.0
|
|
9
|
-
marketplace:
|
|
10
|
-
certified: false
|
|
11
|
-
category: ecommerce
|
|
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: product-search
|
|
25
|
-
description: "搜索商品信息,支持关键词、类目、价格区间筛选"
|
|
26
|
-
- name: order-query
|
|
27
|
-
description: "查询订单状态、物流轨迹和预计送达时间"
|
|
28
|
-
- name: after-sale
|
|
29
|
-
description: "处理退换货申请、投诉受理和赔偿协商"
|
|
30
|
-
- name: promotion
|
|
31
|
-
description: "推送个性化优惠券、限时活动和会员权益"
|
|
32
|
-
- name: recommendation
|
|
33
|
-
description: "基于用户偏好和购买历史做商品推荐"
|
|
34
|
-
channels:
|
|
35
|
-
- type: web
|
|
36
|
-
port: 3000
|
|
37
|
-
memory:
|
|
38
|
-
shortTerm: true
|
|
39
|
-
longTerm: true
|
|
40
|
-
knowledge:
|
|
41
|
-
enabled: true
|
|
42
|
-
deepbrain: auto
|
|
43
|
-
dtv:
|
|
44
|
-
trust:
|
|
45
|
-
level: sandbox
|
|
46
|
-
value:
|
|
47
|
-
metrics: [conversion_rate, customer_satisfaction, avg_order_value, refund_rate]
|
|
1
|
+
apiVersion: opc/v1
|
|
2
|
+
kind: Agent
|
|
3
|
+
metadata:
|
|
4
|
+
name: ecommerce-assistant
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
description: "电商助手工位 - 商品推荐、订单查询、售后服务一体化"
|
|
7
|
+
author: Deepleaper
|
|
8
|
+
license: Apache-2.0
|
|
9
|
+
marketplace:
|
|
10
|
+
certified: false
|
|
11
|
+
category: ecommerce
|
|
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: product-search
|
|
25
|
+
description: "搜索商品信息,支持关键词、类目、价格区间筛选"
|
|
26
|
+
- name: order-query
|
|
27
|
+
description: "查询订单状态、物流轨迹和预计送达时间"
|
|
28
|
+
- name: after-sale
|
|
29
|
+
description: "处理退换货申请、投诉受理和赔偿协商"
|
|
30
|
+
- name: promotion
|
|
31
|
+
description: "推送个性化优惠券、限时活动和会员权益"
|
|
32
|
+
- name: recommendation
|
|
33
|
+
description: "基于用户偏好和购买历史做商品推荐"
|
|
34
|
+
channels:
|
|
35
|
+
- type: web
|
|
36
|
+
port: 3000
|
|
37
|
+
memory:
|
|
38
|
+
shortTerm: true
|
|
39
|
+
longTerm: true
|
|
40
|
+
knowledge:
|
|
41
|
+
enabled: true
|
|
42
|
+
deepbrain: auto
|
|
43
|
+
dtv:
|
|
44
|
+
trust:
|
|
45
|
+
level: sandbox
|
|
46
|
+
value:
|
|
47
|
+
metrics: [conversion_rate, customer_satisfaction, avg_order_value, refund_rate]
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
# Tech Support Agent — 技术支持工位
|
|
2
|
-
|
|
3
|
-
专为 IT 支持团队设计的 AI 工位,覆盖软件故障、系统配置、网络问题等场景。
|
|
4
|
-
|
|
5
|
-
## 快速开始
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
opc init --template tech-support
|
|
9
|
-
opc start
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
访问 http://localhost:3000 即可使用技术支持聊天界面。
|
|
13
|
-
|
|
14
|
-
## 功能
|
|
15
|
-
|
|
16
|
-
| 技能 | 说明 |
|
|
17
|
-
|------|------|
|
|
18
|
-
| troubleshoot | 分步骤诊断和解决技术问题 |
|
|
19
|
-
| knowledge-lookup | 查询技术文档与历史解决方案 |
|
|
20
|
-
| ticket-create | 创建并跟踪技术支持工单 |
|
|
21
|
-
| escalate | 升级复杂问题至专项团队 |
|
|
22
|
-
|
|
23
|
-
## 配置
|
|
24
|
-
|
|
25
|
-
在 `oad.yaml` 中修改以下参数:
|
|
26
|
-
|
|
27
|
-
- `spec.provider.default` — 切换 LLM 提供商(deepseek / openai / qwen)
|
|
28
|
-
- `spec.model` — 指定模型版本
|
|
29
|
-
- `spec.systemPrompt` — 定制支持范围和话术风格
|
|
30
|
-
|
|
31
|
-
### 环境变量
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
OPC_LLM_API_KEY=your_key
|
|
35
|
-
OPC_LLM_MODEL=deepseek-chat # 可选,覆盖 oad.yaml 中的 model
|
|
36
|
-
OPC_DEEPBRAIN_ENABLED=true # 启用 DeepBrain 知识库增强(需全局安装 deepbrain)
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## 推荐搭配
|
|
40
|
-
|
|
41
|
-
- 将内部技术文档、SOP、FAQ 上传至知识库(`/api/kb/upload`)
|
|
42
|
-
- 开启 `OPC_DEEPBRAIN_ENABLED=true` 获得更精准的语义检索
|
|
43
|
-
- 通过 Dashboard(`/dashboard`)监控首次解决率和平均响应时间
|
|
1
|
+
# Tech Support Agent — 技术支持工位
|
|
2
|
+
|
|
3
|
+
专为 IT 支持团队设计的 AI 工位,覆盖软件故障、系统配置、网络问题等场景。
|
|
4
|
+
|
|
5
|
+
## 快速开始
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
opc init --template tech-support
|
|
9
|
+
opc start
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
访问 http://localhost:3000 即可使用技术支持聊天界面。
|
|
13
|
+
|
|
14
|
+
## 功能
|
|
15
|
+
|
|
16
|
+
| 技能 | 说明 |
|
|
17
|
+
|------|------|
|
|
18
|
+
| troubleshoot | 分步骤诊断和解决技术问题 |
|
|
19
|
+
| knowledge-lookup | 查询技术文档与历史解决方案 |
|
|
20
|
+
| ticket-create | 创建并跟踪技术支持工单 |
|
|
21
|
+
| escalate | 升级复杂问题至专项团队 |
|
|
22
|
+
|
|
23
|
+
## 配置
|
|
24
|
+
|
|
25
|
+
在 `oad.yaml` 中修改以下参数:
|
|
26
|
+
|
|
27
|
+
- `spec.provider.default` — 切换 LLM 提供商(deepseek / openai / qwen)
|
|
28
|
+
- `spec.model` — 指定模型版本
|
|
29
|
+
- `spec.systemPrompt` — 定制支持范围和话术风格
|
|
30
|
+
|
|
31
|
+
### 环境变量
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
OPC_LLM_API_KEY=your_key
|
|
35
|
+
OPC_LLM_MODEL=deepseek-chat # 可选,覆盖 oad.yaml 中的 model
|
|
36
|
+
OPC_DEEPBRAIN_ENABLED=true # 启用 DeepBrain 知识库增强(需全局安装 deepbrain)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## 推荐搭配
|
|
40
|
+
|
|
41
|
+
- 将内部技术文档、SOP、FAQ 上传至知识库(`/api/kb/upload`)
|
|
42
|
+
- 开启 `OPC_DEEPBRAIN_ENABLED=true` 获得更精准的语义检索
|
|
43
|
+
- 通过 Dashboard(`/dashboard`)监控首次解决率和平均响应时间
|
|
@@ -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]
|
package/test-agent/Dockerfile
CHANGED
|
@@ -1,9 +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"]
|
|
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"]
|
package/test-agent/README.md
CHANGED
|
@@ -1,50 +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.
|
|
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.
|
package/test-agent/agent.yaml
CHANGED
|
@@ -1,23 +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
|
|
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
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
version: '3.8'
|
|
2
|
-
services:
|
|
3
|
-
agent:
|
|
4
|
-
build: .
|
|
5
|
-
ports:
|
|
6
|
-
- "3000:3000"
|
|
7
|
-
env_file:
|
|
8
|
-
- .env
|
|
9
|
-
volumes:
|
|
10
|
-
- ./agent.yaml:/app/agent.yaml:ro
|
|
11
|
-
restart: unless-stopped
|
|
1
|
+
version: '3.8'
|
|
2
|
+
services:
|
|
3
|
+
agent:
|
|
4
|
+
build: .
|
|
5
|
+
ports:
|
|
6
|
+
- "3000:3000"
|
|
7
|
+
env_file:
|
|
8
|
+
- .env
|
|
9
|
+
volumes:
|
|
10
|
+
- ./agent.yaml:/app/agent.yaml:ro
|
|
11
|
+
restart: unless-stopped
|
package/test-agent/oad.yaml
CHANGED
|
@@ -1,31 +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
|
|
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
|