azerclaw 1.0.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/azerclaw.ts +348 -18
- package/dist/bin/azerclaw.d.ts +14 -8
- package/dist/bin/azerclaw.d.ts.map +1 -1
- package/dist/bin/azerclaw.js +311 -17
- package/dist/bin/azerclaw.js.map +1 -1
- package/dist/src/cli/animations/fish.d.ts +10 -7
- package/dist/src/cli/animations/fish.d.ts.map +1 -1
- package/dist/src/cli/animations/fish.js +116 -122
- package/dist/src/cli/animations/fish.js.map +1 -1
- package/dist/src/cli/commands/chat.d.ts +16 -0
- package/dist/src/cli/commands/chat.d.ts.map +1 -1
- package/dist/src/cli/commands/chat.js +142 -33
- package/dist/src/cli/commands/chat.js.map +1 -1
- package/dist/src/cli/commands/config.d.ts +1 -0
- package/dist/src/cli/commands/config.d.ts.map +1 -1
- package/dist/src/cli/commands/config.js +28 -11
- package/dist/src/cli/commands/config.js.map +1 -1
- package/dist/src/cli/commands/onboard.d.ts +12 -1
- package/dist/src/cli/commands/onboard.d.ts.map +1 -1
- package/dist/src/cli/commands/onboard.js +384 -64
- package/dist/src/cli/commands/onboard.js.map +1 -1
- package/dist/src/cli/commands/run.d.ts.map +1 -1
- package/dist/src/cli/commands/run.js +0 -2
- package/dist/src/cli/commands/run.js.map +1 -1
- package/dist/src/cli/commands/settings.d.ts +31 -0
- package/dist/src/cli/commands/settings.d.ts.map +1 -0
- package/dist/src/cli/commands/settings.js +566 -0
- package/dist/src/cli/commands/settings.js.map +1 -0
- package/dist/src/cli/commands/tui.d.ts +3 -0
- package/dist/src/cli/commands/tui.d.ts.map +1 -1
- package/dist/src/cli/commands/tui.js +197 -69
- package/dist/src/cli/commands/tui.js.map +1 -1
- package/dist/src/config/manager.d.ts +110 -8
- package/dist/src/config/manager.d.ts.map +1 -1
- package/dist/src/config/manager.js +331 -10
- package/dist/src/config/manager.js.map +1 -1
- package/dist/src/config/schema.d.ts +303 -1
- package/dist/src/config/schema.d.ts.map +1 -1
- package/dist/src/config/schema.js +70 -7
- package/dist/src/config/schema.js.map +1 -1
- package/dist/src/core/runtime.d.ts +8 -0
- package/dist/src/core/runtime.d.ts.map +1 -1
- package/dist/src/core/runtime.js +36 -14
- package/dist/src/core/runtime.js.map +1 -1
- package/dist/src/core/server.d.ts +15 -0
- package/dist/src/core/server.d.ts.map +1 -0
- package/dist/src/core/server.js +127 -0
- package/dist/src/core/server.js.map +1 -0
- package/dist/src/providers/router.d.ts.map +1 -1
- package/dist/src/providers/router.js +16 -0
- package/dist/src/providers/router.js.map +1 -1
- package/dist/src/tools/advanced.d.ts.map +1 -1
- package/dist/src/tools/advanced.js +3 -0
- package/dist/src/tools/advanced.js.map +1 -1
- package/dist/src/tools/filesystem.d.ts.map +1 -1
- package/dist/src/tools/filesystem.js +4 -0
- package/dist/src/tools/filesystem.js.map +1 -1
- package/dist/src/tools/index.d.ts +9 -0
- package/dist/src/tools/index.d.ts.map +1 -0
- package/dist/src/tools/index.js +73 -0
- package/dist/src/tools/index.js.map +1 -0
- package/dist/src/tools/loader.d.ts +14 -0
- package/dist/src/tools/loader.d.ts.map +1 -0
- package/dist/src/tools/loader.js +115 -0
- package/dist/src/tools/loader.js.map +1 -0
- package/dist/src/tools/registry.d.ts +27 -0
- package/dist/src/tools/registry.d.ts.map +1 -1
- package/dist/src/tools/registry.js +80 -5
- package/dist/src/tools/registry.js.map +1 -1
- package/dist/src/tools/shell.d.ts.map +1 -1
- package/dist/src/tools/shell.js +1 -0
- package/dist/src/tools/shell.js.map +1 -1
- package/package.json +6 -4
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* 🐟 AZERCLAW Onboard Command
|
|
4
|
-
* Interactive first-time setup wizard
|
|
4
|
+
* Interactive first-time setup wizard (OpenClaw-style).
|
|
5
|
+
*
|
|
6
|
+
* Flow:
|
|
7
|
+
* 1. Auto-detect API keys from environment variables
|
|
8
|
+
* 2. If keys found → show what was detected, ask to confirm or configure more
|
|
9
|
+
* 3. If no keys → guide through provider selection + key entry
|
|
10
|
+
* 4. Select default provider + model
|
|
11
|
+
* 5. Configure fallback provider (optional)
|
|
12
|
+
* 6. Agent settings (name, permissions)
|
|
13
|
+
* 7. Project init prompt
|
|
14
|
+
* 8. Channel integrations (optional)
|
|
15
|
+
* 9. Summary + next steps
|
|
5
16
|
*/
|
|
6
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
18
|
exports.runOnboard = runOnboard;
|
|
@@ -9,63 +20,373 @@ const chalk = require('chalk');
|
|
|
9
20
|
const gradientString = require('gradient-string');
|
|
10
21
|
const Enquirer = require('enquirer');
|
|
11
22
|
const { getConfigManager } = require('../../config/manager');
|
|
12
|
-
const {
|
|
23
|
+
const { resetRouter } = require('../../providers/router');
|
|
24
|
+
const { fishSuccess, fishError, fishInfo, fishWarn, fishBox, FishThinkingAnimation } = require('../animations/fish');
|
|
25
|
+
const { PROVIDER_MODELS, PROVIDER_LABELS } = require('./settings');
|
|
13
26
|
const LUXE = gradientString(['#c084fc', '#818cf8', '#60a5fa', '#34d399']);
|
|
14
27
|
const OCEAN = gradientString(['#0ea5e9', '#06b6d4', '#14b8a6']);
|
|
28
|
+
const BLOOD = gradientString(['#7f1d1d', '#ef4444', '#dc2626', '#b91c1c']);
|
|
15
29
|
const PROVIDERS = [
|
|
16
|
-
{ name: 'OpenAI', value: 'openai', hint: 'GPT-4o, GPT-4.1, o3, o4-mini', keyPrefix: 'sk-' },
|
|
17
|
-
{ name: 'Anthropic', value: 'anthropic', hint: 'Claude Opus 4, Sonnet 4, Haiku', keyPrefix: 'sk-ant-' },
|
|
18
|
-
{ name: 'Google Gemini', value: 'google', hint: 'Gemini 2.5 Pro/Flash', keyPrefix: 'AI' },
|
|
19
|
-
{ name: 'Groq', value: 'groq', hint: 'Llama 3.3, Mixtral (fast inference)', keyPrefix: 'gsk_' },
|
|
20
|
-
{ name: 'DeepSeek', value: 'deepseek', hint: 'DeepSeek V3, R1', keyPrefix: 'sk-' },
|
|
21
|
-
{ name: 'OpenRouter', value: 'openrouter', hint: '100+ models via one key', keyPrefix: 'sk-or-' },
|
|
22
|
-
{ name: 'Ollama (Local)', value: 'ollama', hint: 'Free, runs on your machine', keyPrefix: '' },
|
|
23
|
-
{ name: '
|
|
30
|
+
{ name: 'OpenAI', value: 'openai', hint: 'GPT-4o, GPT-4.1, o3, o4-mini', keyPrefix: 'sk-', envVar: 'OPENAI_API_KEY', local: false },
|
|
31
|
+
{ name: 'Anthropic', value: 'anthropic', hint: 'Claude Opus 4, Sonnet 4, Haiku', keyPrefix: 'sk-ant-', envVar: 'ANTHROPIC_API_KEY', local: false },
|
|
32
|
+
{ name: 'Google Gemini', value: 'google', hint: 'Gemini 2.5 Pro/Flash', keyPrefix: 'AI', envVar: 'GOOGLE_API_KEY', local: false },
|
|
33
|
+
{ name: 'Groq', value: 'groq', hint: 'Llama 3.3, Mixtral (fast inference)', keyPrefix: 'gsk_', envVar: 'GROQ_API_KEY', local: false },
|
|
34
|
+
{ name: 'DeepSeek', value: 'deepseek', hint: 'DeepSeek V3, R1', keyPrefix: 'sk-', envVar: '', local: false },
|
|
35
|
+
{ name: 'OpenRouter', value: 'openrouter', hint: '100+ models via one key', keyPrefix: 'sk-or-', envVar: 'OPENROUTER_API_KEY', local: false },
|
|
36
|
+
{ name: 'Ollama (Local)', value: 'ollama', hint: 'Free, runs on your machine — port 11434', keyPrefix: '', envVar: '', local: true },
|
|
37
|
+
{ name: 'LM Studio (Local)', value: 'lmstudio', hint: 'Free, runs on your machine — port 1234', keyPrefix: '', envVar: '', local: true },
|
|
38
|
+
{ name: 'LocalAI (Local)', value: 'localai', hint: 'Free, runs on your machine — port 8080', keyPrefix: '', envVar: '', local: true },
|
|
39
|
+
{ name: 'Custom (OpenAI-compatible)', value: 'custom', hint: 'Any endpoint', keyPrefix: '', envVar: '', local: false },
|
|
24
40
|
];
|
|
41
|
+
// ─── Local LLM Server Detection ─────────────────────────────────
|
|
42
|
+
const LOCAL_SERVERS = [
|
|
43
|
+
{ name: 'Ollama', provider: 'ollama', url: 'http://localhost:11434', testPath: '/api/tags' },
|
|
44
|
+
{ name: 'LM Studio', provider: 'lmstudio', url: 'http://localhost:1234', testPath: '/v1/models' },
|
|
45
|
+
{ name: 'LocalAI', provider: 'localai', url: 'http://localhost:8080', testPath: '/v1/models' },
|
|
46
|
+
];
|
|
47
|
+
async function detectLocalServers() {
|
|
48
|
+
const detected = [];
|
|
49
|
+
for (const server of LOCAL_SERVERS) {
|
|
50
|
+
try {
|
|
51
|
+
const controller = new AbortController();
|
|
52
|
+
const timeout = setTimeout(() => controller.abort(), 2000);
|
|
53
|
+
const res = await fetch(`${server.url}${server.testPath}`, { signal: controller.signal });
|
|
54
|
+
clearTimeout(timeout);
|
|
55
|
+
if (res.ok) {
|
|
56
|
+
const data = await res.json();
|
|
57
|
+
let models = [];
|
|
58
|
+
// Extract model names based on API format
|
|
59
|
+
if (data.models) {
|
|
60
|
+
// Ollama format
|
|
61
|
+
models = data.models.map((m) => m.name || m.model || '').filter(Boolean).slice(0, 5);
|
|
62
|
+
}
|
|
63
|
+
else if (data.data) {
|
|
64
|
+
// OpenAI-compatible format (LM Studio, LocalAI)
|
|
65
|
+
models = data.data.map((m) => m.id || '').filter(Boolean).slice(0, 5);
|
|
66
|
+
}
|
|
67
|
+
detected.push({ ...server, models });
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch { /* server not running, skip */ }
|
|
71
|
+
}
|
|
72
|
+
return detected;
|
|
73
|
+
}
|
|
74
|
+
function maskKey(key) {
|
|
75
|
+
if (!key || key.length < 8)
|
|
76
|
+
return '****';
|
|
77
|
+
return `${key.slice(0, 4)}${'*'.repeat(Math.min(12, key.length - 8))}${key.slice(-4)}`;
|
|
78
|
+
}
|
|
25
79
|
async function runOnboard() {
|
|
26
80
|
const config = getConfigManager();
|
|
27
81
|
console.log('');
|
|
28
|
-
fishBox('🐟 AZERCLAW Setup
|
|
29
|
-
|
|
30
|
-
chalk.
|
|
31
|
-
|
|
82
|
+
fishBox('🐟 AZERCLAW Setup', [
|
|
83
|
+
'',
|
|
84
|
+
chalk.hex('#e2e8f0')(' Welcome to AZERCLAW — your AI, your keys, your way.'),
|
|
85
|
+
'',
|
|
86
|
+
chalk.dim(' Your keys are stored locally at ~/.azerclaw/settings.json'),
|
|
87
|
+
chalk.dim(' Nothing is ever sent to our servers. Zero telemetry.'),
|
|
88
|
+
'',
|
|
89
|
+
LUXE(' BYOK — Bring Your Own Key — Zero platform fees'),
|
|
90
|
+
'',
|
|
91
|
+
]);
|
|
92
|
+
console.log('');
|
|
93
|
+
// ─── Step 1: Auto-detect environment variables ────────────
|
|
94
|
+
const detectedProviders = config.resolveEnvOverrides();
|
|
95
|
+
// ─── Step 1b: Auto-detect local LLM servers ───────────────
|
|
96
|
+
const localThinking = new FishThinkingAnimation('Scanning for local LLM servers');
|
|
97
|
+
localThinking.start();
|
|
98
|
+
const localServers = await detectLocalServers();
|
|
99
|
+
localThinking.stop();
|
|
100
|
+
if (localServers.length > 0) {
|
|
101
|
+
fishBox('🖥️ Local LLM Servers Detected', [
|
|
102
|
+
'',
|
|
103
|
+
...localServers.map(s => {
|
|
104
|
+
const models = s.models && s.models.length > 0
|
|
105
|
+
? chalk.dim(`models: ${s.models.join(', ')}`)
|
|
106
|
+
: chalk.dim('running');
|
|
107
|
+
return ` ${chalk.hex('#34d399')('●')} ${chalk.hex('#e2e8f0')(s.name.padEnd(18))} ${models}`;
|
|
108
|
+
}),
|
|
109
|
+
'',
|
|
110
|
+
chalk.dim(' These are free, local models — no API key needed.'),
|
|
111
|
+
'',
|
|
112
|
+
]);
|
|
113
|
+
console.log('');
|
|
114
|
+
const useLocal = await new Enquirer.Confirm({
|
|
115
|
+
name: 'useLocal',
|
|
116
|
+
message: OCEAN('Enable detected local LLM servers?'),
|
|
117
|
+
initial: true,
|
|
118
|
+
}).run().catch(() => true);
|
|
119
|
+
if (useLocal) {
|
|
120
|
+
for (const server of localServers) {
|
|
121
|
+
const baseUrl = server.provider === 'ollama' ? server.url : `${server.url}/v1`;
|
|
122
|
+
config.set(`ai.providers.${server.provider}.baseUrl`, baseUrl);
|
|
123
|
+
config.set(`ai.providers.${server.provider}.enabled`, true);
|
|
124
|
+
// Set default model if we detected any
|
|
125
|
+
if (server.models && server.models.length > 0) {
|
|
126
|
+
config.set(`ai.providers.${server.provider}.defaultModel`, server.models[0]);
|
|
127
|
+
}
|
|
128
|
+
if (!detectedProviders.includes(server.provider)) {
|
|
129
|
+
detectedProviders.push(server.provider);
|
|
130
|
+
}
|
|
131
|
+
fishSuccess(`${server.name} enabled at ${server.url}`);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
if (detectedProviders.length > 0) {
|
|
136
|
+
// Only show API key detection box for non-local providers
|
|
137
|
+
const cloudProviders = detectedProviders.filter((p) => !['ollama', 'lmstudio', 'localai'].includes(p));
|
|
138
|
+
if (cloudProviders.length > 0) {
|
|
139
|
+
fishBox('🔍 Auto-Detected API Keys', [
|
|
140
|
+
'',
|
|
141
|
+
...cloudProviders.map((p) => {
|
|
142
|
+
const prov = config.getAll().ai.providers[p];
|
|
143
|
+
const label = PROVIDER_LABELS[p] || p;
|
|
144
|
+
return ` ${chalk.hex('#34d399')('●')} ${chalk.hex('#e2e8f0')(label.padEnd(18))} ${chalk.dim(maskKey(prov.apiKey))}`;
|
|
145
|
+
}),
|
|
146
|
+
'',
|
|
147
|
+
chalk.dim(' Detected from your environment variables.'),
|
|
148
|
+
'',
|
|
149
|
+
]);
|
|
150
|
+
console.log('');
|
|
151
|
+
}
|
|
152
|
+
// Ask if they want to use detected keys or configure manually
|
|
153
|
+
const useDetected = await new Enquirer.Confirm({
|
|
154
|
+
name: 'useDetected',
|
|
155
|
+
message: OCEAN('Use these detected API keys?'),
|
|
156
|
+
initial: true,
|
|
157
|
+
}).run().catch(() => true);
|
|
158
|
+
if (useDetected) {
|
|
159
|
+
// Set the first detected as default
|
|
160
|
+
if (detectedProviders.length > 1) {
|
|
161
|
+
const defaultProvider = await new Enquirer.Select({
|
|
162
|
+
name: 'defaultProvider',
|
|
163
|
+
message: OCEAN('Select your primary AI provider:'),
|
|
164
|
+
choices: detectedProviders.map((p) => ({
|
|
165
|
+
name: p,
|
|
166
|
+
message: `${PROVIDER_LABELS[p] || p}`,
|
|
167
|
+
hint: chalk.dim(config.getAll().ai.providers[p]?.defaultModel || ''),
|
|
168
|
+
})),
|
|
169
|
+
}).run().catch(() => detectedProviders[0]);
|
|
170
|
+
config.set('ai.defaultProvider', defaultProvider);
|
|
171
|
+
}
|
|
172
|
+
// Ask about fallback
|
|
173
|
+
if (detectedProviders.length > 1) {
|
|
174
|
+
await configureFallback(config, detectedProviders);
|
|
175
|
+
}
|
|
176
|
+
// Ask if they want to add more providers
|
|
177
|
+
const addMore = await new Enquirer.Confirm({
|
|
178
|
+
name: 'addMore',
|
|
179
|
+
message: chalk.dim('Would you like to configure additional providers?'),
|
|
180
|
+
initial: false,
|
|
181
|
+
}).run().catch(() => false);
|
|
182
|
+
if (addMore) {
|
|
183
|
+
await configureProviders(config, detectedProviders);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
await configureProviders(config, []);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
// No env keys detected — full manual setup
|
|
192
|
+
fishInfo('No API keys detected in environment. Let\'s set them up.');
|
|
193
|
+
console.log('');
|
|
194
|
+
await configureProviders(config, []);
|
|
195
|
+
}
|
|
196
|
+
// ─── Step 2: Select default model ─────────────────────────
|
|
197
|
+
const defaultProvider = config.getAll().ai.defaultProvider;
|
|
198
|
+
const knownModels = PROVIDER_MODELS[defaultProvider] || [];
|
|
199
|
+
if (knownModels.length > 0) {
|
|
200
|
+
console.log('');
|
|
201
|
+
const currentModel = config.getAll().ai.providers[defaultProvider]?.defaultModel;
|
|
202
|
+
const selectedModel = await new Enquirer.Select({
|
|
203
|
+
name: 'model',
|
|
204
|
+
message: OCEAN(`Select default model for ${PROVIDER_LABELS[defaultProvider] || defaultProvider}:`),
|
|
205
|
+
choices: [
|
|
206
|
+
...knownModels.map((m) => ({
|
|
207
|
+
name: m.id,
|
|
208
|
+
message: `${m.name.padEnd(25)} ${chalk.dim(m.hint)}`,
|
|
209
|
+
hint: m.id === currentModel ? chalk.hex('#34d399')(' ● current') : '',
|
|
210
|
+
})),
|
|
211
|
+
{ name: '__keep__', message: chalk.dim(`Keep current (${currentModel})`), hint: '' },
|
|
212
|
+
],
|
|
213
|
+
}).run().catch(() => '__keep__');
|
|
214
|
+
if (selectedModel !== '__keep__') {
|
|
215
|
+
config.setProviderModel(selectedModel);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
// ─── Step 3: Agent permissions ─────────────────────────────
|
|
219
|
+
console.log('');
|
|
220
|
+
fishBox('🔒 Permissions', [
|
|
221
|
+
chalk.dim(' Choose which actions require your approval.'),
|
|
222
|
+
]);
|
|
223
|
+
const permMode = await new Enquirer.Select({
|
|
224
|
+
name: 'permMode',
|
|
225
|
+
message: OCEAN('Tool approval mode:'),
|
|
226
|
+
choices: [
|
|
227
|
+
{ name: 'safe', message: `${chalk.hex('#34d399')('Safe')} — Approve shell commands and file writes`, hint: chalk.dim('recommended') },
|
|
228
|
+
{ name: 'turbo', message: `${chalk.hex('#fbbf24')('Turbo')} — Auto-approve everything`, hint: chalk.dim('yolo mode') },
|
|
229
|
+
{ name: 'strict', message: `${chalk.hex('#60a5fa')('Strict')} — Approve all tool calls`, hint: chalk.dim('maximum control') },
|
|
230
|
+
],
|
|
231
|
+
}).run().catch(() => 'safe');
|
|
232
|
+
switch (permMode) {
|
|
233
|
+
case 'turbo':
|
|
234
|
+
config.set('agent.approvalRequired', false);
|
|
235
|
+
config.set('permissions.autoApprove', ['run_shell', 'write_file', 'read_file', 'list_directory', 'search_files']);
|
|
236
|
+
config.set('permissions.requireApproval', []);
|
|
237
|
+
break;
|
|
238
|
+
case 'strict':
|
|
239
|
+
config.set('agent.approvalRequired', true);
|
|
240
|
+
config.set('permissions.autoApprove', []);
|
|
241
|
+
config.set('permissions.requireApproval', ['run_shell', 'write_file', 'read_file', 'list_directory', 'search_files']);
|
|
242
|
+
break;
|
|
243
|
+
case 'safe':
|
|
244
|
+
default:
|
|
245
|
+
config.set('agent.approvalRequired', true);
|
|
246
|
+
config.set('permissions.autoApprove', ['read_file', 'list_directory', 'search_files']);
|
|
247
|
+
config.set('permissions.requireApproval', ['run_shell', 'write_file']);
|
|
248
|
+
break;
|
|
249
|
+
}
|
|
250
|
+
// ─── Step 4: Project initialization prompt ────────────────
|
|
251
|
+
console.log('');
|
|
252
|
+
if (!config.hasProjectSettings()) {
|
|
253
|
+
const initProject = await new Enquirer.Confirm({
|
|
254
|
+
name: 'initProject',
|
|
255
|
+
message: OCEAN('Initialize AZERCLAW for this project? (creates AZERCLAW.md + .azerclaw/)'),
|
|
256
|
+
initial: true,
|
|
257
|
+
}).run().catch(() => false);
|
|
258
|
+
if (initProject) {
|
|
259
|
+
config.initProject();
|
|
260
|
+
fishSuccess('Project initialized — edit AZERCLAW.md to add context for the AI agent.');
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
fishInfo('Project settings already configured (.azerclaw/ found).');
|
|
265
|
+
}
|
|
266
|
+
// ─── Step 5: Optional channel integrations ────────────────
|
|
267
|
+
console.log('');
|
|
268
|
+
const configureChannels = await new Enquirer.Confirm({
|
|
269
|
+
name: 'configureChannels',
|
|
270
|
+
message: chalk.dim('Configure Discord, Telegram, or Slack integrations? (optional)'),
|
|
271
|
+
initial: false,
|
|
272
|
+
}).run().catch(() => false);
|
|
273
|
+
if (configureChannels) {
|
|
274
|
+
const channels = await new Enquirer.MultiSelect({
|
|
275
|
+
name: 'channels',
|
|
276
|
+
message: 'Select channels to configure:',
|
|
277
|
+
choices: ['Discord', 'Telegram', 'Slack'],
|
|
278
|
+
}).run().catch(() => []);
|
|
279
|
+
for (const channel of channels) {
|
|
280
|
+
const channelKey = channel.toLowerCase();
|
|
281
|
+
const token = await new Enquirer.Password({
|
|
282
|
+
message: `${channel} Bot Token:`,
|
|
283
|
+
}).run().catch(() => '');
|
|
284
|
+
if (token) {
|
|
285
|
+
config.set(`channels.${channelKey}.token`, token);
|
|
286
|
+
config.set(`channels.${channelKey}.enabled`, true);
|
|
287
|
+
fishSuccess(`${channel} configured`);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
// ─── Finalize ─────────────────────────────────────────────
|
|
292
|
+
config.completeFirstRun();
|
|
293
|
+
resetRouter();
|
|
294
|
+
const status = config.getStatus();
|
|
295
|
+
const enabledProviders = config.getEnabledProviders();
|
|
296
|
+
console.log('');
|
|
297
|
+
fishBox('✅ Setup Complete', [
|
|
298
|
+
'',
|
|
299
|
+
` ${chalk.hex('#818cf8')('Provider:')} ${chalk.hex('#34d399')(PROVIDER_LABELS[status.provider] || status.provider)}`,
|
|
300
|
+
` ${chalk.hex('#818cf8')('Model:')} ${chalk.hex('#34d399')(status.model)}`,
|
|
301
|
+
` ${chalk.hex('#818cf8')('Fallback:')} ${chalk.hex('#34d399')(status.fallback || chalk.dim('none'))}`,
|
|
302
|
+
` ${chalk.hex('#818cf8')('Auth:')} ${chalk.hex('#34d399')(status.authRoute === 'env_var' ? 'Environment variable' : status.authRoute === 'api_key' ? 'Config file' : 'Not configured')}`,
|
|
303
|
+
'',
|
|
304
|
+
chalk.dim(' Get started:'),
|
|
305
|
+
chalk.hex('#818cf8')(' azerclaw ') + chalk.dim('— Launch interactive session'),
|
|
306
|
+
chalk.hex('#818cf8')(' azerclaw run "task" ') + chalk.dim('— Execute a task directly'),
|
|
307
|
+
chalk.hex('#818cf8')(' azerclaw config ') + chalk.dim('— View/change settings'),
|
|
308
|
+
chalk.hex('#818cf8')(' azerclaw doctor ') + chalk.dim('— Health check'),
|
|
309
|
+
'',
|
|
310
|
+
chalk.dim(' In-session commands:'),
|
|
311
|
+
chalk.hex('#818cf8')(' /model ') + chalk.dim('— Switch model'),
|
|
312
|
+
chalk.hex('#818cf8')(' /provider ') + chalk.dim('— Switch provider'),
|
|
313
|
+
chalk.hex('#818cf8')(' /config ') + chalk.dim('— Settings menu'),
|
|
314
|
+
chalk.hex('#818cf8')(' /status ') + chalk.dim('— Current status'),
|
|
315
|
+
chalk.hex('#818cf8')(' /help ') + chalk.dim('— All commands'),
|
|
32
316
|
'',
|
|
33
|
-
LUXE('BYOK — Bring Your Own Key — Zero platform fees'),
|
|
34
317
|
]);
|
|
35
318
|
console.log('');
|
|
36
|
-
|
|
37
|
-
|
|
319
|
+
}
|
|
320
|
+
// ─── Helper: Configure Providers ────────────────────────────────
|
|
321
|
+
async function configureProviders(config, alreadyConfigured) {
|
|
322
|
+
const availableProviders = PROVIDERS.filter(p => !alreadyConfigured.includes(p.value));
|
|
323
|
+
const selected = await new Enquirer.MultiSelect({
|
|
38
324
|
name: 'providers',
|
|
39
325
|
message: OCEAN('Which AI providers would you like to configure?'),
|
|
40
|
-
choices:
|
|
326
|
+
choices: availableProviders.map((p) => ({
|
|
41
327
|
name: p.value,
|
|
42
328
|
message: `${p.name}`,
|
|
43
329
|
hint: chalk.dim(p.hint),
|
|
44
330
|
})),
|
|
45
331
|
result(names) { return names; },
|
|
46
|
-
}).run().catch(() =>
|
|
47
|
-
if (!
|
|
48
|
-
|
|
332
|
+
}).run().catch(() => []);
|
|
333
|
+
if (!selected || selected.length === 0) {
|
|
334
|
+
if (alreadyConfigured.length === 0) {
|
|
335
|
+
fishWarn('No providers configured. You can add them later with: azerclaw config provider');
|
|
336
|
+
}
|
|
49
337
|
return;
|
|
50
338
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const provider = PROVIDERS.find(p => p.value === providerValue);
|
|
339
|
+
for (const providerValue of selected) {
|
|
340
|
+
const provider = PROVIDERS.find((p) => p.value === providerValue);
|
|
54
341
|
if (!provider)
|
|
55
342
|
continue;
|
|
56
343
|
console.log('');
|
|
57
344
|
console.log(LUXE(` ─── ${provider.name} ───`));
|
|
58
345
|
if (provider.value === 'ollama') {
|
|
59
|
-
const
|
|
346
|
+
const baseUrl = await new Enquirer.Input({
|
|
60
347
|
name: 'baseUrl',
|
|
61
348
|
message: 'Ollama base URL:',
|
|
62
349
|
initial: 'http://localhost:11434',
|
|
63
|
-
}).run().
|
|
350
|
+
}).run().catch(() => 'http://localhost:11434');
|
|
64
351
|
config.set(`ai.providers.ollama.baseUrl`, baseUrl);
|
|
65
352
|
config.set(`ai.providers.ollama.enabled`, true);
|
|
66
353
|
fishSuccess(`Ollama configured at ${baseUrl}`);
|
|
67
354
|
continue;
|
|
68
355
|
}
|
|
356
|
+
if (provider.value === 'lmstudio') {
|
|
357
|
+
const baseUrl = await new Enquirer.Input({
|
|
358
|
+
name: 'baseUrl',
|
|
359
|
+
message: 'LM Studio base URL:',
|
|
360
|
+
initial: 'http://localhost:1234/v1',
|
|
361
|
+
}).run().catch(() => 'http://localhost:1234/v1');
|
|
362
|
+
config.set(`ai.providers.lmstudio.baseUrl`, baseUrl);
|
|
363
|
+
config.set(`ai.providers.lmstudio.enabled`, true);
|
|
364
|
+
const model = await new Enquirer.Input({
|
|
365
|
+
message: 'Default model name (or leave blank for auto):',
|
|
366
|
+
initial: '',
|
|
367
|
+
}).run().catch(() => '');
|
|
368
|
+
if (model)
|
|
369
|
+
config.set(`ai.providers.lmstudio.defaultModel`, model);
|
|
370
|
+
fishSuccess(`LM Studio configured at ${baseUrl}`);
|
|
371
|
+
continue;
|
|
372
|
+
}
|
|
373
|
+
if (provider.value === 'localai') {
|
|
374
|
+
const baseUrl = await new Enquirer.Input({
|
|
375
|
+
name: 'baseUrl',
|
|
376
|
+
message: 'LocalAI base URL:',
|
|
377
|
+
initial: 'http://localhost:8080/v1',
|
|
378
|
+
}).run().catch(() => 'http://localhost:8080/v1');
|
|
379
|
+
config.set(`ai.providers.localai.baseUrl`, baseUrl);
|
|
380
|
+
config.set(`ai.providers.localai.enabled`, true);
|
|
381
|
+
const model = await new Enquirer.Input({
|
|
382
|
+
message: 'Default model name (or leave blank for auto):',
|
|
383
|
+
initial: '',
|
|
384
|
+
}).run().catch(() => '');
|
|
385
|
+
if (model)
|
|
386
|
+
config.set(`ai.providers.localai.defaultModel`, model);
|
|
387
|
+
fishSuccess(`LocalAI configured at ${baseUrl}`);
|
|
388
|
+
continue;
|
|
389
|
+
}
|
|
69
390
|
if (provider.value === 'custom') {
|
|
70
391
|
const baseUrl = await new Enquirer.Input({
|
|
71
392
|
message: 'API Base URL:',
|
|
@@ -100,51 +421,50 @@ async function runOnboard() {
|
|
|
100
421
|
fishError(`${provider.name} skipped`);
|
|
101
422
|
}
|
|
102
423
|
}
|
|
103
|
-
// Select default provider
|
|
104
|
-
const
|
|
105
|
-
if (
|
|
424
|
+
// Select default provider if multiple are now enabled
|
|
425
|
+
const allEnabled = config.getEnabledProviders();
|
|
426
|
+
if (allEnabled.length > 1) {
|
|
106
427
|
console.log('');
|
|
107
|
-
const
|
|
428
|
+
const defaultProvider = await new Enquirer.Select({
|
|
108
429
|
name: 'defaultProvider',
|
|
109
|
-
message: OCEAN('Select your
|
|
110
|
-
choices:
|
|
430
|
+
message: OCEAN('Select your primary AI provider:'),
|
|
431
|
+
choices: allEnabled.map((p) => ({
|
|
111
432
|
name: p.name,
|
|
112
|
-
message:
|
|
433
|
+
message: PROVIDER_LABELS[p.name] || p.name,
|
|
113
434
|
})),
|
|
114
|
-
}).run().
|
|
435
|
+
}).run().catch(() => allEnabled[0].name);
|
|
115
436
|
config.set('ai.defaultProvider', defaultProvider);
|
|
437
|
+
// Configure fallback
|
|
438
|
+
await configureFallback(config, allEnabled.map((p) => p.name));
|
|
116
439
|
}
|
|
117
|
-
// Agent settings
|
|
118
|
-
console.log('');
|
|
119
|
-
fishBox('⚙️ Agent Settings', [
|
|
120
|
-
chalk.dim('Configure how your AI agent behaves'),
|
|
121
|
-
]);
|
|
122
|
-
const { agentName } = await new Enquirer.Input({
|
|
123
|
-
name: 'agentName',
|
|
124
|
-
message: 'Agent name:',
|
|
125
|
-
initial: 'Azerclaw',
|
|
126
|
-
}).run().then((val) => ({ agentName: val })).catch(() => ({ agentName: 'Azerclaw' }));
|
|
127
|
-
config.set('agent.name', agentName);
|
|
128
|
-
config.completeFirstRun();
|
|
129
|
-
// Final summary
|
|
130
|
-
console.log('');
|
|
131
|
-
fishBox('✅ Setup Complete', [
|
|
132
|
-
LUXE(`Agent: ${agentName}`),
|
|
133
|
-
chalk.hex('#60a5fa')(`Providers: ${enabledProviders.map((p) => p.name).join(', ')}`),
|
|
134
|
-
chalk.hex('#34d399')(`Default: ${config.getAll().ai.defaultProvider}`),
|
|
135
|
-
'',
|
|
136
|
-
chalk.dim('Get started:'),
|
|
137
|
-
chalk.hex('#818cf8')(' azerclaw chat — Interactive chat'),
|
|
138
|
-
chalk.hex('#818cf8')(' azerclaw run — Execute a task'),
|
|
139
|
-
chalk.hex('#818cf8')(' azerclaw tui — Premium terminal UI'),
|
|
140
|
-
chalk.hex('#818cf8')(' azerclaw doctor — Health check'),
|
|
141
|
-
]);
|
|
142
|
-
console.log('');
|
|
143
440
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
const
|
|
147
|
-
|
|
441
|
+
// ─── Helper: Configure Fallback ─────────────────────────────────
|
|
442
|
+
async function configureFallback(config, enabledProviders) {
|
|
443
|
+
const defaultProvider = config.getAll().ai.defaultProvider;
|
|
444
|
+
const fallbackCandidates = enabledProviders.filter((p) => p !== defaultProvider);
|
|
445
|
+
if (fallbackCandidates.length === 0)
|
|
446
|
+
return;
|
|
447
|
+
console.log('');
|
|
448
|
+
const configureFb = await new Enquirer.Confirm({
|
|
449
|
+
name: 'configureFallback',
|
|
450
|
+
message: OCEAN('Configure a fallback provider? (used when primary fails)'),
|
|
451
|
+
initial: true,
|
|
452
|
+
}).run().catch(() => false);
|
|
453
|
+
if (!configureFb)
|
|
454
|
+
return;
|
|
455
|
+
const fallbackProvider = await new Enquirer.Select({
|
|
456
|
+
name: 'fallback',
|
|
457
|
+
message: OCEAN('Select fallback provider:'),
|
|
458
|
+
choices: fallbackCandidates.map((p) => ({
|
|
459
|
+
name: p,
|
|
460
|
+
message: `${PROVIDER_LABELS[p] || p}`,
|
|
461
|
+
hint: chalk.dim(config.getAll().ai.providers[p]?.defaultModel || ''),
|
|
462
|
+
})),
|
|
463
|
+
}).run().catch(() => fallbackCandidates[0]);
|
|
464
|
+
// Put fallback provider right after the default in the chain
|
|
465
|
+
const chain = [defaultProvider, fallbackProvider, ...enabledProviders.filter((p) => p !== defaultProvider && p !== fallbackProvider)];
|
|
466
|
+
config.setFallbackChain(chain);
|
|
467
|
+
fishSuccess(`Fallback: ${PROVIDER_LABELS[fallbackProvider] || fallbackProvider}`);
|
|
148
468
|
}
|
|
149
469
|
module.exports = { runOnboard };
|
|
150
470
|
//# sourceMappingURL=onboard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../../../src/cli/commands/onboard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../../../src/cli/commands/onboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/run.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/run.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDzG"}
|
|
@@ -8,12 +8,10 @@ exports.runTask = runTask;
|
|
|
8
8
|
const chalk = require('chalk');
|
|
9
9
|
const gradientString = require('gradient-string');
|
|
10
10
|
const { AgentRuntime } = require('../../core/runtime');
|
|
11
|
-
const { registerAllTools } = require('./chat');
|
|
12
11
|
const { FishThinkingAnimation, fishSuccess, fishError, fishBox } = require('../animations/fish');
|
|
13
12
|
const LUXE = gradientString(['#c084fc', '#818cf8', '#60a5fa', '#34d399']);
|
|
14
13
|
const OCEAN = gradientString(['#0ea5e9', '#06b6d4', '#14b8a6']);
|
|
15
14
|
async function runTask(task, options) {
|
|
16
|
-
registerAllTools();
|
|
17
15
|
const thinking = new FishThinkingAnimation('Working');
|
|
18
16
|
let isThinking = false;
|
|
19
17
|
let toolCount = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/cli/commands/run.ts"],"names":[],"mappings":";AAAA;;;GAGG;;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/cli/commands/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 🐟 AZERCLAW Interactive Settings
|
|
3
|
+
* Mid-session provider, model, API key, and config switching.
|
|
4
|
+
*
|
|
5
|
+
* Provides all in-session slash commands:
|
|
6
|
+
* /config — Tabbed interactive settings menu
|
|
7
|
+
* /model — Switch model (with model picker)
|
|
8
|
+
* /provider — Switch provider
|
|
9
|
+
* /apikey — Change an API key
|
|
10
|
+
* /status — Show current status
|
|
11
|
+
* /init — Initialize project settings
|
|
12
|
+
* /compact — Compact conversation context
|
|
13
|
+
* /fallback — Configure fallback provider
|
|
14
|
+
*
|
|
15
|
+
* Also provides CLI helpers for non-interactive usage:
|
|
16
|
+
* azerclaw config provider [name]
|
|
17
|
+
* azerclaw config model [id]
|
|
18
|
+
* azerclaw config apikey [provider] [key]
|
|
19
|
+
*/
|
|
20
|
+
export declare function showStatus(): void;
|
|
21
|
+
export declare function interactiveSettingsMenu(): Promise<void>;
|
|
22
|
+
export declare function interactiveProviderSwitch(): Promise<boolean>;
|
|
23
|
+
export declare function interactiveModelSwitch(): Promise<boolean>;
|
|
24
|
+
export declare function interactiveApiKeyChange(): Promise<boolean>;
|
|
25
|
+
export declare function interactiveFallbackConfig(): Promise<boolean>;
|
|
26
|
+
export declare function initProject(): void;
|
|
27
|
+
export declare function cliSwitchProvider(providerName: string): void;
|
|
28
|
+
export declare function cliSwitchModel(modelId: string, providerName?: string): void;
|
|
29
|
+
export declare function cliSetApiKey(providerName: string, apiKey: string): void;
|
|
30
|
+
export declare function cliSetFallback(providerName: string): void;
|
|
31
|
+
//# sourceMappingURL=settings.d.ts.map
|