superlocalmemory 2.8.6 → 3.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/LICENSE +9 -1
- package/NOTICE +63 -0
- package/README.md +165 -480
- package/bin/slm +17 -449
- package/bin/slm-npm +1 -1
- package/conftest.py +5 -0
- package/docs/api-reference.md +284 -0
- package/docs/architecture.md +149 -0
- package/docs/auto-memory.md +150 -0
- package/docs/cli-reference.md +276 -0
- package/docs/compliance.md +191 -0
- package/docs/configuration.md +182 -0
- package/docs/getting-started.md +102 -0
- package/docs/ide-setup.md +261 -0
- package/docs/mcp-tools.md +220 -0
- package/docs/migration-from-v2.md +170 -0
- package/docs/profiles.md +173 -0
- package/docs/troubleshooting.md +310 -0
- package/{configs → ide/configs}/antigravity-mcp.json +3 -3
- package/ide/configs/chatgpt-desktop-mcp.json +16 -0
- package/{configs → ide/configs}/claude-desktop-mcp.json +3 -3
- package/{configs → ide/configs}/codex-mcp.toml +4 -4
- package/{configs → ide/configs}/continue-mcp.yaml +4 -3
- package/{configs → ide/configs}/continue-skills.yaml +6 -6
- package/ide/configs/cursor-mcp.json +15 -0
- package/{configs → ide/configs}/gemini-cli-mcp.json +2 -2
- package/{configs → ide/configs}/jetbrains-mcp.json +2 -2
- package/{configs → ide/configs}/opencode-mcp.json +2 -2
- package/{configs → ide/configs}/perplexity-mcp.json +2 -2
- package/{configs → ide/configs}/vscode-copilot-mcp.json +2 -2
- package/{configs → ide/configs}/windsurf-mcp.json +3 -3
- package/{configs → ide/configs}/zed-mcp.json +2 -2
- package/{hooks → ide/hooks}/context-hook.js +9 -20
- package/ide/hooks/memory-list-skill.js +70 -0
- package/ide/hooks/memory-profile-skill.js +101 -0
- package/ide/hooks/memory-recall-skill.js +62 -0
- package/ide/hooks/memory-remember-skill.js +68 -0
- package/ide/hooks/memory-reset-skill.js +160 -0
- package/{hooks → ide/hooks}/post-recall-hook.js +2 -2
- package/ide/integrations/langchain/README.md +106 -0
- package/ide/integrations/langchain/langchain_superlocalmemory/__init__.py +9 -0
- package/ide/integrations/langchain/langchain_superlocalmemory/chat_message_history.py +201 -0
- package/ide/integrations/langchain/pyproject.toml +38 -0
- package/{src/learning → ide/integrations/langchain}/tests/__init__.py +1 -0
- package/ide/integrations/langchain/tests/test_chat_message_history.py +215 -0
- package/ide/integrations/langchain/tests/test_security.py +117 -0
- package/ide/integrations/llamaindex/README.md +81 -0
- package/ide/integrations/llamaindex/llama_index/storage/chat_store/superlocalmemory/__init__.py +9 -0
- package/ide/integrations/llamaindex/llama_index/storage/chat_store/superlocalmemory/base.py +316 -0
- package/ide/integrations/llamaindex/pyproject.toml +43 -0
- package/{src/lifecycle → ide/integrations/llamaindex}/tests/__init__.py +1 -2
- package/ide/integrations/llamaindex/tests/test_chat_store.py +294 -0
- package/ide/integrations/llamaindex/tests/test_security.py +241 -0
- package/{skills → ide/skills}/slm-build-graph/SKILL.md +6 -6
- package/{skills → ide/skills}/slm-list-recent/SKILL.md +5 -5
- package/{skills → ide/skills}/slm-recall/SKILL.md +5 -5
- package/{skills → ide/skills}/slm-remember/SKILL.md +6 -6
- package/{skills → ide/skills}/slm-show-patterns/SKILL.md +7 -7
- package/{skills → ide/skills}/slm-status/SKILL.md +9 -9
- package/{skills → ide/skills}/slm-switch-profile/SKILL.md +9 -9
- package/package.json +13 -22
- package/pyproject.toml +85 -0
- package/scripts/build-dmg.sh +417 -0
- package/scripts/install-skills.ps1 +334 -0
- package/scripts/postinstall.js +2 -2
- package/scripts/start-dashboard.ps1 +52 -0
- package/scripts/start-dashboard.sh +41 -0
- package/scripts/sync-wiki.ps1 +127 -0
- package/scripts/sync-wiki.sh +82 -0
- package/scripts/test-dmg.sh +161 -0
- package/scripts/test-npm-package.ps1 +252 -0
- package/scripts/test-npm-package.sh +207 -0
- package/scripts/verify-install.ps1 +294 -0
- package/scripts/verify-install.sh +266 -0
- package/src/superlocalmemory/__init__.py +0 -0
- package/src/superlocalmemory/attribution/__init__.py +9 -0
- package/src/superlocalmemory/attribution/mathematical_dna.py +235 -0
- package/src/superlocalmemory/attribution/signer.py +153 -0
- package/src/superlocalmemory/attribution/watermark.py +189 -0
- package/src/superlocalmemory/cli/__init__.py +5 -0
- package/src/superlocalmemory/cli/commands.py +245 -0
- package/src/superlocalmemory/cli/main.py +89 -0
- package/src/superlocalmemory/cli/migrate_cmd.py +55 -0
- package/src/superlocalmemory/cli/post_install.py +99 -0
- package/src/superlocalmemory/cli/setup_wizard.py +129 -0
- package/src/superlocalmemory/compliance/__init__.py +0 -0
- package/src/superlocalmemory/compliance/abac.py +204 -0
- package/src/superlocalmemory/compliance/audit.py +314 -0
- package/src/superlocalmemory/compliance/eu_ai_act.py +131 -0
- package/src/superlocalmemory/compliance/gdpr.py +294 -0
- package/src/superlocalmemory/compliance/lifecycle.py +158 -0
- package/src/superlocalmemory/compliance/retention.py +232 -0
- package/src/superlocalmemory/compliance/scheduler.py +148 -0
- package/src/superlocalmemory/core/__init__.py +0 -0
- package/src/superlocalmemory/core/config.py +391 -0
- package/src/superlocalmemory/core/embeddings.py +293 -0
- package/src/superlocalmemory/core/engine.py +701 -0
- package/src/superlocalmemory/core/hooks.py +65 -0
- package/src/superlocalmemory/core/maintenance.py +172 -0
- package/src/superlocalmemory/core/modes.py +140 -0
- package/src/superlocalmemory/core/profiles.py +234 -0
- package/src/superlocalmemory/core/registry.py +117 -0
- package/src/superlocalmemory/dynamics/__init__.py +0 -0
- package/src/superlocalmemory/dynamics/fisher_langevin_coupling.py +223 -0
- package/src/superlocalmemory/encoding/__init__.py +0 -0
- package/src/superlocalmemory/encoding/consolidator.py +485 -0
- package/src/superlocalmemory/encoding/emotional.py +125 -0
- package/src/superlocalmemory/encoding/entity_resolver.py +525 -0
- package/src/superlocalmemory/encoding/entropy_gate.py +104 -0
- package/src/superlocalmemory/encoding/fact_extractor.py +775 -0
- package/src/superlocalmemory/encoding/foresight.py +91 -0
- package/src/superlocalmemory/encoding/graph_builder.py +302 -0
- package/src/superlocalmemory/encoding/observation_builder.py +160 -0
- package/src/superlocalmemory/encoding/scene_builder.py +183 -0
- package/src/superlocalmemory/encoding/signal_inference.py +90 -0
- package/src/superlocalmemory/encoding/temporal_parser.py +426 -0
- package/src/superlocalmemory/encoding/type_router.py +235 -0
- package/src/superlocalmemory/hooks/__init__.py +3 -0
- package/src/superlocalmemory/hooks/auto_capture.py +111 -0
- package/src/superlocalmemory/hooks/auto_recall.py +93 -0
- package/src/superlocalmemory/hooks/ide_connector.py +204 -0
- package/src/superlocalmemory/hooks/rules_engine.py +99 -0
- package/src/superlocalmemory/infra/__init__.py +3 -0
- package/src/superlocalmemory/infra/auth_middleware.py +82 -0
- package/src/superlocalmemory/infra/backup.py +317 -0
- package/src/superlocalmemory/infra/cache_manager.py +267 -0
- package/src/superlocalmemory/infra/event_bus.py +381 -0
- package/src/superlocalmemory/infra/rate_limiter.py +135 -0
- package/src/{webhook_dispatcher.py → superlocalmemory/infra/webhook_dispatcher.py} +104 -101
- package/src/superlocalmemory/learning/__init__.py +0 -0
- package/src/superlocalmemory/learning/adaptive.py +172 -0
- package/src/superlocalmemory/learning/behavioral.py +490 -0
- package/src/superlocalmemory/learning/behavioral_listener.py +94 -0
- package/src/superlocalmemory/learning/bootstrap.py +298 -0
- package/src/superlocalmemory/learning/cross_project.py +399 -0
- package/src/superlocalmemory/learning/database.py +376 -0
- package/src/superlocalmemory/learning/engagement.py +323 -0
- package/src/superlocalmemory/learning/features.py +138 -0
- package/src/superlocalmemory/learning/feedback.py +316 -0
- package/src/superlocalmemory/learning/outcomes.py +255 -0
- package/src/superlocalmemory/learning/project_context.py +366 -0
- package/src/superlocalmemory/learning/ranker.py +155 -0
- package/src/superlocalmemory/learning/source_quality.py +303 -0
- package/src/superlocalmemory/learning/workflows.py +309 -0
- package/src/superlocalmemory/llm/__init__.py +0 -0
- package/src/superlocalmemory/llm/backbone.py +316 -0
- package/src/superlocalmemory/math/__init__.py +0 -0
- package/src/superlocalmemory/math/fisher.py +356 -0
- package/src/superlocalmemory/math/langevin.py +398 -0
- package/src/superlocalmemory/math/sheaf.py +257 -0
- package/src/superlocalmemory/mcp/__init__.py +0 -0
- package/src/superlocalmemory/mcp/resources.py +245 -0
- package/src/superlocalmemory/mcp/server.py +61 -0
- package/src/superlocalmemory/mcp/tools.py +18 -0
- package/src/superlocalmemory/mcp/tools_core.py +305 -0
- package/src/superlocalmemory/mcp/tools_v28.py +223 -0
- package/src/superlocalmemory/mcp/tools_v3.py +286 -0
- package/src/superlocalmemory/retrieval/__init__.py +0 -0
- package/src/superlocalmemory/retrieval/agentic.py +295 -0
- package/src/superlocalmemory/retrieval/ann_index.py +223 -0
- package/src/superlocalmemory/retrieval/bm25_channel.py +185 -0
- package/src/superlocalmemory/retrieval/bridge_discovery.py +170 -0
- package/src/superlocalmemory/retrieval/engine.py +390 -0
- package/src/superlocalmemory/retrieval/entity_channel.py +179 -0
- package/src/superlocalmemory/retrieval/fusion.py +78 -0
- package/src/superlocalmemory/retrieval/profile_channel.py +105 -0
- package/src/superlocalmemory/retrieval/reranker.py +154 -0
- package/src/superlocalmemory/retrieval/semantic_channel.py +232 -0
- package/src/superlocalmemory/retrieval/strategy.py +96 -0
- package/src/superlocalmemory/retrieval/temporal_channel.py +175 -0
- package/src/superlocalmemory/server/__init__.py +1 -0
- package/src/superlocalmemory/server/api.py +248 -0
- package/src/superlocalmemory/server/routes/__init__.py +4 -0
- package/src/superlocalmemory/server/routes/agents.py +107 -0
- package/src/superlocalmemory/server/routes/backup.py +91 -0
- package/src/superlocalmemory/server/routes/behavioral.py +127 -0
- package/src/superlocalmemory/server/routes/compliance.py +160 -0
- package/src/superlocalmemory/server/routes/data_io.py +188 -0
- package/src/superlocalmemory/server/routes/events.py +183 -0
- package/src/superlocalmemory/server/routes/helpers.py +85 -0
- package/src/superlocalmemory/server/routes/learning.py +273 -0
- package/src/superlocalmemory/server/routes/lifecycle.py +116 -0
- package/src/superlocalmemory/server/routes/memories.py +399 -0
- package/src/superlocalmemory/server/routes/profiles.py +219 -0
- package/src/superlocalmemory/server/routes/stats.py +346 -0
- package/src/superlocalmemory/server/routes/v3_api.py +365 -0
- package/src/superlocalmemory/server/routes/ws.py +82 -0
- package/src/superlocalmemory/server/security_middleware.py +57 -0
- package/src/superlocalmemory/server/ui.py +245 -0
- package/src/superlocalmemory/storage/__init__.py +0 -0
- package/src/superlocalmemory/storage/access_control.py +182 -0
- package/src/superlocalmemory/storage/database.py +594 -0
- package/src/superlocalmemory/storage/migrations.py +303 -0
- package/src/superlocalmemory/storage/models.py +406 -0
- package/src/superlocalmemory/storage/schema.py +726 -0
- package/src/superlocalmemory/storage/v2_migrator.py +317 -0
- package/src/superlocalmemory/trust/__init__.py +0 -0
- package/src/superlocalmemory/trust/gate.py +130 -0
- package/src/superlocalmemory/trust/provenance.py +124 -0
- package/src/superlocalmemory/trust/scorer.py +347 -0
- package/src/superlocalmemory/trust/signals.py +153 -0
- package/ui/index.html +278 -5
- package/ui/js/auto-settings.js +70 -0
- package/ui/js/dashboard.js +90 -0
- package/ui/js/fact-detail.js +92 -0
- package/ui/js/feedback.js +2 -2
- package/ui/js/ide-status.js +102 -0
- package/ui/js/math-health.js +98 -0
- package/ui/js/recall-lab.js +127 -0
- package/ui/js/settings.js +2 -2
- package/ui/js/trust-dashboard.js +73 -0
- package/api_server.py +0 -724
- package/bin/aider-smart +0 -72
- package/bin/superlocalmemoryv2-learning +0 -4
- package/bin/superlocalmemoryv2-list +0 -3
- package/bin/superlocalmemoryv2-patterns +0 -4
- package/bin/superlocalmemoryv2-profile +0 -3
- package/bin/superlocalmemoryv2-recall +0 -3
- package/bin/superlocalmemoryv2-remember +0 -3
- package/bin/superlocalmemoryv2-reset +0 -3
- package/bin/superlocalmemoryv2-status +0 -3
- package/configs/chatgpt-desktop-mcp.json +0 -16
- package/configs/cursor-mcp.json +0 -15
- package/hooks/memory-list-skill.js +0 -139
- package/hooks/memory-profile-skill.js +0 -273
- package/hooks/memory-recall-skill.js +0 -114
- package/hooks/memory-remember-skill.js +0 -127
- package/hooks/memory-reset-skill.js +0 -274
- package/mcp_server.py +0 -1808
- package/requirements-core.txt +0 -22
- package/requirements-learning.txt +0 -12
- package/requirements.txt +0 -12
- package/src/agent_registry.py +0 -411
- package/src/auth_middleware.py +0 -61
- package/src/auto_backup.py +0 -459
- package/src/behavioral/__init__.py +0 -49
- package/src/behavioral/behavioral_listener.py +0 -203
- package/src/behavioral/behavioral_patterns.py +0 -275
- package/src/behavioral/cross_project_transfer.py +0 -206
- package/src/behavioral/outcome_inference.py +0 -194
- package/src/behavioral/outcome_tracker.py +0 -193
- package/src/behavioral/tests/__init__.py +0 -4
- package/src/behavioral/tests/test_behavioral_integration.py +0 -108
- package/src/behavioral/tests/test_behavioral_patterns.py +0 -150
- package/src/behavioral/tests/test_cross_project_transfer.py +0 -142
- package/src/behavioral/tests/test_mcp_behavioral.py +0 -139
- package/src/behavioral/tests/test_mcp_report_outcome.py +0 -117
- package/src/behavioral/tests/test_outcome_inference.py +0 -107
- package/src/behavioral/tests/test_outcome_tracker.py +0 -96
- package/src/cache_manager.py +0 -518
- package/src/compliance/__init__.py +0 -48
- package/src/compliance/abac_engine.py +0 -149
- package/src/compliance/abac_middleware.py +0 -116
- package/src/compliance/audit_db.py +0 -215
- package/src/compliance/audit_logger.py +0 -148
- package/src/compliance/retention_manager.py +0 -289
- package/src/compliance/retention_scheduler.py +0 -186
- package/src/compliance/tests/__init__.py +0 -4
- package/src/compliance/tests/test_abac_enforcement.py +0 -95
- package/src/compliance/tests/test_abac_engine.py +0 -124
- package/src/compliance/tests/test_abac_mcp_integration.py +0 -118
- package/src/compliance/tests/test_audit_db.py +0 -123
- package/src/compliance/tests/test_audit_logger.py +0 -98
- package/src/compliance/tests/test_mcp_audit.py +0 -128
- package/src/compliance/tests/test_mcp_retention_policy.py +0 -125
- package/src/compliance/tests/test_retention_manager.py +0 -131
- package/src/compliance/tests/test_retention_scheduler.py +0 -99
- package/src/compression/__init__.py +0 -25
- package/src/compression/cli.py +0 -150
- package/src/compression/cold_storage.py +0 -217
- package/src/compression/config.py +0 -72
- package/src/compression/orchestrator.py +0 -133
- package/src/compression/tier2_compressor.py +0 -228
- package/src/compression/tier3_compressor.py +0 -153
- package/src/compression/tier_classifier.py +0 -148
- package/src/db_connection_manager.py +0 -536
- package/src/embedding_engine.py +0 -63
- package/src/embeddings/__init__.py +0 -47
- package/src/embeddings/cache.py +0 -70
- package/src/embeddings/cli.py +0 -113
- package/src/embeddings/constants.py +0 -47
- package/src/embeddings/database.py +0 -91
- package/src/embeddings/engine.py +0 -247
- package/src/embeddings/model_loader.py +0 -145
- package/src/event_bus.py +0 -562
- package/src/graph/__init__.py +0 -36
- package/src/graph/build_helpers.py +0 -74
- package/src/graph/cli.py +0 -87
- package/src/graph/cluster_builder.py +0 -188
- package/src/graph/cluster_summary.py +0 -148
- package/src/graph/constants.py +0 -47
- package/src/graph/edge_builder.py +0 -162
- package/src/graph/entity_extractor.py +0 -95
- package/src/graph/graph_core.py +0 -226
- package/src/graph/graph_search.py +0 -231
- package/src/graph/hierarchical.py +0 -207
- package/src/graph/schema.py +0 -99
- package/src/graph_engine.py +0 -52
- package/src/hnsw_index.py +0 -628
- package/src/hybrid_search.py +0 -46
- package/src/learning/__init__.py +0 -217
- package/src/learning/adaptive_ranker.py +0 -682
- package/src/learning/bootstrap/__init__.py +0 -69
- package/src/learning/bootstrap/constants.py +0 -93
- package/src/learning/bootstrap/db_queries.py +0 -316
- package/src/learning/bootstrap/sampling.py +0 -82
- package/src/learning/bootstrap/text_utils.py +0 -71
- package/src/learning/cross_project_aggregator.py +0 -857
- package/src/learning/db/__init__.py +0 -40
- package/src/learning/db/constants.py +0 -44
- package/src/learning/db/schema.py +0 -279
- package/src/learning/engagement_tracker.py +0 -628
- package/src/learning/feature_extractor.py +0 -708
- package/src/learning/feedback_collector.py +0 -806
- package/src/learning/learning_db.py +0 -915
- package/src/learning/project_context_manager.py +0 -572
- package/src/learning/ranking/__init__.py +0 -33
- package/src/learning/ranking/constants.py +0 -84
- package/src/learning/ranking/helpers.py +0 -278
- package/src/learning/source_quality_scorer.py +0 -676
- package/src/learning/synthetic_bootstrap.py +0 -755
- package/src/learning/tests/test_adaptive_ranker.py +0 -325
- package/src/learning/tests/test_adaptive_ranker_v28.py +0 -60
- package/src/learning/tests/test_aggregator.py +0 -306
- package/src/learning/tests/test_auto_retrain_v28.py +0 -35
- package/src/learning/tests/test_e2e_ranking_v28.py +0 -82
- package/src/learning/tests/test_feature_extractor_v28.py +0 -93
- package/src/learning/tests/test_feedback_collector.py +0 -294
- package/src/learning/tests/test_learning_db.py +0 -602
- package/src/learning/tests/test_learning_db_v28.py +0 -110
- package/src/learning/tests/test_learning_init_v28.py +0 -48
- package/src/learning/tests/test_outcome_signals.py +0 -48
- package/src/learning/tests/test_project_context.py +0 -292
- package/src/learning/tests/test_schema_migration.py +0 -319
- package/src/learning/tests/test_signal_inference.py +0 -397
- package/src/learning/tests/test_source_quality.py +0 -351
- package/src/learning/tests/test_synthetic_bootstrap.py +0 -429
- package/src/learning/tests/test_workflow_miner.py +0 -318
- package/src/learning/workflow_pattern_miner.py +0 -655
- package/src/lifecycle/__init__.py +0 -54
- package/src/lifecycle/bounded_growth.py +0 -239
- package/src/lifecycle/compaction_engine.py +0 -226
- package/src/lifecycle/lifecycle_engine.py +0 -355
- package/src/lifecycle/lifecycle_evaluator.py +0 -257
- package/src/lifecycle/lifecycle_scheduler.py +0 -130
- package/src/lifecycle/retention_policy.py +0 -285
- package/src/lifecycle/tests/test_bounded_growth.py +0 -193
- package/src/lifecycle/tests/test_compaction.py +0 -179
- package/src/lifecycle/tests/test_lifecycle_engine.py +0 -137
- package/src/lifecycle/tests/test_lifecycle_evaluation.py +0 -177
- package/src/lifecycle/tests/test_lifecycle_scheduler.py +0 -127
- package/src/lifecycle/tests/test_lifecycle_search.py +0 -109
- package/src/lifecycle/tests/test_mcp_compact.py +0 -149
- package/src/lifecycle/tests/test_mcp_lifecycle_status.py +0 -114
- package/src/lifecycle/tests/test_retention_policy.py +0 -162
- package/src/mcp_tools_v28.py +0 -281
- package/src/memory/__init__.py +0 -36
- package/src/memory/cli.py +0 -205
- package/src/memory/constants.py +0 -39
- package/src/memory/helpers.py +0 -28
- package/src/memory/schema.py +0 -166
- package/src/memory-profiles.py +0 -595
- package/src/memory-reset.py +0 -491
- package/src/memory_compression.py +0 -989
- package/src/memory_store_v2.py +0 -1155
- package/src/migrate_v1_to_v2.py +0 -629
- package/src/pattern_learner.py +0 -34
- package/src/patterns/__init__.py +0 -24
- package/src/patterns/analyzers.py +0 -251
- package/src/patterns/learner.py +0 -271
- package/src/patterns/scoring.py +0 -171
- package/src/patterns/store.py +0 -225
- package/src/patterns/terminology.py +0 -140
- package/src/provenance_tracker.py +0 -312
- package/src/qualixar_attribution.py +0 -139
- package/src/qualixar_watermark.py +0 -78
- package/src/query_optimizer.py +0 -511
- package/src/rate_limiter.py +0 -83
- package/src/search/__init__.py +0 -20
- package/src/search/cli.py +0 -77
- package/src/search/constants.py +0 -26
- package/src/search/engine.py +0 -241
- package/src/search/fusion.py +0 -122
- package/src/search/index_loader.py +0 -114
- package/src/search/methods.py +0 -162
- package/src/search_engine_v2.py +0 -401
- package/src/setup_validator.py +0 -482
- package/src/subscription_manager.py +0 -391
- package/src/tree/__init__.py +0 -59
- package/src/tree/builder.py +0 -185
- package/src/tree/nodes.py +0 -202
- package/src/tree/queries.py +0 -257
- package/src/tree/schema.py +0 -80
- package/src/tree_manager.py +0 -19
- package/src/trust/__init__.py +0 -45
- package/src/trust/constants.py +0 -66
- package/src/trust/queries.py +0 -157
- package/src/trust/schema.py +0 -95
- package/src/trust/scorer.py +0 -299
- package/src/trust/signals.py +0 -95
- package/src/trust_scorer.py +0 -44
- package/ui/app.js +0 -1588
- package/ui/js/graph-cytoscape-monolithic-backup.js +0 -1168
- package/ui/js/graph-cytoscape.js +0 -1168
- package/ui/js/graph-d3-backup.js +0 -32
- package/ui/js/graph.js +0 -32
- package/ui_server.py +0 -286
- /package/docs/{ACCESSIBILITY.md → v2-archive/ACCESSIBILITY.md} +0 -0
- /package/docs/{ARCHITECTURE.md → v2-archive/ARCHITECTURE.md} +0 -0
- /package/docs/{CLI-COMMANDS-REFERENCE.md → v2-archive/CLI-COMMANDS-REFERENCE.md} +0 -0
- /package/docs/{COMPRESSION-README.md → v2-archive/COMPRESSION-README.md} +0 -0
- /package/docs/{FRAMEWORK-INTEGRATIONS.md → v2-archive/FRAMEWORK-INTEGRATIONS.md} +0 -0
- /package/docs/{MCP-MANUAL-SETUP.md → v2-archive/MCP-MANUAL-SETUP.md} +0 -0
- /package/docs/{MCP-TROUBLESHOOTING.md → v2-archive/MCP-TROUBLESHOOTING.md} +0 -0
- /package/docs/{PATTERN-LEARNING.md → v2-archive/PATTERN-LEARNING.md} +0 -0
- /package/docs/{PROFILES-GUIDE.md → v2-archive/PROFILES-GUIDE.md} +0 -0
- /package/docs/{RESET-GUIDE.md → v2-archive/RESET-GUIDE.md} +0 -0
- /package/docs/{SEARCH-ENGINE-V2.2.0.md → v2-archive/SEARCH-ENGINE-V2.2.0.md} +0 -0
- /package/docs/{SEARCH-INTEGRATION-GUIDE.md → v2-archive/SEARCH-INTEGRATION-GUIDE.md} +0 -0
- /package/docs/{UI-SERVER.md → v2-archive/UI-SERVER.md} +0 -0
- /package/docs/{UNIVERSAL-INTEGRATION.md → v2-archive/UNIVERSAL-INTEGRATION.md} +0 -0
- /package/docs/{V2.2.0-OPTIONAL-SEARCH.md → v2-archive/V2.2.0-OPTIONAL-SEARCH.md} +0 -0
- /package/docs/{WINDOWS-INSTALL-README.txt → v2-archive/WINDOWS-INSTALL-README.txt} +0 -0
- /package/docs/{WINDOWS-POST-INSTALL.txt → v2-archive/WINDOWS-POST-INSTALL.txt} +0 -0
- /package/docs/{example_graph_usage.py → v2-archive/example_graph_usage.py} +0 -0
- /package/{completions → ide/completions}/slm.bash +0 -0
- /package/{completions → ide/completions}/slm.zsh +0 -0
- /package/{configs → ide/configs}/cody-commands.json +0 -0
- /package/{install-skills.sh → scripts/install-skills.sh} +0 -0
- /package/{install.ps1 → scripts/install.ps1} +0 -0
- /package/{install.sh → scripts/install.sh} +0 -0
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
# CLI Reference
|
|
2
|
+
> SuperLocalMemory V3 Documentation
|
|
3
|
+
> https://superlocalmemory.com | Part of Qualixar
|
|
4
|
+
|
|
5
|
+
Complete reference for the `slm` command-line interface.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Setup & Configuration
|
|
10
|
+
|
|
11
|
+
### `slm setup`
|
|
12
|
+
|
|
13
|
+
Run the interactive setup wizard. Guides you through mode selection, IDE connection, and verification.
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
slm setup
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
### `slm mode [a|b|c]`
|
|
20
|
+
|
|
21
|
+
Get or set the operating mode.
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
slm mode # Show current mode
|
|
25
|
+
slm mode a # Zero-cloud (no LLM, no API key)
|
|
26
|
+
slm mode b # Local LLM via Ollama
|
|
27
|
+
slm mode c # Cloud LLM (requires API key)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### `slm provider [set]`
|
|
31
|
+
|
|
32
|
+
Get or set the LLM provider for Mode B/C.
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
slm provider # Show current provider
|
|
36
|
+
slm provider set # Interactive provider selector
|
|
37
|
+
slm provider set openai # Set provider directly
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### `slm connect [ide]`
|
|
41
|
+
|
|
42
|
+
Configure IDE integrations.
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
slm connect # Auto-detect and configure all IDEs
|
|
46
|
+
slm connect cursor # Configure Cursor specifically
|
|
47
|
+
slm connect claude # Configure Claude Code specifically
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Supported IDEs: `claude`, `cursor`, `vscode`, `windsurf`, `gemini`, `jetbrains`, `continue`, `zed`
|
|
51
|
+
|
|
52
|
+
## Memory Operations
|
|
53
|
+
|
|
54
|
+
### `slm remember "content" [options]`
|
|
55
|
+
|
|
56
|
+
Store a memory.
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
slm remember "API rate limit is 100 req/min on staging"
|
|
60
|
+
slm remember "Use camelCase for JS, snake_case for Python" --tags "style,convention"
|
|
61
|
+
slm remember "Maria owns the auth service" --tags "team,ownership"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
| Option | Description |
|
|
65
|
+
|--------|-------------|
|
|
66
|
+
| `--tags "a,b"` | Comma-separated tags for categorization |
|
|
67
|
+
| `--profile name` | Store in a specific profile (overrides active profile) |
|
|
68
|
+
|
|
69
|
+
### `slm recall "query" [options]`
|
|
70
|
+
|
|
71
|
+
Search your memories. Returns the most relevant results.
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
slm recall "rate limit"
|
|
75
|
+
slm recall "who owns auth" --limit 5
|
|
76
|
+
slm recall "database config" --profile work
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
| Option | Default | Description |
|
|
80
|
+
|--------|---------|-------------|
|
|
81
|
+
| `--limit N` | 10 | Maximum results to return |
|
|
82
|
+
| `--profile name` | active | Search in a specific profile |
|
|
83
|
+
|
|
84
|
+
### `slm search "query" [options]`
|
|
85
|
+
|
|
86
|
+
Alias for `slm recall`. Same behavior, same options.
|
|
87
|
+
|
|
88
|
+
### `slm forget "query" [options]`
|
|
89
|
+
|
|
90
|
+
Delete memories matching a query.
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
slm forget "old staging credentials"
|
|
94
|
+
slm forget --id 42 # Delete by memory ID
|
|
95
|
+
slm forget --before "2026-01-01" # Delete memories before a date
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
| Option | Description |
|
|
99
|
+
|--------|-------------|
|
|
100
|
+
| `--id N` | Delete a specific memory by ID |
|
|
101
|
+
| `--before "date"` | Delete all memories before this date |
|
|
102
|
+
| `--confirm` | Skip the confirmation prompt |
|
|
103
|
+
|
|
104
|
+
### `slm list [options]`
|
|
105
|
+
|
|
106
|
+
List recent memories.
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
slm list # Last 20 memories
|
|
110
|
+
slm list --limit 50 # Last 50 memories
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## V3 Features
|
|
114
|
+
|
|
115
|
+
### `slm trace "query"`
|
|
116
|
+
|
|
117
|
+
Recall with a channel-by-channel breakdown. Shows how each retrieval channel contributed to the results.
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
slm trace "database port"
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Output shows scores from each channel:
|
|
124
|
+
- Semantic (vector similarity)
|
|
125
|
+
- BM25 (keyword matching)
|
|
126
|
+
- Entity Graph (relationship traversal)
|
|
127
|
+
- Temporal (time-based relevance)
|
|
128
|
+
|
|
129
|
+
### `slm health`
|
|
130
|
+
|
|
131
|
+
Show diagnostics for the mathematical layers.
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
slm health
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Reports status of:
|
|
138
|
+
- Fisher-Rao similarity layer
|
|
139
|
+
- Sheaf consistency layer
|
|
140
|
+
- Langevin lifecycle dynamics
|
|
141
|
+
- Embedding model status
|
|
142
|
+
- Database integrity
|
|
143
|
+
|
|
144
|
+
### `slm consistency`
|
|
145
|
+
|
|
146
|
+
Run a consistency check across your memories. Detects contradictions and outdated information.
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
slm consistency
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Migration
|
|
153
|
+
|
|
154
|
+
### `slm migrate [options]`
|
|
155
|
+
|
|
156
|
+
Migrate a V2 database to V3 format.
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
slm migrate # Run migration
|
|
160
|
+
slm migrate --dry-run # Preview what will change
|
|
161
|
+
slm migrate --rollback # Undo migration (within 30 days)
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
| Option | Description |
|
|
165
|
+
|--------|-------------|
|
|
166
|
+
| `--dry-run` | Show what would change without modifying anything |
|
|
167
|
+
| `--rollback` | Revert to V2 format (backup must exist) |
|
|
168
|
+
|
|
169
|
+
## Profile Management
|
|
170
|
+
|
|
171
|
+
### `slm profile [command]`
|
|
172
|
+
|
|
173
|
+
Manage memory profiles (isolated memory contexts).
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
slm profile list # List all profiles
|
|
177
|
+
slm profile switch work # Switch to "work" profile
|
|
178
|
+
slm profile create client-acme # Create a new profile
|
|
179
|
+
slm profile delete old-project # Delete a profile
|
|
180
|
+
slm profile export work > backup.json # Export a profile
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## System & Maintenance
|
|
184
|
+
|
|
185
|
+
### `slm status`
|
|
186
|
+
|
|
187
|
+
Show system status: mode, profile, memory count, database location, health.
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
slm status
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### `slm compact`
|
|
194
|
+
|
|
195
|
+
Compress and optimize the memory database. Merges redundant memories and reclaims space.
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
slm compact
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### `slm backup`
|
|
202
|
+
|
|
203
|
+
Check backup status or create a manual backup.
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
slm backup # Show backup status
|
|
207
|
+
slm backup create # Create a backup now
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### `slm audit [options]`
|
|
211
|
+
|
|
212
|
+
View the audit trail. Shows all memory operations with timestamps and hash-chain verification.
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
slm audit # Recent audit entries
|
|
216
|
+
slm audit --limit 100 # Last 100 entries
|
|
217
|
+
slm audit --verify # Verify hash-chain integrity
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### `slm retention [policy]`
|
|
221
|
+
|
|
222
|
+
Manage retention policies.
|
|
223
|
+
|
|
224
|
+
```bash
|
|
225
|
+
slm retention # Show current policy
|
|
226
|
+
slm retention set gdpr-30d # Apply GDPR 30-day policy
|
|
227
|
+
slm retention set hipaa-7y # Apply HIPAA 7-year policy
|
|
228
|
+
slm retention set custom --days 90 # Custom retention period
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
## Global Options
|
|
232
|
+
|
|
233
|
+
These options work with any command:
|
|
234
|
+
|
|
235
|
+
| Option | Description |
|
|
236
|
+
|--------|-------------|
|
|
237
|
+
| `--help` | Show help for a command |
|
|
238
|
+
| `--version` | Show SLM version |
|
|
239
|
+
| `--verbose` | Show detailed output |
|
|
240
|
+
| `--json` | Output in JSON format (for scripting) |
|
|
241
|
+
| `--profile name` | Override the active profile for this command |
|
|
242
|
+
|
|
243
|
+
## Examples
|
|
244
|
+
|
|
245
|
+
### Daily workflow
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
# Morning: check what you remembered yesterday
|
|
249
|
+
slm list --limit 10
|
|
250
|
+
|
|
251
|
+
# During work: store a decision
|
|
252
|
+
slm remember "Decided to use WebSocket instead of SSE for real-time updates" --tags "architecture"
|
|
253
|
+
|
|
254
|
+
# Later: recall the decision
|
|
255
|
+
slm recall "real-time communication approach"
|
|
256
|
+
|
|
257
|
+
# End of day: check system health
|
|
258
|
+
slm status
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### Project setup
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
# Create a profile for a new project
|
|
265
|
+
slm profile create mobile-app
|
|
266
|
+
slm profile switch mobile-app
|
|
267
|
+
|
|
268
|
+
# Store project context
|
|
269
|
+
slm remember "React Native 0.76 with Expo SDK 52"
|
|
270
|
+
slm remember "Backend is FastAPI on AWS ECS"
|
|
271
|
+
slm remember "CI/CD via GitHub Actions, deploys on merge to main"
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
*SuperLocalMemory V3 — Copyright 2026 Varun Pratap Bhardwaj. MIT License. Part of Qualixar.*
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# Compliance
|
|
2
|
+
> SuperLocalMemory V3 Documentation
|
|
3
|
+
> https://superlocalmemory.com | Part of Qualixar
|
|
4
|
+
|
|
5
|
+
SuperLocalMemory is designed for organizations that need to meet data protection and privacy regulations. Mode A satisfies the strictest requirements by keeping all data local.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## EU AI Act
|
|
10
|
+
|
|
11
|
+
The EU AI Act (Regulation 2024/1689) establishes requirements for AI systems operating in the European Union.
|
|
12
|
+
|
|
13
|
+
### Mode A: Full Compliance by Architecture
|
|
14
|
+
|
|
15
|
+
In Mode A, SuperLocalMemory operates as a local data retrieval system with zero cloud dependency:
|
|
16
|
+
|
|
17
|
+
| Requirement | How Mode A satisfies it |
|
|
18
|
+
|-------------|------------------------|
|
|
19
|
+
| **Data sovereignty** | All data stored and processed locally. Nothing leaves the device. |
|
|
20
|
+
| **Right to erasure** | `slm forget` deletes data from the local database. No cloud logs exist to purge. |
|
|
21
|
+
| **Transparency** | The retrieval pipeline is fully auditable. No black-box AI decisions. |
|
|
22
|
+
| **Risk classification** | A local retrieval system with no autonomous decision-making qualifies as minimal risk. |
|
|
23
|
+
|
|
24
|
+
### Mode B: Full Compliance
|
|
25
|
+
|
|
26
|
+
Mode B uses a local LLM (Ollama). Data never leaves the device. Same compliance posture as Mode A.
|
|
27
|
+
|
|
28
|
+
### Mode C: Shared Responsibility
|
|
29
|
+
|
|
30
|
+
Mode C sends recall queries to a cloud LLM provider. In this mode:
|
|
31
|
+
|
|
32
|
+
- **Your data** (stored memories) remains local
|
|
33
|
+
- **Queries** are sent to the cloud provider
|
|
34
|
+
- The cloud provider's compliance posture applies to those queries
|
|
35
|
+
- A Data Processing Agreement (DPA) with your provider is recommended
|
|
36
|
+
|
|
37
|
+
## GDPR
|
|
38
|
+
|
|
39
|
+
The General Data Protection Regulation applies to personal data of EU residents.
|
|
40
|
+
|
|
41
|
+
### Right to Erasure (Article 17)
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Delete specific memories
|
|
45
|
+
slm forget "John's phone number"
|
|
46
|
+
slm forget --id 42
|
|
47
|
+
|
|
48
|
+
# Delete all memories before a date
|
|
49
|
+
slm forget --before "2025-01-01"
|
|
50
|
+
|
|
51
|
+
# Delete an entire profile
|
|
52
|
+
slm profile delete client-eu
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Deletion is permanent. In Mode A, there are no cloud copies to worry about.
|
|
56
|
+
|
|
57
|
+
### Data Portability (Article 20)
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# Export all memories for a profile
|
|
61
|
+
slm profile export work > work-data.json
|
|
62
|
+
|
|
63
|
+
# The export is standard JSON — readable by any system
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Data Minimization (Article 5)
|
|
67
|
+
|
|
68
|
+
The entropy gate in the ingestion pipeline filters out redundant and low-value information automatically. Only memories with sufficient information value are stored.
|
|
69
|
+
|
|
70
|
+
### Purpose Limitation
|
|
71
|
+
|
|
72
|
+
Profiles enforce purpose limitation. Client A's data is stored in Client A's profile and is never accessible from another profile.
|
|
73
|
+
|
|
74
|
+
## Retention Policies
|
|
75
|
+
|
|
76
|
+
Named retention policies automate data lifecycle management.
|
|
77
|
+
|
|
78
|
+
### Built-in policies
|
|
79
|
+
|
|
80
|
+
| Policy | Retention period | Use case |
|
|
81
|
+
|--------|:----------------:|----------|
|
|
82
|
+
| `indefinite` | Forever | Default. No automatic deletion. |
|
|
83
|
+
| `gdpr-30d` | 30 days | GDPR-compliant short retention |
|
|
84
|
+
| `hipaa-7y` | 7 years | HIPAA medical records requirement |
|
|
85
|
+
|
|
86
|
+
### Apply a policy
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
slm retention set gdpr-30d
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
This applies to the active profile. Memories older than the retention period are automatically archived and then deleted.
|
|
93
|
+
|
|
94
|
+
### Custom policies
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
slm retention set custom --days 90
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Per-profile policies
|
|
101
|
+
|
|
102
|
+
Different profiles can have different policies:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
slm profile switch client-eu
|
|
106
|
+
slm retention set gdpr-30d
|
|
107
|
+
|
|
108
|
+
slm profile switch internal
|
|
109
|
+
slm retention set indefinite
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Access Control
|
|
113
|
+
|
|
114
|
+
SuperLocalMemory uses Attribute-Based Access Control (ABAC) per profile.
|
|
115
|
+
|
|
116
|
+
- Each profile is an isolated access boundary
|
|
117
|
+
- No cross-profile data access is possible
|
|
118
|
+
- Profile switching requires the `slm profile switch` command
|
|
119
|
+
- The audit trail logs all profile switches
|
|
120
|
+
|
|
121
|
+
## Audit Trail
|
|
122
|
+
|
|
123
|
+
Every memory operation is logged in a tamper-evident hash chain.
|
|
124
|
+
|
|
125
|
+
### View the audit trail
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
slm audit # Recent entries
|
|
129
|
+
slm audit --limit 100 # Last 100 entries
|
|
130
|
+
slm audit --action store # Only store operations
|
|
131
|
+
slm audit --action delete # Only delete operations
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Verify integrity
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
slm audit --verify
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
This checks the hash chain for tampering. Each entry contains a hash of the previous entry, creating a blockchain-like chain. Any modification to a past entry breaks the chain and is detected.
|
|
141
|
+
|
|
142
|
+
### What gets logged
|
|
143
|
+
|
|
144
|
+
| Action | What is recorded |
|
|
145
|
+
|--------|-----------------|
|
|
146
|
+
| `store` | Memory ID, timestamp, profile, content hash |
|
|
147
|
+
| `recall` | Query, timestamp, profile, result count |
|
|
148
|
+
| `delete` | Memory ID, timestamp, profile, reason |
|
|
149
|
+
| `profile_switch` | From profile, to profile, timestamp |
|
|
150
|
+
| `mode_change` | From mode, to mode, timestamp |
|
|
151
|
+
| `migration` | Source version, target version, timestamp |
|
|
152
|
+
|
|
153
|
+
## HIPAA
|
|
154
|
+
|
|
155
|
+
For healthcare applications:
|
|
156
|
+
|
|
157
|
+
1. Use Mode A (zero cloud) to ensure PHI never leaves the device
|
|
158
|
+
2. Apply the `hipaa-7y` retention policy
|
|
159
|
+
3. Use per-patient or per-case profiles for isolation
|
|
160
|
+
4. Enable audit trail verification for compliance audits
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
slm profile create patient-12345
|
|
164
|
+
slm profile switch patient-12345
|
|
165
|
+
slm retention set hipaa-7y
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## SOC 2
|
|
169
|
+
|
|
170
|
+
SuperLocalMemory supports SOC 2 requirements through:
|
|
171
|
+
|
|
172
|
+
- **Access controls:** Profile-based isolation with ABAC
|
|
173
|
+
- **Audit logging:** Hash-chained, tamper-evident audit trail
|
|
174
|
+
- **Data encryption:** SQLite database can be encrypted at rest using OS-level encryption (FileVault, BitLocker, LUKS)
|
|
175
|
+
- **Change management:** All configuration changes are logged
|
|
176
|
+
|
|
177
|
+
## Compliance Checklist
|
|
178
|
+
|
|
179
|
+
| Requirement | Mode A | Mode B | Mode C |
|
|
180
|
+
|-------------|:------:|:------:|:------:|
|
|
181
|
+
| Data stays on device | Yes | Yes | Partial (queries sent to cloud) |
|
|
182
|
+
| No cloud dependency | Yes | Yes | No |
|
|
183
|
+
| Right to erasure | Yes | Yes | Yes (local); cloud logs depend on provider |
|
|
184
|
+
| Audit trail | Yes | Yes | Yes |
|
|
185
|
+
| Retention policies | Yes | Yes | Yes |
|
|
186
|
+
| Profile isolation | Yes | Yes | Yes |
|
|
187
|
+
| Tamper detection | Yes | Yes | Yes |
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
*SuperLocalMemory V3 — Copyright 2026 Varun Pratap Bhardwaj. MIT License. Part of Qualixar.*
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
# Configuration
|
|
2
|
+
> SuperLocalMemory V3 Documentation
|
|
3
|
+
> https://superlocalmemory.com | Part of Qualixar
|
|
4
|
+
|
|
5
|
+
Control how SuperLocalMemory stores, retrieves, and processes your memories.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Three Operating Modes
|
|
10
|
+
|
|
11
|
+
SuperLocalMemory runs in one of three modes. You pick the trade-off between privacy and power.
|
|
12
|
+
|
|
13
|
+
| Mode | What it does | Needs API key? | Data leaves your machine? |
|
|
14
|
+
|------|-------------|:--------------:|:-------------------------:|
|
|
15
|
+
| **A: Zero-Cloud** | Math-based retrieval. No LLM calls. | No | Never |
|
|
16
|
+
| **B: Local LLM** | Mode A + a local LLM via Ollama. | No | Never |
|
|
17
|
+
| **C: Cloud LLM** | Mode B + a cloud LLM for maximum recall quality. | Yes | Yes (queries only) |
|
|
18
|
+
|
|
19
|
+
### Check your current mode
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
slm mode
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Switch modes
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
slm mode a # Zero-cloud (default)
|
|
29
|
+
slm mode b # Local LLM
|
|
30
|
+
slm mode c # Cloud LLM
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Switching modes takes effect immediately. No data is lost.
|
|
34
|
+
|
|
35
|
+
### Mode A: Zero-Cloud (Default)
|
|
36
|
+
|
|
37
|
+
All operations run locally. Retrieval uses four channels (semantic similarity, keyword search, entity graph, and temporal context) combined with mathematical scoring. No network calls.
|
|
38
|
+
|
|
39
|
+
Best for: privacy-sensitive work, air-gapped environments, EU AI Act compliance.
|
|
40
|
+
|
|
41
|
+
### Mode B: Local LLM
|
|
42
|
+
|
|
43
|
+
Everything from Mode A, plus a local LLM (via Ollama) that improves recall by understanding query intent and reranking results.
|
|
44
|
+
|
|
45
|
+
**Setup:**
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# Install Ollama (if not already installed)
|
|
49
|
+
brew install ollama # macOS
|
|
50
|
+
curl -fsSL https://ollama.com/install.sh | sh # Linux
|
|
51
|
+
|
|
52
|
+
# Pull a model
|
|
53
|
+
ollama pull llama3.2
|
|
54
|
+
|
|
55
|
+
# Switch to Mode B
|
|
56
|
+
slm mode b
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Best for: developers who want better recall without sending data to the cloud.
|
|
60
|
+
|
|
61
|
+
### Mode C: Cloud LLM
|
|
62
|
+
|
|
63
|
+
Everything from Mode B, plus a cloud LLM for cross-encoder reranking and agentic multi-round retrieval. Highest recall quality.
|
|
64
|
+
|
|
65
|
+
**Setup:**
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
slm mode c
|
|
69
|
+
slm provider set openai
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
You will be prompted for your API key (stored locally in your config file, never transmitted except to the provider you choose).
|
|
73
|
+
|
|
74
|
+
Best for: maximum recall quality when privacy constraints allow cloud calls.
|
|
75
|
+
|
|
76
|
+
## Provider Configuration
|
|
77
|
+
|
|
78
|
+
Mode C supports multiple LLM providers.
|
|
79
|
+
|
|
80
|
+
### Set your provider
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
slm provider # Show current provider
|
|
84
|
+
slm provider set # Interactive provider selector
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Supported providers
|
|
88
|
+
|
|
89
|
+
| Provider | Command | Env variable |
|
|
90
|
+
|----------|---------|-------------|
|
|
91
|
+
| OpenAI | `slm provider set openai` | `OPENAI_API_KEY` |
|
|
92
|
+
| Anthropic | `slm provider set anthropic` | `ANTHROPIC_API_KEY` |
|
|
93
|
+
| Azure OpenAI | `slm provider set azure` | `AZURE_OPENAI_API_KEY` |
|
|
94
|
+
| Ollama (local) | `slm provider set ollama` | None needed |
|
|
95
|
+
| OpenRouter | `slm provider set openrouter` | `OPENROUTER_API_KEY` |
|
|
96
|
+
|
|
97
|
+
### Set API keys
|
|
98
|
+
|
|
99
|
+
You can set keys interactively or via environment variables:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# Interactive (stored in config file)
|
|
103
|
+
slm provider set openai
|
|
104
|
+
# Prompts: Enter your OpenAI API key: sk-...
|
|
105
|
+
|
|
106
|
+
# Via environment variable (takes precedence)
|
|
107
|
+
export OPENAI_API_KEY="sk-..."
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Config File
|
|
111
|
+
|
|
112
|
+
All settings live in:
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
~/.superlocalmemory/config.json
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Example config
|
|
119
|
+
|
|
120
|
+
```json
|
|
121
|
+
{
|
|
122
|
+
"mode": "a",
|
|
123
|
+
"profile": "default",
|
|
124
|
+
"provider": {
|
|
125
|
+
"name": "openai",
|
|
126
|
+
"model": "gpt-4o-mini",
|
|
127
|
+
"api_key_env": "OPENAI_API_KEY"
|
|
128
|
+
},
|
|
129
|
+
"auto_capture": true,
|
|
130
|
+
"auto_recall": true,
|
|
131
|
+
"embedding_model": "all-MiniLM-L6-v2",
|
|
132
|
+
"max_recall_results": 10,
|
|
133
|
+
"retention": {
|
|
134
|
+
"default_policy": "indefinite"
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Key settings
|
|
140
|
+
|
|
141
|
+
| Setting | Default | Description |
|
|
142
|
+
|---------|---------|-------------|
|
|
143
|
+
| `mode` | `"a"` | Operating mode: `a`, `b`, or `c` |
|
|
144
|
+
| `profile` | `"default"` | Active memory profile |
|
|
145
|
+
| `auto_capture` | `true` | Automatically store decisions and context |
|
|
146
|
+
| `auto_recall` | `true` | Automatically inject relevant memories |
|
|
147
|
+
| `embedding_model` | `"all-MiniLM-L6-v2"` | Sentence transformer for semantic search |
|
|
148
|
+
| `max_recall_results` | `10` | Maximum memories returned per query |
|
|
149
|
+
|
|
150
|
+
## Environment Variables
|
|
151
|
+
|
|
152
|
+
These override config file settings when set:
|
|
153
|
+
|
|
154
|
+
| Variable | Purpose |
|
|
155
|
+
|----------|---------|
|
|
156
|
+
| `SLM_MODE` | Override operating mode |
|
|
157
|
+
| `SLM_PROFILE` | Override active profile |
|
|
158
|
+
| `SLM_DATA_DIR` | Override data directory (default: `~/.superlocalmemory/`) |
|
|
159
|
+
| `OPENAI_API_KEY` | OpenAI API key for Mode C |
|
|
160
|
+
| `ANTHROPIC_API_KEY` | Anthropic API key for Mode C |
|
|
161
|
+
| `AZURE_OPENAI_API_KEY` | Azure OpenAI API key for Mode C |
|
|
162
|
+
| `OPENROUTER_API_KEY` | OpenRouter API key for Mode C |
|
|
163
|
+
|
|
164
|
+
## Database Location
|
|
165
|
+
|
|
166
|
+
All data is stored locally in:
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
~/.superlocalmemory/memory.db # SQLite database
|
|
170
|
+
~/.superlocalmemory/config.json # Configuration
|
|
171
|
+
~/.superlocalmemory/backups/ # Automatic backups
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
To use a custom location:
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
export SLM_DATA_DIR="/path/to/your/data"
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
*SuperLocalMemory V3 — Copyright 2026 Varun Pratap Bhardwaj. MIT License. Part of Qualixar.*
|