opc-agent 1.2.0 → 1.2.1

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 (155) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/CONTRIBUTING.md +75 -75
  3. package/README.md +429 -429
  4. package/README.zh-CN.md +415 -415
  5. package/dist/channels/web.js +256 -256
  6. package/dist/core/knowledge.d.ts +0 -5
  7. package/dist/core/knowledge.js +2 -39
  8. package/dist/core/streaming.d.ts +56 -0
  9. package/dist/core/streaming.js +160 -0
  10. package/dist/deploy/hermes.js +22 -22
  11. package/dist/deploy/openclaw.js +31 -31
  12. package/dist/index.d.ts +4 -0
  13. package/dist/index.js +7 -1
  14. package/dist/providers/index.d.ts +1 -1
  15. package/dist/providers/index.js +14 -158
  16. package/dist/schema/oad.d.ts +3 -3
  17. package/dist/templates/code-reviewer.js +5 -5
  18. package/dist/templates/customer-service.js +2 -2
  19. package/dist/templates/data-analyst.js +5 -5
  20. package/dist/templates/knowledge-base.js +2 -2
  21. package/dist/templates/sales-assistant.js +4 -4
  22. package/dist/templates/teacher.js +6 -6
  23. package/dist/tools/gateway.d.ts +28 -0
  24. package/dist/tools/gateway.js +177 -0
  25. package/docs/.vitepress/config.ts +103 -103
  26. package/docs/api/cli.md +48 -48
  27. package/docs/api/oad-schema.md +64 -64
  28. package/docs/api/sdk.md +80 -80
  29. package/docs/guide/concepts.md +51 -51
  30. package/docs/guide/configuration.md +79 -79
  31. package/docs/guide/deployment.md +42 -42
  32. package/docs/guide/getting-started.md +44 -44
  33. package/docs/guide/templates.md +28 -28
  34. package/docs/guide/testing.md +84 -84
  35. package/docs/index.md +27 -27
  36. package/docs/zh/api/cli.md +54 -54
  37. package/docs/zh/api/oad-schema.md +87 -87
  38. package/docs/zh/api/sdk.md +102 -102
  39. package/docs/zh/guide/concepts.md +104 -104
  40. package/docs/zh/guide/configuration.md +135 -135
  41. package/docs/zh/guide/deployment.md +81 -81
  42. package/docs/zh/guide/getting-started.md +82 -82
  43. package/docs/zh/guide/templates.md +84 -84
  44. package/docs/zh/guide/testing.md +88 -88
  45. package/docs/zh/index.md +27 -27
  46. package/examples/customer-service-demo/README.md +90 -90
  47. package/examples/customer-service-demo/oad.yaml +107 -107
  48. package/package.json +50 -50
  49. package/src/analytics/index.ts +66 -66
  50. package/src/channels/discord.ts +192 -192
  51. package/src/channels/email.ts +177 -177
  52. package/src/channels/feishu.ts +236 -236
  53. package/src/channels/index.ts +15 -15
  54. package/src/channels/slack.ts +160 -160
  55. package/src/channels/telegram.ts +90 -90
  56. package/src/channels/voice.ts +106 -106
  57. package/src/channels/webhook.ts +199 -199
  58. package/src/channels/websocket.ts +87 -87
  59. package/src/channels/wechat.ts +149 -149
  60. package/src/core/a2a.ts +143 -143
  61. package/src/core/agent.ts +152 -152
  62. package/src/core/analytics-engine.ts +186 -186
  63. package/src/core/auth.ts +57 -57
  64. package/src/core/cache.ts +141 -141
  65. package/src/core/compose.ts +77 -77
  66. package/src/core/config.ts +14 -14
  67. package/src/core/errors.ts +148 -148
  68. package/src/core/hitl.ts +138 -138
  69. package/src/core/logger.ts +57 -57
  70. package/src/core/orchestrator.ts +215 -215
  71. package/src/core/performance.ts +187 -187
  72. package/src/core/rate-limiter.ts +128 -128
  73. package/src/core/room.ts +109 -109
  74. package/src/core/runtime.ts +152 -152
  75. package/src/core/sandbox.ts +101 -101
  76. package/src/core/security.ts +171 -171
  77. package/src/core/streaming.ts +195 -0
  78. package/src/core/types.ts +68 -68
  79. package/src/core/versioning.ts +106 -106
  80. package/src/core/watch.ts +178 -178
  81. package/src/core/workflow.ts +235 -235
  82. package/src/deploy/hermes.ts +156 -156
  83. package/src/deploy/openclaw.ts +200 -200
  84. package/src/dtv/data.ts +29 -29
  85. package/src/dtv/trust.ts +43 -43
  86. package/src/dtv/value.ts +47 -47
  87. package/src/i18n/index.ts +216 -216
  88. package/src/index.ts +6 -0
  89. package/src/marketplace/index.ts +223 -223
  90. package/src/memory/deepbrain.ts +108 -108
  91. package/src/memory/index.ts +34 -34
  92. package/src/plugins/index.ts +208 -208
  93. package/src/schema/oad.ts +155 -155
  94. package/src/skills/base.ts +16 -16
  95. package/src/skills/document.ts +100 -100
  96. package/src/skills/http.ts +35 -35
  97. package/src/skills/index.ts +27 -27
  98. package/src/skills/scheduler.ts +80 -80
  99. package/src/skills/webhook-trigger.ts +59 -59
  100. package/src/templates/code-reviewer.ts +34 -34
  101. package/src/templates/customer-service.ts +80 -80
  102. package/src/templates/data-analyst.ts +70 -70
  103. package/src/templates/executive-assistant.ts +71 -71
  104. package/src/templates/financial-advisor.ts +60 -60
  105. package/src/templates/knowledge-base.ts +31 -31
  106. package/src/templates/legal-assistant.ts +71 -71
  107. package/src/templates/sales-assistant.ts +79 -79
  108. package/src/templates/teacher.ts +79 -79
  109. package/src/testing/index.ts +181 -181
  110. package/src/tools/calculator.ts +73 -73
  111. package/src/tools/datetime.ts +149 -149
  112. package/src/tools/gateway.ts +220 -0
  113. package/src/tools/json-transform.ts +187 -187
  114. package/src/tools/mcp.ts +76 -76
  115. package/src/tools/text-analysis.ts +116 -116
  116. package/templates/Dockerfile +15 -15
  117. package/templates/code-reviewer/README.md +27 -27
  118. package/templates/code-reviewer/oad.yaml +41 -41
  119. package/templates/customer-service/README.md +22 -22
  120. package/templates/customer-service/oad.yaml +36 -36
  121. package/templates/docker-compose.yml +21 -21
  122. package/templates/ecommerce-assistant/README.md +45 -45
  123. package/templates/ecommerce-assistant/oad.yaml +47 -47
  124. package/templates/knowledge-base/README.md +28 -28
  125. package/templates/knowledge-base/oad.yaml +38 -38
  126. package/templates/sales-assistant/README.md +26 -26
  127. package/templates/sales-assistant/oad.yaml +43 -43
  128. package/templates/tech-support/README.md +43 -43
  129. package/templates/tech-support/oad.yaml +45 -45
  130. package/tests/a2a.test.ts +66 -66
  131. package/tests/agent.test.ts +72 -72
  132. package/tests/analytics.test.ts +50 -50
  133. package/tests/channel.test.ts +39 -39
  134. package/tests/e2e.test.ts +134 -134
  135. package/tests/errors.test.ts +83 -83
  136. package/tests/gateway.test.ts +71 -0
  137. package/tests/hitl.test.ts +71 -71
  138. package/tests/i18n.test.ts +41 -41
  139. package/tests/mcp.test.ts +54 -54
  140. package/tests/oad.test.ts +68 -68
  141. package/tests/performance.test.ts +115 -115
  142. package/tests/plugin.test.ts +74 -74
  143. package/tests/room.test.ts +106 -106
  144. package/tests/runtime.test.ts +42 -42
  145. package/tests/sandbox.test.ts +46 -46
  146. package/tests/security.test.ts +60 -60
  147. package/tests/streaming.test.ts +109 -0
  148. package/tests/templates.test.ts +77 -77
  149. package/tests/v070.test.ts +76 -76
  150. package/tests/versioning.test.ts +75 -75
  151. package/tests/voice.test.ts +61 -61
  152. package/tests/webhook.test.ts +29 -29
  153. package/tests/workflow.test.ts +143 -143
  154. package/tsconfig.json +19 -19
  155. package/vitest.config.ts +9 -9
@@ -41,8 +41,8 @@ class HandoffSkill extends base_1.BaseSkill {
41
41
  }
42
42
  }
43
43
  exports.HandoffSkill = HandoffSkill;
44
- exports.CUSTOMER_SERVICE_SYSTEM_PROMPT = `You are a friendly and professional customer service agent.
45
- You help customers with their questions about products, orders, shipping, and returns.
44
+ exports.CUSTOMER_SERVICE_SYSTEM_PROMPT = `You are a friendly and professional customer service agent.
45
+ You help customers with their questions about products, orders, shipping, and returns.
46
46
  Be concise, helpful, and empathetic. If you're unsure, offer to connect them with a human agent.`;
47
47
  function createCustomerServiceConfig() {
48
48
  return {
@@ -33,11 +33,11 @@ class InsightSkill extends base_1.BaseSkill {
33
33
  }
34
34
  }
35
35
  exports.InsightSkill = InsightSkill;
36
- exports.DATA_ANALYST_SYSTEM_PROMPT = `You are a professional data analyst assistant. Your goals:
37
- 1. Help users query, transform, and analyze data
38
- 2. Create clear visualizations and summaries
39
- 3. Identify trends, patterns, and anomalies
40
- 4. Explain findings in plain language
36
+ exports.DATA_ANALYST_SYSTEM_PROMPT = `You are a professional data analyst assistant. Your goals:
37
+ 1. Help users query, transform, and analyze data
38
+ 2. Create clear visualizations and summaries
39
+ 3. Identify trends, patterns, and anomalies
40
+ 4. Explain findings in plain language
41
41
  Be precise with numbers, always cite your data source, and suggest next steps for deeper analysis.`;
42
42
  function createDataAnalystConfig() {
43
43
  return {
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.KNOWLEDGE_BASE_SYSTEM_PROMPT = void 0;
4
4
  exports.createKnowledgeBaseConfig = createKnowledgeBaseConfig;
5
- exports.KNOWLEDGE_BASE_SYSTEM_PROMPT = `You are a knowledge base assistant. Answer questions using the company documents
6
- and knowledge provided to you. If you don't have enough information, say so honestly.
5
+ exports.KNOWLEDGE_BASE_SYSTEM_PROMPT = `You are a knowledge base assistant. Answer questions using the company documents
6
+ and knowledge provided to you. If you don't have enough information, say so honestly.
7
7
  Always cite sources when possible. Be accurate and concise.`;
8
8
  function createKnowledgeBaseConfig() {
9
9
  return {
@@ -43,10 +43,10 @@ class LeadCaptureSkill extends base_1.BaseSkill {
43
43
  }
44
44
  }
45
45
  exports.LeadCaptureSkill = LeadCaptureSkill;
46
- exports.SALES_ASSISTANT_SYSTEM_PROMPT = `You are a professional sales assistant. Your goals:
47
- 1. Answer product questions accurately and enthusiastically
48
- 2. Capture leads by collecting name, email, and company info
49
- 3. Book appointments when prospects are ready
46
+ exports.SALES_ASSISTANT_SYSTEM_PROMPT = `You are a professional sales assistant. Your goals:
47
+ 1. Answer product questions accurately and enthusiastically
48
+ 2. Capture leads by collecting name, email, and company info
49
+ 3. Book appointments when prospects are ready
50
50
  Be friendly, persuasive but not pushy. Always provide value first.`;
51
51
  function createSalesAssistantConfig() {
52
52
  return {
@@ -39,12 +39,12 @@ class ExplainSkill extends base_1.BaseSkill {
39
39
  }
40
40
  }
41
41
  exports.ExplainSkill = ExplainSkill;
42
- exports.TEACHER_SYSTEM_PROMPT = `You are a patient and encouraging teacher assistant. Your goals:
43
- 1. Create engaging lesson plans tailored to student level
44
- 2. Generate quizzes and assessments with answer keys
45
- 3. Explain complex concepts using analogies and examples
46
- 4. Provide constructive feedback and encouragement
47
- 5. Adapt teaching style to different learning preferences
42
+ exports.TEACHER_SYSTEM_PROMPT = `You are a patient and encouraging teacher assistant. Your goals:
43
+ 1. Create engaging lesson plans tailored to student level
44
+ 2. Generate quizzes and assessments with answer keys
45
+ 3. Explain complex concepts using analogies and examples
46
+ 4. Provide constructive feedback and encouragement
47
+ 5. Adapt teaching style to different learning preferences
48
48
  Be patient, use clear language, and always check for understanding. Use the Socratic method when appropriate.`;
49
49
  function createTeacherConfig() {
50
50
  return {
@@ -0,0 +1,28 @@
1
+ import type { MCPTool, MCPToolDefinition, MCPToolResult } from './mcp';
2
+ export interface ToolGatewayConfig {
3
+ enabled: boolean;
4
+ endpoint: string;
5
+ apiKey: string;
6
+ enabledTools?: GatewayToolName[];
7
+ timeout?: number;
8
+ }
9
+ export type GatewayToolName = 'web-search' | 'image-gen' | 'tts' | 'browser';
10
+ export declare class ToolGateway {
11
+ private config;
12
+ private availableTools;
13
+ private connected;
14
+ constructor(config: ToolGatewayConfig);
15
+ /** Discover available tools from the gateway endpoint. */
16
+ connect(): Promise<void>;
17
+ /** Load default tool definitions (used as fallback). */
18
+ private loadDefaults;
19
+ /** Invoke a tool through the gateway. */
20
+ invokeTool(name: GatewayToolName, input: Record<string, unknown>): Promise<MCPToolResult>;
21
+ /** Get all gateway tools as MCPTool instances for registry integration. */
22
+ getTools(): MCPTool[];
23
+ /** Get tool definitions (without execute). */
24
+ listTools(): MCPToolDefinition[];
25
+ get isConnected(): boolean;
26
+ get toolCount(): number;
27
+ }
28
+ //# sourceMappingURL=gateway.d.ts.map
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ToolGateway = void 0;
4
+ // ─── Gateway Tool Wrapper ────────────────────────────────────
5
+ class GatewayTool {
6
+ gateway;
7
+ meta;
8
+ name;
9
+ description;
10
+ inputSchema;
11
+ constructor(gateway, meta) {
12
+ this.gateway = gateway;
13
+ this.meta = meta;
14
+ this.name = `gateway:${meta.name}`;
15
+ this.description = `[Gateway] ${meta.description}`;
16
+ this.inputSchema = meta.inputSchema;
17
+ }
18
+ async execute(input, _context) {
19
+ return this.gateway.invokeTool(this.meta.name, input);
20
+ }
21
+ }
22
+ // ─── Default Tool Definitions ────────────────────────────────
23
+ const DEFAULT_TOOL_DEFS = [
24
+ {
25
+ name: 'web-search',
26
+ description: 'Search the web and return results',
27
+ inputSchema: {
28
+ type: 'object',
29
+ properties: {
30
+ query: { type: 'string', description: 'Search query' },
31
+ count: { type: 'number', description: 'Number of results (1-10)' },
32
+ },
33
+ required: ['query'],
34
+ },
35
+ available: true,
36
+ },
37
+ {
38
+ name: 'image-gen',
39
+ description: 'Generate images from text prompts',
40
+ inputSchema: {
41
+ type: 'object',
42
+ properties: {
43
+ prompt: { type: 'string', description: 'Image generation prompt' },
44
+ size: { type: 'string', description: 'Image size (e.g. 1024x1024)' },
45
+ },
46
+ required: ['prompt'],
47
+ },
48
+ available: true,
49
+ },
50
+ {
51
+ name: 'tts',
52
+ description: 'Convert text to speech audio',
53
+ inputSchema: {
54
+ type: 'object',
55
+ properties: {
56
+ text: { type: 'string', description: 'Text to synthesize' },
57
+ voice: { type: 'string', description: 'Voice identifier' },
58
+ },
59
+ required: ['text'],
60
+ },
61
+ available: true,
62
+ },
63
+ {
64
+ name: 'browser',
65
+ description: 'Automated browser actions — navigate, screenshot, extract content',
66
+ inputSchema: {
67
+ type: 'object',
68
+ properties: {
69
+ action: { type: 'string', description: 'Action: navigate | screenshot | extract' },
70
+ url: { type: 'string', description: 'Target URL' },
71
+ selector: { type: 'string', description: 'CSS selector for extraction' },
72
+ },
73
+ required: ['action', 'url'],
74
+ },
75
+ available: true,
76
+ },
77
+ ];
78
+ // ─── ToolGateway ─────────────────────────────────────────────
79
+ class ToolGateway {
80
+ config;
81
+ availableTools = new Map();
82
+ connected = false;
83
+ constructor(config) {
84
+ this.config = {
85
+ timeout: 30_000,
86
+ ...config,
87
+ };
88
+ }
89
+ /** Discover available tools from the gateway endpoint. */
90
+ async connect() {
91
+ if (!this.config.enabled)
92
+ return;
93
+ try {
94
+ const res = await fetch(`${this.config.endpoint}/tools`, {
95
+ headers: { Authorization: `Bearer ${this.config.apiKey}` },
96
+ signal: AbortSignal.timeout(this.config.timeout),
97
+ });
98
+ if (!res.ok) {
99
+ throw new Error(`Gateway returned ${res.status}`);
100
+ }
101
+ const data = (await res.json());
102
+ const enabledSet = this.config.enabledTools
103
+ ? new Set(this.config.enabledTools)
104
+ : null;
105
+ for (const tool of data.tools) {
106
+ if (!enabledSet || enabledSet.has(tool.name)) {
107
+ this.availableTools.set(tool.name, tool);
108
+ }
109
+ }
110
+ this.connected = true;
111
+ }
112
+ catch {
113
+ // Auto-detect failed — fall back to default definitions
114
+ this.loadDefaults();
115
+ this.connected = false;
116
+ }
117
+ }
118
+ /** Load default tool definitions (used as fallback). */
119
+ loadDefaults() {
120
+ const enabledSet = this.config.enabledTools
121
+ ? new Set(this.config.enabledTools)
122
+ : null;
123
+ for (const def of DEFAULT_TOOL_DEFS) {
124
+ if (!enabledSet || enabledSet.has(def.name)) {
125
+ this.availableTools.set(def.name, def);
126
+ }
127
+ }
128
+ }
129
+ /** Invoke a tool through the gateway. */
130
+ async invokeTool(name, input) {
131
+ try {
132
+ const res = await fetch(`${this.config.endpoint}/tools/${name}/invoke`, {
133
+ method: 'POST',
134
+ headers: {
135
+ 'Content-Type': 'application/json',
136
+ Authorization: `Bearer ${this.config.apiKey}`,
137
+ },
138
+ body: JSON.stringify({ input }),
139
+ signal: AbortSignal.timeout(this.config.timeout),
140
+ });
141
+ if (!res.ok) {
142
+ return { content: `Gateway error: HTTP ${res.status}`, isError: true };
143
+ }
144
+ const data = (await res.json());
145
+ if (data.error) {
146
+ return { content: data.error, isError: true, metadata: data.metadata };
147
+ }
148
+ return { content: data.content, metadata: data.metadata };
149
+ }
150
+ catch (err) {
151
+ return {
152
+ content: `Gateway invocation failed: ${err instanceof Error ? err.message : String(err)}`,
153
+ isError: true,
154
+ };
155
+ }
156
+ }
157
+ /** Get all gateway tools as MCPTool instances for registry integration. */
158
+ getTools() {
159
+ return Array.from(this.availableTools.values()).map((meta) => new GatewayTool(this, meta));
160
+ }
161
+ /** Get tool definitions (without execute). */
162
+ listTools() {
163
+ return Array.from(this.availableTools.values()).map(({ name, description, inputSchema }) => ({
164
+ name: `gateway:${name}`,
165
+ description: `[Gateway] ${description}`,
166
+ inputSchema,
167
+ }));
168
+ }
169
+ get isConnected() {
170
+ return this.connected;
171
+ }
172
+ get toolCount() {
173
+ return this.availableTools.size;
174
+ }
175
+ }
176
+ exports.ToolGateway = ToolGateway;
177
+ //# sourceMappingURL=gateway.js.map
@@ -1,103 +1,103 @@
1
- import { defineConfig } from 'vitepress';
2
-
3
- export default defineConfig({
4
- title: 'OPC Agent',
5
- description: 'Open Agent Framework - Build, test, and run AI Agents for business workstations',
6
-
7
- locales: {
8
- root: {
9
- label: 'English',
10
- lang: 'en',
11
- themeConfig: {
12
- nav: [
13
- { text: 'Guide', link: '/guide/getting-started' },
14
- { text: 'API', link: '/api/oad-schema' },
15
- { text: 'GitHub', link: 'https://github.com/Deepleaper/opc-agent' },
16
- ],
17
- sidebar: {
18
- '/guide/': [
19
- {
20
- text: 'Introduction',
21
- items: [
22
- { text: 'Getting Started', link: '/guide/getting-started' },
23
- { text: 'Core Concepts', link: '/guide/concepts' },
24
- ],
25
- },
26
- {
27
- text: 'Usage',
28
- items: [
29
- { text: 'Templates', link: '/guide/templates' },
30
- { text: 'Configuration', link: '/guide/configuration' },
31
- { text: 'Testing', link: '/guide/testing' },
32
- { text: 'Deployment', link: '/guide/deployment' },
33
- ],
34
- },
35
- ],
36
- '/api/': [
37
- {
38
- text: 'Reference',
39
- items: [
40
- { text: 'OAD Schema', link: '/api/oad-schema' },
41
- { text: 'CLI Commands', link: '/api/cli' },
42
- { text: 'SDK', link: '/api/sdk' },
43
- ],
44
- },
45
- ],
46
- },
47
- },
48
- },
49
- zh: {
50
- label: '中文',
51
- lang: 'zh-CN',
52
- description: '开放智能体框架 — 构建、测试、运行企业级 AI 智能体',
53
- themeConfig: {
54
- nav: [
55
- { text: '指南', link: '/zh/guide/getting-started' },
56
- { text: 'API', link: '/zh/api/oad-schema' },
57
- { text: 'GitHub', link: 'https://github.com/Deepleaper/opc-agent' },
58
- ],
59
- sidebar: {
60
- '/zh/guide/': [
61
- {
62
- text: '入门',
63
- items: [
64
- { text: '快速开始', link: '/zh/guide/getting-started' },
65
- { text: '核心概念', link: '/zh/guide/concepts' },
66
- ],
67
- },
68
- {
69
- text: '使用',
70
- items: [
71
- { text: '模板', link: '/zh/guide/templates' },
72
- { text: '配置', link: '/zh/guide/configuration' },
73
- { text: '测试', link: '/zh/guide/testing' },
74
- { text: '部署', link: '/zh/guide/deployment' },
75
- ],
76
- },
77
- ],
78
- '/zh/api/': [
79
- {
80
- text: '参考',
81
- items: [
82
- { text: 'OAD Schema', link: '/zh/api/oad-schema' },
83
- { text: 'CLI 命令', link: '/zh/api/cli' },
84
- { text: 'SDK', link: '/zh/api/sdk' },
85
- ],
86
- },
87
- ],
88
- },
89
- },
90
- },
91
- },
92
-
93
- themeConfig: {
94
- logo: '/logo.svg',
95
- socialLinks: [
96
- { icon: 'github', link: 'https://github.com/Deepleaper/opc-agent' },
97
- ],
98
- footer: {
99
- message: 'Released under the Apache-2.0 License.',
100
- copyright: 'Copyright © 2025 Deepleaper 跃盟科技',
101
- },
102
- },
103
- });
1
+ import { defineConfig } from 'vitepress';
2
+
3
+ export default defineConfig({
4
+ title: 'OPC Agent',
5
+ description: 'Open Agent Framework - Build, test, and run AI Agents for business workstations',
6
+
7
+ locales: {
8
+ root: {
9
+ label: 'English',
10
+ lang: 'en',
11
+ themeConfig: {
12
+ nav: [
13
+ { text: 'Guide', link: '/guide/getting-started' },
14
+ { text: 'API', link: '/api/oad-schema' },
15
+ { text: 'GitHub', link: 'https://github.com/Deepleaper/opc-agent' },
16
+ ],
17
+ sidebar: {
18
+ '/guide/': [
19
+ {
20
+ text: 'Introduction',
21
+ items: [
22
+ { text: 'Getting Started', link: '/guide/getting-started' },
23
+ { text: 'Core Concepts', link: '/guide/concepts' },
24
+ ],
25
+ },
26
+ {
27
+ text: 'Usage',
28
+ items: [
29
+ { text: 'Templates', link: '/guide/templates' },
30
+ { text: 'Configuration', link: '/guide/configuration' },
31
+ { text: 'Testing', link: '/guide/testing' },
32
+ { text: 'Deployment', link: '/guide/deployment' },
33
+ ],
34
+ },
35
+ ],
36
+ '/api/': [
37
+ {
38
+ text: 'Reference',
39
+ items: [
40
+ { text: 'OAD Schema', link: '/api/oad-schema' },
41
+ { text: 'CLI Commands', link: '/api/cli' },
42
+ { text: 'SDK', link: '/api/sdk' },
43
+ ],
44
+ },
45
+ ],
46
+ },
47
+ },
48
+ },
49
+ zh: {
50
+ label: '中文',
51
+ lang: 'zh-CN',
52
+ description: '开放智能体框架 — 构建、测试、运行企业级 AI 智能体',
53
+ themeConfig: {
54
+ nav: [
55
+ { text: '指南', link: '/zh/guide/getting-started' },
56
+ { text: 'API', link: '/zh/api/oad-schema' },
57
+ { text: 'GitHub', link: 'https://github.com/Deepleaper/opc-agent' },
58
+ ],
59
+ sidebar: {
60
+ '/zh/guide/': [
61
+ {
62
+ text: '入门',
63
+ items: [
64
+ { text: '快速开始', link: '/zh/guide/getting-started' },
65
+ { text: '核心概念', link: '/zh/guide/concepts' },
66
+ ],
67
+ },
68
+ {
69
+ text: '使用',
70
+ items: [
71
+ { text: '模板', link: '/zh/guide/templates' },
72
+ { text: '配置', link: '/zh/guide/configuration' },
73
+ { text: '测试', link: '/zh/guide/testing' },
74
+ { text: '部署', link: '/zh/guide/deployment' },
75
+ ],
76
+ },
77
+ ],
78
+ '/zh/api/': [
79
+ {
80
+ text: '参考',
81
+ items: [
82
+ { text: 'OAD Schema', link: '/zh/api/oad-schema' },
83
+ { text: 'CLI 命令', link: '/zh/api/cli' },
84
+ { text: 'SDK', link: '/zh/api/sdk' },
85
+ ],
86
+ },
87
+ ],
88
+ },
89
+ },
90
+ },
91
+ },
92
+
93
+ themeConfig: {
94
+ logo: '/logo.svg',
95
+ socialLinks: [
96
+ { icon: 'github', link: 'https://github.com/Deepleaper/opc-agent' },
97
+ ],
98
+ footer: {
99
+ message: 'Released under the Apache-2.0 License.',
100
+ copyright: 'Copyright © 2025 Deepleaper 跃盟科技',
101
+ },
102
+ },
103
+ });
package/docs/api/cli.md CHANGED
@@ -1,48 +1,48 @@
1
- # CLI Commands
2
-
3
- ## Reference
4
-
5
- | Command | Description |
6
- |---------|-------------|
7
- | `opc init [name]` | Initialize a new agent project |
8
- | `opc run` | Start agent with web server |
9
- | `opc chat` | Interactive CLI chat |
10
- | `opc test` | Run agent tests |
11
- | `opc analytics` | Show usage analytics |
12
- | `opc info` | Show agent info from OAD |
13
- | `opc build` | Validate OAD |
14
- | `opc dev` | Hot-reload development mode |
15
- | `opc create <name>` | Create agent from template |
16
- | `opc deploy` | Deploy to OpenClaw or Hermes |
17
- | `opc publish` | Package for distribution |
18
- | `opc install <source>` | Install agent from package |
19
- | `opc search <query>` | Search OPC Registry |
20
- | `opc stats` | Show runtime stats |
21
- | `opc kb add <file>` | Add file to knowledge base |
22
- | `opc kb search <query>` | Search knowledge base |
23
- | `opc tool list` | List MCP tools |
24
- | `opc workflow run <name>` | Run a workflow |
25
- | `opc version-mgmt list` | List saved versions |
26
-
27
- ## Common Options
28
-
29
- - `-f, --file <file>` — OAD file path (default: `oad.yaml`)
30
- - `-t, --template <name>` — Template name
31
- - `-p, --port <port>` — Port override
32
- - `--json` — JSON output (for test/analytics)
33
-
34
- ## Examples
35
-
36
- ```bash
37
- # Create a new project
38
- opc init my-bot -t teacher
39
-
40
- # Run tests
41
- opc test --json
42
-
43
- # View analytics
44
- opc analytics
45
-
46
- # Deploy
47
- opc deploy --target openclaw --install
48
- ```
1
+ # CLI Commands
2
+
3
+ ## Reference
4
+
5
+ | Command | Description |
6
+ |---------|-------------|
7
+ | `opc init [name]` | Initialize a new agent project |
8
+ | `opc run` | Start agent with web server |
9
+ | `opc chat` | Interactive CLI chat |
10
+ | `opc test` | Run agent tests |
11
+ | `opc analytics` | Show usage analytics |
12
+ | `opc info` | Show agent info from OAD |
13
+ | `opc build` | Validate OAD |
14
+ | `opc dev` | Hot-reload development mode |
15
+ | `opc create <name>` | Create agent from template |
16
+ | `opc deploy` | Deploy to OpenClaw or Hermes |
17
+ | `opc publish` | Package for distribution |
18
+ | `opc install <source>` | Install agent from package |
19
+ | `opc search <query>` | Search OPC Registry |
20
+ | `opc stats` | Show runtime stats |
21
+ | `opc kb add <file>` | Add file to knowledge base |
22
+ | `opc kb search <query>` | Search knowledge base |
23
+ | `opc tool list` | List MCP tools |
24
+ | `opc workflow run <name>` | Run a workflow |
25
+ | `opc version-mgmt list` | List saved versions |
26
+
27
+ ## Common Options
28
+
29
+ - `-f, --file <file>` — OAD file path (default: `oad.yaml`)
30
+ - `-t, --template <name>` — Template name
31
+ - `-p, --port <port>` — Port override
32
+ - `--json` — JSON output (for test/analytics)
33
+
34
+ ## Examples
35
+
36
+ ```bash
37
+ # Create a new project
38
+ opc init my-bot -t teacher
39
+
40
+ # Run tests
41
+ opc test --json
42
+
43
+ # View analytics
44
+ opc analytics
45
+
46
+ # Deploy
47
+ opc deploy --target openclaw --install
48
+ ```