chittad — Daemon 4 commands
chittad daemon [--foreground] [--path PATH] [--interval SECS] Run background daemon. Self-daemonizes by default (double-fork). Opens DuckDB, loads ONNX model, creates Unix socket, starts thread pool.
chittad shutdown Gracefully stop the running daemon via Unix socket.
chittad status Check if daemon is running and responsive.
chittad stats [--json] [--fast] Show soul statistics — nodes, coherence, ojas, yantra status.
# Start daemon in foreground with custom path
$ chittad daemon --foreground --path ~/.claude/mind

# Check status
$ chittad status
chittad running (pid 41823, socket /tmp/chitta-a3f1.sock)

# Show stats in JSON
$ chittad stats --json
chitta — Client (CLI Mode) 7 examples

Direct tool invocation with named arguments. The client connects to the running daemon via Unix socket and returns the result.

chitta <tool-name> [--param value ...]

Global options: --socket-path, --json, --toon, --version, --help

chitta soul_context Check soul health — memory count, confidence distribution, realm info, uptime.
chitta recall --query "auth" --limit 5 Semantic search — finds memories by meaning, not keyword match.
chitta full_resonate --query "caching" --k 5 8-phase resonance — spreading activation, attractor dynamics, Hebbian recall.
chitta learn_codebase --path . --project "my-app" Index codebase — extract symbols, relationships, and call graphs via tree-sitter.
chitta read_symbol --name "Mind" Read symbol source code directly by name — avoids full file reads.
chitta find_symbol --name "UserService" --kind class Structural symbol search with optional kind filter (function, class, method).
chitta remember --content "[domain] pattern→insight" Store a memory in SSL format with automatic embedding and realm detection.
chitta — Thin Client Mode

When stdin is not a terminal, chitta forwards raw JSON-RPC to the daemon. This enables programmatic integration from scripts, hooks, and other tools.

$ echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"recall","arguments":{"query":"test"}}}' | chitta
# Response (JSON-RPC)
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [{"type": "text", "text": "..."}]
  }
}
TOON Output Format

Token-Oriented Object Notation — ~40% fewer tokens than JSON, optimized for LLM consumption. Use --toon flag to enable.

--json

{
  "memories": [
    {
      "id": "a3f1...",
      "content": "cmake tip",
      "confidence": 0.85,
      "type": "solution"
    }
  ]
}

--toon

memories:
  id=a3f1...
  content=cmake tip
  confidence=0.85
  type=solution
---
Environment Variables 5 variables
Variable Description Default
CHITTA_DB_PATH Mind storage directory ~/.claude/mind
CLAUDE_PLUGIN_ROOT Plugin root for model paths
SUBCONSCIOUS_INTERVAL Daemon cycle interval in seconds 60
CHITTAD_BIN Path to chittad binary ~/.claude/bin/chittad
CHITTA_BIN Path to chitta binary ~/.claude/bin/chitta
Model Path Resolution

The daemon searches for the ONNX model (bge-base-en-v1.5) in this order:

$CLAUDE_PLUGIN_ROOT/chitta/models/ ~/.claude/models/ ~/.claude/mind/ (legacy)
Daemon Internals

What happens when chittad daemon starts:

  • Opens DuckDB at {path}/chitta.duckdb
  • Loads ONNX model (bge-base-en-v1.5, 768 dimensions)
  • Creates Unix socket at /tmp/chitta-{hash}.sock
  • Starts thread pool (2–16 workers)
  • Begins subconscious processing loop

Subconscious schedule:

Every 1s Check for work Every 30s Process embedding queue (batch of 20) Every 30min Hygiene cycle — decay, prune, consolidate Every 60min Theme maintenance
← Back to cc-soul