@keyoku/openclaw 1.4.3 → 1.5.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/README.md +77 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +7 -2
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +3 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +2 -2
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +25 -1
- package/dist/context.js.map +1 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +3 -1
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +65 -29
- package/dist/index.js.map +1 -1
- package/dist/migration.d.ts +47 -5
- package/dist/migration.d.ts.map +1 -1
- package/dist/migration.js +184 -27
- package/dist/migration.js.map +1 -1
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +32 -0
- package/dist/service.js.map +1 -1
- package/package.json +8 -4
- package/skills/keyoku-memory/SKILL.md +11 -2
package/README.md
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# @keyoku/openclaw
|
|
2
|
+
|
|
3
|
+
[Keyoku](https://github.com/keyoku-ai/keyoku) memory plugin for [OpenClaw](https://github.com/openclaw/openclaw) — persistent memory, heartbeat signals, and scheduling for your AI assistant.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @keyoku/openclaw
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Or use the setup wizard:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npx keyoku-init
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
In your `openclaw.json`:
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"extensions": ["@keyoku/openclaw"]
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Or programmatically:
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
import keyokuMemory from '@keyoku/openclaw';
|
|
31
|
+
|
|
32
|
+
const plugin = keyokuMemory({
|
|
33
|
+
autoRecall: true,
|
|
34
|
+
autoCapture: true,
|
|
35
|
+
heartbeat: true,
|
|
36
|
+
topK: 5,
|
|
37
|
+
autonomy: 'suggest',
|
|
38
|
+
});
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## What It Does
|
|
42
|
+
|
|
43
|
+
- **Auto-recall** — Injects relevant memories into context before every response
|
|
44
|
+
- **Auto-capture** — Extracts facts, preferences, and relationships from conversations in real-time
|
|
45
|
+
- **Heartbeat** — Surfaces deadlines, follow-ups, decaying memories, and conflicts proactively
|
|
46
|
+
- **Scheduling** — Cron-based reminders with acknowledgment tracking
|
|
47
|
+
|
|
48
|
+
## Configuration
|
|
49
|
+
|
|
50
|
+
| Option | Default | Description |
|
|
51
|
+
|--------|---------|-------------|
|
|
52
|
+
| `keyokuUrl` | `http://localhost:18900` | Keyoku engine URL |
|
|
53
|
+
| `autoRecall` | `true` | Inject memories before responses |
|
|
54
|
+
| `autoCapture` | `true` | Extract facts from conversations |
|
|
55
|
+
| `heartbeat` | `true` | Enable proactive signals |
|
|
56
|
+
| `incrementalCapture` | `true` | Capture per-message vs. session-end |
|
|
57
|
+
| `topK` | `5` | Memories to inject per prompt |
|
|
58
|
+
| `autonomy` | `"suggest"` | Action level: `observe`, `suggest`, `act` |
|
|
59
|
+
| `captureMaxChars` | `2000` | Max characters for auto-capture |
|
|
60
|
+
|
|
61
|
+
## Tools
|
|
62
|
+
|
|
63
|
+
The plugin registers 7 tools for your assistant:
|
|
64
|
+
|
|
65
|
+
| Tool | Description |
|
|
66
|
+
|------|-------------|
|
|
67
|
+
| `memory_search` | Semantic search over memories |
|
|
68
|
+
| `memory_get` | Read a specific memory |
|
|
69
|
+
| `memory_store` | Save important information |
|
|
70
|
+
| `memory_forget` | Delete a memory |
|
|
71
|
+
| `memory_stats` | View memory statistics |
|
|
72
|
+
| `schedule_create` | Create a recurring reminder |
|
|
73
|
+
| `schedule_list` | View active schedules |
|
|
74
|
+
|
|
75
|
+
## License
|
|
76
|
+
|
|
77
|
+
MIT
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,YAAY,CAAC;AAkB1D,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,YAAY,CAAC;AAkB1D,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAwQxF"}
|
package/dist/cli.js
CHANGED
|
@@ -54,15 +54,20 @@ export function registerCli(api, client, entityId) {
|
|
|
54
54
|
});
|
|
55
55
|
memory
|
|
56
56
|
.command('import')
|
|
57
|
-
.description('Import
|
|
58
|
-
.option('--dir <path>', '
|
|
57
|
+
.description('Import files into Keyoku (md, txt, json, yaml — recursive)')
|
|
58
|
+
.option('--dir <path>', 'Root directory to scan', '.')
|
|
59
|
+
.option('--depth <n>', 'Max recursion depth (-1 = unlimited, 0 = no recursion)', '5')
|
|
60
|
+
.option('--types <list>', 'Comma-separated file extensions', 'md,txt,json,yaml,yml')
|
|
59
61
|
.option('--dry-run', 'Show what would be imported without storing')
|
|
60
62
|
.action(async (opts) => {
|
|
61
63
|
const options = opts;
|
|
64
|
+
const types = options.types.split(',').map((t) => (t.startsWith('.') ? t : `.${t}`));
|
|
62
65
|
const result = await importMemoryFiles({
|
|
63
66
|
client,
|
|
64
67
|
entityId,
|
|
65
68
|
workspaceDir: options.dir,
|
|
69
|
+
depth: parseInt(options.depth, 10),
|
|
70
|
+
types,
|
|
66
71
|
dryRun: options.dryRun,
|
|
67
72
|
logger: console,
|
|
68
73
|
});
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Plugin configuration types and defaults
|
|
3
3
|
*/
|
|
4
|
+
import type { HeartbeatVerbosity } from '@keyoku/types';
|
|
4
5
|
export type EntityStrategy = 'static' | 'per-user' | 'per-channel' | 'per-session' | 'template';
|
|
5
6
|
export interface KeyokuConfig {
|
|
6
7
|
/** Keyoku server URL (default: http://localhost:18900) */
|
|
@@ -31,6 +32,8 @@ export interface KeyokuConfig {
|
|
|
31
32
|
captureInGroups?: boolean;
|
|
32
33
|
/** Allow memory recall in group chats/channels (default: true) */
|
|
33
34
|
recallInGroups?: boolean;
|
|
35
|
+
/** Heartbeat verbosity level (default: 'conversational') */
|
|
36
|
+
verbosity?: HeartbeatVerbosity;
|
|
34
37
|
}
|
|
35
38
|
export declare const DEFAULT_CONFIG: Required<KeyokuConfig>;
|
|
36
39
|
export declare function resolveConfig(config?: KeyokuConfig): Required<KeyokuConfig>;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,UAAU,GACV,aAAa,GACb,aAAa,GACb,UAAU,CAAC;AAEf,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,KAAK,CAAC;IACzC,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,8DAA8D;IAC9D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kEAAkE;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,UAAU,GACV,aAAa,GACb,aAAa,GACb,UAAU,CAAC;AAEf,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,KAAK,CAAC;IACzC,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,8DAA8D;IAC9D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kEAAkE;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC;AAED,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,YAAY,CAgBjD,CAAC;AAEF,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,CAE3E"}
|
package/dist/config.js
CHANGED
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AA4CH,MAAM,CAAC,MAAM,cAAc,GAA2B;IACpD,SAAS,EAAE,wBAAwB;IACnC,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,EAAE;IACX,eAAe,EAAE,IAAI;IACrB,QAAQ,EAAE,SAAS;IACnB,kBAAkB,EAAE,IAAI;IACxB,cAAc,EAAE,QAAQ;IACxB,cAAc,EAAE,QAAQ;IACxB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE,gBAAgB;CAC5B,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,MAAqB;IACjD,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;AAC1C,CAAC"}
|
package/dist/context.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Builds formatted memory context strings for prompt injection
|
|
3
3
|
*/
|
|
4
|
-
import type { SearchResult, HeartbeatContextResult, Memory } from '@keyoku/types';
|
|
4
|
+
import type { SearchResult, HeartbeatContextResult, HeartbeatVerbosity, Memory } from '@keyoku/types';
|
|
5
5
|
/**
|
|
6
6
|
* Escape potentially unsafe characters in memory text to prevent prompt injection.
|
|
7
7
|
*/
|
|
@@ -14,7 +14,7 @@ export declare function formatMemoryContext(results: SearchResult[]): string;
|
|
|
14
14
|
* Format combined heartbeat context (signals + relevant memories) into natural language.
|
|
15
15
|
* Replaces structured data dump with a briefing the AI can act on naturally.
|
|
16
16
|
*/
|
|
17
|
-
export declare function formatHeartbeatContext(ctx: HeartbeatContextResult): string;
|
|
17
|
+
export declare function formatHeartbeatContext(ctx: HeartbeatContextResult, verbosity?: HeartbeatVerbosity): string;
|
|
18
18
|
/**
|
|
19
19
|
* Format a list of memories for display (e.g., CLI or tool output).
|
|
20
20
|
*/
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACtB,kBAAkB,EAClB,MAAM,EACP,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAQnE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,sBAAsB,EAC3B,SAAS,GAAE,kBAAqC,GAC/C,MAAM,CAgKR;AAuED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAS3D"}
|
package/dist/context.js
CHANGED
|
@@ -20,7 +20,11 @@ export function formatMemoryContext(results) {
|
|
|
20
20
|
* Format combined heartbeat context (signals + relevant memories) into natural language.
|
|
21
21
|
* Replaces structured data dump with a briefing the AI can act on naturally.
|
|
22
22
|
*/
|
|
23
|
-
export function formatHeartbeatContext(ctx) {
|
|
23
|
+
export function formatHeartbeatContext(ctx, verbosity = 'conversational') {
|
|
24
|
+
// Conversational: just the user_facing message or one-line summary
|
|
25
|
+
if (verbosity === 'conversational' && ctx.analysis?.user_facing) {
|
|
26
|
+
return wrapSignals([escapeMemoryText(ctx.analysis.user_facing)]);
|
|
27
|
+
}
|
|
24
28
|
const lines = [];
|
|
25
29
|
// First-contact mode
|
|
26
30
|
if (ctx.decision_reason === 'first_contact') {
|
|
@@ -62,6 +66,26 @@ export function formatHeartbeatContext(ctx) {
|
|
|
62
66
|
appendRecentMessages(lines, ctx);
|
|
63
67
|
appendTimePeriod(lines, ctx);
|
|
64
68
|
appendSentiment(lines, ctx);
|
|
69
|
+
// Detailed/debug: append evidence, linked entities, and developer trace
|
|
70
|
+
if (verbosity === 'detailed' || verbosity === 'debug') {
|
|
71
|
+
if (a.evidence && a.evidence.length > 0) {
|
|
72
|
+
lines.push('');
|
|
73
|
+
lines.push('Evidence:');
|
|
74
|
+
for (const e of a.evidence) {
|
|
75
|
+
lines.push(`- ${escapeMemoryText(e)}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (a.linked_entities && a.linked_entities.length > 0) {
|
|
79
|
+
lines.push('');
|
|
80
|
+
lines.push(`Linked entities: ${a.linked_entities.map(e => escapeMemoryText(e)).join(', ')}`);
|
|
81
|
+
}
|
|
82
|
+
if (verbosity === 'debug' && ctx.developer_trace) {
|
|
83
|
+
lines.push('');
|
|
84
|
+
lines.push('<heartbeat-debug>');
|
|
85
|
+
lines.push(escapeMemoryText(JSON.stringify(ctx.developer_trace, null, 2)));
|
|
86
|
+
lines.push('</heartbeat-debug>');
|
|
87
|
+
}
|
|
88
|
+
}
|
|
65
89
|
return wrapSignals(lines);
|
|
66
90
|
}
|
|
67
91
|
// Raw signal formatting (no LLM analysis)
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA4C3D,wBAAgB,aAAa,CAC3B,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC7B,IAAI,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA4C3D,wBAAgB,aAAa,CAC3B,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC7B,IAAI,CA+MN"}
|
package/dist/hooks.js
CHANGED
|
@@ -113,12 +113,14 @@ export function registerHooks(api, client, resolver, agentId, config) {
|
|
|
113
113
|
activity_summary: activitySummary || undefined,
|
|
114
114
|
autonomy: config.autonomy,
|
|
115
115
|
in_conversation: hasUserMessages,
|
|
116
|
+
signals_only: true, // Watcher already decided; just get fresh signals without re-evaluating cooldowns
|
|
117
|
+
verbosity: config.verbosity,
|
|
116
118
|
});
|
|
117
119
|
const memories = ctx.relevant_memories ?? [];
|
|
118
120
|
const decision = ctx.decision_reason ?? 'unknown';
|
|
119
121
|
// Engine decides — plugin just logs and passes through
|
|
120
122
|
if (ctx.should_act) {
|
|
121
|
-
const formatted = formatHeartbeatContext(ctx);
|
|
123
|
+
const formatted = formatHeartbeatContext(ctx, config.verbosity);
|
|
122
124
|
if (formatted) {
|
|
123
125
|
const analysis = ctx.analysis;
|
|
124
126
|
const analyzed = analysis ? ` [${analysis.autonomy}/${analysis.urgency}]` : '';
|
package/dist/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,11 +14,14 @@ import { type KeyokuConfig } from './config.js';
|
|
|
14
14
|
import type { PluginApi } from './types.js';
|
|
15
15
|
export type { KeyokuConfig } from './config.js';
|
|
16
16
|
export { KeyokuClient } from '@keyoku/memory';
|
|
17
|
-
|
|
17
|
+
type KeyokuMemoryPlugin = ReturnType<typeof createKeyokuMemoryPlugin>;
|
|
18
|
+
declare function createKeyokuMemoryPlugin(config?: KeyokuConfig): {
|
|
18
19
|
id: string;
|
|
19
20
|
name: string;
|
|
20
21
|
description: string;
|
|
21
22
|
kind: "memory";
|
|
22
23
|
register(api: PluginApi): void;
|
|
23
24
|
};
|
|
25
|
+
export { createKeyokuMemoryPlugin };
|
|
26
|
+
export default function keyokuMemory(configOrApi?: KeyokuConfig | PluginApi): KeyokuMemoryPlugin | void;
|
|
24
27
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,aAAa,CAAC;AAO/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,aAAa,CAAC;AAO/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;AA+DtE,iBAAS,wBAAwB,CAAC,MAAM,CAAC,EAAE,YAAY;;;;;kBAOrC,SAAS;EAI1B;AAcD,OAAO,EAAE,wBAAwB,EAAE,CAAC;AAEpC,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,SAAS,GAAG,kBAAkB,GAAG,IAAI,CAMtG"}
|
package/dist/index.js
CHANGED
|
@@ -19,42 +19,78 @@ import { registerCli } from './cli.js';
|
|
|
19
19
|
import { registerIncrementalCapture } from './incremental-capture.js';
|
|
20
20
|
import { createEntityResolver } from './entity-resolver.js';
|
|
21
21
|
export { KeyokuClient } from '@keyoku/memory';
|
|
22
|
-
|
|
22
|
+
function registerKeyokuMemory(api, config) {
|
|
23
|
+
const cfg = resolveConfig(config ?? api.pluginConfig);
|
|
24
|
+
// Resolve entity/agent IDs
|
|
25
|
+
// entityId = base memory namespace; resolver can derive dynamic child scopes per event
|
|
26
|
+
// agentId = attribution marker for writes
|
|
27
|
+
const entityId = cfg.entityId || 'default';
|
|
28
|
+
const agentId = cfg.agentId || 'default';
|
|
29
|
+
const resolver = createEntityResolver(entityId, cfg, api.logger);
|
|
30
|
+
// Token resolved lazily — the service generates it at startup, after register()
|
|
31
|
+
// 60s timeout: remember calls LLM extraction, heartbeatContext does analysis
|
|
32
|
+
const client = new KeyokuClient({
|
|
33
|
+
baseUrl: cfg.keyokuUrl,
|
|
34
|
+
token: () => process.env.KEYOKU_SESSION_TOKEN,
|
|
35
|
+
timeout: 60000,
|
|
36
|
+
});
|
|
37
|
+
// When keyoku heartbeat is enabled, disable OpenClaw's built-in heartbeat runner.
|
|
38
|
+
// The keyoku engine watcher handles heartbeat cycles with smart adaptive intervals;
|
|
39
|
+
// OpenClaw's runner would fire redundantly every 30m, wasting LLM tokens.
|
|
40
|
+
// Uses target: "none" — the canonical disable mechanism used by disableOpenClawHeartbeat() in init.
|
|
41
|
+
if (cfg.heartbeat && api.config) {
|
|
42
|
+
const ocConfig = api.config;
|
|
43
|
+
const agents = (ocConfig.agents ?? {});
|
|
44
|
+
const defaults = (agents.defaults ?? {});
|
|
45
|
+
const heartbeat = (defaults.heartbeat ?? {});
|
|
46
|
+
heartbeat.target = 'none';
|
|
47
|
+
defaults.heartbeat = heartbeat;
|
|
48
|
+
agents.defaults = defaults;
|
|
49
|
+
ocConfig.agents = agents;
|
|
50
|
+
api.logger.debug?.('keyoku: disabled OpenClaw heartbeat runner (keyoku engine watcher handles heartbeats)');
|
|
51
|
+
}
|
|
52
|
+
api.logger.debug?.(`keyoku: plugin registered (url: ${cfg.keyokuUrl}, entityBase: ${entityId}, strategy: ${cfg.entityStrategy})`);
|
|
53
|
+
api.logger.debug?.(`keyoku: capture diagnostics (plugin=keyoku-memory incrementalCapture=${cfg.incrementalCapture} url=${cfg.keyokuUrl} entityBase=${entityId} strategy=${cfg.entityStrategy})`);
|
|
54
|
+
// Register 6 memory/schedule tools
|
|
55
|
+
registerTools(api, client, resolver, agentId);
|
|
56
|
+
// Register lifecycle hooks (auto-recall, heartbeat, auto-capture)
|
|
57
|
+
registerHooks(api, client, resolver, agentId, cfg);
|
|
58
|
+
// Register Keyoku binary lifecycle service
|
|
59
|
+
registerService(api, cfg.keyokuUrl);
|
|
60
|
+
// Register CLI subcommands
|
|
61
|
+
registerCli(api, client, entityId);
|
|
62
|
+
// Register incremental per-message capture
|
|
63
|
+
if (cfg.incrementalCapture) {
|
|
64
|
+
registerIncrementalCapture(api, client, resolver, agentId, cfg);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
function createKeyokuMemoryPlugin(config) {
|
|
23
68
|
return {
|
|
24
69
|
id: 'keyoku-memory',
|
|
25
70
|
name: 'Keyoku Memory',
|
|
26
71
|
description: 'Persistent memory, heartbeat enhancement, and scheduling powered by Keyoku',
|
|
27
72
|
kind: 'memory',
|
|
28
73
|
register(api) {
|
|
29
|
-
|
|
30
|
-
// Resolve entity/agent IDs
|
|
31
|
-
// entityId = base memory namespace; resolver can derive dynamic child scopes per event
|
|
32
|
-
// agentId = attribution marker for writes
|
|
33
|
-
const entityId = cfg.entityId || 'default';
|
|
34
|
-
const agentId = cfg.agentId || 'default';
|
|
35
|
-
const resolver = createEntityResolver(entityId, cfg, api.logger);
|
|
36
|
-
// Token resolved lazily — the service generates it at startup, after register()
|
|
37
|
-
// 60s timeout: remember calls LLM extraction, heartbeatContext does analysis
|
|
38
|
-
const client = new KeyokuClient({
|
|
39
|
-
baseUrl: cfg.keyokuUrl,
|
|
40
|
-
token: () => process.env.KEYOKU_SESSION_TOKEN,
|
|
41
|
-
timeout: 60000,
|
|
42
|
-
});
|
|
43
|
-
api.logger.debug?.(`keyoku: plugin registered (url: ${cfg.keyokuUrl}, entityBase: ${entityId}, strategy: ${cfg.entityStrategy})`);
|
|
44
|
-
api.logger.info(`keyoku: TEMP capture diagnostics enabled (plugin=keyoku-memory incrementalCapture=${cfg.incrementalCapture} url=${cfg.keyokuUrl} entityBase=${entityId} strategy=${cfg.entityStrategy})`);
|
|
45
|
-
// Register 6 memory/schedule tools
|
|
46
|
-
registerTools(api, client, resolver, agentId);
|
|
47
|
-
// Register lifecycle hooks (auto-recall, heartbeat, auto-capture)
|
|
48
|
-
registerHooks(api, client, resolver, agentId, cfg);
|
|
49
|
-
// Register Keyoku binary lifecycle service
|
|
50
|
-
registerService(api, cfg.keyokuUrl);
|
|
51
|
-
// Register CLI subcommands
|
|
52
|
-
registerCli(api, client, entityId);
|
|
53
|
-
// Register incremental per-message capture
|
|
54
|
-
if (cfg.incrementalCapture) {
|
|
55
|
-
registerIncrementalCapture(api, client, resolver, agentId, cfg);
|
|
56
|
-
}
|
|
74
|
+
registerKeyokuMemory(api, config);
|
|
57
75
|
},
|
|
58
76
|
};
|
|
59
77
|
}
|
|
78
|
+
function isPluginApi(value) {
|
|
79
|
+
if (!value || typeof value !== 'object')
|
|
80
|
+
return false;
|
|
81
|
+
const candidate = value;
|
|
82
|
+
return (typeof candidate.registerTool === 'function' &&
|
|
83
|
+
typeof candidate.registerCli === 'function' &&
|
|
84
|
+
typeof candidate.registerService === 'function' &&
|
|
85
|
+
typeof candidate.resolvePath === 'function' &&
|
|
86
|
+
typeof candidate.on === 'function');
|
|
87
|
+
}
|
|
88
|
+
export { createKeyokuMemoryPlugin };
|
|
89
|
+
export default function keyokuMemory(configOrApi) {
|
|
90
|
+
if (isPluginApi(configOrApi)) {
|
|
91
|
+
registerKeyokuMemory(configOrApi);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
return createKeyokuMemoryPlugin(configOrApi);
|
|
95
|
+
}
|
|
60
96
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAqB,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAI5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/migration.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Migration utility — imports
|
|
2
|
+
* Migration utility — imports files into Keyoku.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Recursively discovers files (md, txt, json, yaml), chunks them by format,
|
|
5
5
|
* deduplicates against existing Keyoku memories, and stores each chunk.
|
|
6
6
|
*
|
|
7
7
|
* Usage: `openclaw memory import --dir /path/to/workspace`
|
|
@@ -12,11 +12,23 @@ export interface ImportResult {
|
|
|
12
12
|
skipped: number;
|
|
13
13
|
errors: number;
|
|
14
14
|
}
|
|
15
|
-
interface MemoryChunk {
|
|
15
|
+
export interface MemoryChunk {
|
|
16
16
|
content: string;
|
|
17
17
|
source: string;
|
|
18
18
|
section?: string;
|
|
19
19
|
}
|
|
20
|
+
export interface DiscoverOptions {
|
|
21
|
+
depth?: number;
|
|
22
|
+
types?: string[];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Recursively discover files matching the given extensions.
|
|
26
|
+
* Skips dotfiles/dotdirs, node_modules, symlinks, and other non-content dirs.
|
|
27
|
+
*/
|
|
28
|
+
export declare function discoverFiles(dir: string, options?: DiscoverOptions): {
|
|
29
|
+
path: string;
|
|
30
|
+
name: string;
|
|
31
|
+
}[];
|
|
20
32
|
/**
|
|
21
33
|
* Split markdown content by ## or ### headings.
|
|
22
34
|
* Each heading section becomes one chunk.
|
|
@@ -24,7 +36,36 @@ interface MemoryChunk {
|
|
|
24
36
|
*/
|
|
25
37
|
export declare function chunkByHeadings(content: string, maxChunkChars?: number): MemoryChunk[];
|
|
26
38
|
/**
|
|
27
|
-
*
|
|
39
|
+
* Split text by double-newline (paragraphs), merging small paragraphs
|
|
40
|
+
* and splitting oversized ones.
|
|
41
|
+
*/
|
|
42
|
+
export declare function splitByParagraphs(text: string, maxChars?: number): string[];
|
|
43
|
+
/**
|
|
44
|
+
* Chunk plain text by paragraphs.
|
|
45
|
+
*/
|
|
46
|
+
export declare function chunkPlainText(content: string, maxChunkChars?: number): MemoryChunk[];
|
|
47
|
+
/**
|
|
48
|
+
* Chunk JSON content by top-level keys (object) or items (array).
|
|
49
|
+
* Returns empty array on parse failure.
|
|
50
|
+
*/
|
|
51
|
+
export declare function chunkJson(content: string, maxChunkChars?: number, logger?: {
|
|
52
|
+
warn: (msg: string) => void;
|
|
53
|
+
}): MemoryChunk[];
|
|
54
|
+
/**
|
|
55
|
+
* Chunk YAML content by top-level keys. Supports multi-document YAML.
|
|
56
|
+
* Returns empty array on parse failure.
|
|
57
|
+
*/
|
|
58
|
+
export declare function chunkYaml(content: string, maxChunkChars?: number, logger?: {
|
|
59
|
+
warn: (msg: string) => void;
|
|
60
|
+
}): MemoryChunk[];
|
|
61
|
+
/**
|
|
62
|
+
* Chunk a file's content based on its extension.
|
|
63
|
+
*/
|
|
64
|
+
export declare function chunkFile(content: string, filePath: string, maxChunkChars?: number, logger?: {
|
|
65
|
+
warn: (msg: string) => void;
|
|
66
|
+
}): MemoryChunk[];
|
|
67
|
+
/**
|
|
68
|
+
* Import files into Keyoku with recursive discovery and multi-format support.
|
|
28
69
|
*/
|
|
29
70
|
export declare function importMemoryFiles(params: {
|
|
30
71
|
client: KeyokuClient;
|
|
@@ -32,10 +73,11 @@ export declare function importMemoryFiles(params: {
|
|
|
32
73
|
workspaceDir: string;
|
|
33
74
|
agentId?: string;
|
|
34
75
|
dryRun?: boolean;
|
|
76
|
+
depth?: number;
|
|
77
|
+
types?: string[];
|
|
35
78
|
logger?: {
|
|
36
79
|
info: (msg: string) => void;
|
|
37
80
|
warn: (msg: string) => void;
|
|
38
81
|
};
|
|
39
82
|
}): Promise<ImportResult>;
|
|
40
|
-
export {};
|
|
41
83
|
//# sourceMappingURL=migration.d.ts.map
|
package/dist/migration.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../src/migration.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../src/migration.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAgBD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,eAAoB,GAC5B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAsDlC;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,SAAO,GAAG,WAAW,EAAE,CA6DpF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAO,GAAG,MAAM,EAAE,CA2BzE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,SAAO,GAAG,WAAW,EAAE,CAGnF;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,EACf,aAAa,SAAO,EACpB,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GACvC,WAAW,EAAE,CAUf;AAED;;;GAGG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,EACf,aAAa,SAAO,EACpB,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GACvC,WAAW,EAAE,CAgBf;AA+CD;;GAEG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,aAAa,SAAO,EACpB,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GACvC,WAAW,EAAE,CAef;AASD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAC9C,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;CACvE,GAAG,OAAO,CAAC,YAAY,CAAC,CAwFxB"}
|
package/dist/migration.js
CHANGED
|
@@ -1,13 +1,82 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Migration utility — imports
|
|
2
|
+
* Migration utility — imports files into Keyoku.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Recursively discovers files (md, txt, json, yaml), chunks them by format,
|
|
5
5
|
* deduplicates against existing Keyoku memories, and stores each chunk.
|
|
6
6
|
*
|
|
7
7
|
* Usage: `openclaw memory import --dir /path/to/workspace`
|
|
8
8
|
*/
|
|
9
|
-
import { readFileSync, readdirSync, existsSync, statSync } from 'fs';
|
|
10
|
-
import { join } from 'path';
|
|
9
|
+
import { readFileSync, readdirSync, existsSync, statSync, lstatSync } from 'fs';
|
|
10
|
+
import { join, extname, relative } from 'path';
|
|
11
|
+
import yaml from 'js-yaml';
|
|
12
|
+
const DEFAULT_TYPES = ['.md', '.txt', '.json', '.yaml', '.yml'];
|
|
13
|
+
const DEFAULT_DEPTH = 5;
|
|
14
|
+
/** Directories to always skip during recursive discovery. */
|
|
15
|
+
const SKIP_DIRS = new Set([
|
|
16
|
+
'node_modules',
|
|
17
|
+
'__pycache__',
|
|
18
|
+
'dist',
|
|
19
|
+
'build',
|
|
20
|
+
'.git',
|
|
21
|
+
'.svn',
|
|
22
|
+
'.hg',
|
|
23
|
+
]);
|
|
24
|
+
/**
|
|
25
|
+
* Recursively discover files matching the given extensions.
|
|
26
|
+
* Skips dotfiles/dotdirs, node_modules, symlinks, and other non-content dirs.
|
|
27
|
+
*/
|
|
28
|
+
export function discoverFiles(dir, options = {}) {
|
|
29
|
+
const maxDepth = options.depth ?? DEFAULT_DEPTH;
|
|
30
|
+
const types = options.types ?? DEFAULT_TYPES;
|
|
31
|
+
const results = [];
|
|
32
|
+
if (!existsSync(dir) || !statSync(dir).isDirectory()) {
|
|
33
|
+
return results;
|
|
34
|
+
}
|
|
35
|
+
function walk(currentDir, currentDepth) {
|
|
36
|
+
let entries;
|
|
37
|
+
try {
|
|
38
|
+
entries = readdirSync(currentDir).sort();
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
for (const entry of entries) {
|
|
44
|
+
// Skip dotfiles and dotdirs
|
|
45
|
+
if (entry.startsWith('.'))
|
|
46
|
+
continue;
|
|
47
|
+
const fullPath = join(currentDir, entry);
|
|
48
|
+
// Skip symlinks
|
|
49
|
+
try {
|
|
50
|
+
if (lstatSync(fullPath).isSymbolicLink())
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
const stat = statSync(fullPath);
|
|
57
|
+
if (stat.isDirectory()) {
|
|
58
|
+
// Skip denied directories
|
|
59
|
+
if (SKIP_DIRS.has(entry))
|
|
60
|
+
continue;
|
|
61
|
+
// Recurse if within depth limit
|
|
62
|
+
if (maxDepth === -1 || currentDepth < maxDepth) {
|
|
63
|
+
walk(fullPath, currentDepth + 1);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
else if (stat.isFile()) {
|
|
67
|
+
const ext = extname(entry).toLowerCase();
|
|
68
|
+
if (types.includes(ext)) {
|
|
69
|
+
results.push({
|
|
70
|
+
path: fullPath,
|
|
71
|
+
name: relative(dir, fullPath),
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
walk(dir, 0);
|
|
78
|
+
return results;
|
|
79
|
+
}
|
|
11
80
|
/**
|
|
12
81
|
* Split markdown content by ## or ### headings.
|
|
13
82
|
* Each heading section becomes one chunk.
|
|
@@ -77,7 +146,7 @@ export function chunkByHeadings(content, maxChunkChars = 1000) {
|
|
|
77
146
|
* Split text by double-newline (paragraphs), merging small paragraphs
|
|
78
147
|
* and splitting oversized ones.
|
|
79
148
|
*/
|
|
80
|
-
function splitByParagraphs(text, maxChars = 1000) {
|
|
149
|
+
export function splitByParagraphs(text, maxChars = 1000) {
|
|
81
150
|
const rawParagraphs = text.split(/\n\n+/);
|
|
82
151
|
const results = [];
|
|
83
152
|
let buffer = '';
|
|
@@ -107,6 +176,109 @@ function splitByParagraphs(text, maxChars = 1000) {
|
|
|
107
176
|
results.push(buffer);
|
|
108
177
|
return results;
|
|
109
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* Chunk plain text by paragraphs.
|
|
181
|
+
*/
|
|
182
|
+
export function chunkPlainText(content, maxChunkChars = 1000) {
|
|
183
|
+
const paragraphs = splitByParagraphs(content, maxChunkChars);
|
|
184
|
+
return paragraphs.map((p) => ({ content: p, source: '' }));
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Chunk JSON content by top-level keys (object) or items (array).
|
|
188
|
+
* Returns empty array on parse failure.
|
|
189
|
+
*/
|
|
190
|
+
export function chunkJson(content, maxChunkChars = 1000, logger) {
|
|
191
|
+
let parsed;
|
|
192
|
+
try {
|
|
193
|
+
parsed = JSON.parse(content);
|
|
194
|
+
}
|
|
195
|
+
catch (err) {
|
|
196
|
+
logger?.warn(`Invalid JSON: ${String(err)}`);
|
|
197
|
+
return [];
|
|
198
|
+
}
|
|
199
|
+
return chunkStructuredData(parsed, maxChunkChars);
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Chunk YAML content by top-level keys. Supports multi-document YAML.
|
|
203
|
+
* Returns empty array on parse failure.
|
|
204
|
+
*/
|
|
205
|
+
export function chunkYaml(content, maxChunkChars = 1000, logger) {
|
|
206
|
+
const chunks = [];
|
|
207
|
+
try {
|
|
208
|
+
const docs = [];
|
|
209
|
+
yaml.loadAll(content, (doc) => docs.push(doc));
|
|
210
|
+
for (const doc of docs) {
|
|
211
|
+
chunks.push(...chunkStructuredData(doc, maxChunkChars));
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
catch (err) {
|
|
215
|
+
logger?.warn(`Invalid YAML: ${String(err)}`);
|
|
216
|
+
return [];
|
|
217
|
+
}
|
|
218
|
+
return chunks;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Chunk a parsed structured value (object or array) into MemoryChunks.
|
|
222
|
+
*/
|
|
223
|
+
function chunkStructuredData(data, maxChunkChars) {
|
|
224
|
+
const chunks = [];
|
|
225
|
+
if (Array.isArray(data)) {
|
|
226
|
+
for (let i = 0; i < data.length; i++) {
|
|
227
|
+
const value = typeof data[i] === 'string' ? data[i] : JSON.stringify(data[i], null, 2);
|
|
228
|
+
const parts = hardSplit(value, maxChunkChars);
|
|
229
|
+
for (const part of parts) {
|
|
230
|
+
chunks.push({ content: part, source: '', section: `[${i}]` });
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
else if (data !== null && typeof data === 'object') {
|
|
235
|
+
for (const [key, val] of Object.entries(data)) {
|
|
236
|
+
const value = typeof val === 'string' ? val : JSON.stringify(val, null, 2);
|
|
237
|
+
const parts = hardSplit(value, maxChunkChars);
|
|
238
|
+
for (const part of parts) {
|
|
239
|
+
chunks.push({ content: part, source: '', section: key });
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
else if (data !== null && data !== undefined) {
|
|
244
|
+
const value = String(data);
|
|
245
|
+
if (value.length >= 10) {
|
|
246
|
+
chunks.push({ content: value, source: '' });
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
return chunks;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Split a string into parts of at most maxChars each.
|
|
253
|
+
* Returns the original string in a single-element array if it fits.
|
|
254
|
+
*/
|
|
255
|
+
function hardSplit(text, maxChars) {
|
|
256
|
+
if (text.length <= maxChars)
|
|
257
|
+
return [text];
|
|
258
|
+
const parts = [];
|
|
259
|
+
for (let i = 0; i < text.length; i += maxChars) {
|
|
260
|
+
parts.push(text.slice(i, i + maxChars));
|
|
261
|
+
}
|
|
262
|
+
return parts;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Chunk a file's content based on its extension.
|
|
266
|
+
*/
|
|
267
|
+
export function chunkFile(content, filePath, maxChunkChars = 1000, logger) {
|
|
268
|
+
const ext = extname(filePath).toLowerCase();
|
|
269
|
+
switch (ext) {
|
|
270
|
+
case '.md':
|
|
271
|
+
return chunkByHeadings(content, maxChunkChars);
|
|
272
|
+
case '.json':
|
|
273
|
+
return chunkJson(content, maxChunkChars, logger);
|
|
274
|
+
case '.yaml':
|
|
275
|
+
case '.yml':
|
|
276
|
+
return chunkYaml(content, maxChunkChars, logger);
|
|
277
|
+
case '.txt':
|
|
278
|
+
default:
|
|
279
|
+
return chunkPlainText(content, maxChunkChars);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
110
282
|
/**
|
|
111
283
|
* Small delay helper for rate limiting.
|
|
112
284
|
*/
|
|
@@ -114,33 +286,18 @@ function delay(ms) {
|
|
|
114
286
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
115
287
|
}
|
|
116
288
|
/**
|
|
117
|
-
* Import
|
|
289
|
+
* Import files into Keyoku with recursive discovery and multi-format support.
|
|
118
290
|
*/
|
|
119
291
|
export async function importMemoryFiles(params) {
|
|
120
|
-
const { client, entityId, workspaceDir, agentId, dryRun = false, logger = console } = params;
|
|
292
|
+
const { client, entityId, workspaceDir, agentId, dryRun = false, depth, types, logger = console, } = params;
|
|
121
293
|
const result = { imported: 0, skipped: 0, errors: 0 };
|
|
122
|
-
// Discover
|
|
123
|
-
const files =
|
|
124
|
-
// Check for MEMORY.md
|
|
125
|
-
const memoryMdPath = join(workspaceDir, 'MEMORY.md');
|
|
126
|
-
if (existsSync(memoryMdPath)) {
|
|
127
|
-
files.push({ path: memoryMdPath, name: 'MEMORY.md' });
|
|
128
|
-
}
|
|
129
|
-
// Check for memory/ directory
|
|
130
|
-
const memoryDir = join(workspaceDir, 'memory');
|
|
131
|
-
if (existsSync(memoryDir) && statSync(memoryDir).isDirectory()) {
|
|
132
|
-
const entries = readdirSync(memoryDir)
|
|
133
|
-
.filter((f) => f.endsWith('.md'))
|
|
134
|
-
.sort(); // chronological for dated files
|
|
135
|
-
for (const entry of entries) {
|
|
136
|
-
files.push({ path: join(memoryDir, entry), name: `memory/${entry}` });
|
|
137
|
-
}
|
|
138
|
-
}
|
|
294
|
+
// Discover files recursively
|
|
295
|
+
const files = discoverFiles(workspaceDir, { depth, types });
|
|
139
296
|
if (files.length === 0) {
|
|
140
297
|
logger.info('No memory files found in workspace.');
|
|
141
298
|
return result;
|
|
142
299
|
}
|
|
143
|
-
logger.info(`Found ${files.length}
|
|
300
|
+
logger.info(`Found ${files.length} file(s) to import.`);
|
|
144
301
|
// Process each file
|
|
145
302
|
for (const file of files) {
|
|
146
303
|
let content;
|
|
@@ -157,7 +314,7 @@ export async function importMemoryFiles(params) {
|
|
|
157
314
|
result.skipped++;
|
|
158
315
|
continue;
|
|
159
316
|
}
|
|
160
|
-
const chunks =
|
|
317
|
+
const chunks = chunkFile(content, file.path, 1000, logger);
|
|
161
318
|
for (const chunk of chunks) {
|
|
162
319
|
chunk.source = file.name;
|
|
163
320
|
// Build the content to store — include source context
|
|
@@ -185,7 +342,7 @@ export async function importMemoryFiles(params) {
|
|
|
185
342
|
try {
|
|
186
343
|
await client.remember(entityId, taggedContent, {
|
|
187
344
|
agent_id: agentId,
|
|
188
|
-
source: '
|
|
345
|
+
source: 'import',
|
|
189
346
|
});
|
|
190
347
|
result.imported++;
|
|
191
348
|
logger.info(`Imported: ${chunk.content.slice(0, 60)}...`);
|
package/dist/migration.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration.js","sourceRoot":"","sources":["../src/migration.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"migration.js","sourceRoot":"","sources":["../src/migration.ts"],"names":[],"mappings":"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"}
|
package/dist/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAmB5C;;GAEG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,SAAS,SAAO,EAChB,UAAU,SAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAahD;AAWD;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CActD;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAmB5C;;GAEG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,MAAM,EACX,SAAS,SAAO,EAChB,UAAU,SAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAahD;AAWD;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CActD;AAuCD,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAuFvE"}
|
package/dist/service.js
CHANGED
|
@@ -79,6 +79,35 @@ export function loadKeyokuEnv() {
|
|
|
79
79
|
}
|
|
80
80
|
return vars;
|
|
81
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Non-blocking check: compare running engine version against latest GitHub release.
|
|
84
|
+
*/
|
|
85
|
+
async function checkForUpdate(url, logger) {
|
|
86
|
+
try {
|
|
87
|
+
const controller = new AbortController();
|
|
88
|
+
const timer = setTimeout(() => controller.abort(), 5000);
|
|
89
|
+
const healthRes = await fetch(`${url}/api/v1/health`, { signal: controller.signal });
|
|
90
|
+
if (!healthRes.ok)
|
|
91
|
+
return;
|
|
92
|
+
const health = (await healthRes.json());
|
|
93
|
+
const current = health.version;
|
|
94
|
+
if (!current || current === 'dev')
|
|
95
|
+
return;
|
|
96
|
+
const ghRes = await fetch('https://api.github.com/repos/keyoku-ai/keyoku-engine/releases/latest', { signal: controller.signal, headers: { Accept: 'application/vnd.github.v3+json' } });
|
|
97
|
+
clearTimeout(timer);
|
|
98
|
+
if (!ghRes.ok)
|
|
99
|
+
return;
|
|
100
|
+
const release = (await ghRes.json());
|
|
101
|
+
const latest = release.tag_name.replace(/^v/, '');
|
|
102
|
+
const currentClean = current.replace(/^v/, '');
|
|
103
|
+
if (currentClean !== latest) {
|
|
104
|
+
logger.info(`keyoku: Update available: ${current} → ${latest}. Run: npx @keyoku/openclaw update-engine`);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
// Silently ignore — never block startup
|
|
109
|
+
}
|
|
110
|
+
}
|
|
82
111
|
export function registerService(api, keyokuUrl) {
|
|
83
112
|
api.registerService({
|
|
84
113
|
id: 'keyoku-engine',
|
|
@@ -86,6 +115,7 @@ export function registerService(api, keyokuUrl) {
|
|
|
86
115
|
// Skip if already running
|
|
87
116
|
if (await isKeyokuRunning(keyokuUrl)) {
|
|
88
117
|
api.logger.info('keyoku: Keyoku already running');
|
|
118
|
+
checkForUpdate(keyokuUrl, api.logger).catch(() => { });
|
|
89
119
|
return;
|
|
90
120
|
}
|
|
91
121
|
const binary = findKeyokuBinary();
|
|
@@ -136,6 +166,8 @@ export function registerService(api, keyokuUrl) {
|
|
|
136
166
|
// Wait for health check with retry
|
|
137
167
|
if (await waitForHealthy(keyokuUrl)) {
|
|
138
168
|
api.logger.info('keyoku: Keyoku started successfully');
|
|
169
|
+
// Fire-and-forget version check
|
|
170
|
+
checkForUpdate(keyokuUrl, api.logger).catch(() => { });
|
|
139
171
|
}
|
|
140
172
|
else {
|
|
141
173
|
api.logger.warn('keyoku: Keyoku started but health check failed — it may still be initializing');
|
package/dist/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.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.5.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",
|
|
@@ -13,9 +13,10 @@
|
|
|
13
13
|
"build": "tsc"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@keyoku/memory": "1.
|
|
17
|
-
"@keyoku/types": "1.
|
|
18
|
-
"@sinclair/typebox": "^0.34.0"
|
|
16
|
+
"@keyoku/memory": "1.5.0",
|
|
17
|
+
"@keyoku/types": "1.5.0",
|
|
18
|
+
"@sinclair/typebox": "^0.34.0",
|
|
19
|
+
"js-yaml": "^4.1.1"
|
|
19
20
|
},
|
|
20
21
|
"peerDependencies": {
|
|
21
22
|
"openclaw": ">=0.1.0"
|
|
@@ -42,5 +43,8 @@
|
|
|
42
43
|
"license": "MIT",
|
|
43
44
|
"engines": {
|
|
44
45
|
"node": ">=20"
|
|
46
|
+
},
|
|
47
|
+
"devDependencies": {
|
|
48
|
+
"@types/js-yaml": "^4.0.9"
|
|
45
49
|
}
|
|
46
50
|
}
|
|
@@ -44,14 +44,23 @@ When you see `<heartbeat-signals>`:
|
|
|
44
44
|
You have tools to manage memory directly:
|
|
45
45
|
|
|
46
46
|
- `memory_search` — Search for specific memories about a user
|
|
47
|
-
- `memory_store` —
|
|
47
|
+
- `memory_store` — Store knowledge discovered outside of conversation (research, autonomous work, exploration)
|
|
48
48
|
- `memory_forget` — Delete a specific memory
|
|
49
49
|
- `memory_stats` — Check memory statistics
|
|
50
50
|
- `schedule_create` — Create a scheduled reminder (e.g., "remind me in 2 hours")
|
|
51
51
|
- `schedule_list` — List active scheduled reminders
|
|
52
52
|
- `schedule_cancel` — Cancel a scheduled reminder
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
### When to use `memory_store`
|
|
55
|
+
|
|
56
|
+
**DO use it during autonomous work** — when you're doing research, exploring information, scanning for updates, or working on tasks without direct human conversation. If you discover something worth remembering that isn't part of a conversation exchange, store it explicitly.
|
|
57
|
+
|
|
58
|
+
**Do NOT use it during conversation with a human.** The system automatically captures every conversation exchange (user message + your response) and extracts important facts. If you also call `memory_store` during conversation, the same content gets double-ingested, creating duplicates. Let auto-capture handle conversation memory.
|
|
59
|
+
|
|
60
|
+
**Examples:**
|
|
61
|
+
- User says "remember I like morning meetings" → Don't call `memory_store`. Auto-capture will extract this.
|
|
62
|
+
- You discover a useful pattern while researching → Call `memory_store`. Not in any conversation.
|
|
63
|
+
- User shares an important decision → Don't call `memory_store`. Auto-capture handles it.
|
|
55
64
|
|
|
56
65
|
Use `schedule_create` when the user says things like "remind me to..." or "check on this in 2 hours." Use natural cron expressions.
|
|
57
66
|
|