nexo-brain 1.7.0 → 2.0.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 +25 -24
- package/bin/nexo-brain.js +680 -381
- package/package.json +4 -1
- package/scripts/migrate-to-unified.sh +813 -0
- package/scripts/migrate-v1.7-to-v1.8.py +214 -0
- package/scripts/pre-commit-check.sh +1 -1
- package/src/__pycache__/auto_close_sessions.cpython-310.pyc +0 -0
- package/src/__pycache__/auto_update.cpython-310.pyc +0 -0
- package/src/__pycache__/auto_update.cpython-314.pyc +0 -0
- package/src/__pycache__/claim_graph.cpython-310.pyc +0 -0
- package/src/__pycache__/evolution_cycle.cpython-310.pyc +0 -0
- package/src/__pycache__/evolution_cycle.cpython-314.pyc +0 -0
- package/src/__pycache__/hnsw_index.cpython-310.pyc +0 -0
- package/src/__pycache__/kg_populate.cpython-310.pyc +0 -0
- package/src/__pycache__/knowledge_graph.cpython-310.pyc +0 -0
- package/src/__pycache__/knowledge_graph.cpython-314.pyc +0 -0
- package/src/__pycache__/maintenance.cpython-310.pyc +0 -0
- package/src/__pycache__/migrate_embeddings.cpython-310.pyc +0 -0
- package/src/__pycache__/plugin_loader.cpython-310.pyc +0 -0
- package/src/__pycache__/server.cpython-310.pyc +0 -0
- package/src/__pycache__/server.cpython-314.pyc +0 -0
- package/src/__pycache__/storage_router.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_coordination.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_credentials.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_learnings.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_learnings.cpython-314.pyc +0 -0
- package/src/__pycache__/tools_menu.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_reminders.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_reminders_crud.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_sessions.cpython-310.pyc +0 -0
- package/src/__pycache__/tools_sessions.cpython-314.pyc +0 -0
- package/src/__pycache__/tools_task_history.cpython-310.pyc +0 -0
- package/src/auto_close_sessions.py +1 -1
- package/src/auto_update.py +634 -0
- package/src/cognitive/__pycache__/__init__.cpython-310.pyc +0 -0
- package/src/cognitive/__pycache__/__init__.cpython-314.pyc +0 -0
- package/src/cognitive/__pycache__/_core.cpython-310.pyc +0 -0
- package/src/cognitive/__pycache__/_core.cpython-314.pyc +0 -0
- package/src/cognitive/__pycache__/_decay.cpython-310.pyc +0 -0
- package/src/cognitive/__pycache__/_decay.cpython-314.pyc +0 -0
- package/src/cognitive/__pycache__/_ingest.cpython-310.pyc +0 -0
- package/src/cognitive/__pycache__/_ingest.cpython-314.pyc +0 -0
- package/src/cognitive/__pycache__/_memory.cpython-310.pyc +0 -0
- package/src/cognitive/__pycache__/_memory.cpython-314.pyc +0 -0
- package/src/cognitive/__pycache__/_search.cpython-310.pyc +0 -0
- package/src/cognitive/__pycache__/_search.cpython-314.pyc +0 -0
- package/src/cognitive/__pycache__/_trust.cpython-310.pyc +0 -0
- package/src/cognitive/__pycache__/_trust.cpython-314.pyc +0 -0
- package/src/cognitive/_core.py +7 -3
- package/src/cognitive/_decay.py +1 -1
- package/src/cognitive/_search.py +1 -0
- package/src/cognitive/_trust.py +3 -3
- package/src/dashboard/__pycache__/__init__.cpython-310.pyc +0 -0
- package/src/dashboard/__pycache__/app.cpython-310.pyc +0 -0
- package/src/dashboard/app.py +8 -2
- package/src/db/__pycache__/__init__.cpython-310.pyc +0 -0
- package/src/db/__pycache__/__init__.cpython-312.pyc +0 -0
- package/src/db/__pycache__/__init__.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_core.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_core.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_core.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_credentials.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_credentials.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_credentials.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_entities.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_entities.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_entities.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_episodic.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_episodic.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_episodic.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_evolution.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_evolution.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_evolution.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_fts.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_fts.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_fts.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_learnings.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_learnings.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_learnings.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_reminders.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_reminders.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_reminders.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_schema.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_schema.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_schema.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_sessions.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_sessions.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_sessions.cpython-314.pyc +0 -0
- package/src/db/__pycache__/_tasks.cpython-310.pyc +0 -0
- package/src/db/__pycache__/_tasks.cpython-312.pyc +0 -0
- package/src/db/__pycache__/_tasks.cpython-314.pyc +0 -0
- package/src/db/_core.py +5 -1
- package/src/db/_episodic.py +1 -3
- package/src/db/_reminders.py +36 -1
- package/src/db/_schema.py +31 -0
- package/src/evolution_cycle.py +33 -11
- package/src/hooks/__pycache__/auto_capture.cpython-310.pyc +0 -0
- package/src/hooks/auto_capture.py +1 -1
- package/src/hooks/capture-tool-logs.sh +76 -0
- package/src/hooks/inbox-hook.sh +2 -1
- package/src/hooks/post-compact.sh +2 -1
- package/src/hooks/pre-compact.sh +104 -2
- package/src/hooks/session-start.sh +6 -2
- package/src/hooks/session-stop.sh +2 -1
- package/src/kg_populate.py +4 -1
- package/src/migrate_embeddings.py +4 -1
- package/src/plugin_loader.py +100 -34
- package/src/plugins/__pycache__/__init__.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/__init__.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/adaptive_mode.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/agents.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/agents.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/artifact_registry.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/backup.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/cognitive_memory.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/core_rules.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/core_rules.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/cortex.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/entities.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/episodic_memory.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/episodic_memory.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/evolution.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/evolution.cpython-314.pyc +0 -0
- package/src/plugins/__pycache__/guard.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/knowledge_graph_tools.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/preferences.cpython-310.pyc +0 -0
- package/src/plugins/__pycache__/update.cpython-310.pyc +0 -0
- package/src/plugins/agents.py +2 -2
- package/src/plugins/backup.py +5 -4
- package/src/plugins/core_rules.py +5 -1
- package/src/plugins/episodic_memory.py +14 -5
- package/src/plugins/evolution.py +6 -2
- package/src/plugins/guard.py +20 -11
- package/src/plugins/update.py +238 -0
- package/src/requirements.txt +12 -0
- package/src/rules/__pycache__/__init__.cpython-310.pyc +0 -0
- package/src/rules/__pycache__/migrate.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/check-context.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/check-context.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-auto-update.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-catchup.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-catchup.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-cognitive-decay.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-cognitive-decay.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-daily-self-audit.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-daily-self-audit.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-evolution-run.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-evolution-run.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-followup-hygiene.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-github-monitor.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-github-monitor.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-immune.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-install.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-learning-housekeep.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-learning-housekeep.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-learning-validator.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-learning-validator.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-migrate.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-postmortem-consolidator.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-pre-commit.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-proactive-dashboard.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-proactive-dashboard.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-reflection.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-runtime-preflight.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-runtime-preflight.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-send-email.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-send-reply.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-send-reply.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-sleep.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-sleep.cpython-314.pyc +0 -0
- package/src/scripts/__pycache__/nexo-synthesis.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-watchdog-smoke.cpython-310.pyc +0 -0
- package/src/scripts/__pycache__/nexo-watchdog-smoke.cpython-314.pyc +0 -0
- package/src/scripts/check-context.py +9 -1
- package/src/scripts/deep-sleep/__pycache__/analyze_session.cpython-310.pyc +0 -0
- package/src/scripts/deep-sleep/__pycache__/analyze_session.cpython-314.pyc +0 -0
- package/src/scripts/deep-sleep/__pycache__/apply_findings.cpython-310.pyc +0 -0
- package/src/scripts/deep-sleep/__pycache__/apply_findings.cpython-314.pyc +0 -0
- package/src/scripts/deep-sleep/__pycache__/collect_transcripts.cpython-310.pyc +0 -0
- package/src/scripts/deep-sleep/apply_findings.py +3 -3
- package/src/scripts/nexo-auto-update.py +4 -211
- package/src/scripts/nexo-backup.sh +5 -13
- package/src/scripts/nexo-brain-activation.sh +26 -26
- package/src/scripts/nexo-catchup.py +36 -22
- package/src/scripts/nexo-cognitive-decay.py +7 -3
- package/src/scripts/nexo-daily-self-audit.py +30 -10
- package/src/scripts/nexo-evolution-run.py +35 -10
- package/src/scripts/nexo-followup-hygiene.py +2 -2
- package/src/scripts/nexo-github-monitor.py +11 -4
- package/src/scripts/nexo-immune.py +17 -2
- package/src/scripts/nexo-inbox-hook.sh +2 -1
- package/src/scripts/nexo-install.py +4 -225
- package/src/scripts/nexo-learning-housekeep.py +7 -3
- package/src/scripts/nexo-learning-validator.py +10 -2
- package/src/scripts/nexo-migrate.py +9 -3
- package/src/scripts/nexo-postmortem-consolidator.py +22 -4
- package/src/scripts/nexo-pre-commit.py +3 -1
- package/src/scripts/nexo-prevent-sleep.sh +29 -0
- package/src/scripts/nexo-proactive-dashboard.py +4 -4
- package/src/scripts/nexo-runtime-preflight.py +59 -55
- package/src/scripts/nexo-send-email.py +1 -1
- package/src/scripts/nexo-send-reply.py +3 -1
- package/src/scripts/nexo-sleep.py +19 -5
- package/src/scripts/nexo-snapshot-restore.sh +2 -1
- package/src/scripts/nexo-synthesis.py +17 -2
- package/src/scripts/nexo-tcc-approve.sh +79 -0
- package/src/scripts/nexo-update.sh +161 -0
- package/src/scripts/nexo-watchdog-smoke.py +18 -13
- package/src/scripts/nexo-watchdog.sh +22 -13
- package/src/server.py +77 -28
- package/src/storage_router.py +6 -2
- package/src/tools_learnings.py +6 -6
- package/src/tools_reminders_crud.py +10 -8
- package/src/tools_sessions.py +9 -4
- package/templates/CLAUDE.md.template +14 -80
- package/templates/launchagents/README.md +7 -7
- package/templates/launchagents/com.nexo.auto-close-sessions.plist +5 -1
- package/templates/launchagents/com.nexo.catchup.plist +4 -0
- package/templates/launchagents/com.nexo.cognitive-decay.plist +7 -0
- package/templates/launchagents/com.nexo.dashboard.plist +5 -1
- package/templates/launchagents/com.nexo.deep-sleep.plist +4 -0
- package/templates/launchagents/com.nexo.evolution.plist +4 -0
- package/templates/launchagents/com.nexo.followup-hygiene.plist +4 -0
- package/templates/launchagents/com.nexo.github-monitor.plist +3 -1
- package/templates/launchagents/com.nexo.immune.plist +4 -0
- package/templates/launchagents/com.nexo.postmortem.plist +4 -0
- package/templates/launchagents/com.nexo.self-audit.plist +4 -0
- package/templates/launchagents/com.nexo.synthesis.plist +4 -0
- package/templates/launchagents/com.nexo.watchdog.plist +4 -0
- package/templates/openclaw.json +1 -1
- package/tests/__pycache__/__init__.cpython-310.pyc +0 -0
- package/tests/__pycache__/__init__.cpython-314.pyc +0 -0
- package/tests/__pycache__/conftest.cpython-310-pytest-9.0.2.pyc +0 -0
- package/tests/__pycache__/conftest.cpython-310.pyc +0 -0
- package/tests/__pycache__/conftest.cpython-314-pytest-9.0.2.pyc +0 -0
- package/tests/__pycache__/test_cognitive.cpython-310-pytest-9.0.2.pyc +0 -0
- package/tests/__pycache__/test_cognitive.cpython-310.pyc +0 -0
- package/tests/__pycache__/test_cognitive.cpython-314-pytest-9.0.2.pyc +0 -0
- package/tests/__pycache__/test_knowledge_graph.cpython-310-pytest-9.0.2.pyc +0 -0
- package/tests/__pycache__/test_knowledge_graph.cpython-310.pyc +0 -0
- package/tests/__pycache__/test_knowledge_graph.cpython-314-pytest-9.0.2.pyc +0 -0
- package/tests/__pycache__/test_migrations.cpython-310-pytest-9.0.2.pyc +0 -0
- package/tests/__pycache__/test_migrations.cpython-310.pyc +0 -0
- package/tests/__pycache__/test_migrations.cpython-314-pytest-9.0.2.pyc +0 -0
- package/tests/conftest.py +2 -2
- package/tests/test_cognitive.py +7 -6
- package/tests/test_migrations.py +26 -0
package/README.md
CHANGED
|
@@ -283,7 +283,6 @@ NEXO Brain doesn't just respond — it runs autonomous processes in the backgrou
|
|
|
283
283
|
| **watchdog** | Every 30 min | Monitors 15+ services, LaunchAgents, and infrastructure health |
|
|
284
284
|
| **github-monitor** | 08:00 daily | Checks issues, PRs, and commits on public repos |
|
|
285
285
|
| **learning-validator** | Nightly | Validates learnings for staleness, contradictions, and duplicates |
|
|
286
|
-
| **cognitive-migrate** | On upgrade | Schema migrations for cognitive.db — safe, reversible evolution |
|
|
287
286
|
|
|
288
287
|
All scripts run via macOS LaunchAgents (or catch-up on Linux). If your Mac was asleep during a scheduled process, the catch-up script re-runs everything in order when it wakes.
|
|
289
288
|
|
|
@@ -312,7 +311,7 @@ Memory alone doesn't make a co-operator. What makes the difference is the **beha
|
|
|
312
311
|
|
|
313
312
|
### Automated Hooks
|
|
314
313
|
|
|
315
|
-
|
|
314
|
+
7 hooks fire automatically at key moments in every Claude Code session:
|
|
316
315
|
|
|
317
316
|
| Hook | When | What It Does |
|
|
318
317
|
|------|------|-------------|
|
|
@@ -367,15 +366,10 @@ Existing users upgrading from any previous version:
|
|
|
367
366
|
npx nexo-brain # detects current version, migrates automatically
|
|
368
367
|
```
|
|
369
368
|
- Updates hooks, core files, plugins, scripts, and LaunchAgent templates
|
|
370
|
-
- Runs
|
|
369
|
+
- Runs database schema migrations automatically
|
|
371
370
|
- **Never touches your data** (memories, learnings, preferences)
|
|
372
371
|
- Saves updated CLAUDE.md as reference (doesn't overwrite customizations)
|
|
373
372
|
|
|
374
|
-
For manual migration (e.g., from a custom setup):
|
|
375
|
-
```bash
|
|
376
|
-
python3 ~/.nexo/scripts/nexo-cognitive-migrate.py
|
|
377
|
-
```
|
|
378
|
-
|
|
379
373
|
## Knowledge Graph (v0.8)
|
|
380
374
|
|
|
381
375
|
A bi-temporal entity-relationship graph with 988 nodes and 896 edges. Entities and relationships carry both valid-time (when the fact was true) and system-time (when it was recorded), enabling temporal queries like "what did we know about X last Tuesday?". BFS traversal discovers multi-hop connections between concepts. Event-sourced edges with smart dedup (ADD/UPDATE/NOOP) prevent redundant writes while preserving full history.
|
|
@@ -459,13 +453,13 @@ That's it. No need to run `claude` manually. Your operator will greet you immedi
|
|
|
459
453
|
| Cognitive engine | Python: fastembed, numpy, vector search | pip packages |
|
|
460
454
|
| MCP server | 111+ tools for memory, cognition, learning, guard | ~/.nexo/ |
|
|
461
455
|
| Plugins | Guard, episodic memory, cognitive memory, entities, preferences | ~/.nexo/plugins/ |
|
|
462
|
-
| Hooks (
|
|
456
|
+
| Hooks (7) | SessionStart, Stop, PostToolUse, PreCompact, PostCompact, PreToolUse, Notification | ~/.nexo/hooks/ |
|
|
463
457
|
| Nervous system | 11 autonomous scripts (decay, sleep, audit, evolution, watchdog, etc.) | ~/.nexo/scripts/ |
|
|
464
458
|
| Dashboard | Web UI at localhost:6174 (6 pages) | ~/.nexo/dashboard/ |
|
|
465
459
|
| CLAUDE.md | Complete operator instructions (Codex, hooks, guard, trust, memory) | ~/.claude/CLAUDE.md |
|
|
466
460
|
| LaunchAgents | 13 templates for macOS automation | ~/Library/LaunchAgents/ |
|
|
467
|
-
| Auto-update | Checks for new versions
|
|
468
|
-
| Claude Code config | MCP server +
|
|
461
|
+
| Auto-update | Checks for new versions on startup | Built into server startup |
|
|
462
|
+
| Claude Code config | MCP server + 7 hooks registered | ~/.claude/settings.json |
|
|
469
463
|
|
|
470
464
|
### Requirements
|
|
471
465
|
|
|
@@ -490,7 +484,7 @@ That's it. No need to run `claude` manually. Your operator will greet you immedi
|
|
|
490
484
|
| Reminders | 5 | list, create, update, complete, delete | User's tasks and deadlines |
|
|
491
485
|
| Followups | 4 | create, update, complete, delete | System's autonomous verification tasks |
|
|
492
486
|
| Learnings | 5 | add, search, update, delete, list | Error patterns and prevention rules |
|
|
493
|
-
| Credentials | 5 | create, get, update, delete, list |
|
|
487
|
+
| Credentials | 5 | create, get, update, delete, list | Local credential storage (plaintext SQLite — protect with filesystem permissions) |
|
|
494
488
|
| Task History | 3 | log, list, frequency | Execution tracking and overdue alerts |
|
|
495
489
|
| Menu | 1 | menu | Operations center with box-drawing UI |
|
|
496
490
|
| Entities | 5 | search, create, update, delete, list | People, services, URLs |
|
|
@@ -524,7 +518,7 @@ Reload without restarting: `nexo_plugin_load("my_plugin.py")`
|
|
|
524
518
|
- **Everything stays local.** All data in `~/.nexo/`, never uploaded anywhere.
|
|
525
519
|
- **No telemetry.** No analytics. No phone-home.
|
|
526
520
|
- **No cloud dependencies.** Vector search runs on CPU (fastembed), not an API.
|
|
527
|
-
- **Auto-update is
|
|
521
|
+
- **Auto-update is resilient.** NEXO checks for updates on startup. If an update fails, it continues with the current version and notifies you. Local migrations (database schema, configuration) always run. Network updates (git pull) can be disabled by setting `auto_update: false` in `NEXO_HOME/config/schedule.json`.
|
|
528
522
|
- **Secret redaction.** API keys and tokens are stripped before they ever reach memory storage.
|
|
529
523
|
|
|
530
524
|
## The Psychology Behind NEXO Brain
|
|
@@ -574,7 +568,7 @@ Add NEXO Brain to your OpenClaw config at `~/.openclaw/openclaw.json`:
|
|
|
574
568
|
"servers": {
|
|
575
569
|
"nexo-brain": {
|
|
576
570
|
"command": "python3",
|
|
577
|
-
"args": ["~/.nexo/
|
|
571
|
+
"args": ["~/.nexo/server.py"],
|
|
578
572
|
"env": {
|
|
579
573
|
"NEXO_HOME": "~/.nexo"
|
|
580
574
|
}
|
|
@@ -587,7 +581,7 @@ Add NEXO Brain to your OpenClaw config at `~/.openclaw/openclaw.json`:
|
|
|
587
581
|
Or via CLI:
|
|
588
582
|
|
|
589
583
|
```bash
|
|
590
|
-
openclaw mcp set nexo-brain '{"command":"python3","args":["~/.nexo/
|
|
584
|
+
openclaw mcp set nexo-brain '{"command":"python3","args":["~/.nexo/server.py"],"env":{"NEXO_HOME":"~/.nexo"}}'
|
|
591
585
|
openclaw gateway restart
|
|
592
586
|
```
|
|
593
587
|
|
|
@@ -617,7 +611,7 @@ This replaces OpenClaw's default memory system with NEXO Brain's full cognitive
|
|
|
617
611
|
|
|
618
612
|
### Any MCP Client
|
|
619
613
|
|
|
620
|
-
NEXO Brain works with any application that supports the MCP protocol. Configure it as an MCP server pointing to `~/.nexo/
|
|
614
|
+
NEXO Brain works with any application that supports the MCP protocol. Configure it as an MCP server pointing to `~/.nexo/server.py`.
|
|
621
615
|
|
|
622
616
|
## Listed On
|
|
623
617
|
|
|
@@ -637,11 +631,11 @@ NEXO Brain builds on ideas from several open-source projects. We're grateful for
|
|
|
637
631
|
|
|
638
632
|
| Project | Inspired Features |
|
|
639
633
|
|---------|------------------|
|
|
640
|
-
|
|
|
641
|
-
|
|
|
642
|
-
|
|
|
643
|
-
|
|
|
644
|
-
|
|
|
634
|
+
| Vestige | HyDE query expansion, spreading activation, prediction error gating, memory dreaming, prospective memory |
|
|
635
|
+
| ShieldCortex | Security pipeline (4-layer memory poisoning defense) |
|
|
636
|
+
| Bicameral | Quarantine queue (trust promotion policy for new facts) |
|
|
637
|
+
| claude-mem | Hook auto-capture (extracting decisions and facts from conversations) |
|
|
638
|
+
| ClawMem | Co-activation reinforcement (memories retrieved together strengthen connections) |
|
|
645
639
|
|
|
646
640
|
## Support the Project
|
|
647
641
|
|
|
@@ -656,11 +650,18 @@ If NEXO Brain is useful to you, consider:
|
|
|
656
650
|
|
|
657
651
|
## Changelog
|
|
658
652
|
|
|
653
|
+
### v1.7.0 — Full Internationalization + Linux Support (2026-03-31)
|
|
654
|
+
- **Full i18n**: All UI strings, error messages, DB status values in English. NLP detection patterns retain bilingual keywords (Spanish + English) for multilingual user support.
|
|
655
|
+
- **Linux support**: systemd user timers (preferred) or crontab fallback for all automated cognitive processes.
|
|
656
|
+
- **Auto-resolve followups**: Change log entries automatically cross-reference and complete matching open followups.
|
|
657
|
+
- **Free-form learning categories**: No more hardcoded category validation — use any category name.
|
|
658
|
+
- **CLAUDE.md template rewrite**: 494→127 lines, compact procedural format with full heartbeat signal reactions.
|
|
659
|
+
- **Complete sanitization**: All hardcoded paths use `NEXO_HOME` env var. Zero personal data in the repo.
|
|
660
|
+
|
|
659
661
|
### v1.6.0 — Nervous System + Dashboard v2 (2026-03-30)
|
|
660
|
-
- **Nervous System**: 11 autonomous scripts (decay, deep sleep, self-audit, catchup, evolution, followup hygiene, immune, watchdog, github monitor, learning validator
|
|
662
|
+
- **Nervous System**: 11 autonomous scripts (decay, deep sleep, self-audit, catchup, evolution, followup hygiene, immune, watchdog, github monitor, learning validator)
|
|
661
663
|
- **Dashboard v2**: 6 interactive pages at localhost:6174 (Overview, Graph, Memory, Somatic, Adaptive, Sessions)
|
|
662
664
|
- **LaunchAgent Templates**: 13 macOS automation templates included in the package for scheduling the nervous system
|
|
663
|
-
- **Migration Script**: `cognitive-migrate.py` for safe, reversible schema evolution on upgrades
|
|
664
665
|
- **Hooks**: 8 total — added PreToolUse (parameter validation + guard injection) and Notification (external event routing)
|
|
665
666
|
- **Installer**: Now configures dashboard LaunchAgent, nervous system scripts, and all 13 templates automatically
|
|
666
667
|
|
|
@@ -735,7 +736,7 @@ If NEXO Brain is useful to you, consider:
|
|
|
735
736
|
|
|
736
737
|
### v0.9.0 — Cognitive Memory (2026-03-15)
|
|
737
738
|
- Atkinson-Shiffrin memory model (STM → LTM promotion)
|
|
738
|
-
- Semantic RAG with fastembed (BAAI/bge-
|
|
739
|
+
- Semantic RAG with fastembed (BAAI/bge-base-en-v1.5, 768 dims)
|
|
739
740
|
- Trust scoring, sentiment detection, adaptive personality modes
|
|
740
741
|
- Ebbinghaus decay, sister detection, quarantine system
|
|
741
742
|
|