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.
- package/.opc/memory.db +0 -0
- package/.opc/schedules.json +784 -0
- package/.opc/voice-tmp/tts-1776835848670.mp3 +0 -0
- package/.opc/voice-tmp/tts-1776835873696.mp3 +0 -0
- package/README.md +125 -141
- package/README.zh-CN.md +75 -160
- package/TASK.md +34 -0
- package/data/brain.db/deepbrain.sqlite +0 -0
- package/dist/channels/api.d.ts +14 -0
- package/dist/channels/api.d.ts.map +1 -0
- package/dist/channels/api.js +58 -0
- package/dist/channels/api.js.map +1 -0
- package/dist/channels/voice.d.ts +21 -0
- package/dist/channels/voice.d.ts.map +1 -1
- package/dist/channels/voice.js +31 -1
- package/dist/channels/voice.js.map +1 -1
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +104 -0
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/setup.d.ts +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +263 -33
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli.js +201 -116
- package/dist/cli.js.map +1 -1
- package/dist/core/agent-loop.d.ts +3 -0
- package/dist/core/agent-loop.d.ts.map +1 -0
- package/dist/core/agent-loop.js +51 -0
- package/dist/core/agent-loop.js.map +1 -0
- package/dist/core/context-assembler.d.ts +12 -0
- package/dist/core/context-assembler.d.ts.map +1 -0
- package/dist/core/context-assembler.js +81 -0
- package/dist/core/context-assembler.js.map +1 -0
- package/dist/core/guardrails.d.ts +16 -0
- package/dist/core/guardrails.d.ts.map +1 -0
- package/dist/core/guardrails.js +62 -0
- package/dist/core/guardrails.js.map +1 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +3 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/iteration-budget.d.ts +12 -0
- package/dist/core/iteration-budget.d.ts.map +1 -0
- package/dist/core/iteration-budget.js +26 -0
- package/dist/core/iteration-budget.js.map +1 -0
- package/dist/core/runtime.js +1 -1
- package/dist/core/runtime.js.map +1 -1
- package/dist/core/types.d.ts +412 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/deepbrain/embedding.d.ts +7 -0
- package/dist/deepbrain/embedding.d.ts.map +1 -0
- package/dist/deepbrain/embedding.js +108 -0
- package/dist/deepbrain/embedding.js.map +1 -0
- package/dist/deepbrain/index.d.ts +8 -0
- package/dist/deepbrain/index.d.ts.map +1 -0
- package/dist/deepbrain/index.js +19 -0
- package/dist/deepbrain/index.js.map +1 -0
- package/dist/deepbrain/migrate.d.ts +2 -0
- package/dist/deepbrain/migrate.d.ts.map +1 -0
- package/dist/deepbrain/migrate.js +139 -0
- package/dist/deepbrain/migrate.js.map +1 -0
- package/dist/deepbrain/provider.d.ts +13 -0
- package/dist/deepbrain/provider.d.ts.map +1 -0
- package/dist/deepbrain/provider.js +85 -0
- package/dist/deepbrain/provider.js.map +1 -0
- package/dist/deepbrain/recall.d.ts +9 -0
- package/dist/deepbrain/recall.d.ts.map +1 -0
- package/dist/deepbrain/recall.js +48 -0
- package/dist/deepbrain/recall.js.map +1 -0
- package/dist/deepbrain/store.d.ts +36 -0
- package/dist/deepbrain/store.d.ts.map +1 -0
- package/dist/deepbrain/store.js +342 -0
- package/dist/deepbrain/store.js.map +1 -0
- package/dist/deepbrain/workspace-files.d.ts +5 -0
- package/dist/deepbrain/workspace-files.d.ts.map +1 -0
- package/dist/deepbrain/workspace-files.js +159 -0
- package/dist/deepbrain/workspace-files.js.map +1 -0
- package/dist/evolution/index.d.ts +1 -0
- package/dist/evolution/index.d.ts.map +1 -0
- package/dist/evolution/index.js +3 -0
- package/dist/evolution/index.js.map +1 -0
- package/dist/evolution/l1-experience.d.ts +11 -0
- package/dist/evolution/l1-experience.d.ts.map +1 -0
- package/dist/evolution/l1-experience.js +185 -0
- package/dist/evolution/l1-experience.js.map +1 -0
- package/dist/evolution/l2-consolidation.d.ts +4 -0
- package/dist/evolution/l2-consolidation.d.ts.map +1 -0
- package/dist/evolution/l2-consolidation.js +106 -0
- package/dist/evolution/l2-consolidation.js.map +1 -0
- package/dist/evolution/l2-memskill.d.ts +12 -0
- package/dist/evolution/l2-memskill.d.ts.map +1 -0
- package/dist/evolution/l2-memskill.js +57 -0
- package/dist/evolution/l2-memskill.js.map +1 -0
- package/dist/evolution/l3-skill-discover.d.ts +4 -0
- package/dist/evolution/l3-skill-discover.d.ts.map +1 -0
- package/dist/evolution/l3-skill-discover.js +139 -0
- package/dist/evolution/l3-skill-discover.js.map +1 -0
- package/dist/evolution/l3-skill-verify.d.ts +12 -0
- package/dist/evolution/l3-skill-verify.d.ts.map +1 -0
- package/dist/evolution/l3-skill-verify.js +122 -0
- package/dist/evolution/l3-skill-verify.js.map +1 -0
- package/dist/evolution/l4-desensitize.d.ts +7 -0
- package/dist/evolution/l4-desensitize.d.ts.map +1 -0
- package/dist/evolution/l4-desensitize.js +30 -0
- package/dist/evolution/l4-desensitize.js.map +1 -0
- package/dist/evolution/l4-group-evolve.d.ts +8 -0
- package/dist/evolution/l4-group-evolve.d.ts.map +1 -0
- package/dist/evolution/l4-group-evolve.js +15 -0
- package/dist/evolution/l4-group-evolve.js.map +1 -0
- package/dist/evolution/maturity-scorer.d.ts +11 -0
- package/dist/evolution/maturity-scorer.d.ts.map +1 -0
- package/dist/evolution/maturity-scorer.js +21 -0
- package/dist/evolution/maturity-scorer.js.map +1 -0
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +33 -5
- package/dist/index.js.map +1 -1
- package/dist/providers/agentkits.d.ts +20 -0
- package/dist/providers/agentkits.d.ts.map +1 -0
- package/dist/providers/agentkits.js +173 -0
- package/dist/providers/agentkits.js.map +1 -0
- package/dist/providers/model-provider.d.ts +16 -0
- package/dist/providers/model-provider.d.ts.map +1 -0
- package/dist/providers/model-provider.js +13 -0
- package/dist/providers/model-provider.js.map +1 -0
- package/dist/providers/model-recommender.d.ts +15 -0
- package/dist/providers/model-recommender.d.ts.map +1 -0
- package/dist/providers/model-recommender.js +71 -0
- package/dist/providers/model-recommender.js.map +1 -0
- package/dist/providers/ollama.d.ts +22 -0
- package/dist/providers/ollama.d.ts.map +1 -0
- package/dist/providers/ollama.js +176 -0
- package/dist/providers/ollama.js.map +1 -0
- package/dist/providers/openai-compat.d.ts +23 -0
- package/dist/providers/openai-compat.d.ts.map +1 -0
- package/dist/providers/openai-compat.js +184 -0
- package/dist/providers/openai-compat.js.map +1 -0
- package/dist/providers/router.d.ts +11 -0
- package/dist/providers/router.d.ts.map +1 -0
- package/dist/providers/router.js +48 -0
- package/dist/providers/router.js.map +1 -0
- package/dist/scheduler/cron.d.ts +19 -0
- package/dist/scheduler/cron.d.ts.map +1 -0
- package/dist/scheduler/cron.js +64 -0
- package/dist/scheduler/cron.js.map +1 -0
- package/dist/schema/oad.d.ts +72 -72
- package/dist/skills/loader.d.ts +16 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +114 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/skills/matcher.d.ts +18 -0
- package/dist/skills/matcher.d.ts.map +1 -0
- package/dist/skills/matcher.js +70 -0
- package/dist/skills/matcher.js.map +1 -0
- package/dist/studio/agent-pool.d.ts +17 -0
- package/dist/studio/agent-pool.d.ts.map +1 -0
- package/dist/studio/agent-pool.js +35 -0
- package/dist/studio/agent-pool.js.map +1 -0
- package/dist/studio/assistant-tools.d.ts +4 -0
- package/dist/studio/assistant-tools.d.ts.map +1 -0
- package/dist/studio/assistant-tools.js +36 -0
- package/dist/studio/assistant-tools.js.map +1 -0
- package/dist/studio/index.d.ts +1 -0
- package/dist/studio/index.d.ts.map +1 -0
- package/dist/studio/index.js +3 -0
- package/dist/studio/index.js.map +1 -0
- package/dist/studio/server.d.ts +3 -0
- package/dist/studio/server.d.ts.map +1 -1
- package/dist/studio/server.js +156 -24
- package/dist/studio/server.js.map +1 -1
- package/dist/templates/index.d.ts +1 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +3 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/templates/roles/index.d.ts +4 -0
- package/dist/templates/roles/index.d.ts.map +1 -0
- package/dist/templates/roles/index.js +46 -0
- package/dist/templates/roles/index.js.map +1 -0
- package/dist/templates/template-provider.d.ts +16 -0
- package/dist/templates/template-provider.d.ts.map +1 -0
- package/dist/templates/template-provider.js +60 -0
- package/dist/templates/template-provider.js.map +1 -0
- package/dist/tools/builtin/definitions.d.ts +7 -0
- package/dist/tools/builtin/definitions.d.ts.map +1 -0
- package/dist/tools/builtin/definitions.js +60 -0
- package/dist/tools/builtin/definitions.js.map +1 -0
- package/dist/tools/execute-code.d.ts +20 -0
- package/dist/tools/execute-code.d.ts.map +1 -0
- package/dist/tools/execute-code.js +92 -0
- package/dist/tools/execute-code.js.map +1 -0
- package/dist/tools/hooks.d.ts +47 -0
- package/dist/tools/hooks.d.ts.map +1 -0
- package/dist/tools/hooks.js +69 -0
- package/dist/tools/hooks.js.map +1 -0
- package/dist/tools/index.d.ts +9 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +16 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/permission.d.ts +20 -0
- package/dist/tools/permission.d.ts.map +1 -0
- package/dist/tools/permission.js +35 -0
- package/dist/tools/permission.js.map +1 -0
- package/dist/tools/registry.d.ts +25 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +42 -0
- package/dist/tools/registry.js.map +1 -0
- 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.
|
|
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('
|
|
266
|
+
console.log(c.dim(' 正在检测系统和 Ollama...'));
|
|
109
267
|
console.log('');
|
|
110
|
-
const
|
|
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.
|
|
113
|
-
|
|
114
|
-
|
|
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
|
-
|
|
118
|
-
console.log(` • ${m}`);
|
|
119
|
-
}
|
|
304
|
+
console.log(` 当前已安装: ${c.dim('(无)')}`);
|
|
120
305
|
}
|
|
121
306
|
console.log('');
|
|
122
|
-
const
|
|
307
|
+
const hasRecommended = ollama.models.includes(rec.model);
|
|
123
308
|
const hasEmbed = ollama.models.some((m) => m.startsWith('nomic-embed-text'));
|
|
124
|
-
if (!
|
|
125
|
-
|
|
126
|
-
if (
|
|
127
|
-
console.log(c.dim('
|
|
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
|
-
|
|
132
|
-
if (
|
|
133
|
-
|
|
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:
|
|
140
|
-
embeddingModel:
|
|
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(
|
|
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(
|
|
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(
|
|
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:
|
|
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.
|
|
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
|
|
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
|
-
|
|
526
|
+
await runVerification(config);
|
|
527
|
+
printCompletion(agent.name, config);
|
|
298
528
|
}
|
|
299
529
|
finally {
|
|
300
530
|
rl.close();
|
package/dist/cli/setup.js.map
CHANGED
|
@@ -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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"}
|