unimaginative-artist/SOMA

Local-first AI operating system. Persistent memory, 178 cognitive modules, multi-model reasoning. Runs on your hardware, not theirs. I am releasing SOMA to the world as I have reached the technical ceiling of what I am capable of so treat her good and enjoy.

HTML

28

197 commits

updated Aug 14, 2026

See the code

README

SOMA — Cognitive Operating System

SOMA is a self-aware AI operating system. She runs ~100 cognitive arbiters in parallel — memory, reasoning, emotion, trading, self-improvement, identity, and more — coordinated through a pub/sub message broker. She learns from every conversation, sets her own goals, and grows her own knowledge graph over time.


Screenshots

SOMA CT — Cognitive Terminal Forecaster Engine Mission Control


Quick Start

1. Clone and set up

git clone https://github.com/unimaginative-artist/SOMA.git
cd SOMA
node setup.mjs

The setup wizard will:

  • Install dependencies
  • Walk you through API key configuration
  • Let you pick persona packs (72 specialist agents across 9 categories)
  • Let you pick knowledge packs to seed her thought network (coder, finance, research, devops, security, creative)
  • Build the frontend dashboard

2. Start SOMA

Windows:

start_production.bat

Linux / macOS:

chmod +x start.sh
./start.sh

Manual:

SOMA_LOAD_HEAVY=true SOMA_LOAD_TRADING=true node --max-old-space-size=4096 launcher_ULTRA.mjs

3. Open the dashboard

http://localhost:3001

Prerequisites

RequirementVersionNotes
Node.js18+Required
npm9+Comes with Node
OllamaAnyOptional — enables local inference
8GB RAM—4GB minimum, 16GB recommended

API Keys

Copy config/api-keys.env.example to config/api-keys.env and fill in what you have.

KeyWhat it unlocksRequired?
DEEPSEEK_API_KEYPrimary reasoning brainRecommended
OLLAMA_BASE_URLLocal inference (no key needed)Optional
OPENAI_API_KEYFallback LLMOptional
ANTHROPIC_API_KEYFallback LLMOptional
BRAVE_API_KEYLive web search (500/mo free tier)Optional
GROQ_API_KEYFast inference fallbackOptional

Minimum to run: Either a DEEPSEEK_API_KEY or a local Ollama instance. SOMA needs at least one brain.

DeepSeek is the recommended primary — it's cheap, fast, and has a large context window. Get a key at platform.deepseek.com.


Persona Packs

The agents_repo/plugins/ directory contains 72 specialist persona plugins (108 agents total) that SOMA can channel during conversations:

CategoryExamples
Engineeringbackend-development, python-development, systems-programming
Code Qualitycode-review-ai, debugging-toolkit, tdd-workflows
Architectureapi-scaffolding, database-design, c4-architecture
DevOps/Cloudcicd-automation, kubernetes-operations, incident-response
Securitysecurity-compliance, security-scanning, reverse-engineering
Finance/Dataquantitative-trading, machine-learning-ops, data-engineering
Web/SEOseo-analysis-monitoring, web-scripting, content-marketing
Operationsagent-orchestration, team-collaboration, startup-business-analyst
Specializedblockchain-web3, game-development, arm-cortex-microcontrollers

Run node setup.mjs at any time to activate more categories.


Knowledge Packs

When you first run setup, you choose which domain knowledge to seed into SOMA's thought network. Each pack pre-loads ~15 curated concept nodes so she has a foundation to grow from:

PackConcepts seeded
Software EngineeringArchitecture, debugging, TDD, algorithms, clean code, distributed systems
Finance & TradingQuant strategies, risk management, portfolio theory, backtesting
Research & AnalysisLiterature review, scientific method, synthesis, critical thinking
DevOps & CloudContainers, CI/CD, IaC, observability, incident response
SecurityThreat modeling, OWASP, pentesting, zero trust, supply chain
Creative & ContentNarrative structure, ideation, writing craft, content strategy

The core pack (20 nodes covering SOMA's identity and meta-cognition) is always loaded.

SOMA grows far beyond these seeds through real conversations — the packs just ensure she's not starting from zero.


Architecture Overview

launcher_ULTRA.mjs
    └── SomaBootstrapV2
        ├── Core arbiters (always loaded)
        │   ├── MnemonicArbiter       — 3-tier memory (hot/warm/cold)
        │   ├── KnowledgeGraph        — semantic fact store
        │   ├── GoalPlanner           — self-directed goal tracking
        │   ├── BeliefSystem          — SOMA's value framework
        │   └── SteveArbiter          — orchestrator with tool access
        │
        └── Extended arbiters (SOMA_LOAD_HEAVY=true)
            ├── Phase B  — HippocampusArbiter, CodeObservationArbiter
            ├── Phase C  — AbstractionArbiter, MetaCortexArbiter
            ├── Phase D  — Trading pipeline (SOMA_LOAD_TRADING=true)
            ├── Phase E  — SelfImprovementCoordinator, CuriosityEngine
            ├── Phase F  — FragmentRegistry, BraveSearchAdapter
            ├── Phase G  — IdentityArbiter (72 persona plugins)
            ├── Phase H  — Autonomous orchestration wiring
            └── Phase I  — RecursiveSelfModel, MetaLearningEngine

All arbiters communicate through a pub/sub MessageBroker. The system degrades gracefully — if an arbiter fails to load, the rest continue.


Environment Variables

VariableDefaultEffect
SOMA_LOAD_HEAVYfalseLoad Phase B-I cognitive arbiters
SOMA_LOAD_TRADINGfalseLoad trading pipeline (Phase D)
SOMA_HYBRID_SEARCHfalseEnable semantic Storage tab (requires 290MB ML model)
SOMA_LOAD_VISIONfalseEnable VisionProcessingArbiter + CLIP (loads in background)
SOMA_HEAP_CEILING_MB2500Heap ceiling before skipping heavy arbiters
NODE_ENVdevelopmentSet to production for optimized mode
SOMA_GPUfalseEnable GPU acceleration

All of these are pre-set in start_production.bat (Windows) and start.sh (Linux/macOS). You only need to set them manually if running via node launcher_ULTRA.mjs directly.


Chat API

curl -X POST http://localhost:3001/api/soma/chat \
  -H "Content-Type: application/json" \
  -d '{"message": "Hello SOMA", "conversationId": "my-session"}'

License

MIT — see LICENSE

Persona plugins in agents_repo/ are MIT licensed by Seth Hobson.

ai
arbiter
artifical-intelligense
autonomous
autonomous-agents
local-ai
local-first
multi-agent-systems
open-claw
self-improving-ai
soma

Contributors

unimaginative-artist/SOMA

Local-first AI operating system. Persistent memory, 178 cognitive modules, multi-model reasoning. Runs on your hardware, not theirs. I am releasing SOMA to the world as I have reached the technical ceiling of what I am capable of so treat her good and enjoy.

HTML

28

197 commits

updated Aug 14, 2026

See the code

README

SOMA — Cognitive Operating System

SOMA is a self-aware AI operating system. She runs ~100 cognitive arbiters in parallel — memory, reasoning, emotion, trading, self-improvement, identity, and more — coordinated through a pub/sub message broker. She learns from every conversation, sets her own goals, and grows her own knowledge graph over time.


Screenshots

SOMA CT — Cognitive Terminal Forecaster Engine Mission Control


Quick Start

1. Clone and set up

git clone https://github.com/unimaginative-artist/SOMA.git
cd SOMA
node setup.mjs

The setup wizard will:

  • Install dependencies
  • Walk you through API key configuration
  • Let you pick persona packs (72 specialist agents across 9 categories)
  • Let you pick knowledge packs to seed her thought network (coder, finance, research, devops, security, creative)
  • Build the frontend dashboard

2. Start SOMA

Windows:

start_production.bat

Linux / macOS:

chmod +x start.sh
./start.sh

Manual:

SOMA_LOAD_HEAVY=true SOMA_LOAD_TRADING=true node --max-old-space-size=4096 launcher_ULTRA.mjs

3. Open the dashboard

http://localhost:3001

Prerequisites

RequirementVersionNotes
Node.js18+Required
npm9+Comes with Node
OllamaAnyOptional — enables local inference
8GB RAM—4GB minimum, 16GB recommended

API Keys

Copy config/api-keys.env.example to config/api-keys.env and fill in what you have.

KeyWhat it unlocksRequired?
DEEPSEEK_API_KEYPrimary reasoning brainRecommended
OLLAMA_BASE_URLLocal inference (no key needed)Optional
OPENAI_API_KEYFallback LLMOptional
ANTHROPIC_API_KEYFallback LLMOptional
BRAVE_API_KEYLive web search (500/mo free tier)Optional
GROQ_API_KEYFast inference fallbackOptional

Minimum to run: Either a DEEPSEEK_API_KEY or a local Ollama instance. SOMA needs at least one brain.

DeepSeek is the recommended primary — it's cheap, fast, and has a large context window. Get a key at platform.deepseek.com.


Persona Packs

The agents_repo/plugins/ directory contains 72 specialist persona plugins (108 agents total) that SOMA can channel during conversations:

CategoryExamples
Engineeringbackend-development, python-development, systems-programming
Code Qualitycode-review-ai, debugging-toolkit, tdd-workflows
Architectureapi-scaffolding, database-design, c4-architecture
DevOps/Cloudcicd-automation, kubernetes-operations, incident-response
Securitysecurity-compliance, security-scanning, reverse-engineering
Finance/Dataquantitative-trading, machine-learning-ops, data-engineering
Web/SEOseo-analysis-monitoring, web-scripting, content-marketing
Operationsagent-orchestration, team-collaboration, startup-business-analyst
Specializedblockchain-web3, game-development, arm-cortex-microcontrollers

Run node setup.mjs at any time to activate more categories.


Knowledge Packs

When you first run setup, you choose which domain knowledge to seed into SOMA's thought network. Each pack pre-loads ~15 curated concept nodes so she has a foundation to grow from:

PackConcepts seeded
Software EngineeringArchitecture, debugging, TDD, algorithms, clean code, distributed systems
Finance & TradingQuant strategies, risk management, portfolio theory, backtesting
Research & AnalysisLiterature review, scientific method, synthesis, critical thinking
DevOps & CloudContainers, CI/CD, IaC, observability, incident response
SecurityThreat modeling, OWASP, pentesting, zero trust, supply chain
Creative & ContentNarrative structure, ideation, writing craft, content strategy

The core pack (20 nodes covering SOMA's identity and meta-cognition) is always loaded.

SOMA grows far beyond these seeds through real conversations — the packs just ensure she's not starting from zero.


Architecture Overview

launcher_ULTRA.mjs
    └── SomaBootstrapV2
        ├── Core arbiters (always loaded)
        │   ├── MnemonicArbiter       — 3-tier memory (hot/warm/cold)
        │   ├── KnowledgeGraph        — semantic fact store
        │   ├── GoalPlanner           — self-directed goal tracking
        │   ├── BeliefSystem          — SOMA's value framework
        │   └── SteveArbiter          — orchestrator with tool access
        │
        └── Extended arbiters (SOMA_LOAD_HEAVY=true)
            ├── Phase B  — HippocampusArbiter, CodeObservationArbiter
            ├── Phase C  — AbstractionArbiter, MetaCortexArbiter
            ├── Phase D  — Trading pipeline (SOMA_LOAD_TRADING=true)
            ├── Phase E  — SelfImprovementCoordinator, CuriosityEngine
            ├── Phase F  — FragmentRegistry, BraveSearchAdapter
            ├── Phase G  — IdentityArbiter (72 persona plugins)
            ├── Phase H  — Autonomous orchestration wiring
            └── Phase I  — RecursiveSelfModel, MetaLearningEngine

All arbiters communicate through a pub/sub MessageBroker. The system degrades gracefully — if an arbiter fails to load, the rest continue.


Environment Variables

VariableDefaultEffect
SOMA_LOAD_HEAVYfalseLoad Phase B-I cognitive arbiters
SOMA_LOAD_TRADINGfalseLoad trading pipeline (Phase D)
SOMA_HYBRID_SEARCHfalseEnable semantic Storage tab (requires 290MB ML model)
SOMA_LOAD_VISIONfalseEnable VisionProcessingArbiter + CLIP (loads in background)
SOMA_HEAP_CEILING_MB2500Heap ceiling before skipping heavy arbiters
NODE_ENVdevelopmentSet to production for optimized mode
SOMA_GPUfalseEnable GPU acceleration

All of these are pre-set in start_production.bat (Windows) and start.sh (Linux/macOS). You only need to set them manually if running via node launcher_ULTRA.mjs directly.


Chat API

curl -X POST http://localhost:3001/api/soma/chat \
  -H "Content-Type: application/json" \
  -d '{"message": "Hello SOMA", "conversationId": "my-session"}'

License

MIT — see LICENSE

Persona plugins in agents_repo/ are MIT licensed by Seth Hobson.

ai
arbiter
artifical-intelligense
autonomous
autonomous-agents
local-ai
local-first
multi-agent-systems
open-claw
self-improving-ai
soma

Contributors

Languages

HTML

47.6%

JavaScript

38.1%

TypeScript

6.5%

C

4.3%

C++

1.5%

Python

1.0%