@keyoku/openclaw 1.1.0 → 1.2.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/dist/init.d.ts +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +252 -121
- package/dist/init.js.map +1 -1
- package/package.json +3 -3
package/dist/init.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* 2. Downloads keyoku-engine binary if missing
|
|
8
8
|
* 3. Registers plugin in openclaw.json (with full config defaults)
|
|
9
9
|
* 4. Configures DB path (~/.keyoku/data/keyoku.db)
|
|
10
|
-
* 5. Sets up LLM provider + API key (
|
|
10
|
+
* 5. Sets up LLM provider + API key (embeddings auto-match extraction provider)
|
|
11
11
|
* 6. Sets autonomy level (observe/suggest/act)
|
|
12
12
|
* 7. Auto-detects timezone, configures quiet hours
|
|
13
13
|
* 8. Installs SKILL.md (LLM guidebook) to workspace
|
package/dist/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA0hBH;;GAEG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAiL1C"}
|
package/dist/init.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* 2. Downloads keyoku-engine binary if missing
|
|
8
8
|
* 3. Registers plugin in openclaw.json (with full config defaults)
|
|
9
9
|
* 4. Configures DB path (~/.keyoku/data/keyoku.db)
|
|
10
|
-
* 5. Sets up LLM provider + API key (
|
|
10
|
+
* 5. Sets up LLM provider + API key (embeddings auto-match extraction provider)
|
|
11
11
|
* 6. Sets autonomy level (observe/suggest/act)
|
|
12
12
|
* 7. Auto-detects timezone, configures quiet hours
|
|
13
13
|
* 8. Installs SKILL.md (LLM guidebook) to workspace
|
|
@@ -28,15 +28,47 @@ const OPENCLAW_CONFIG_PATH = join(HOME, '.openclaw', 'openclaw.json');
|
|
|
28
28
|
const KEYOKU_BIN_DIR = join(HOME, '.keyoku', 'bin');
|
|
29
29
|
const KEYOKU_BIN_PATH = join(KEYOKU_BIN_DIR, 'keyoku');
|
|
30
30
|
const OPENCLAW_MEMORY_DIR = join(HOME, '.openclaw', 'memory');
|
|
31
|
+
// ── ANSI Colors ──────────────────────────────────────────────────────────
|
|
32
|
+
const c = {
|
|
33
|
+
reset: '\x1b[0m',
|
|
34
|
+
bold: '\x1b[1m',
|
|
35
|
+
dim: '\x1b[2m',
|
|
36
|
+
// Indigo/purple brand palette
|
|
37
|
+
indigo: '\x1b[38;2;99;102;241m', // #6366f1
|
|
38
|
+
purple: '\x1b[38;2;167;139;250m', // #a78bfa
|
|
39
|
+
lilac: '\x1b[38;2;196;181;253m', // #c4b5fd
|
|
40
|
+
green: '\x1b[38;2;34;197;94m', // #22c55e
|
|
41
|
+
yellow: '\x1b[38;2;250;204;21m', // #facc15
|
|
42
|
+
red: '\x1b[38;2;239;68;68m', // #ef4444
|
|
43
|
+
gray: '\x1b[38;2;148;163;184m', // #94a3b8
|
|
44
|
+
white: '\x1b[38;2;241;245;249m', // #f1f5f9
|
|
45
|
+
cyan: '\x1b[38;2;34;211;238m', // #22d3ee
|
|
46
|
+
};
|
|
47
|
+
// ── Output Helpers ───────────────────────────────────────────────────────
|
|
48
|
+
let currentStep = 0;
|
|
49
|
+
const totalSteps = 10;
|
|
50
|
+
function stepHeader(label) {
|
|
51
|
+
currentStep++;
|
|
52
|
+
console.log('');
|
|
53
|
+
console.log(` ${c.indigo}${c.bold}[${currentStep}/${totalSteps}]${c.reset} ${c.white}${c.bold}${label}${c.reset}`);
|
|
54
|
+
console.log(` ${c.dim}${'─'.repeat(50)}${c.reset}`);
|
|
55
|
+
}
|
|
31
56
|
function log(msg) {
|
|
32
|
-
console.log(` ${msg}`);
|
|
57
|
+
console.log(` ${c.gray}${msg}${c.reset}`);
|
|
33
58
|
}
|
|
34
59
|
function success(msg) {
|
|
35
|
-
console.log(`
|
|
60
|
+
console.log(` ${c.green}✔${c.reset} ${msg}`);
|
|
36
61
|
}
|
|
37
62
|
function warn(msg) {
|
|
38
|
-
console.log(`
|
|
63
|
+
console.log(` ${c.yellow}⚠${c.reset} ${msg}`);
|
|
64
|
+
}
|
|
65
|
+
function info(msg) {
|
|
66
|
+
console.log(` ${c.indigo}▸${c.reset} ${msg}`);
|
|
67
|
+
}
|
|
68
|
+
function fail(msg) {
|
|
69
|
+
console.log(` ${c.red}✖${c.reset} ${msg}`);
|
|
39
70
|
}
|
|
71
|
+
// ── Stdin Buffering ──────────────────────────────────────────────────────
|
|
40
72
|
// Pre-buffered stdin lines for piped (non-TTY) input.
|
|
41
73
|
// When stdin is a pipe, readline only delivers the first line via question().
|
|
42
74
|
// We read all lines upfront and serve them from the buffer.
|
|
@@ -72,7 +104,7 @@ async function prompt(question) {
|
|
|
72
104
|
await ensureStdinBuffer();
|
|
73
105
|
// Piped mode — read from pre-buffered lines
|
|
74
106
|
if (stdinLines !== null) {
|
|
75
|
-
process.stdout.write(` ${question} `);
|
|
107
|
+
process.stdout.write(` ${c.purple}?${c.reset} ${question} `);
|
|
76
108
|
const answer = stdinLines.shift() ?? '';
|
|
77
109
|
console.log(answer);
|
|
78
110
|
return answer.trim();
|
|
@@ -82,7 +114,7 @@ async function prompt(question) {
|
|
|
82
114
|
ttyRl = createInterface({ input: process.stdin, output: process.stdout });
|
|
83
115
|
}
|
|
84
116
|
return new Promise((resolve) => {
|
|
85
|
-
ttyRl.question(` ${question} `, (answer) => {
|
|
117
|
+
ttyRl.question(` ${c.purple}?${c.reset} ${question} `, (answer) => {
|
|
86
118
|
resolve(answer.trim());
|
|
87
119
|
});
|
|
88
120
|
});
|
|
@@ -91,6 +123,27 @@ async function prompt(question) {
|
|
|
91
123
|
async function promptLower(question) {
|
|
92
124
|
return (await prompt(question)).toLowerCase();
|
|
93
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* Show numbered choices and return the selected option.
|
|
128
|
+
* Returns the value string (not the number).
|
|
129
|
+
*/
|
|
130
|
+
async function choose(question, options, defaultIndex = 0) {
|
|
131
|
+
console.log('');
|
|
132
|
+
for (let i = 0; i < options.length; i++) {
|
|
133
|
+
const marker = i === defaultIndex ? `${c.indigo}${c.bold}` : c.gray;
|
|
134
|
+
const tag = i === defaultIndex ? ` ${c.dim}(default)${c.reset}` : '';
|
|
135
|
+
const desc = options[i].desc ? ` ${c.dim}${options[i].desc}${c.reset}` : '';
|
|
136
|
+
console.log(` ${marker} ${i + 1}) ${options[i].label}${c.reset}${tag}${desc}`);
|
|
137
|
+
}
|
|
138
|
+
console.log('');
|
|
139
|
+
const answer = await prompt(`${question} [${options.map((_, i) => i + 1).join('/')}]:`);
|
|
140
|
+
const idx = parseInt(answer, 10) - 1;
|
|
141
|
+
if (idx >= 0 && idx < options.length) {
|
|
142
|
+
return options[idx].value;
|
|
143
|
+
}
|
|
144
|
+
return options[defaultIndex].value;
|
|
145
|
+
}
|
|
146
|
+
// ── Platform Detection ───────────────────────────────────────────────────
|
|
94
147
|
/**
|
|
95
148
|
* Detect platform and architecture for binary download.
|
|
96
149
|
*/
|
|
@@ -111,33 +164,33 @@ function getPlatformInfo() {
|
|
|
111
164
|
arch: archMap[arch] ?? arch,
|
|
112
165
|
};
|
|
113
166
|
}
|
|
167
|
+
// ── Binary Download ──────────────────────────────────────────────────────
|
|
114
168
|
/**
|
|
115
169
|
* Download the keyoku-engine binary from GitHub releases.
|
|
116
170
|
*/
|
|
117
171
|
async function downloadBinary() {
|
|
118
172
|
const { os, arch } = getPlatformInfo();
|
|
119
|
-
const binaryName = os === 'windows' ? 'keyoku-server.exe' : 'keyoku-server';
|
|
120
173
|
const assetName = `keyoku-server-${os}-${arch}${os === 'windows' ? '.exe' : ''}`;
|
|
121
|
-
|
|
174
|
+
info(`Downloading keyoku-engine for ${c.bold}${os}/${arch}${c.reset}...`);
|
|
122
175
|
try {
|
|
123
176
|
// Get latest release info from GitHub API
|
|
124
177
|
const releaseRes = await fetch('https://api.github.com/repos/keyoku-ai/keyoku-engine/releases/latest', { headers: { Accept: 'application/vnd.github.v3+json' } });
|
|
125
178
|
if (!releaseRes.ok) {
|
|
126
|
-
|
|
179
|
+
fail(`Could not fetch latest release: ${releaseRes.status} ${releaseRes.statusText}`);
|
|
127
180
|
return false;
|
|
128
181
|
}
|
|
129
182
|
const release = await releaseRes.json();
|
|
130
183
|
const asset = release.assets.find((a) => a.name === assetName);
|
|
131
184
|
if (!asset) {
|
|
132
|
-
|
|
133
|
-
|
|
185
|
+
fail(`No binary found for ${os}/${arch} in release ${release.tag_name}`);
|
|
186
|
+
log(`Available: ${release.assets.map((a) => a.name).join(', ')}`);
|
|
134
187
|
return false;
|
|
135
188
|
}
|
|
136
|
-
|
|
189
|
+
info(`Fetching ${c.bold}${asset.name}${c.reset} from ${c.dim}${release.tag_name}${c.reset}...`);
|
|
137
190
|
// Download the binary
|
|
138
191
|
const downloadRes = await fetch(asset.browser_download_url);
|
|
139
192
|
if (!downloadRes.ok || !downloadRes.body) {
|
|
140
|
-
|
|
193
|
+
fail(`Download failed: ${downloadRes.status}`);
|
|
141
194
|
return false;
|
|
142
195
|
}
|
|
143
196
|
// Ensure directory exists
|
|
@@ -151,14 +204,15 @@ async function downloadBinary() {
|
|
|
151
204
|
if (os !== 'windows') {
|
|
152
205
|
chmodSync(destPath, 0o755);
|
|
153
206
|
}
|
|
154
|
-
success(`Binary installed
|
|
207
|
+
success(`Binary installed → ${c.dim}${destPath}${c.reset}`);
|
|
155
208
|
return true;
|
|
156
209
|
}
|
|
157
210
|
catch (err) {
|
|
158
|
-
|
|
211
|
+
fail(`Failed to download binary: ${String(err)}`);
|
|
159
212
|
return false;
|
|
160
213
|
}
|
|
161
214
|
}
|
|
215
|
+
// ── Config Management ────────────────────────────────────────────────────
|
|
162
216
|
/**
|
|
163
217
|
* Read and parse the OpenClaw config file.
|
|
164
218
|
*/
|
|
@@ -178,6 +232,7 @@ function readOpenClawConfig() {
|
|
|
178
232
|
function writeOpenClawConfig(config) {
|
|
179
233
|
writeFileSync(OPENCLAW_CONFIG_PATH, JSON.stringify(config, null, 2) + '\n', 'utf-8');
|
|
180
234
|
}
|
|
235
|
+
// ── Skill Installation ───────────────────────────────────────────────────
|
|
181
236
|
/**
|
|
182
237
|
* Install the SKILL.md guidebook to the workspace skills directory.
|
|
183
238
|
* This teaches the LLM how to interpret heartbeat signals, use memory naturally, etc.
|
|
@@ -189,7 +244,7 @@ function installSkill() {
|
|
|
189
244
|
// Install to workspace skills (highest precedence)
|
|
190
245
|
const workspaceSkillDir = join(HOME, '.openclaw', 'skills', 'keyoku-memory');
|
|
191
246
|
if (existsSync(join(workspaceSkillDir, 'SKILL.md'))) {
|
|
192
|
-
success('SKILL.md already installed
|
|
247
|
+
success('SKILL.md already installed');
|
|
193
248
|
return;
|
|
194
249
|
}
|
|
195
250
|
if (!existsSync(bundledSkillPath)) {
|
|
@@ -198,70 +253,108 @@ function installSkill() {
|
|
|
198
253
|
}
|
|
199
254
|
mkdirSync(workspaceSkillDir, { recursive: true });
|
|
200
255
|
cpSync(bundledSkillPath, join(workspaceSkillDir, 'SKILL.md'));
|
|
201
|
-
success(
|
|
256
|
+
success(`SKILL.md installed → ${c.dim}~/.openclaw/skills/keyoku-memory/${c.reset}`);
|
|
202
257
|
}
|
|
258
|
+
// ── LLM Provider Setup ──────────────────────────────────────────────────
|
|
203
259
|
/**
|
|
204
260
|
* Set up LLM provider and API keys.
|
|
205
|
-
*
|
|
261
|
+
* Embeddings auto-match the extraction provider (no separate key needed for Gemini).
|
|
206
262
|
*/
|
|
207
263
|
async function setupLlmProvider() {
|
|
208
|
-
console.log('');
|
|
209
|
-
log('LLM Provider Setup');
|
|
210
|
-
log('Keyoku needs an OpenAI API key for embeddings (text-embedding-3-small).');
|
|
211
|
-
log('It also needs an LLM for memory extraction (can be OpenAI, Anthropic, or Gemini).');
|
|
212
|
-
console.log('');
|
|
213
264
|
// Check existing env vars
|
|
214
265
|
const hasOpenAI = !!process.env.OPENAI_API_KEY;
|
|
215
266
|
const hasAnthropic = !!process.env.ANTHROPIC_API_KEY;
|
|
216
267
|
const hasGemini = !!process.env.GEMINI_API_KEY;
|
|
217
|
-
|
|
218
|
-
|
|
268
|
+
// Extraction provider
|
|
269
|
+
const currentProvider = process.env.KEYOKU_EXTRACTION_PROVIDER;
|
|
270
|
+
if (currentProvider) {
|
|
271
|
+
success(`Extraction: ${c.bold}${currentProvider}${c.reset} (${process.env.KEYOKU_EXTRACTION_MODEL || 'default model'})`);
|
|
219
272
|
}
|
|
220
273
|
else {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
process.env.OPENAI_API_KEY = key;
|
|
229
|
-
success('OPENAI_API_KEY saved to ~/.keyoku/.env');
|
|
274
|
+
// Auto-detect best available provider
|
|
275
|
+
if (hasGemini) {
|
|
276
|
+
appendToEnvFile('KEYOKU_EXTRACTION_PROVIDER', 'gemini');
|
|
277
|
+
appendToEnvFile('KEYOKU_EXTRACTION_MODEL', 'gemini-2.5-flash');
|
|
278
|
+
appendToEnvFile('KEYOKU_EMBEDDING_PROVIDER', 'gemini');
|
|
279
|
+
appendToEnvFile('KEYOKU_EMBEDDING_MODEL', 'gemini-embedding-001');
|
|
280
|
+
success(`Auto-configured: ${c.bold}Gemini${c.reset} for extraction + embeddings`);
|
|
230
281
|
}
|
|
231
|
-
else if (
|
|
232
|
-
|
|
282
|
+
else if (hasOpenAI) {
|
|
283
|
+
appendToEnvFile('KEYOKU_EXTRACTION_PROVIDER', 'openai');
|
|
284
|
+
appendToEnvFile('KEYOKU_EXTRACTION_MODEL', 'gpt-5-mini');
|
|
285
|
+
appendToEnvFile('KEYOKU_EMBEDDING_PROVIDER', 'openai');
|
|
286
|
+
appendToEnvFile('KEYOKU_EMBEDDING_MODEL', 'text-embedding-3-small');
|
|
287
|
+
success(`Auto-configured: ${c.bold}OpenAI${c.reset} for extraction + embeddings`);
|
|
288
|
+
}
|
|
289
|
+
else if (hasAnthropic) {
|
|
290
|
+
appendToEnvFile('KEYOKU_EXTRACTION_PROVIDER', 'anthropic');
|
|
291
|
+
appendToEnvFile('KEYOKU_EXTRACTION_MODEL', 'claude-haiku-4-5-20251001');
|
|
292
|
+
success(`Auto-configured: ${c.bold}Anthropic${c.reset} for extraction`);
|
|
293
|
+
warn('Anthropic does not provide embeddings — add an OpenAI or Gemini key for embeddings');
|
|
233
294
|
}
|
|
234
295
|
else {
|
|
235
|
-
|
|
296
|
+
// No API key detected — prompt for provider
|
|
297
|
+
const provider = await choose('Which LLM provider?', [
|
|
298
|
+
{ label: 'OpenAI', value: 'openai', desc: 'extraction + embeddings' },
|
|
299
|
+
{ label: 'Gemini', value: 'gemini', desc: 'extraction + embeddings' },
|
|
300
|
+
{ label: 'Anthropic', value: 'anthropic', desc: 'extraction only' },
|
|
301
|
+
]);
|
|
302
|
+
if (provider === 'gemini') {
|
|
303
|
+
const key = await prompt('Gemini API key:');
|
|
304
|
+
if (key) {
|
|
305
|
+
appendToEnvFile('GEMINI_API_KEY', key);
|
|
306
|
+
appendToEnvFile('KEYOKU_EXTRACTION_PROVIDER', 'gemini');
|
|
307
|
+
appendToEnvFile('KEYOKU_EXTRACTION_MODEL', 'gemini-2.5-flash');
|
|
308
|
+
appendToEnvFile('KEYOKU_EMBEDDING_PROVIDER', 'gemini');
|
|
309
|
+
appendToEnvFile('KEYOKU_EMBEDDING_MODEL', 'gemini-embedding-001');
|
|
310
|
+
success('Gemini configured');
|
|
311
|
+
}
|
|
312
|
+
else {
|
|
313
|
+
warn('No key provided — set GEMINI_API_KEY manually');
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
else if (provider === 'anthropic') {
|
|
317
|
+
const key = await prompt('Anthropic API key (sk-ant-...):');
|
|
318
|
+
if (key) {
|
|
319
|
+
appendToEnvFile('ANTHROPIC_API_KEY', key);
|
|
320
|
+
appendToEnvFile('KEYOKU_EXTRACTION_PROVIDER', 'anthropic');
|
|
321
|
+
appendToEnvFile('KEYOKU_EXTRACTION_MODEL', 'claude-haiku-4-5-20251001');
|
|
322
|
+
warn('Add an OpenAI or Gemini key for embeddings');
|
|
323
|
+
}
|
|
324
|
+
else {
|
|
325
|
+
warn('No key provided — set ANTHROPIC_API_KEY manually');
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
else {
|
|
329
|
+
// Default: OpenAI
|
|
330
|
+
const key = await prompt('OpenAI API key (sk-...):');
|
|
331
|
+
if (key && key.startsWith('sk-')) {
|
|
332
|
+
appendToEnvFile('OPENAI_API_KEY', key);
|
|
333
|
+
appendToEnvFile('KEYOKU_EXTRACTION_PROVIDER', 'openai');
|
|
334
|
+
appendToEnvFile('KEYOKU_EXTRACTION_MODEL', 'gpt-5-mini');
|
|
335
|
+
appendToEnvFile('KEYOKU_EMBEDDING_PROVIDER', 'openai');
|
|
336
|
+
appendToEnvFile('KEYOKU_EMBEDDING_MODEL', 'text-embedding-3-small');
|
|
337
|
+
success('OpenAI configured');
|
|
338
|
+
}
|
|
339
|
+
else {
|
|
340
|
+
warn('Invalid key — set OPENAI_API_KEY manually');
|
|
341
|
+
}
|
|
342
|
+
}
|
|
236
343
|
}
|
|
237
344
|
}
|
|
238
|
-
//
|
|
239
|
-
const
|
|
240
|
-
if (
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
appendToEnvFile('KEYOKU_EXTRACTION_MODEL', 'gpt-4.1-mini');
|
|
249
|
-
}
|
|
250
|
-
else if (hasGemini) {
|
|
251
|
-
log('Using Gemini for memory extraction (detected GEMINI_API_KEY)');
|
|
252
|
-
appendToEnvFile('KEYOKU_EXTRACTION_PROVIDER', 'gemini');
|
|
253
|
-
appendToEnvFile('KEYOKU_EXTRACTION_MODEL', 'gemini-3.1-flash-lite-preview');
|
|
254
|
-
}
|
|
255
|
-
else if (hasAnthropic) {
|
|
256
|
-
log('Using Anthropic for memory extraction (detected ANTHROPIC_API_KEY)');
|
|
257
|
-
appendToEnvFile('KEYOKU_EXTRACTION_PROVIDER', 'anthropic');
|
|
258
|
-
appendToEnvFile('KEYOKU_EXTRACTION_MODEL', 'claude-haiku-4-5-20251001');
|
|
259
|
-
}
|
|
260
|
-
else {
|
|
261
|
-
warn('No LLM API key detected. Memory extraction will not work.');
|
|
262
|
-
warn('Set at least one: OPENAI_API_KEY, ANTHROPIC_API_KEY, or GEMINI_API_KEY');
|
|
345
|
+
// Show detected API keys
|
|
346
|
+
const detected = [];
|
|
347
|
+
if (hasOpenAI)
|
|
348
|
+
detected.push('OpenAI');
|
|
349
|
+
if (hasGemini)
|
|
350
|
+
detected.push('Gemini');
|
|
351
|
+
if (hasAnthropic)
|
|
352
|
+
detected.push('Anthropic');
|
|
353
|
+
if (detected.length > 0) {
|
|
354
|
+
success(`API keys detected: ${c.bold}${detected.join(', ')}${c.reset}`);
|
|
263
355
|
}
|
|
264
356
|
}
|
|
357
|
+
// ── Environment File Management ──────────────────────────────────────────
|
|
265
358
|
/**
|
|
266
359
|
* Append a key=value to ~/.keyoku/.env (creates if needed).
|
|
267
360
|
* This file is sourced by the service when starting keyoku-engine.
|
|
@@ -285,6 +378,7 @@ function appendToEnvFile(key, value) {
|
|
|
285
378
|
const line = `${key}=${value}\n`;
|
|
286
379
|
writeFileSync(envPath, content + line, 'utf-8');
|
|
287
380
|
}
|
|
381
|
+
// ── System Configuration ─────────────────────────────────────────────────
|
|
288
382
|
/**
|
|
289
383
|
* Detect the system timezone (IANA format).
|
|
290
384
|
*/
|
|
@@ -300,16 +394,11 @@ function detectTimezone() {
|
|
|
300
394
|
* Set up autonomy level — controls how aggressively heartbeat acts on signals.
|
|
301
395
|
*/
|
|
302
396
|
async function setupAutonomy(config) {
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
log(' suggest — Mention important signals naturally in conversation (recommended)');
|
|
309
|
-
log(' act — Proactively execute actions (create reminders, follow up, etc.)');
|
|
310
|
-
console.log('');
|
|
311
|
-
const answer = await promptLower('Autonomy level [observe/suggest/act] (default: suggest):');
|
|
312
|
-
const level = ['observe', 'suggest', 'act'].includes(answer) ? answer : 'suggest';
|
|
397
|
+
const level = await choose('Autonomy level?', [
|
|
398
|
+
{ label: 'observe', value: 'observe', desc: 'note signals silently, only act when asked' },
|
|
399
|
+
{ label: 'suggest', value: 'suggest', desc: 'mention important signals in conversation' },
|
|
400
|
+
{ label: 'act', value: 'act', desc: 'proactively execute actions (reminders, follow-ups)' },
|
|
401
|
+
], 1);
|
|
313
402
|
// Save to plugin config in openclaw.json
|
|
314
403
|
const entry = config.plugins?.entries?.['keyoku-memory'];
|
|
315
404
|
if (entry) {
|
|
@@ -318,27 +407,28 @@ async function setupAutonomy(config) {
|
|
|
318
407
|
entry.config.autonomy = level;
|
|
319
408
|
writeOpenClawConfig(config);
|
|
320
409
|
}
|
|
321
|
-
success(`Autonomy
|
|
410
|
+
success(`Autonomy → ${c.bold}${level}${c.reset}`);
|
|
322
411
|
}
|
|
323
412
|
/**
|
|
324
413
|
* Set up timezone and quiet hours — controls when heartbeats are suppressed.
|
|
325
414
|
*/
|
|
326
415
|
async function setupTimezoneAndQuietHours() {
|
|
327
|
-
console.log('');
|
|
328
|
-
log('Timezone & Quiet Hours');
|
|
329
416
|
// Auto-detect timezone
|
|
330
417
|
const detected = detectTimezone();
|
|
331
|
-
const tzAnswer = await prompt(`Timezone? (detected: ${detected},
|
|
418
|
+
const tzAnswer = await prompt(`Timezone? (detected: ${c.bold}${detected}${c.reset}, Enter to accept):`);
|
|
332
419
|
const timezone = tzAnswer || detected;
|
|
333
420
|
appendToEnvFile('KEYOKU_QUIET_HOURS_TIMEZONE', timezone);
|
|
334
|
-
success(`Timezone
|
|
421
|
+
success(`Timezone → ${c.bold}${timezone}${c.reset}`);
|
|
335
422
|
// Quiet hours
|
|
336
423
|
console.log('');
|
|
337
424
|
log('Quiet hours suppress non-urgent heartbeat signals (e.g., 11pm–7am).');
|
|
338
|
-
const enableQuiet = await
|
|
339
|
-
|
|
425
|
+
const enableQuiet = await choose('Enable quiet hours?', [
|
|
426
|
+
{ label: 'Yes', value: 'yes', desc: '11pm–7am by default' },
|
|
427
|
+
{ label: 'No', value: 'no', desc: 'heartbeats can fire anytime' },
|
|
428
|
+
]);
|
|
429
|
+
if (enableQuiet === 'no') {
|
|
340
430
|
appendToEnvFile('KEYOKU_QUIET_HOURS_ENABLED', 'false');
|
|
341
|
-
|
|
431
|
+
success('Quiet hours → disabled');
|
|
342
432
|
return;
|
|
343
433
|
}
|
|
344
434
|
appendToEnvFile('KEYOKU_QUIET_HOURS_ENABLED', 'true');
|
|
@@ -352,14 +442,15 @@ async function setupTimezoneAndQuietHours() {
|
|
|
352
442
|
if (!isNaN(end) && end >= 0 && end <= 23) {
|
|
353
443
|
appendToEnvFile('KEYOKU_QUIET_HOUR_END', String(end));
|
|
354
444
|
}
|
|
355
|
-
success(`Quiet hours
|
|
445
|
+
success(`Quiet hours → ${c.bold}${isNaN(start) ? 23 : start}:00 – ${isNaN(end) ? 7 : end}:00${c.reset} (${timezone})`);
|
|
356
446
|
}
|
|
447
|
+
// ── Health Check ─────────────────────────────────────────────────────────
|
|
357
448
|
/**
|
|
358
449
|
* Run a health check against keyoku-engine to verify the install works.
|
|
359
450
|
*/
|
|
360
451
|
async function healthCheck() {
|
|
361
452
|
const url = 'http://localhost:18900';
|
|
362
|
-
|
|
453
|
+
info('Running health check...');
|
|
363
454
|
try {
|
|
364
455
|
const controller = new AbortController();
|
|
365
456
|
const timer = setTimeout(() => controller.abort(), 3000);
|
|
@@ -374,20 +465,28 @@ async function healthCheck() {
|
|
|
374
465
|
}
|
|
375
466
|
catch {
|
|
376
467
|
// Engine isn't running yet — that's fine, it auto-starts with OpenClaw
|
|
377
|
-
log('
|
|
468
|
+
log('Engine not running yet — it will auto-start when OpenClaw loads the plugin');
|
|
378
469
|
return false;
|
|
379
470
|
}
|
|
380
471
|
}
|
|
472
|
+
// ── Main ─────────────────────────────────────────────────────────────────
|
|
381
473
|
/**
|
|
382
474
|
* Main init function — orchestrates the full setup.
|
|
383
475
|
*/
|
|
384
476
|
export async function init() {
|
|
385
|
-
console.log('
|
|
477
|
+
console.log('');
|
|
478
|
+
console.log(` ${c.indigo}${c.bold} █ █ █▀▀ █ █ █▀▀█ █ █ █ █${c.reset}`);
|
|
479
|
+
console.log(` ${c.indigo}${c.bold} █▄▀ █▀▀ █ █ █ █ █▀▄ █ █${c.reset}`);
|
|
480
|
+
console.log(` ${c.indigo}${c.bold} █ █ █▄▄ █ █▄▄█ █ █ █▄▄█${c.reset}`);
|
|
481
|
+
console.log('');
|
|
482
|
+
console.log(` ${c.gray}Memory engine for OpenClaw${c.reset} ${c.dim}v${getVersion()}${c.reset}`);
|
|
483
|
+
console.log(` ${c.indigo}${'━'.repeat(52)}${c.reset}`);
|
|
386
484
|
// Step 1: Detect OpenClaw
|
|
485
|
+
stepHeader('Detect OpenClaw');
|
|
387
486
|
const config = readOpenClawConfig();
|
|
388
487
|
if (!config) {
|
|
389
|
-
|
|
390
|
-
|
|
488
|
+
fail(`Config not found at ${OPENCLAW_CONFIG_PATH}`);
|
|
489
|
+
fail('Make sure OpenClaw is installed first: https://openclaw.dev');
|
|
391
490
|
process.exit(1);
|
|
392
491
|
}
|
|
393
492
|
success('OpenClaw config detected');
|
|
@@ -395,27 +494,30 @@ export async function init() {
|
|
|
395
494
|
const entries = config.plugins?.entries ?? {};
|
|
396
495
|
const alreadyRegistered = !!entries['keyoku-memory']?.enabled;
|
|
397
496
|
if (alreadyRegistered) {
|
|
398
|
-
|
|
497
|
+
stepHeader('Plugin Registration');
|
|
498
|
+
success('Keyoku plugin already registered');
|
|
399
499
|
}
|
|
400
500
|
else {
|
|
401
|
-
// Step
|
|
501
|
+
// Step 2: Binary
|
|
502
|
+
stepHeader('Install Engine Binary');
|
|
402
503
|
if (existsSync(KEYOKU_BIN_PATH)) {
|
|
403
|
-
success(`
|
|
504
|
+
success(`Binary found → ${c.dim}${KEYOKU_BIN_PATH}${c.reset}`);
|
|
404
505
|
}
|
|
405
506
|
else {
|
|
406
|
-
|
|
507
|
+
info('Binary not found — downloading...');
|
|
407
508
|
const downloaded = await downloadBinary();
|
|
408
509
|
if (!downloaded) {
|
|
409
|
-
warn('Could not download binary.
|
|
410
|
-
|
|
411
|
-
|
|
510
|
+
warn('Could not download binary. Install manually:');
|
|
511
|
+
log(` https://github.com/keyoku-ai/keyoku-engine/releases`);
|
|
512
|
+
log(` Place binary at: ${KEYOKU_BIN_PATH}`);
|
|
412
513
|
const proceed = await promptLower('Continue without binary? (y/n)');
|
|
413
514
|
if (proceed !== 'y') {
|
|
414
515
|
process.exit(1);
|
|
415
516
|
}
|
|
416
517
|
}
|
|
417
518
|
}
|
|
418
|
-
// Step
|
|
519
|
+
// Step 3: Register plugin
|
|
520
|
+
stepHeader('Register Plugin');
|
|
419
521
|
if (!config.plugins)
|
|
420
522
|
config.plugins = {};
|
|
421
523
|
if (!config.plugins.entries)
|
|
@@ -436,33 +538,40 @@ export async function init() {
|
|
|
436
538
|
writeOpenClawConfig(config);
|
|
437
539
|
success('Plugin registered in openclaw.json');
|
|
438
540
|
}
|
|
439
|
-
// Step
|
|
541
|
+
// Step 4: DB path
|
|
542
|
+
stepHeader('Configure Storage');
|
|
440
543
|
const dbPath = join(HOME, '.keyoku', 'data', 'keyoku.db');
|
|
441
544
|
appendToEnvFile('KEYOKU_DB_PATH', dbPath);
|
|
442
|
-
|
|
545
|
+
success(`Database → ${c.dim}${dbPath}${c.reset}`);
|
|
546
|
+
// Step 5: LLM provider
|
|
547
|
+
stepHeader('LLM Provider');
|
|
443
548
|
await setupLlmProvider();
|
|
444
|
-
// Step
|
|
549
|
+
// Step 6: Autonomy level
|
|
550
|
+
stepHeader('Autonomy');
|
|
445
551
|
await setupAutonomy(config);
|
|
446
|
-
// Step
|
|
552
|
+
// Step 7: Timezone & quiet hours
|
|
553
|
+
stepHeader('Timezone & Quiet Hours');
|
|
447
554
|
await setupTimezoneAndQuietHours();
|
|
448
|
-
// Step
|
|
449
|
-
|
|
555
|
+
// Step 8: SKILL.md
|
|
556
|
+
stepHeader('Install Skill Guide');
|
|
450
557
|
installSkill();
|
|
451
|
-
// Step
|
|
558
|
+
// Step 9: Migration
|
|
452
559
|
const memoryMdPath = join(HOME, '.openclaw', 'MEMORY.md');
|
|
453
560
|
const hasMemoryMd = existsSync(memoryMdPath);
|
|
454
561
|
const vectorDbs = discoverVectorDbs(OPENCLAW_MEMORY_DIR);
|
|
455
562
|
const hasVectorStores = vectorDbs.length > 0;
|
|
456
563
|
if (hasMemoryMd || hasVectorStores) {
|
|
457
|
-
|
|
458
|
-
log('Found existing OpenClaw memories:');
|
|
564
|
+
stepHeader('Migrate Memories');
|
|
459
565
|
if (hasMemoryMd)
|
|
460
|
-
|
|
566
|
+
info('Found MEMORY.md');
|
|
461
567
|
if (hasVectorStores)
|
|
462
|
-
|
|
463
|
-
const migrate = await
|
|
464
|
-
|
|
465
|
-
|
|
568
|
+
info(`Found ${vectorDbs.length} vector store(s)`);
|
|
569
|
+
const migrate = await choose('Migrate existing memories into Keyoku?', [
|
|
570
|
+
{ label: 'Yes', value: 'yes', desc: 'import everything now' },
|
|
571
|
+
{ label: 'No', value: 'no', desc: 'skip, migrate later with openclaw memory migrate' },
|
|
572
|
+
]);
|
|
573
|
+
if (migrate === 'yes') {
|
|
574
|
+
info('Starting migration...');
|
|
466
575
|
const client = new KeyokuClient({
|
|
467
576
|
baseUrl: 'http://localhost:18900',
|
|
468
577
|
token: process.env.KEYOKU_SESSION_TOKEN,
|
|
@@ -482,7 +591,7 @@ export async function init() {
|
|
|
482
591
|
}
|
|
483
592
|
catch (err) {
|
|
484
593
|
warn(`Markdown migration failed: ${String(err)}`);
|
|
485
|
-
|
|
594
|
+
log('Make sure Keyoku is running (it auto-starts when OpenClaw loads the plugin)');
|
|
486
595
|
}
|
|
487
596
|
}
|
|
488
597
|
// Migrate vector stores
|
|
@@ -494,7 +603,7 @@ export async function init() {
|
|
|
494
603
|
memoryDir: OPENCLAW_MEMORY_DIR,
|
|
495
604
|
logger: console,
|
|
496
605
|
});
|
|
497
|
-
success(`Vector
|
|
606
|
+
success(`Vector stores: ${vsResult.imported} imported, ${vsResult.skipped} skipped`);
|
|
498
607
|
}
|
|
499
608
|
catch (err) {
|
|
500
609
|
warn(`Vector store migration failed: ${String(err)}`);
|
|
@@ -502,21 +611,43 @@ export async function init() {
|
|
|
502
611
|
}
|
|
503
612
|
}
|
|
504
613
|
else {
|
|
505
|
-
log('Skipping
|
|
614
|
+
log('Skipping — run later with: openclaw memory migrate');
|
|
506
615
|
}
|
|
507
616
|
}
|
|
508
|
-
|
|
509
|
-
|
|
617
|
+
else {
|
|
618
|
+
stepHeader('Migrate Memories');
|
|
619
|
+
log('No existing memories found — nothing to migrate');
|
|
620
|
+
}
|
|
621
|
+
// Step 10: Health check
|
|
622
|
+
stepHeader('Health Check');
|
|
510
623
|
await healthCheck();
|
|
511
|
-
//
|
|
624
|
+
// Close readline before exiting
|
|
512
625
|
closeTtyReadline();
|
|
513
|
-
|
|
514
|
-
log('
|
|
515
|
-
log('
|
|
626
|
+
// ── Done ─────────────────────────────────────────────────────────────
|
|
627
|
+
console.log('');
|
|
628
|
+
console.log(` ${c.indigo}${'━'.repeat(52)}${c.reset}`);
|
|
629
|
+
console.log('');
|
|
630
|
+
console.log(` ${c.green}${c.bold} Setup complete!${c.reset}`);
|
|
631
|
+
console.log('');
|
|
632
|
+
console.log(` ${c.white}Next steps:${c.reset}`);
|
|
633
|
+
console.log(` ${c.gray}1.${c.reset} Restart OpenClaw to load the plugin`);
|
|
634
|
+
console.log(` ${c.dim}openclaw restart${c.reset} ${c.dim}(or close and reopen your editor)${c.reset}`);
|
|
635
|
+
console.log('');
|
|
636
|
+
console.log(` ${c.gray}2.${c.reset} Your agent now has persistent memory + heartbeat awareness`);
|
|
637
|
+
console.log(` ${c.dim}openclaw memory stats${c.reset} ${c.dim}check memory status${c.reset}`);
|
|
638
|
+
console.log(` ${c.dim}openclaw memory migrate${c.reset} ${c.dim}migrate data later${c.reset}`);
|
|
516
639
|
console.log('');
|
|
517
|
-
log('
|
|
518
|
-
log('
|
|
519
|
-
|
|
520
|
-
|
|
640
|
+
console.log(` ${c.indigo}${'━'.repeat(52)}${c.reset}`);
|
|
641
|
+
console.log('');
|
|
642
|
+
}
|
|
643
|
+
// ── Helpers ──────────────────────────────────────────────────────────────
|
|
644
|
+
function getVersion() {
|
|
645
|
+
try {
|
|
646
|
+
const pkg = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf-8'));
|
|
647
|
+
return pkg.version ?? 'dev';
|
|
648
|
+
}
|
|
649
|
+
catch {
|
|
650
|
+
return 'dev';
|
|
651
|
+
}
|
|
521
652
|
}
|
|
522
653
|
//# sourceMappingURL=init.js.map
|
package/dist/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keyoku/openclaw",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Keyoku memory plugin for OpenClaw — persistent memory, heartbeat enhancement, and scheduling",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
"build": "tsc"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@keyoku/memory": "1.
|
|
16
|
-
"@keyoku/types": "1.
|
|
15
|
+
"@keyoku/memory": "1.2.0",
|
|
16
|
+
"@keyoku/types": "1.2.0",
|
|
17
17
|
"@sinclair/typebox": "^0.34.0"
|
|
18
18
|
},
|
|
19
19
|
"peerDependencies": {
|