opc-agent 4.2.13 → 5.0.0-rc.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 (207) hide show
  1. package/.opc/memory.db +0 -0
  2. package/.opc/schedules.json +784 -0
  3. package/.opc/voice-tmp/tts-1776835848670.mp3 +0 -0
  4. package/.opc/voice-tmp/tts-1776835873696.mp3 +0 -0
  5. package/README.md +125 -141
  6. package/README.zh-CN.md +75 -160
  7. package/TASK.md +34 -0
  8. package/data/brain.db/deepbrain.sqlite +0 -0
  9. package/dist/channels/api.d.ts +14 -0
  10. package/dist/channels/api.d.ts.map +1 -0
  11. package/dist/channels/api.js +58 -0
  12. package/dist/channels/api.js.map +1 -0
  13. package/dist/channels/voice.d.ts +21 -0
  14. package/dist/channels/voice.d.ts.map +1 -1
  15. package/dist/channels/voice.js +31 -1
  16. package/dist/channels/voice.js.map +1 -1
  17. package/dist/cli/chat.d.ts.map +1 -1
  18. package/dist/cli/chat.js +104 -0
  19. package/dist/cli/chat.js.map +1 -1
  20. package/dist/cli/setup.d.ts +1 -1
  21. package/dist/cli/setup.d.ts.map +1 -1
  22. package/dist/cli/setup.js +263 -33
  23. package/dist/cli/setup.js.map +1 -1
  24. package/dist/cli.js +201 -116
  25. package/dist/cli.js.map +1 -1
  26. package/dist/core/agent-loop.d.ts +3 -0
  27. package/dist/core/agent-loop.d.ts.map +1 -0
  28. package/dist/core/agent-loop.js +51 -0
  29. package/dist/core/agent-loop.js.map +1 -0
  30. package/dist/core/context-assembler.d.ts +12 -0
  31. package/dist/core/context-assembler.d.ts.map +1 -0
  32. package/dist/core/context-assembler.js +81 -0
  33. package/dist/core/context-assembler.js.map +1 -0
  34. package/dist/core/guardrails.d.ts +16 -0
  35. package/dist/core/guardrails.d.ts.map +1 -0
  36. package/dist/core/guardrails.js +62 -0
  37. package/dist/core/guardrails.js.map +1 -0
  38. package/dist/core/index.d.ts +1 -0
  39. package/dist/core/index.d.ts.map +1 -0
  40. package/dist/core/index.js +3 -0
  41. package/dist/core/index.js.map +1 -0
  42. package/dist/core/iteration-budget.d.ts +12 -0
  43. package/dist/core/iteration-budget.d.ts.map +1 -0
  44. package/dist/core/iteration-budget.js +26 -0
  45. package/dist/core/iteration-budget.js.map +1 -0
  46. package/dist/core/runtime.js +1 -1
  47. package/dist/core/runtime.js.map +1 -1
  48. package/dist/core/types.d.ts +412 -0
  49. package/dist/core/types.d.ts.map +1 -1
  50. package/dist/deepbrain/embedding.d.ts +7 -0
  51. package/dist/deepbrain/embedding.d.ts.map +1 -0
  52. package/dist/deepbrain/embedding.js +108 -0
  53. package/dist/deepbrain/embedding.js.map +1 -0
  54. package/dist/deepbrain/index.d.ts +8 -0
  55. package/dist/deepbrain/index.d.ts.map +1 -0
  56. package/dist/deepbrain/index.js +19 -0
  57. package/dist/deepbrain/index.js.map +1 -0
  58. package/dist/deepbrain/migrate.d.ts +2 -0
  59. package/dist/deepbrain/migrate.d.ts.map +1 -0
  60. package/dist/deepbrain/migrate.js +139 -0
  61. package/dist/deepbrain/migrate.js.map +1 -0
  62. package/dist/deepbrain/provider.d.ts +13 -0
  63. package/dist/deepbrain/provider.d.ts.map +1 -0
  64. package/dist/deepbrain/provider.js +85 -0
  65. package/dist/deepbrain/provider.js.map +1 -0
  66. package/dist/deepbrain/recall.d.ts +9 -0
  67. package/dist/deepbrain/recall.d.ts.map +1 -0
  68. package/dist/deepbrain/recall.js +48 -0
  69. package/dist/deepbrain/recall.js.map +1 -0
  70. package/dist/deepbrain/store.d.ts +36 -0
  71. package/dist/deepbrain/store.d.ts.map +1 -0
  72. package/dist/deepbrain/store.js +342 -0
  73. package/dist/deepbrain/store.js.map +1 -0
  74. package/dist/deepbrain/workspace-files.d.ts +5 -0
  75. package/dist/deepbrain/workspace-files.d.ts.map +1 -0
  76. package/dist/deepbrain/workspace-files.js +159 -0
  77. package/dist/deepbrain/workspace-files.js.map +1 -0
  78. package/dist/evolution/index.d.ts +1 -0
  79. package/dist/evolution/index.d.ts.map +1 -0
  80. package/dist/evolution/index.js +3 -0
  81. package/dist/evolution/index.js.map +1 -0
  82. package/dist/evolution/l1-experience.d.ts +11 -0
  83. package/dist/evolution/l1-experience.d.ts.map +1 -0
  84. package/dist/evolution/l1-experience.js +185 -0
  85. package/dist/evolution/l1-experience.js.map +1 -0
  86. package/dist/evolution/l2-consolidation.d.ts +4 -0
  87. package/dist/evolution/l2-consolidation.d.ts.map +1 -0
  88. package/dist/evolution/l2-consolidation.js +106 -0
  89. package/dist/evolution/l2-consolidation.js.map +1 -0
  90. package/dist/evolution/l2-memskill.d.ts +12 -0
  91. package/dist/evolution/l2-memskill.d.ts.map +1 -0
  92. package/dist/evolution/l2-memskill.js +57 -0
  93. package/dist/evolution/l2-memskill.js.map +1 -0
  94. package/dist/evolution/l3-skill-discover.d.ts +4 -0
  95. package/dist/evolution/l3-skill-discover.d.ts.map +1 -0
  96. package/dist/evolution/l3-skill-discover.js +139 -0
  97. package/dist/evolution/l3-skill-discover.js.map +1 -0
  98. package/dist/evolution/l3-skill-verify.d.ts +12 -0
  99. package/dist/evolution/l3-skill-verify.d.ts.map +1 -0
  100. package/dist/evolution/l3-skill-verify.js +122 -0
  101. package/dist/evolution/l3-skill-verify.js.map +1 -0
  102. package/dist/evolution/l4-desensitize.d.ts +7 -0
  103. package/dist/evolution/l4-desensitize.d.ts.map +1 -0
  104. package/dist/evolution/l4-desensitize.js +30 -0
  105. package/dist/evolution/l4-desensitize.js.map +1 -0
  106. package/dist/evolution/l4-group-evolve.d.ts +8 -0
  107. package/dist/evolution/l4-group-evolve.d.ts.map +1 -0
  108. package/dist/evolution/l4-group-evolve.js +15 -0
  109. package/dist/evolution/l4-group-evolve.js.map +1 -0
  110. package/dist/evolution/maturity-scorer.d.ts +11 -0
  111. package/dist/evolution/maturity-scorer.d.ts.map +1 -0
  112. package/dist/evolution/maturity-scorer.js +21 -0
  113. package/dist/evolution/maturity-scorer.js.map +1 -0
  114. package/dist/index.d.ts +7 -1
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.js +33 -5
  117. package/dist/index.js.map +1 -1
  118. package/dist/providers/agentkits.d.ts +20 -0
  119. package/dist/providers/agentkits.d.ts.map +1 -0
  120. package/dist/providers/agentkits.js +173 -0
  121. package/dist/providers/agentkits.js.map +1 -0
  122. package/dist/providers/model-provider.d.ts +16 -0
  123. package/dist/providers/model-provider.d.ts.map +1 -0
  124. package/dist/providers/model-provider.js +13 -0
  125. package/dist/providers/model-provider.js.map +1 -0
  126. package/dist/providers/model-recommender.d.ts +15 -0
  127. package/dist/providers/model-recommender.d.ts.map +1 -0
  128. package/dist/providers/model-recommender.js +71 -0
  129. package/dist/providers/model-recommender.js.map +1 -0
  130. package/dist/providers/ollama.d.ts +22 -0
  131. package/dist/providers/ollama.d.ts.map +1 -0
  132. package/dist/providers/ollama.js +176 -0
  133. package/dist/providers/ollama.js.map +1 -0
  134. package/dist/providers/openai-compat.d.ts +23 -0
  135. package/dist/providers/openai-compat.d.ts.map +1 -0
  136. package/dist/providers/openai-compat.js +184 -0
  137. package/dist/providers/openai-compat.js.map +1 -0
  138. package/dist/providers/router.d.ts +11 -0
  139. package/dist/providers/router.d.ts.map +1 -0
  140. package/dist/providers/router.js +48 -0
  141. package/dist/providers/router.js.map +1 -0
  142. package/dist/scheduler/cron.d.ts +19 -0
  143. package/dist/scheduler/cron.d.ts.map +1 -0
  144. package/dist/scheduler/cron.js +64 -0
  145. package/dist/scheduler/cron.js.map +1 -0
  146. package/dist/schema/oad.d.ts +72 -72
  147. package/dist/skills/loader.d.ts +16 -0
  148. package/dist/skills/loader.d.ts.map +1 -0
  149. package/dist/skills/loader.js +114 -0
  150. package/dist/skills/loader.js.map +1 -0
  151. package/dist/skills/matcher.d.ts +18 -0
  152. package/dist/skills/matcher.d.ts.map +1 -0
  153. package/dist/skills/matcher.js +70 -0
  154. package/dist/skills/matcher.js.map +1 -0
  155. package/dist/studio/agent-pool.d.ts +17 -0
  156. package/dist/studio/agent-pool.d.ts.map +1 -0
  157. package/dist/studio/agent-pool.js +35 -0
  158. package/dist/studio/agent-pool.js.map +1 -0
  159. package/dist/studio/assistant-tools.d.ts +4 -0
  160. package/dist/studio/assistant-tools.d.ts.map +1 -0
  161. package/dist/studio/assistant-tools.js +36 -0
  162. package/dist/studio/assistant-tools.js.map +1 -0
  163. package/dist/studio/index.d.ts +1 -0
  164. package/dist/studio/index.d.ts.map +1 -0
  165. package/dist/studio/index.js +3 -0
  166. package/dist/studio/index.js.map +1 -0
  167. package/dist/studio/server.d.ts +3 -0
  168. package/dist/studio/server.d.ts.map +1 -1
  169. package/dist/studio/server.js +156 -24
  170. package/dist/studio/server.js.map +1 -1
  171. package/dist/templates/index.d.ts +1 -0
  172. package/dist/templates/index.d.ts.map +1 -0
  173. package/dist/templates/index.js +3 -0
  174. package/dist/templates/index.js.map +1 -0
  175. package/dist/templates/roles/index.d.ts +4 -0
  176. package/dist/templates/roles/index.d.ts.map +1 -0
  177. package/dist/templates/roles/index.js +46 -0
  178. package/dist/templates/roles/index.js.map +1 -0
  179. package/dist/templates/template-provider.d.ts +16 -0
  180. package/dist/templates/template-provider.d.ts.map +1 -0
  181. package/dist/templates/template-provider.js +60 -0
  182. package/dist/templates/template-provider.js.map +1 -0
  183. package/dist/tools/builtin/definitions.d.ts +7 -0
  184. package/dist/tools/builtin/definitions.d.ts.map +1 -0
  185. package/dist/tools/builtin/definitions.js +60 -0
  186. package/dist/tools/builtin/definitions.js.map +1 -0
  187. package/dist/tools/execute-code.d.ts +20 -0
  188. package/dist/tools/execute-code.d.ts.map +1 -0
  189. package/dist/tools/execute-code.js +92 -0
  190. package/dist/tools/execute-code.js.map +1 -0
  191. package/dist/tools/hooks.d.ts +47 -0
  192. package/dist/tools/hooks.d.ts.map +1 -0
  193. package/dist/tools/hooks.js +69 -0
  194. package/dist/tools/hooks.js.map +1 -0
  195. package/dist/tools/index.d.ts +9 -0
  196. package/dist/tools/index.d.ts.map +1 -0
  197. package/dist/tools/index.js +16 -0
  198. package/dist/tools/index.js.map +1 -0
  199. package/dist/tools/permission.d.ts +20 -0
  200. package/dist/tools/permission.d.ts.map +1 -0
  201. package/dist/tools/permission.js +35 -0
  202. package/dist/tools/permission.js.map +1 -0
  203. package/dist/tools/registry.d.ts +25 -0
  204. package/dist/tools/registry.d.ts.map +1 -0
  205. package/dist/tools/registry.js +42 -0
  206. package/dist/tools/registry.js.map +1 -0
  207. package/package.json +1 -1
package/dist/cli/setup.js CHANGED
@@ -41,6 +41,7 @@ const path = __importStar(require("path"));
41
41
  const http = __importStar(require("http"));
42
42
  const https = __importStar(require("https"));
43
43
  const os = __importStar(require("os"));
44
+ const child_process_1 = require("child_process");
44
45
  // ── Colors ──────────────────────────────────────────────────────────────────
45
46
  const c = {
46
47
  green: (s) => `\x1b[32m${s}\x1b[0m`,
@@ -61,6 +62,152 @@ const TEMPLATES = [
61
62
  ];
62
63
  const OPC_HOME = path.join(os.homedir(), '.opc');
63
64
  const CONFIG_PATH = path.join(OPC_HOME, 'config.json');
65
+ // ── Spinner ─────────────────────────────────────────────────────────────────
66
+ function createSpinner(text) {
67
+ const frames = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
68
+ let i = 0;
69
+ const id = setInterval(() => {
70
+ process.stdout.write(`\r ${frames[i++ % frames.length]} ${text}`);
71
+ }, 80);
72
+ return {
73
+ succeed: (msg) => { clearInterval(id); process.stdout.write(`\r ${c.green('✔')} ${msg}\n`); },
74
+ fail: (msg) => { clearInterval(id); process.stdout.write(`\r ${c.red('✘')} ${msg}\n`); },
75
+ warn: (msg) => { clearInterval(id); process.stdout.write(`\r ${c.yellow('⚠')} ${msg}\n`); },
76
+ };
77
+ }
78
+ // ── Auto-install Ollama ─────────────────────────────────────────────────────
79
+ function installOllama() {
80
+ return new Promise((resolve) => {
81
+ if (process.platform === 'win32') {
82
+ // Windows: download and run installer silently
83
+ const url = 'https://ollama.com/download/OllamaSetup.exe';
84
+ const dest = path.join(os.tmpdir(), 'OllamaSetup.exe');
85
+ const file = fs.createWriteStream(dest);
86
+ https.get(url, (response) => {
87
+ // Follow redirects
88
+ if (response.statusCode === 301 || response.statusCode === 302) {
89
+ https.get(response.headers.location, (r2) => {
90
+ r2.pipe(file);
91
+ file.on('finish', () => {
92
+ file.close();
93
+ const child = (0, child_process_1.spawn)(dest, ['/VERYSILENT', '/NORESTART'], { stdio: 'ignore' });
94
+ child.on('close', () => resolve(true));
95
+ child.on('error', () => resolve(false));
96
+ });
97
+ }).on('error', () => resolve(false));
98
+ }
99
+ else {
100
+ response.pipe(file);
101
+ file.on('finish', () => {
102
+ file.close();
103
+ const child = (0, child_process_1.spawn)(dest, ['/VERYSILENT', '/NORESTART'], { stdio: 'ignore' });
104
+ child.on('close', () => resolve(true));
105
+ child.on('error', () => resolve(false));
106
+ });
107
+ }
108
+ }).on('error', () => resolve(false));
109
+ }
110
+ else {
111
+ // macOS/Linux: curl installer
112
+ const child = (0, child_process_1.spawn)('bash', ['-c', 'curl -fsSL https://ollama.com/install.sh | sh'], { stdio: 'inherit' });
113
+ child.on('close', (code) => resolve(code === 0));
114
+ child.on('error', () => resolve(false));
115
+ }
116
+ });
117
+ }
118
+ async function waitForOllama(maxWaitSec = 60) {
119
+ const start = Date.now();
120
+ while (Date.now() - start < maxWaitSec * 1000) {
121
+ try {
122
+ await httpGet('http://localhost:11434/api/tags', 3000);
123
+ return true;
124
+ }
125
+ catch {
126
+ await new Promise((r) => setTimeout(r, 2000));
127
+ }
128
+ }
129
+ return false;
130
+ }
131
+ // ── Verification ────────────────────────────────────────────────────────────
132
+ async function runVerification(config) {
133
+ console.log('');
134
+ console.log(c.bold('🔍 Step 4/4: 校验安装'));
135
+ console.log('');
136
+ // Check OPC version
137
+ const pkgPath = path.join(__dirname, '..', '..', 'package.json');
138
+ let version = 'unknown';
139
+ try {
140
+ version = JSON.parse(fs.readFileSync(pkgPath, 'utf-8')).version;
141
+ }
142
+ catch { }
143
+ console.log(` ${c.green('✔')} OPC Agent v${version}`);
144
+ // Check Ollama
145
+ if (config.provider === 'ollama') {
146
+ const ollama = await detectOllama();
147
+ if (ollama.running) {
148
+ console.log(` ${c.green('✔')} Ollama 运行中,${ollama.models.length} 个模型`);
149
+ }
150
+ else {
151
+ console.log(` ${c.red('✘')} Ollama 未运行`);
152
+ }
153
+ }
154
+ // Quick chat test
155
+ if (config.provider === 'ollama' && config.model) {
156
+ const sp = createSpinner('测试模型响应...');
157
+ try {
158
+ const body = JSON.stringify({ model: config.model, messages: [{ role: 'user', content: 'Say OK' }], stream: false });
159
+ const res = await new Promise((resolve, reject) => {
160
+ const req = http.request({ hostname: 'localhost', port: 11434, path: '/v1/chat/completions', method: 'POST', headers: { 'Content-Type': 'application/json' }, timeout: 30000 }, (r) => {
161
+ let d = '';
162
+ r.on('data', (chunk) => { d += chunk; });
163
+ r.on('end', () => resolve(d));
164
+ });
165
+ req.on('error', reject);
166
+ req.on('timeout', () => { req.destroy(); reject(new Error('timeout')); });
167
+ req.write(body);
168
+ req.end();
169
+ });
170
+ const json = JSON.parse(res);
171
+ if (json.choices?.[0]?.message?.content) {
172
+ sp.succeed(`模型 ${config.model} 响应正常`);
173
+ }
174
+ else {
175
+ sp.warn('模型响应格式异常,但可用');
176
+ }
177
+ }
178
+ catch {
179
+ sp.warn('模型测试跳过(可能正在加载)');
180
+ }
181
+ }
182
+ console.log('');
183
+ }
184
+ // ── RAM-based model recommendation ──────────────────────────────────────────
185
+ const RAM_MODEL_TABLE = [
186
+ { maxRAM: 3, model: 'qwen2.5:0.5b', size: '400MB' },
187
+ { maxRAM: 7, model: 'qwen2.5:1.5b', size: '1.0GB' },
188
+ { maxRAM: 15, model: 'qwen2.5:7b', size: '4.7GB' },
189
+ { maxRAM: 31, model: 'qwen2.5:14b', size: '9.0GB' },
190
+ { maxRAM: Infinity, model: 'qwen2.5:32b', size: '19GB' },
191
+ ];
192
+ function getRecommendedModel(totalRAMgb) {
193
+ for (const row of RAM_MODEL_TABLE) {
194
+ if (totalRAMgb <= row.maxRAM)
195
+ return { model: row.model, size: row.size };
196
+ }
197
+ return { model: 'qwen2.5:32b', size: '19GB' };
198
+ }
199
+ function spawnOllamaPull(model) {
200
+ return new Promise((resolve, reject) => {
201
+ const child = (0, child_process_1.spawn)('ollama', ['pull', model], { stdio: 'inherit' });
202
+ child.on('close', (code) => {
203
+ if (code === 0)
204
+ resolve();
205
+ else
206
+ reject(new Error(`ollama pull exited with code ${code}`));
207
+ });
208
+ child.on('error', reject);
209
+ });
210
+ }
64
211
  // ── Readline helpers ────────────────────────────────────────────────────────
65
212
  function createRL(input, output) {
66
213
  return readline.createInterface({
@@ -86,9 +233,20 @@ function httpGet(url, timeout = 5000) {
86
233
  }
87
234
  // ── Step 1: Welcome ─────────────────────────────────────────────────────────
88
235
  function printWelcome() {
236
+ const pkgPath = path.join(__dirname, '..', '..', 'package.json');
237
+ let version = '5.0.0';
238
+ try {
239
+ version = JSON.parse(fs.readFileSync(pkgPath, 'utf-8')).version;
240
+ }
241
+ catch { }
242
+ console.log('');
243
+ console.log(c.cyan(' ┌─────────────────────────────────────────┐'));
244
+ console.log(c.cyan(' │') + c.bold(' ⚡ OPC Agent — 瞬知 Studio ') + c.cyan('│'));
245
+ console.log(c.cyan(' │') + ' Your AI workforce, running locally ' + c.cyan('│'));
246
+ console.log(c.cyan(' │') + c.dim(` v${version} `) + c.cyan('│'));
247
+ console.log(c.cyan(' └─────────────────────────────────────────┘'));
89
248
  console.log('');
90
- console.log(c.bold(' 🎉 欢迎使用 OPC Agent'));
91
- console.log(c.dim(' 让我们用 3 分钟配置你的第一个 AI Agent。'));
249
+ console.log(c.dim(' 让我们用 3 分钟配置你的第一个 AI Agent'));
92
250
  console.log('');
93
251
  }
94
252
  // ── Step 2: Model detection ─────────────────────────────────────────────────
@@ -103,52 +261,115 @@ async function detectOllama() {
103
261
  return { running: false, models: [] };
104
262
  }
105
263
  }
106
- async function stepModel(rl) {
264
+ async function stepModel(rl, yes) {
107
265
  console.log(c.bold('📡 Step 1/4: 配置 AI 模型'));
108
- console.log(c.dim(' 正在检测本地 Ollama...'));
266
+ console.log(c.dim(' 正在检测系统和 Ollama...'));
109
267
  console.log('');
110
- const ollama = await detectOllama();
268
+ const totalRAM = Math.round(os.totalmem() / 1024 / 1024 / 1024);
269
+ const cpus = os.cpus().length;
270
+ const rec = getRecommendedModel(totalRAM);
271
+ let ollama = await detectOllama();
272
+ // Auto-install Ollama if --yes mode and not found
273
+ if (!ollama.running && yes) {
274
+ const sp = createSpinner('自动安装 Ollama...');
275
+ const installed = await installOllama();
276
+ if (installed) {
277
+ sp.succeed('Ollama 安装完成');
278
+ const sp2 = createSpinner('等待 Ollama 启动...');
279
+ // Try to start ollama serve in background
280
+ try {
281
+ (0, child_process_1.spawn)('ollama', ['serve'], { stdio: 'ignore', detached: true }).unref();
282
+ }
283
+ catch { }
284
+ const ready = await waitForOllama(60);
285
+ if (ready) {
286
+ sp2.succeed('Ollama 已就绪');
287
+ ollama = await detectOllama();
288
+ }
289
+ else {
290
+ sp2.warn('Ollama 启动超时,稍后手动运行: ollama serve');
291
+ }
292
+ }
293
+ else {
294
+ sp.warn('Ollama 自动安装失败,请手动安装: https://ollama.com');
295
+ }
296
+ }
111
297
  if (ollama.running) {
112
- console.log(c.green(' Ollama 运行中!已安装模型:'));
113
- if (ollama.models.length === 0) {
114
- console.log(c.dim(' (无模型)'));
298
+ console.log(` 🔍 检测到系统: ${c.bold(String(totalRAM) + 'GB')} RAM, ${c.bold(String(cpus) + '核')} CPU`);
299
+ console.log(` 📦 推荐模型: ${c.cyan(rec.model)} (${rec.size})`);
300
+ if (ollama.models.length > 0) {
301
+ console.log(` 当前已安装: ${ollama.models.map((m) => `${m} ${c.green('[已安装]')}`).join(', ')}`);
115
302
  }
116
303
  else {
117
- for (const m of ollama.models) {
118
- console.log(` • ${m}`);
119
- }
304
+ console.log(` 当前已安装: ${c.dim('(无)')}`);
120
305
  }
121
306
  console.log('');
122
- const hasChat = ollama.models.some((m) => m.startsWith('qwen2.5'));
307
+ const hasRecommended = ollama.models.includes(rec.model);
123
308
  const hasEmbed = ollama.models.some((m) => m.startsWith('nomic-embed-text'));
124
- if (!hasChat) {
125
- const dl = await ask(rl, ` 推荐模型 ${c.cyan('qwen2.5:7b')} 未安装,是否下载? [Y/n] `);
126
- if (dl.toLowerCase() !== 'n') {
127
- console.log(c.dim(' 请在终端运行: ollama pull qwen2.5:7b'));
309
+ if (!hasRecommended) {
310
+ let doDownload;
311
+ if (yes) {
312
+ console.log(c.dim(' --yes 模式: 自动下载推荐模型'));
313
+ doDownload = true;
128
314
  }
315
+ else {
316
+ const dl = await ask(rl, ` 是否下载推荐模型?[Y/n] `);
317
+ doDownload = dl.toLowerCase() !== 'n';
318
+ }
319
+ if (doDownload) {
320
+ console.log(` → 正在下载 ${c.cyan(rec.model)}...`);
321
+ try {
322
+ await spawnOllamaPull(rec.model);
323
+ console.log(c.green(` ✔ 下载完成: ${rec.model}`));
324
+ }
325
+ catch {
326
+ console.log(c.yellow(` ⚠ 下载失败,稍后手动运行: ollama pull ${rec.model}`));
327
+ }
328
+ }
329
+ }
330
+ else {
331
+ console.log(c.green(` ✔ 推荐模型 ${rec.model} 已安装`));
129
332
  }
130
333
  if (!hasEmbed) {
131
- const dl = await ask(rl, ` 推荐 Embedding 模型 ${c.cyan('nomic-embed-text')} 未安装,是否下载? [Y/n] `);
132
- if (dl.toLowerCase() !== 'n') {
133
- console.log(c.dim(' → 请在终端运行: ollama pull nomic-embed-text'));
334
+ let doEmbed;
335
+ if (yes) {
336
+ doEmbed = true;
337
+ }
338
+ else {
339
+ const dl = await ask(rl, ` 推荐 Embedding 模型 ${c.cyan('nomic-embed-text')} 未安装,是否下载? [Y/n] `);
340
+ doEmbed = dl.toLowerCase() !== 'n';
341
+ }
342
+ if (doEmbed) {
343
+ console.log(` → 正在下载 ${c.cyan('nomic-embed-text')}...`);
344
+ try {
345
+ await spawnOllamaPull('nomic-embed-text');
346
+ console.log(c.green(' ✔ 下载完成: nomic-embed-text'));
347
+ }
348
+ catch {
349
+ console.log(c.yellow(' ⚠ 下载失败,稍后手动运行: ollama pull nomic-embed-text'));
350
+ }
134
351
  }
135
352
  }
136
353
  console.log('');
354
+ const chatModel = hasRecommended
355
+ ? rec.model
356
+ : (ollama.models.find((m) => !m.includes('embed')) ?? rec.model);
137
357
  return {
138
358
  provider: 'ollama',
139
- model: hasChat ? ollama.models.find((m) => m.startsWith('qwen2.5')) : (ollama.models.find(m => !m.includes('embed')) || 'qwen2.5:7b'),
140
- embeddingModel: hasEmbed ? 'nomic-embed-text' : 'nomic-embed-text',
359
+ model: chatModel,
360
+ embeddingModel: 'nomic-embed-text',
141
361
  baseUrl: 'http://localhost:11434',
142
362
  };
143
363
  }
144
364
  // Ollama not running
365
+ console.log(` 🔍 检测到系统: ${c.bold(String(totalRAM) + 'GB')} RAM, ${c.bold(String(cpus) + '核')} CPU`);
145
366
  console.log(c.yellow(' ⚠ 未检测到 Ollama'));
146
367
  console.log('');
147
368
  console.log(' 请选择:');
148
369
  console.log(` ${c.cyan('A')} ) 安装 Ollama(推荐,免费本地运行)`);
149
370
  console.log(` ${c.cyan('B')} ) 使用云端 API`);
150
371
  console.log('');
151
- const choice = await ask(rl, ' 你的选择 [A/B]: ');
372
+ const choice = yes ? 'A' : await ask(rl, ' 你的选择 [A/B]: ');
152
373
  if (choice.toUpperCase() !== 'B') {
153
374
  console.log('');
154
375
  console.log(c.bold(' 📦 安装 Ollama:'));
@@ -156,21 +377,21 @@ async function stepModel(rl) {
156
377
  if (process.platform === 'win32') {
157
378
  console.log(' 1. 访问 https://ollama.com/download');
158
379
  console.log(' 2. 下载 Windows 版并安装');
159
- console.log(' 3. 安装后运行: ollama pull qwen2.5:7b');
380
+ console.log(` 3. 安装后运行: ollama pull ${rec.model}`);
160
381
  }
161
382
  else if (process.platform === 'darwin') {
162
383
  console.log(' brew install ollama');
163
384
  console.log(' ollama serve &');
164
- console.log(' ollama pull qwen2.5:7b');
385
+ console.log(` ollama pull ${rec.model}`);
165
386
  }
166
387
  else {
167
388
  console.log(' curl -fsSL https://ollama.com/install.sh | sh');
168
389
  console.log(' ollama serve &');
169
- console.log(' ollama pull qwen2.5:7b');
390
+ console.log(` ollama pull ${rec.model}`);
170
391
  }
171
392
  console.log('');
172
393
  console.log(c.dim(' 安装完成后重新运行 opc setup'));
173
- return { provider: 'ollama', model: 'qwen2.5:7b', embeddingModel: 'nomic-embed-text', baseUrl: 'http://localhost:11434' };
394
+ return { provider: 'ollama', model: rec.model, embeddingModel: 'nomic-embed-text', baseUrl: 'http://localhost:11434' };
174
395
  }
175
396
  // Cloud API
176
397
  console.log('');
@@ -275,26 +496,35 @@ async function stepCreateAgent(rl, template, config) {
275
496
  return { name, id, dir: agentDir };
276
497
  }
277
498
  // ── Step 5: Completion ──────────────────────────────────────────────────────
278
- function printCompletion(agentName) {
279
- console.log(c.bold(` 你的 AI Agent「${agentName}」已创建!`));
499
+ function printCompletion(agentName, config) {
500
+ console.log(c.green(' ┌─ Setup Complete ────────────────────────┐'));
501
+ console.log(c.green(' │') + ` Agent: ${c.bold(agentName)}` + ' '.repeat(Math.max(0, 30 - agentName.length)) + c.green('│'));
502
+ if (config) {
503
+ const modelStr = config.model || 'auto';
504
+ console.log(c.green(' │') + ` Model: ${modelStr} (${config.provider})` + ' '.repeat(Math.max(0, 22 - modelStr.length - config.provider.length)) + c.green('│'));
505
+ }
506
+ console.log(c.green(' │') + ` Brain: SQLite + DeepBrain ` + c.green('│'));
507
+ console.log(c.green(' │') + ` Status: ${c.green('Ready to go!')} ` + c.green('│'));
508
+ console.log(c.green(' └─────────────────────────────────────────┘'));
280
509
  console.log('');
281
510
  console.log(' 启动方式:');
282
- console.log(` ${c.cyan('opc studio')} — 打开网页管理界面`);
511
+ console.log(` ${c.cyan('opc studio')} — 打开网页管理界面(推荐)`);
283
512
  console.log(` ${c.cyan('opc chat')} — 终端直接对话`);
284
- console.log(` ${c.cyan('opc start')} 后台运行`);
513
+ console.log(` ${c.cyan('opc run')} 后台运行所有服务`);
285
514
  console.log('');
286
515
  console.log(c.dim(' 你的 Agent 会自动学习和进化,越用越聪明!🧬'));
287
516
  console.log('');
288
517
  }
289
518
  // ── Main entry ──────────────────────────────────────────────────────────────
290
- async function runSetup(input, output) {
519
+ async function runSetup(input, output, yes) {
291
520
  const rl = createRL(input, output);
292
521
  try {
293
522
  printWelcome();
294
- const config = await stepModel(rl);
523
+ const config = await stepModel(rl, yes);
295
524
  const template = await stepTemplate(rl);
296
525
  const agent = await stepCreateAgent(rl, template, config);
297
- printCompletion(agent.name);
526
+ await runVerification(config);
527
+ printCompletion(agent.name, config);
298
528
  }
299
529
  finally {
300
530
  rl.close();
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}