opc-agent 1.1.0 → 1.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.
Files changed (142) hide show
  1. package/CHANGELOG.md +51 -51
  2. package/CONTRIBUTING.md +75 -75
  3. package/README.md +341 -101
  4. package/README.zh-CN.md +382 -55
  5. package/dist/channels/web.js +256 -256
  6. package/dist/cli.js +1 -32
  7. package/dist/deploy/hermes.js +22 -22
  8. package/dist/deploy/openclaw.js +31 -31
  9. package/dist/i18n/index.js +60 -9
  10. package/dist/templates/code-reviewer.js +5 -5
  11. package/dist/templates/customer-service.js +2 -2
  12. package/dist/templates/data-analyst.js +5 -5
  13. package/dist/templates/knowledge-base.js +2 -2
  14. package/dist/templates/sales-assistant.js +4 -4
  15. package/dist/templates/teacher.js +6 -6
  16. package/docs/.vitepress/config.ts +103 -92
  17. package/docs/api/cli.md +48 -48
  18. package/docs/api/oad-schema.md +64 -64
  19. package/docs/api/sdk.md +80 -80
  20. package/docs/guide/concepts.md +51 -51
  21. package/docs/guide/configuration.md +79 -79
  22. package/docs/guide/deployment.md +42 -42
  23. package/docs/guide/getting-started.md +44 -44
  24. package/docs/guide/templates.md +28 -28
  25. package/docs/guide/testing.md +84 -84
  26. package/docs/index.md +27 -27
  27. package/docs/zh/api/cli.md +54 -0
  28. package/docs/zh/api/oad-schema.md +87 -3
  29. package/docs/zh/api/sdk.md +102 -0
  30. package/docs/zh/guide/concepts.md +104 -28
  31. package/docs/zh/guide/configuration.md +135 -39
  32. package/docs/zh/guide/deployment.md +81 -3
  33. package/docs/zh/guide/getting-started.md +82 -58
  34. package/docs/zh/guide/templates.md +84 -22
  35. package/docs/zh/guide/testing.md +88 -18
  36. package/docs/zh/index.md +27 -27
  37. package/examples/customer-service-demo/README.md +90 -90
  38. package/examples/customer-service-demo/oad.yaml +107 -107
  39. package/package.json +1 -1
  40. package/src/analytics/index.ts +66 -66
  41. package/src/channels/discord.ts +192 -192
  42. package/src/channels/email.ts +177 -177
  43. package/src/channels/feishu.ts +236 -236
  44. package/src/channels/index.ts +15 -15
  45. package/src/channels/slack.ts +160 -160
  46. package/src/channels/telegram.ts +90 -90
  47. package/src/channels/voice.ts +106 -106
  48. package/src/channels/web.ts +596 -596
  49. package/src/channels/webhook.ts +199 -199
  50. package/src/channels/websocket.ts +87 -87
  51. package/src/channels/wechat.ts +149 -149
  52. package/src/cli.ts +1 -35
  53. package/src/core/a2a.ts +143 -143
  54. package/src/core/agent.ts +152 -152
  55. package/src/core/analytics-engine.ts +186 -186
  56. package/src/core/auth.ts +57 -57
  57. package/src/core/cache.ts +141 -141
  58. package/src/core/compose.ts +77 -77
  59. package/src/core/config.ts +14 -14
  60. package/src/core/errors.ts +148 -148
  61. package/src/core/hitl.ts +138 -138
  62. package/src/core/knowledge.ts +210 -210
  63. package/src/core/logger.ts +57 -57
  64. package/src/core/orchestrator.ts +215 -215
  65. package/src/core/performance.ts +187 -187
  66. package/src/core/rate-limiter.ts +128 -128
  67. package/src/core/room.ts +109 -109
  68. package/src/core/runtime.ts +152 -152
  69. package/src/core/sandbox.ts +101 -101
  70. package/src/core/security.ts +171 -171
  71. package/src/core/types.ts +68 -68
  72. package/src/core/versioning.ts +106 -106
  73. package/src/core/watch.ts +178 -178
  74. package/src/core/workflow.ts +235 -235
  75. package/src/deploy/hermes.ts +156 -156
  76. package/src/deploy/openclaw.ts +200 -200
  77. package/src/dtv/data.ts +29 -29
  78. package/src/dtv/trust.ts +43 -43
  79. package/src/dtv/value.ts +47 -47
  80. package/src/i18n/index.ts +216 -165
  81. package/src/index.ts +110 -110
  82. package/src/marketplace/index.ts +223 -223
  83. package/src/memory/deepbrain.ts +108 -108
  84. package/src/memory/index.ts +34 -34
  85. package/src/plugins/index.ts +208 -208
  86. package/src/providers/index.ts +183 -183
  87. package/src/schema/oad.ts +155 -155
  88. package/src/skills/base.ts +16 -16
  89. package/src/skills/document.ts +100 -100
  90. package/src/skills/http.ts +35 -35
  91. package/src/skills/index.ts +27 -27
  92. package/src/skills/scheduler.ts +80 -80
  93. package/src/skills/webhook-trigger.ts +59 -59
  94. package/src/templates/code-reviewer.ts +34 -34
  95. package/src/templates/customer-service.ts +80 -80
  96. package/src/templates/data-analyst.ts +70 -70
  97. package/src/templates/executive-assistant.ts +71 -71
  98. package/src/templates/financial-advisor.ts +60 -60
  99. package/src/templates/knowledge-base.ts +31 -31
  100. package/src/templates/legal-assistant.ts +71 -71
  101. package/src/templates/sales-assistant.ts +79 -79
  102. package/src/templates/teacher.ts +79 -79
  103. package/src/testing/index.ts +181 -181
  104. package/src/tools/calculator.ts +73 -73
  105. package/src/tools/datetime.ts +149 -149
  106. package/src/tools/json-transform.ts +187 -187
  107. package/src/tools/mcp.ts +76 -76
  108. package/src/tools/text-analysis.ts +116 -116
  109. package/templates/Dockerfile +15 -15
  110. package/templates/code-reviewer/README.md +27 -27
  111. package/templates/code-reviewer/oad.yaml +41 -41
  112. package/templates/customer-service/README.md +22 -22
  113. package/templates/customer-service/oad.yaml +36 -36
  114. package/templates/docker-compose.yml +21 -21
  115. package/templates/knowledge-base/README.md +28 -28
  116. package/templates/knowledge-base/oad.yaml +38 -38
  117. package/templates/sales-assistant/README.md +26 -26
  118. package/templates/sales-assistant/oad.yaml +43 -43
  119. package/tests/a2a.test.ts +66 -66
  120. package/tests/agent.test.ts +72 -72
  121. package/tests/analytics.test.ts +50 -50
  122. package/tests/channel.test.ts +39 -39
  123. package/tests/e2e.test.ts +134 -134
  124. package/tests/errors.test.ts +83 -83
  125. package/tests/hitl.test.ts +71 -71
  126. package/tests/i18n.test.ts +41 -41
  127. package/tests/mcp.test.ts +54 -54
  128. package/tests/oad.test.ts +68 -68
  129. package/tests/performance.test.ts +115 -115
  130. package/tests/plugin.test.ts +74 -74
  131. package/tests/room.test.ts +106 -106
  132. package/tests/runtime.test.ts +42 -42
  133. package/tests/sandbox.test.ts +46 -46
  134. package/tests/security.test.ts +60 -60
  135. package/tests/templates.test.ts +77 -77
  136. package/tests/v070.test.ts +76 -76
  137. package/tests/versioning.test.ts +75 -75
  138. package/tests/voice.test.ts +61 -61
  139. package/tests/webhook.test.ts +29 -29
  140. package/tests/workflow.test.ts +143 -143
  141. package/tsconfig.json +19 -19
  142. package/vitest.config.ts +9 -9
@@ -41,27 +41,27 @@ const fs = __importStar(require("fs"));
41
41
  const path = __importStar(require("path"));
42
42
  function generateIdentityMd(oad) {
43
43
  const m = oad.metadata;
44
- return `# IDENTITY.md
45
-
46
- - **Name:** ${m.name}
47
- - **Version:** ${m.version}
48
- - **Description:** ${m.description ?? 'An AI agent'}
49
- - **Author:** ${m.author ?? 'Unknown'}
50
- - **License:** ${m.license}
44
+ return `# IDENTITY.md
45
+
46
+ - **Name:** ${m.name}
47
+ - **Version:** ${m.version}
48
+ - **Description:** ${m.description ?? 'An AI agent'}
49
+ - **Author:** ${m.author ?? 'Unknown'}
50
+ - **License:** ${m.license}
51
51
  `;
52
52
  }
53
53
  function generateSoulMd(oad) {
54
54
  const prompt = oad.spec.systemPrompt ?? 'You are a helpful AI assistant.';
55
- return `# SOUL.md - ${oad.metadata.name}
56
-
57
- ## System Prompt
58
-
59
- ${prompt}
60
-
61
- ## Model Configuration
62
-
63
- - **Model:** ${oad.spec.model}
64
- - **Provider:** ${oad.spec.provider?.default ?? 'deepseek'}
55
+ return `# SOUL.md - ${oad.metadata.name}
56
+
57
+ ## System Prompt
58
+
59
+ ${prompt}
60
+
61
+ ## Model Configuration
62
+
63
+ - **Model:** ${oad.spec.model}
64
+ - **Provider:** ${oad.spec.provider?.default ?? 'deepseek'}
65
65
  `;
66
66
  }
67
67
  function generateAgentsMd(oad) {
@@ -112,23 +112,23 @@ function generateAgentsMd(oad) {
112
112
  return md;
113
113
  }
114
114
  function generateUserMd(oad) {
115
- return `# USER.md
116
-
117
- - **Name:** (your name)
118
- - **Role:** User
119
- - **Notes:** Configure this file with your preferences for ${oad.metadata.name}.
115
+ return `# USER.md
116
+
117
+ - **Name:** (your name)
118
+ - **Role:** User
119
+ - **Notes:** Configure this file with your preferences for ${oad.metadata.name}.
120
120
  `;
121
121
  }
122
122
  function generateMemoryMd(oad) {
123
- return `# MEMORY.md - ${oad.metadata.name}
124
-
125
- ## Persistent Knowledge
126
-
127
- (Agent will store learned information here)
128
-
129
- ## User Preferences
130
-
131
- (Discovered user preferences will be noted here)
123
+ return `# MEMORY.md - ${oad.metadata.name}
124
+
125
+ ## Persistent Knowledge
126
+
127
+ (Agent will store learned information here)
128
+
129
+ ## User Preferences
130
+
131
+ (Discovered user preferences will be noted here)
132
132
  `;
133
133
  }
134
134
  function generateOpenClawConfig(oad, agentDir) {
@@ -16,16 +16,33 @@ const messages = {
16
16
  'agent.notUnderstood': 'I\'m not sure I understand. Could you rephrase?',
17
17
  'agent.handoff': 'Let me connect you with a human agent.',
18
18
  'cli.init.success': 'Created agent project: {name}',
19
+ 'cli.init.prompt.name': 'Agent name:',
20
+ 'cli.init.prompt.template': 'Choose a template:',
21
+ 'cli.init.prompt.provider': 'Choose an LLM provider:',
19
22
  'cli.build.success': 'Build successful: {name} v{version}',
20
23
  'cli.test.pass': 'All tests passed',
21
24
  'cli.test.fail': '{count} test(s) failed',
25
+ 'cli.run.starting': 'Starting agent "{name}"...',
26
+ 'cli.run.listening': 'Agent "{name}" is running at http://localhost:{port}',
27
+ 'cli.deploy.success': 'Deployed "{name}" to {target}',
28
+ 'cli.deploy.error': 'Deploy failed: {error}',
29
+ 'cli.validate.success': 'OAD validation passed',
30
+ 'cli.validate.error': 'OAD validation failed: {error}',
31
+ 'cli.analytics.title': 'Agent Analytics',
32
+ 'cli.analytics.noData': 'No analytics data yet',
22
33
  'cli.stats.title': 'Agent Analytics',
23
34
  'cli.stats.messages': 'Messages Processed',
24
35
  'cli.stats.avgTime': 'Avg Response Time',
25
36
  'cli.stats.errors': 'Errors',
26
37
  'cli.stats.uptime': 'Uptime',
38
+ 'cli.chat.welcome': 'Chat with your agent. Type "exit" to quit.',
39
+ 'cli.dev.watching': 'Watching for changes...',
40
+ 'cli.publish.success': 'Published "{name}" v{version}',
27
41
  'plugin.loaded': 'Plugin "{name}" loaded',
28
42
  'plugin.error': 'Plugin "{name}" failed: {error}',
43
+ 'kb.added': 'Added "{file}" to knowledge base',
44
+ 'kb.searchResults': '{count} results found',
45
+ 'kb.noResults': 'No results found',
29
46
  'web.title': 'OPC Agent',
30
47
  'web.chat.placeholder': 'Type a message...',
31
48
  'web.chat.send': 'Send',
@@ -48,22 +65,39 @@ const messages = {
48
65
  'zh-CN': {
49
66
  'agent.started': '智能体 "{name}" 启动成功',
50
67
  'agent.stopped': '智能体 "{name}" 已停止',
51
- 'agent.error': '发生错误: {error}',
52
- 'agent.greeting': '您好!有什么可以帮您的?',
53
- 'agent.farewell': '再见!祝您愉快。',
54
- 'agent.notUnderstood': '抱歉,我没有理解您的意思。能换个方式描述吗?',
55
- 'agent.handoff': '我来为您转接人工客服。',
56
- 'cli.init.success': '已创建智能体项目: {name}',
57
- 'cli.build.success': '构建成功: {name} v{version}',
68
+ 'agent.error': '发生错误:{error}',
69
+ 'agent.greeting': '你好!有什么可以帮你的?',
70
+ 'agent.farewell': '再见!祝你愉快。',
71
+ 'agent.notUnderstood': '抱歉,我没太理解你的意思。能换个方式描述一下吗?',
72
+ 'agent.handoff': '我来帮你转接人工客服。',
73
+ 'cli.init.success': '已创建智能体项目:{name}',
74
+ 'cli.init.prompt.name': '智能体名称:',
75
+ 'cli.init.prompt.template': '选择一个模板:',
76
+ 'cli.init.prompt.provider': '选择大语言模型供应商:',
77
+ 'cli.build.success': '构建成功:{name} v{version}',
58
78
  'cli.test.pass': '所有测试通过',
59
79
  'cli.test.fail': '{count} 个测试失败',
60
- 'cli.stats.title': '智能体分析',
80
+ 'cli.run.starting': '正在启动智能体 "{name}"...',
81
+ 'cli.run.listening': '智能体 "{name}" 已在 http://localhost:{port} 上运行',
82
+ 'cli.deploy.success': '已将 "{name}" 部署到 {target}',
83
+ 'cli.deploy.error': '部署失败:{error}',
84
+ 'cli.validate.success': 'OAD 配置校验通过',
85
+ 'cli.validate.error': 'OAD 配置校验失败:{error}',
86
+ 'cli.analytics.title': '智能体数据分析',
87
+ 'cli.analytics.noData': '暂无分析数据',
88
+ 'cli.stats.title': '智能体数据分析',
61
89
  'cli.stats.messages': '已处理消息',
62
90
  'cli.stats.avgTime': '平均响应时间',
63
91
  'cli.stats.errors': '错误数',
64
92
  'cli.stats.uptime': '运行时间',
93
+ 'cli.chat.welcome': '开始和智能体对话吧。输入 "exit" 退出。',
94
+ 'cli.dev.watching': '正在监听文件变更...',
95
+ 'cli.publish.success': '已发布 "{name}" v{version}',
65
96
  'plugin.loaded': '插件 "{name}" 已加载',
66
- 'plugin.error': '插件 "{name}" 失败: {error}',
97
+ 'plugin.error': '插件 "{name}" 出错:{error}',
98
+ 'kb.added': '已将 "{file}" 添加到知识库',
99
+ 'kb.searchResults': '找到 {count} 条结果',
100
+ 'kb.noResults': '未找到相关结果',
67
101
  'web.title': 'OPC 智能体',
68
102
  'web.chat.placeholder': '输入消息...',
69
103
  'web.chat.send': '发送',
@@ -92,16 +126,33 @@ const messages = {
92
126
  'agent.notUnderstood': '申し訳ございません、理解できませんでした。別の言い方でお願いできますか?',
93
127
  'agent.handoff': 'オペレーターにおつなぎします。',
94
128
  'cli.init.success': 'エージェントプロジェクトを作成しました: {name}',
129
+ 'cli.init.prompt.name': 'エージェント名:',
130
+ 'cli.init.prompt.template': 'テンプレートを選択:',
131
+ 'cli.init.prompt.provider': 'LLMプロバイダーを選択:',
95
132
  'cli.build.success': 'ビルド成功: {name} v{version}',
96
133
  'cli.test.pass': '全テスト合格',
97
134
  'cli.test.fail': '{count} 件のテストが失敗しました',
135
+ 'cli.run.starting': 'エージェント「{name}」を起動中...',
136
+ 'cli.run.listening': 'エージェント「{name}」が http://localhost:{port} で稼働中',
137
+ 'cli.deploy.success': '「{name}」を {target} にデプロイしました',
138
+ 'cli.deploy.error': 'デプロイ失敗: {error}',
139
+ 'cli.validate.success': 'OADバリデーション成功',
140
+ 'cli.validate.error': 'OADバリデーション失敗: {error}',
141
+ 'cli.analytics.title': 'エージェント分析',
142
+ 'cli.analytics.noData': '分析データがありません',
98
143
  'cli.stats.title': 'エージェント分析',
99
144
  'cli.stats.messages': '処理済みメッセージ',
100
145
  'cli.stats.avgTime': '平均応答時間',
101
146
  'cli.stats.errors': 'エラー数',
102
147
  'cli.stats.uptime': '稼働時間',
148
+ 'cli.chat.welcome': 'エージェントとチャットしましょう。"exit"で終了。',
149
+ 'cli.dev.watching': 'ファイル変更を監視中...',
150
+ 'cli.publish.success': '「{name}」v{version} を公開しました',
103
151
  'plugin.loaded': 'プラグイン「{name}」を読み込みました',
104
152
  'plugin.error': 'プラグイン「{name}」でエラー: {error}',
153
+ 'kb.added': '「{file}」をナレッジベースに追加しました',
154
+ 'kb.searchResults': '{count} 件の結果が見つかりました',
155
+ 'kb.noResults': '結果が見つかりませんでした',
105
156
  'web.title': 'OPC エージェント',
106
157
  'web.chat.placeholder': 'メッセージを入力...',
107
158
  'web.chat.send': '送信',
@@ -2,11 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CODE_REVIEWER_SYSTEM_PROMPT = void 0;
4
4
  exports.createCodeReviewerConfig = createCodeReviewerConfig;
5
- exports.CODE_REVIEWER_SYSTEM_PROMPT = `You are an expert code reviewer. When given code:
6
- 1. Check for bugs, security issues, and performance problems
7
- 2. Suggest improvements for readability and maintainability
8
- 3. Follow language-specific best practices
9
- 4. Be constructive and explain your reasoning
5
+ exports.CODE_REVIEWER_SYSTEM_PROMPT = `You are an expert code reviewer. When given code:
6
+ 1. Check for bugs, security issues, and performance problems
7
+ 2. Suggest improvements for readability and maintainability
8
+ 3. Follow language-specific best practices
9
+ 4. Be constructive and explain your reasoning
10
10
  Rate severity: 🔴 Critical | 🟡 Warning | 🔵 Info`;
11
11
  function createCodeReviewerConfig() {
12
12
  return {
@@ -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 {
@@ -1,92 +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
- themeConfig: {
53
- nav: [
54
- { text: '指南', link: '/zh/guide/getting-started' },
55
- { text: 'API', link: '/zh/api/oad-schema' },
56
- { text: 'GitHub', link: 'https://github.com/Deepleaper/opc-agent' },
57
- ],
58
- sidebar: {
59
- '/zh/guide/': [
60
- {
61
- text: '介绍',
62
- items: [
63
- { text: '快速开始', link: '/zh/guide/getting-started' },
64
- { text: '核心概念', link: '/zh/guide/concepts' },
65
- ],
66
- },
67
- {
68
- text: '使用',
69
- items: [
70
- { text: '模板', link: '/zh/guide/templates' },
71
- { text: '配置', link: '/zh/guide/configuration' },
72
- { text: '测试', link: '/zh/guide/testing' },
73
- { text: '部署', link: '/zh/guide/deployment' },
74
- ],
75
- },
76
- ],
77
- },
78
- },
79
- },
80
- },
81
-
82
- themeConfig: {
83
- logo: '/logo.svg',
84
- socialLinks: [
85
- { icon: 'github', link: 'https://github.com/Deepleaper/opc-agent' },
86
- ],
87
- footer: {
88
- message: 'Released under the Apache-2.0 License.',
89
- copyright: 'Copyright © 2025 Deepleaper',
90
- },
91
- },
92
- });
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
+ ```