opc-agent 1.3.2 → 1.4.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.
Files changed (186) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +20 -0
  2. package/.github/ISSUE_TEMPLATE/feature_request.md +14 -0
  3. package/.github/PULL_REQUEST_TEMPLATE.md +13 -0
  4. package/.github/workflows/ci.yml +24 -0
  5. package/CHANGELOG.md +23 -63
  6. package/CONTRIBUTING.md +21 -60
  7. package/README.md +235 -358
  8. package/README.zh-CN.md +415 -415
  9. package/dist/channels/slack.js +93 -10
  10. package/dist/channels/web.d.ts +10 -0
  11. package/dist/channels/web.js +33 -2
  12. package/dist/cli.js +255 -60
  13. package/dist/core/runtime.d.ts +4 -0
  14. package/dist/core/runtime.js +27 -0
  15. package/dist/deploy/hermes.js +22 -22
  16. package/dist/deploy/openclaw.js +31 -40
  17. package/dist/index.d.ts +3 -10
  18. package/dist/index.js +6 -15
  19. package/dist/providers/index.d.ts +1 -1
  20. package/dist/providers/index.js +7 -1
  21. package/dist/schema/oad.d.ts +1 -2
  22. package/dist/templates/code-reviewer.d.ts +0 -8
  23. package/dist/templates/code-reviewer.js +5 -9
  24. package/dist/templates/customer-service.d.ts +0 -8
  25. package/dist/templates/customer-service.js +2 -6
  26. package/dist/templates/data-analyst.d.ts +0 -8
  27. package/dist/templates/data-analyst.js +5 -9
  28. package/dist/templates/knowledge-base.d.ts +0 -8
  29. package/dist/templates/knowledge-base.js +2 -6
  30. package/dist/templates/sales-assistant.d.ts +0 -8
  31. package/dist/templates/sales-assistant.js +4 -8
  32. package/dist/templates/teacher.d.ts +0 -8
  33. package/dist/templates/teacher.js +6 -10
  34. package/dist/traces/index.d.ts +49 -0
  35. package/dist/traces/index.js +102 -0
  36. package/docs/.vitepress/config.ts +103 -103
  37. package/docs/api/cli.md +48 -48
  38. package/docs/api/oad-schema.md +64 -64
  39. package/docs/api/sdk.md +80 -80
  40. package/docs/guide/concepts.md +51 -51
  41. package/docs/guide/configuration.md +79 -79
  42. package/docs/guide/deployment.md +42 -42
  43. package/docs/guide/getting-started.md +44 -44
  44. package/docs/guide/templates.md +28 -28
  45. package/docs/guide/testing.md +84 -84
  46. package/docs/index.md +27 -27
  47. package/docs/zh/api/cli.md +54 -54
  48. package/docs/zh/api/oad-schema.md +87 -87
  49. package/docs/zh/api/sdk.md +102 -102
  50. package/docs/zh/guide/concepts.md +104 -104
  51. package/docs/zh/guide/configuration.md +135 -135
  52. package/docs/zh/guide/deployment.md +81 -81
  53. package/docs/zh/guide/getting-started.md +82 -82
  54. package/docs/zh/guide/templates.md +84 -84
  55. package/docs/zh/guide/testing.md +88 -88
  56. package/docs/zh/index.md +27 -27
  57. package/examples/README.md +22 -0
  58. package/examples/basic-agent.ts +90 -0
  59. package/examples/brain-integration.ts +71 -0
  60. package/examples/customer-service-demo/README.md +90 -90
  61. package/examples/customer-service-demo/oad.yaml +107 -107
  62. package/examples/multi-channel.ts +74 -0
  63. package/package.json +1 -1
  64. package/src/analytics/index.ts +66 -66
  65. package/src/channels/discord.ts +192 -192
  66. package/src/channels/email.ts +177 -177
  67. package/src/channels/feishu.ts +236 -236
  68. package/src/channels/index.ts +15 -15
  69. package/src/channels/slack.ts +217 -160
  70. package/src/channels/telegram.ts +90 -90
  71. package/src/channels/voice.ts +106 -106
  72. package/src/channels/web.ts +38 -2
  73. package/src/channels/webhook.ts +199 -199
  74. package/src/channels/websocket.ts +87 -87
  75. package/src/channels/wechat.ts +149 -149
  76. package/src/cli.ts +282 -58
  77. package/src/core/a2a.ts +143 -143
  78. package/src/core/agent.ts +152 -152
  79. package/src/core/analytics-engine.ts +186 -186
  80. package/src/core/auth.ts +57 -57
  81. package/src/core/cache.ts +141 -141
  82. package/src/core/compose.ts +77 -77
  83. package/src/core/config.ts +14 -14
  84. package/src/core/errors.ts +148 -148
  85. package/src/core/hitl.ts +138 -138
  86. package/src/core/logger.ts +57 -57
  87. package/src/core/orchestrator.ts +215 -215
  88. package/src/core/performance.ts +187 -187
  89. package/src/core/rate-limiter.ts +128 -128
  90. package/src/core/room.ts +109 -109
  91. package/src/core/runtime.ts +183 -152
  92. package/src/core/sandbox.ts +101 -101
  93. package/src/core/security.ts +171 -171
  94. package/src/core/types.ts +68 -68
  95. package/src/core/versioning.ts +106 -106
  96. package/src/core/watch.ts +178 -178
  97. package/src/core/workflow.ts +235 -235
  98. package/src/deploy/hermes.ts +156 -156
  99. package/src/deploy/openclaw.ts +190 -200
  100. package/src/i18n/index.ts +216 -216
  101. package/src/index.ts +3 -10
  102. package/src/memory/deepbrain.ts +108 -108
  103. package/src/memory/index.ts +34 -34
  104. package/src/plugins/index.ts +208 -208
  105. package/src/providers/index.ts +9 -1
  106. package/src/schema/oad.ts +154 -155
  107. package/src/skills/base.ts +16 -16
  108. package/src/skills/document.ts +100 -100
  109. package/src/skills/http.ts +35 -35
  110. package/src/skills/index.ts +27 -27
  111. package/src/skills/scheduler.ts +80 -80
  112. package/src/skills/webhook-trigger.ts +59 -59
  113. package/src/templates/code-reviewer.ts +30 -34
  114. package/src/templates/customer-service.ts +76 -80
  115. package/src/templates/data-analyst.ts +66 -70
  116. package/src/templates/executive-assistant.ts +71 -71
  117. package/src/templates/financial-advisor.ts +60 -60
  118. package/src/templates/knowledge-base.ts +27 -31
  119. package/src/templates/legal-assistant.ts +71 -71
  120. package/src/templates/sales-assistant.ts +75 -79
  121. package/src/templates/teacher.ts +75 -79
  122. package/src/testing/index.ts +181 -181
  123. package/src/tools/calculator.ts +73 -73
  124. package/src/tools/datetime.ts +149 -149
  125. package/src/tools/json-transform.ts +187 -187
  126. package/src/tools/mcp.ts +76 -76
  127. package/src/tools/text-analysis.ts +116 -116
  128. package/src/traces/index.ts +132 -0
  129. package/templates/Dockerfile +15 -15
  130. package/templates/code-reviewer/README.md +27 -27
  131. package/templates/code-reviewer/oad.yaml +41 -41
  132. package/templates/customer-service/README.md +22 -22
  133. package/templates/customer-service/oad.yaml +36 -36
  134. package/templates/docker-compose.yml +21 -21
  135. package/templates/ecommerce-assistant/README.md +45 -45
  136. package/templates/ecommerce-assistant/oad.yaml +47 -47
  137. package/templates/knowledge-base/README.md +28 -28
  138. package/templates/knowledge-base/oad.yaml +38 -38
  139. package/templates/sales-assistant/README.md +26 -26
  140. package/templates/sales-assistant/oad.yaml +43 -43
  141. package/templates/tech-support/README.md +43 -43
  142. package/templates/tech-support/oad.yaml +45 -45
  143. package/test-agent/Dockerfile +9 -0
  144. package/test-agent/README.md +50 -0
  145. package/test-agent/agent.yaml +23 -0
  146. package/test-agent/docker-compose.yml +11 -0
  147. package/test-agent/oad.yaml +31 -0
  148. package/test-agent/package-lock.json +1492 -0
  149. package/test-agent/package.json +18 -0
  150. package/test-agent/src/index.ts +24 -0
  151. package/test-agent/src/skills/echo.ts +15 -0
  152. package/test-agent/tsconfig.json +25 -0
  153. package/tests/a2a.test.ts +66 -66
  154. package/tests/agent.test.ts +72 -72
  155. package/tests/analytics.test.ts +50 -50
  156. package/tests/channel.test.ts +39 -39
  157. package/tests/e2e.test.ts +134 -134
  158. package/tests/errors.test.ts +83 -83
  159. package/tests/hitl.test.ts +71 -71
  160. package/tests/i18n.test.ts +41 -41
  161. package/tests/mcp.test.ts +54 -54
  162. package/tests/oad.test.ts +68 -68
  163. package/tests/performance.test.ts +115 -115
  164. package/tests/plugin.test.ts +74 -74
  165. package/tests/room.test.ts +106 -106
  166. package/tests/runtime.test.ts +42 -42
  167. package/tests/sandbox.test.ts +46 -46
  168. package/tests/security.test.ts +60 -60
  169. package/tests/templates.test.ts +77 -77
  170. package/tests/v070.test.ts +76 -76
  171. package/tests/versioning.test.ts +75 -75
  172. package/tests/voice.test.ts +61 -61
  173. package/tests/webhook.test.ts +29 -29
  174. package/tests/workflow.test.ts +143 -143
  175. package/tsconfig.json +19 -19
  176. package/vitest.config.ts +9 -9
  177. package/dist/core/dashboard.d.ts +0 -35
  178. package/dist/core/dashboard.js +0 -157
  179. package/dist/core/priority.d.ts +0 -52
  180. package/dist/core/priority.js +0 -102
  181. package/src/core/dashboard.ts +0 -219
  182. package/src/core/priority.ts +0 -140
  183. package/src/dtv/data.ts +0 -29
  184. package/src/dtv/trust.ts +0 -43
  185. package/src/dtv/value.ts +0 -47
  186. 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,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
@@ -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