@jonathangu/openclawbrain 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +140 -290
  2. package/docs/END_STATE.md +106 -94
  3. package/docs/EVIDENCE.md +71 -23
  4. package/docs/RELEASE_CONTRACT.md +46 -32
  5. package/docs/agent-tools.md +65 -34
  6. package/docs/architecture.md +128 -142
  7. package/docs/configuration.md +62 -25
  8. package/docs/evidence/2026-03-16/1fc8ee6fd7892e3deb27d111434df948bca2a66b/channels-status.txt +20 -0
  9. package/docs/evidence/2026-03-16/1fc8ee6fd7892e3deb27d111434df948bca2a66b/config-snapshot.json +94 -0
  10. package/docs/evidence/2026-03-16/1fc8ee6fd7892e3deb27d111434df948bca2a66b/doctor.json +14 -0
  11. package/docs/evidence/2026-03-16/1fc8ee6fd7892e3deb27d111434df948bca2a66b/gateway-probe.txt +24 -0
  12. package/docs/evidence/2026-03-16/1fc8ee6fd7892e3deb27d111434df948bca2a66b/gateway-status.txt +31 -0
  13. package/docs/evidence/2026-03-16/1fc8ee6fd7892e3deb27d111434df948bca2a66b/init-capture.json +15 -0
  14. package/docs/evidence/2026-03-16/1fc8ee6fd7892e3deb27d111434df948bca2a66b/logs.txt +357 -0
  15. package/docs/evidence/2026-03-16/1fc8ee6fd7892e3deb27d111434df948bca2a66b/status-all.txt +61 -0
  16. package/docs/evidence/2026-03-16/1fc8ee6fd7892e3deb27d111434df948bca2a66b/status.json +275 -0
  17. package/docs/evidence/2026-03-16/1fc8ee6fd7892e3deb27d111434df948bca2a66b/summary.md +18 -0
  18. package/docs/evidence/2026-03-16/1fc8ee6fd7892e3deb27d111434df948bca2a66b/trace.json +222 -0
  19. package/docs/evidence/2026-03-16/1fc8ee6fd7892e3deb27d111434df948bca2a66b/validation-report.json +1515 -0
  20. package/docs/evidence/2026-03-16/1fc8ee6fd7892e3deb27d111434df948bca2a66b/workspace-inventory.json +4 -0
  21. package/docs/evidence/2026-03-16/4ccd71a22418b9170128b8d948f5a95801a10380/channels-status.txt +20 -0
  22. package/docs/evidence/2026-03-16/4ccd71a22418b9170128b8d948f5a95801a10380/config-snapshot.json +94 -0
  23. package/docs/evidence/2026-03-16/4ccd71a22418b9170128b8d948f5a95801a10380/doctor.json +14 -0
  24. package/docs/evidence/2026-03-16/4ccd71a22418b9170128b8d948f5a95801a10380/gateway-probe.txt +24 -0
  25. package/docs/evidence/2026-03-16/4ccd71a22418b9170128b8d948f5a95801a10380/gateway-status.txt +31 -0
  26. package/docs/evidence/2026-03-16/4ccd71a22418b9170128b8d948f5a95801a10380/init-capture.json +15 -0
  27. package/docs/evidence/2026-03-16/4ccd71a22418b9170128b8d948f5a95801a10380/logs.txt +362 -0
  28. package/docs/evidence/2026-03-16/4ccd71a22418b9170128b8d948f5a95801a10380/status-all.txt +61 -0
  29. package/docs/evidence/2026-03-16/4ccd71a22418b9170128b8d948f5a95801a10380/status.json +275 -0
  30. package/docs/evidence/2026-03-16/4ccd71a22418b9170128b8d948f5a95801a10380/summary.md +21 -0
  31. package/docs/evidence/2026-03-16/4ccd71a22418b9170128b8d948f5a95801a10380/trace.json +222 -0
  32. package/docs/evidence/2026-03-16/4ccd71a22418b9170128b8d948f5a95801a10380/validation-report.json +4400 -0
  33. package/docs/evidence/2026-03-16/4ccd71a22418b9170128b8d948f5a95801a10380/workspace-inventory.json +4 -0
  34. package/docs/evidence/2026-03-16/d93f09feea123a08d020fcad8a4523b6c1d26507/channels-status.txt +31 -0
  35. package/docs/evidence/2026-03-16/d93f09feea123a08d020fcad8a4523b6c1d26507/config-snapshot.json +94 -0
  36. package/docs/evidence/2026-03-16/d93f09feea123a08d020fcad8a4523b6c1d26507/doctor.json +14 -0
  37. package/docs/evidence/2026-03-16/d93f09feea123a08d020fcad8a4523b6c1d26507/gateway-probe.txt +34 -0
  38. package/docs/evidence/2026-03-16/d93f09feea123a08d020fcad8a4523b6c1d26507/gateway-status.txt +41 -0
  39. package/docs/evidence/2026-03-16/d93f09feea123a08d020fcad8a4523b6c1d26507/logs.txt +441 -0
  40. package/docs/evidence/2026-03-16/d93f09feea123a08d020fcad8a4523b6c1d26507/status-all.txt +60 -0
  41. package/docs/evidence/2026-03-16/d93f09feea123a08d020fcad8a4523b6c1d26507/status.json +276 -0
  42. package/docs/evidence/2026-03-16/d93f09feea123a08d020fcad8a4523b6c1d26507/summary.md +13 -0
  43. package/docs/evidence/2026-03-16/d93f09feea123a08d020fcad8a4523b6c1d26507/trace.json +4 -0
  44. package/docs/evidence/2026-03-16/d93f09feea123a08d020fcad8a4523b6c1d26507/validation-report.json +387 -0
  45. package/docs/tui.md +11 -4
  46. package/index.ts +194 -1
  47. package/package.json +1 -1
  48. package/src/brain-cli.ts +12 -1
  49. package/src/brain-harvest/scanner.ts +286 -16
  50. package/src/brain-harvest/self.ts +134 -6
  51. package/src/brain-runtime/evidence-detectors.ts +3 -1
  52. package/src/brain-runtime/harvester-extension.ts +3 -0
  53. package/src/brain-runtime/service.ts +2 -0
  54. package/src/brain-store/embedding.ts +29 -8
  55. package/src/brain-worker/worker.ts +40 -0
  56. package/src/engine.ts +1 -0
@@ -0,0 +1,31 @@
1
+
2
+ ◇ Config warnings ────────────────────────────────────────────────────────╮
3
+ │ │
4
+ │ - plugins.entries.ollama: plugin ollama: plugin id mismatch (manifest │
5
+ │ uses "ollama", entry hints "ollama-provider") │
6
+ │ - plugins.entries.sglang: plugin sglang: plugin id mismatch (manifest │
7
+ │ uses "sglang", entry hints "sglang-provider") │
8
+ │ - plugins.entries.vllm: plugin vllm: plugin id mismatch (manifest uses │
9
+ │ "vllm", entry hints "vllm-provider") │
10
+ │ │
11
+ ├──────────────────────────────────────────────────────────────────────────╯
12
+
13
+ ◇ Doctor changes ──────────────────────────────╮
14
+ │ │
15
+ │ Telegram configured, enabled automatically. │
16
+ │ │
17
+ ├───────────────────────────────────────────────╯
18
+
19
+ ◇ Doctor ──────────────────────────────────────────────╮
20
+ │ │
21
+ │ Run "openclaw doctor --fix" to apply these changes. │
22
+ │ │
23
+ ├───────────────────────────────────────────────────────╯
24
+ [plugins] [openclawbrain] Plugin loaded (enabled=true, db=/Users/cormorantai/.openclaw-ocbphase1/lcm.db, threshold=0.75)
25
+ Checking channel status (probe)…
26
+ Gateway not reachable; showing config-only status.
27
+ Config: /Users/cormorantai/.openclaw-ocbphase1/openclaw.json
28
+ Mode: local
29
+
30
+
31
+ Tip: https://docs.openclaw.ai/cli#status adds gateway health probes to status output (requires a reachable gateway).
@@ -0,0 +1,94 @@
1
+ {
2
+ "gitSha": "d93f09feea123a08d020fcad8a4523b6c1d26507",
3
+ "artifactDir": "/Users/cormorantai/openclawbrain/docs/evidence/2026-03-16/d93f09feea123a08d020fcad8a4523b6c1d26507",
4
+ "validationMode": "sterile-lane",
5
+ "validationLaneName": "ocbphase1",
6
+ "validationRoot": "/Users/cormorantai/.openclaw-ocbphase1",
7
+ "validationHome": "/Users/cormorantai",
8
+ "validationStateDir": "/Users/cormorantai/.openclaw-ocbphase1",
9
+ "fixtureWorkspace": "/Users/cormorantai/.openclaw/workspace-ocbphase1",
10
+ "configPath": "/Users/cormorantai/.openclaw-ocbphase1/openclaw.json",
11
+ "lcmDbPath": "/Users/cormorantai/.openclaw-ocbphase1/lcm.db",
12
+ "brainRoot": "/Users/cormorantai/.openclaw-ocbphase1/openclawbrain",
13
+ "validationRecordFile": "/Users/cormorantai/.openclaw-ocbphase1/validation-records/validation-assemble.jsonl",
14
+ "validationGatewayPort": 19031,
15
+ "config": {
16
+ "meta": {
17
+ "lastTouchedVersion": "2026.3.13",
18
+ "lastTouchedAt": "2026-03-16T08:55:33.959Z"
19
+ },
20
+ "models": {
21
+ "providers": {
22
+ "ollama": {
23
+ "baseUrl": "http://127.0.0.1:11434",
24
+ "apiKey": "ollama-local",
25
+ "api": "ollama",
26
+ "models": [
27
+ {
28
+ "id": "qwen2.5:7b-instruct",
29
+ "name": "qwen2.5:7b-instruct",
30
+ "reasoning": false,
31
+ "input": [
32
+ "text"
33
+ ],
34
+ "cost": {
35
+ "input": 0,
36
+ "output": 0,
37
+ "cacheRead": 0,
38
+ "cacheWrite": 0
39
+ },
40
+ "contextWindow": 262144,
41
+ "maxTokens": 16384
42
+ }
43
+ ]
44
+ }
45
+ }
46
+ },
47
+ "agents": {
48
+ "defaults": {
49
+ "model": {
50
+ "primary": "ollama/qwen2.5:7b-instruct"
51
+ },
52
+ "workspace": "/Users/cormorantai/.openclaw/workspace-ocbphase1",
53
+ "compaction": {
54
+ "mode": "safeguard"
55
+ }
56
+ }
57
+ },
58
+ "commands": {
59
+ "native": "auto",
60
+ "nativeSkills": "auto",
61
+ "restart": true,
62
+ "ownerDisplay": "raw"
63
+ },
64
+ "gateway": {
65
+ "port": 19031,
66
+ "mode": "local"
67
+ },
68
+ "plugins": {
69
+ "load": {
70
+ "paths": [
71
+ "/Users/cormorantai/openclawbrain"
72
+ ]
73
+ },
74
+ "slots": {},
75
+ "entries": {
76
+ "openclawbrain": {
77
+ "enabled": true,
78
+ "config": {
79
+ "enabled": true
80
+ }
81
+ }
82
+ },
83
+ "installs": {
84
+ "openclawbrain": {
85
+ "source": "path",
86
+ "sourcePath": "/Users/cormorantai/openclawbrain",
87
+ "installPath": "/Users/cormorantai/openclawbrain",
88
+ "version": "0.3.0",
89
+ "installedAt": "2026-03-16T08:55:33.955Z"
90
+ }
91
+ }
92
+ }
93
+ }
94
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "command": "openclaw",
3
+ "args": [
4
+ "doctor",
5
+ "--non-interactive"
6
+ ],
7
+ "cwd": "/Users/cormorantai/openclawbrain",
8
+ "exitCode": 0,
9
+ "signal": null,
10
+ "ok": true,
11
+ "stdout": "▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n██░▄▄▄░██░▄▄░██░▄▄▄██░▀██░██░▄▄▀██░████░▄▄▀██░███░██\n██░███░██░▀▀░██░▄▄▄██░█░█░██░█████░████░▀▀░██░█░█░██\n██░▀▀▀░██░█████░▀▀▀██░██▄░██░▀▀▄██░▀▀░█░██░██▄▀▄▀▄██\n▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀\n 🦞 OPENCLAW 🦞 \n \n┌ OpenClaw doctor\n│\n◇ Install ─────────────────────────────────────────────────────────╮\n│ │\n│ - package-lock.json present in a pnpm workspace. If you ran npm │\n│ install, remove it and reinstall with pnpm. │\n│ │\n├───────────────────────────────────────────────────────────────────╯\n│\n◇ Config warnings ────────────────────────────────────────────────────────╮\n│ │\n│ - plugins.entries.ollama: plugin ollama: plugin id mismatch (manifest │\n│ uses \"ollama\", entry hints \"ollama-provider\") │\n│ - plugins.entries.sglang: plugin sglang: plugin id mismatch (manifest │\n│ uses \"sglang\", entry hints \"sglang-provider\") │\n│ - plugins.entries.vllm: plugin vllm: plugin id mismatch (manifest uses │\n│ \"vllm\", entry hints \"vllm-provider\") │\n│ │\n├──────────────────────────────────────────────────────────────────────────╯\n│\n◇ Doctor changes ──────────────────────────────╮\n│ │\n│ Telegram configured, enabled automatically. │\n│ │\n├───────────────────────────────────────────────╯\n│\n◇ Doctor ──────────────────────────────────────────────╮\n│ │\n│ Run \"openclaw doctor --fix\" to apply these changes. │\n│ │\n├───────────────────────────────────────────────────────╯\n│\n◇ Gateway auth ──────────────────────────────────────────────────╮\n│ │\n│ Gateway auth is off or missing a token. Token auth is now the │\n│ recommended default (including loopback). │\n│ │\n├─────────────────────────────────────────────────────────────────╯\n│\n◇ State integrity ────────────────────────────────────────────────────────╮\n│ │\n│ - OAuth dir not present (~/.openclaw-ocbphase1/credentials). Skipping │\n│ create because no WhatsApp/pairing channel config is active. │\n│ - Multiple state directories detected. This can split session history. │\n│ - ~/.openclaw │\n│ Active state dir: ~/.openclaw-ocbphase1 │\n│ │\n├──────────────────────────────────────────────────────────────────────────╯\n│\n◇ Other gateway-like services detected ───────────────────────────────────────╮\n│ │\n│ - com.openclawbrain.daemon.activation.0ec88212fa7d (user, plist: │\n│ /Users/cormorantai/Library/LaunchAgents/com.openclawbrain.daemon.activat │\n│ ion.0ec88212fa7d.plist) │\n│ - com.openclawbrain.daemon.activation.546e84bf06ac (user, plist: │\n│ /Users/cormorantai/Library/LaunchAgents/com.openclawbrain.daemon.activat │\n│ ion.546e84bf06ac.plist) │\n│ - com.openclawbrain.daemon.activation.b3eeb450ca08 (user, plist: │\n│ /Users/cormorantai/Library/LaunchAgents/com.openclawbrain.daemon.activat │\n│ ion.b3eeb450ca08.plist) │\n│ │\n├──────────────────────────────────────────────────────────────────────────────╯\n│\n◇ Cleanup hints ─────────────────────────────────────────╮\n│ │\n│ - launchctl bootout gui/$UID/ai.openclaw.gateway │\n│ - rm ~/Library/LaunchAgents/ai.openclaw.gateway.plist │\n│ │\n├─────────────────────────────────────────────────────────╯\n│\n◇ Gateway recommendation ───────────────────────────────────────────────╮\n│ │\n│ Recommendation: run a single gateway per machine for most setups. │\n│ One gateway supports multiple agents. │\n│ If you need multiple gateways (e.g., a rescue bot on the same host), │\n│ isolate ports + config/state (see docs: │\n│ /gateway#multiple-gateways-same-host). │\n│ │\n├────────────────────────────────────────────────────────────────────────╯\n│\n◇ Security ─────────────────────────────────╮\n│ │\n│ - No channel security warnings detected. │\n│ - Run: openclaw security audit --deep │\n│ │\n├────────────────────────────────────────────╯\n│\n◇ Skills status ────────────╮\n│ │\n│ Eligible: 9 │\n│ Missing requirements: 43 │\n│ Blocked by allowlist: 0 │\n│ │\n├────────────────────────────╯\n│\n◇ Plugins ──────╮\n│ │\n│ Loaded: 5 │\n│ Disabled: 37 │\n│ Errors: 0 │\n│ │\n├────────────────╯\n│\n◇ Plugin diagnostics ─────────────────────────────────────────────────────╮\n│ │\n│ - WARN ollama: plugin id mismatch (manifest uses \"ollama\", entry hints │\n│ \"ollama-provider\") │\n│ (/Users/cormorantai/opencormorant/extensions/ollama/index.ts) │\n│ - WARN sglang: plugin id mismatch (manifest uses \"sglang\", entry hints │\n│ \"sglang-provider\") │\n│ (/Users/cormorantai/opencormorant/extensions/sglang/index.ts) │\n│ - WARN vllm: plugin id mismatch (manifest uses \"vllm\", entry hints │\n│ \"vllm-provider\") │\n│ (/Users/cormorantai/opencormorant/extensions/vllm/index.ts) │\n│ │\n├──────────────────────────────────────────────────────────────────────────╯\n│\n◇ Gateway ──────────────╮\n│ │\n│ Gateway not running. │\n│ │\n├────────────────────────╯\n│\n◇ Gateway connection ───────────────────────────────────────────╮\n│ │\n│ Gateway target: ws://127.0.0.1:19031 │\n│ Source: local loopback │\n│ Config: /Users/cormorantai/.openclaw-ocbphase1/openclaw.json │\n│ Bind: loopback │\n│ │\n├────────────────────────────────────────────────────────────────╯\n│\n◇ Gateway ────────────────────────╮\n│ │\n│ Gateway service not installed. │\n│ │\n├──────────────────────────────────╯\nRun \"openclaw doctor --fix\" to apply changes.\n│\n└ Doctor complete.\n\n",
12
+ "stderr": "Config warnings:\\n- plugins.entries.ollama: plugin ollama: plugin id mismatch (manifest uses \"ollama\", entry hints \"ollama-provider\")\n- plugins.entries.sglang: plugin sglang: plugin id mismatch (manifest uses \"sglang\", entry hints \"sglang-provider\")\n- plugins.entries.vllm: plugin vllm: plugin id mismatch (manifest uses \"vllm\", entry hints \"vllm-provider\")\n",
13
+ "error": null
14
+ }
@@ -0,0 +1,34 @@
1
+
2
+ ◇ Config warnings ────────────────────────────────────────────────────────╮
3
+ │ │
4
+ │ - plugins.entries.ollama: plugin ollama: plugin id mismatch (manifest │
5
+ │ uses "ollama", entry hints "ollama-provider") │
6
+ │ - plugins.entries.sglang: plugin sglang: plugin id mismatch (manifest │
7
+ │ uses "sglang", entry hints "sglang-provider") │
8
+ │ - plugins.entries.vllm: plugin vllm: plugin id mismatch (manifest uses │
9
+ │ "vllm", entry hints "vllm-provider") │
10
+ │ │
11
+ ├──────────────────────────────────────────────────────────────────────────╯
12
+
13
+ ◇ Doctor changes ──────────────────────────────╮
14
+ │ │
15
+ │ Telegram configured, enabled automatically. │
16
+ │ │
17
+ ├───────────────────────────────────────────────╯
18
+
19
+ ◇ Doctor ──────────────────────────────────────────────╮
20
+ │ │
21
+ │ Run "openclaw doctor --fix" to apply these changes. │
22
+ │ │
23
+ ├───────────────────────────────────────────────────────╯
24
+ Gateway Status
25
+ Reachable: no
26
+ Probe budget: 3000ms
27
+
28
+ Discovery (this machine)
29
+ Found 4 gateway(s) via Bonjour (local.)
30
+
31
+ Targets
32
+ Local loopback ws://127.0.0.1:19031
33
+ Connect: failed - connect failed: connect ECONNREFUSED 127.0.0.1:19031
34
+
@@ -0,0 +1,41 @@
1
+
2
+ ◇ Config warnings ────────────────────────────────────────────────────────╮
3
+ │ │
4
+ │ - plugins.entries.ollama: plugin ollama: plugin id mismatch (manifest │
5
+ │ uses "ollama", entry hints "ollama-provider") │
6
+ │ - plugins.entries.sglang: plugin sglang: plugin id mismatch (manifest │
7
+ │ uses "sglang", entry hints "sglang-provider") │
8
+ │ - plugins.entries.vllm: plugin vllm: plugin id mismatch (manifest uses │
9
+ │ "vllm", entry hints "vllm-provider") │
10
+ │ │
11
+ ├──────────────────────────────────────────────────────────────────────────╯
12
+
13
+ ◇ Doctor changes ──────────────────────────────╮
14
+ │ │
15
+ │ Telegram configured, enabled automatically. │
16
+ │ │
17
+ ├───────────────────────────────────────────────╯
18
+
19
+ ◇ Doctor ──────────────────────────────────────────────╮
20
+ │ │
21
+ │ Run "openclaw doctor --fix" to apply these changes. │
22
+ │ │
23
+ ├───────────────────────────────────────────────────────╯
24
+ Service: LaunchAgent (not loaded)
25
+ File logs: /tmp/openclaw/openclaw-2026-03-16.log
26
+
27
+ Config (cli): ~/.openclaw-ocbphase1/openclaw.json
28
+ Config (service): ~/.openclaw-ocbphase1/openclaw.json
29
+
30
+ Gateway: bind=loopback (127.0.0.1), port=19031 (env/config)
31
+ Probe target: ws://127.0.0.1:19031
32
+ Dashboard: http://127.0.0.1:19031/
33
+ Probe note: Loopback-only gateway; only local clients can connect.
34
+
35
+ Runtime: unknown (Bad request.
36
+ Could not find service "ai.openclaw.gateway" in domain for user gui: 501)
37
+
38
+
39
+
40
+ Troubles: run openclaw status
41
+ Troubleshooting: https://docs.openclaw.ai/troubleshooting