A fully integrated AI operating layer for Linux. One compiled binary, zero cloud dependencies, 80+ models, every OS action, a full IDE, an autonomous finance engine, and deep desktop integration that no SaaS competitor can replicate — because it requires owning the OS.
| Feature | Electra | Cursor | Claude Code | VS Code | Antigravity |
|---|---|---|---|---|---|
| Multi-model routing (80+ models) | ★ | ~ | ✗ | ✗ | ✗ |
| Full GUI IDE (GTK3, GtkSourceView) | ✓ | ✓ | ✗ | ✓ | ~ |
| Terminal / CLI mode | ✓ | ✗ | ✓ | ~ | ✗ |
| Agentic tool-calling coder | ✓ | ✓ | ✓ | ~ | ✓ |
| Structured planning pipeline (plan → approve → code → verify) | ★ | ✗ | ~ | ✗ | ✗ |
| Auto-compact with plan context restore | ★ | ✗ | ✗ | ✗ | ✗ |
| Agent Swarm (parallel workers) | ★ | ✗ | ✗ | ✗ | ✗ |
| LSP integration (pyright, tsserver…) | ✓ | ✓ | ✗ | ✓ | ✗ |
| Ghost text inline completions | ✓ | ✓ | ✗ | ~ | ~ |
| Streaming diff preview | ✓ | ✓ | ✗ | ✗ | ~ |
| Open VSX extension support | ✓ | ✗ | ✗ | ✓ | ✗ |
| AT-SPI screen awareness | ★ | ✗ | ✗ | ✗ | ✗ |
| D-Bus two-way desktop control | ★ | ✗ | ✗ | ✗ | ✗ |
| Voice input / TTS output | ✓ | ✗ | ✗ | ✗ | ✗ |
| Offline / local models (Ollama) | ✓ | ✗ | ✗ | ~ | ✗ |
| Telegram bridge | ★ | ✗ | ✗ | ✗ | ✗ |
| Home Assistant integration | ★ | ✗ | ✗ | ✗ | ✗ |
| Finance bot / earn online | ★ | ✗ | ✗ | ✗ | ✗ |
| Heartbeat background task agent | ★ | ✗ | ✗ | ✗ | ✗ |
| Discord / Reddit / RSS / Spotify agents | ★ | ✗ | ✗ | ✗ | ✗ |
| Git panel (built-in) | ✓ | ✓ | ✗ | ✓ | ~ |
| Image generation & analysis | ✓ | ✗ | ✗ | ✗ | ✗ |
| Project knowledge base (/pk) | ✓ | ✓ | ✓ | ✗ | ✓ |
| ChromaDB vector memory | ✓ | ✗ | ✗ | ✗ | ✗ |
| Patreon tier system | ✓ | ✗ | ✗ | ✗ | ✗ |
| Single compiled binary (Nuitka) | ★ | ✗ | ✗ | ✗ | ✗ |
| Source code Q&A agent | ★ | ✗ | ✗ | ✗ | ✗ |
| Codeberg integration | ★ | ✗ | ✗ | ✗ | ✗ |
| Novel / long-form writing mode | ★ | ✗ | ✗ | ✗ | ✗ |
| Live Code Map (workspace awareness) | ✓ | ✓ | ✓ | ✗ | ~ |
| Cinnamon / GNOME / KDE / XFCE support | ★ | ✗ | ~ | ✓ | ✗ |
| Right-click context actions (Nemo) | ★ | ✗ | ✗ | ✗ | ✗ |
★ = Electra-unique or category leader · ✓ = present · ~ = partial · ✗ = absent
/bgai_terminal.bin --command "<task>" --detached --bg-task-id <id>) instead of blocking the conversation — same self-relaunch pattern already used by /cmdide, so no in-process threading around ai_terminal.py's global state, zero race conditions. Own command_history, own conversation_id, full tool + verification mandate. confirm_dangerous/plan_task/ask_user already fail-safe on a closed stdin (dangerous ops auto-cancel, plans auto-approve with an audit trail + notification). New tool: run_in_background_task — the AI can decide to background something itself. Commands: /bg <task>, /tasks, /task show <id>, /task kill <id>./changelog/changelog [today|week|month|N|all] command read and filter that existing audit log by time window, so the agent answers from real tracked data instead of guessing from memory. Zero new logging code — pure query surface over data Electra was already collecting.| Tier | Daily Requests | Premium Providers | Agent Swarm | Priority |
|---|---|---|---|---|
| Free | 50 / day | Standard pool | ✗ | Base |
| Private | 500 / day | Standard pool | ✗ | Base |
| Corporal | 1,500 / day | Standard pool | ✗ | Medium |
| Sergeant | 4,000 / day | Standard pool | ✗ | High |
| Major — $40/mo | 10,000 / day | ds- bt- ol- unlocked | ✓ | Top |
| Commander — $100/mo | Unlimited ∞ | ds- bt- ol- unlocked | ✓ | Top |
Major+ subscribers get paid providers auto-prioritized in Coder and Command mode routing. GUI model picker sorts premium models to top.
The binary targets the oldest practical glibc (2.34 via Ubuntu 22.04 base) so it runs on essentially any distro released since 2021. MakuluLinux (Cinnamon on Ubuntu 24.04) is the primary development and showcase platform with the deepest integration (right-click context actions, Super+E bar, AT-SPI, D-Bus).
/overdrive · Badge: ⚡ OD in GUI info bar./loopeng on|off · individual subsystems: /loopeng critic on|off · /loopeng decomp on|off · /loopeng replan on|off
--auto-fix: dispatches the coder agent to implement the fix autonomously. Commands: /ci watch owner/repo [--auto-fix] [--chat <id>] · /ci status · /ci unwatch · /ci fix owner/repo <run_id>. State persisted in ~/.electra/ci_watch.json and ci_state.json./gh fix issue <number> (specific) or /gh fix issue (interactive list). Telegram notification at each stage. New GitHub API primitives added: get_issue(), create_branch(), create_pull_request(), list_open_issues(), get_run_logs().[ACTION: arg] regex-tag protocol with real OpenAI-style function calling (confirmed against the live backend: non-streamed tool_calls work correctly with mode="none", though the model leaks <think> into content even alongside a tool call — stripped same as elsewhere). 21 tools, same verification mandate as interactive Command mode./bg <task> and the run_in_background_task tool spawn a task as its own detached process via the existing --command --detached CLI path (same self-relaunch pattern as /cmdide), avoiding any in-process threading around ai_terminal.py's non-thread-safe globals. /tasks, /task show <id>, /task kill <id> round out the surface./changelog [today|week|month|N|all] and the query_changelog tool read back the Markdown audit log (~/.electra/command_log.md) Command mode was already writing on every completed task, filtered by time window.~/.electra_project_brain.md: every file and what it does (updated on write), every architectural decision and why it was made, every bug fixed and how, user preferences learned over time. The coder, command, and loop engineering agents all read this document — dramatically improving context accuracy with zero extra API calls. No SaaS AI tool can replicate this because they have no persistent local storage.
git push, Electra checks that branch's real CI failure history and prints an advisory warning if it has failed repeatedly in the last 21 days. Command: /predictive status|analyze|on|off.
/vloop <goal> captures a baseline screenshot, dispatches a real fix attempt to the coder agent, takes an independent "after" screenshot, and asks a vision model to reply VERIFIED or NOT_VERIFIED with a reason — feeding that reason into the next attempt automatically, up to 3 tries. Built on scrot/gnome-screenshot plus vision models, fully native to the Linux desktop.
/me gathers explicit /profile preferences, server-side and local MemPalace excerpts, Predictive Heartbeat's learned activity patterns, scheduled automations, and account tier, then hands it to the AI to write a warm, plain-English, second-person summary — never raw data, file paths, or internal jargon. Credential-pattern scrubbing runs before anything reaches a prompt.
electra_pet.py, ~2,800 lines, standalone Nuitka binary) living on the desktop as a transparent always-clickable window. Seven pets, four hand-built vector shapes, zero image assets. Persistent happiness/energy stats, real weather awareness, live system awareness, cursor awareness, seasonal decorations, 25+ animation states. Chat input forwards to a full ai_terminal.bin instance via the same terminal-detection and --chat routing electra_bar.py uses. push_pet_event() gives every other agent a one-line hook to make the pet react to real system events — wired into Heartbeat and GitHub agents. This is the clearest existing proof that Electra Shell (Phase 5) is viable — a native, always-on desktop citizen already ships and works today, just not yet as the actual window manager layer.
<canvas>, not hand-built GTK widgets, because HTML/JS is exactly the medium the AI is already good at generating on demand, and electra_gui.py already carries WebKit2GTK as a dependency. A slim auto-hide dock (Mac-Dock-style, position-configurable) replaces the panel and app-menu entirely, and electra_bar.py's floating-widget role folds into it as the dock's AI input field.
WebKit2GTK canvas the final desktop version will use, launched from the terminal or GUI like any other Electra surface. Proves the canvas engine end-to-end (generation → mode-swap → render) with zero risk to anyone's login session if something breaks.
~/.electra/canvas/modes/<name>/, validates it renders without a blank screen, then hot-swaps the window's WebView to it. Reuses the same streaming-diff-preview and visual-feedback-loop infrastructure Coder mode already has rather than a blind one-shot reload — a first attempt at something like a legal-move chessboard or a farm-sim with pathing is expected to need iteration, the same way a Coder-mode file edit sometimes does.
WebKit2.UserContentManager script-message bridge (register handler in Python, window.webkit.messageHandlers.electra.postMessage() in JS) so canvas modes that need real system data — the live log mode, a system-aware farm sim — can subscribe to specific, named events (subscribe_to_log, get_open_windows, etc.). No raw exec, filesystem, or shell access exposed to JS, ever — designed this way from the very first prototype, not retrofitted later once a canvas-mode marketplace (Phase 6) makes AI-generated JS from other people's prompts a real trust boundary.
.desktop file in /usr/share/xsessions/electra.desktop pointing to a launch script that execs Muffin (muffin --replace) followed by electra_shell.py as the desktop-layer process. LightDM (MakuluLinux's default), GDM, and SDDM all just exec whatever the xsession script points to — none of them care what's inside. Only begins once the windowed canvas prototype from 5A has cleared its promotion gate.
shell_backend.py HIGHMuffinBackend, OpenboxPicomBackend) so the shell process talks to "whatever WM is running" through one API instead of hardcoding Muffin calls everywhere. Cinnamon/MakuluLinux ships Muffin out of the box — zero extra install. Non-Cinnamon distros fall back to Openbox (trivially scriptable, EWMH-compliant) + picom for compositing effects. Same shell code runs on both; only the backend implementation differs.electra_shell.py crashes, the user must not be dropped to a blank screen. Launch script wraps the shell in a restart loop with backoff, and a "safe mode" fallback that relaunches stock Cinnamon/Openbox if the shell fails 3 times in a row. The starter mode library's plain-wallpaper mode is also promoted to a proper "classic desktop" mode here — real file icons, real drag-and-drop — so users who want the familiar layout back always have it as one command away, not a UX dead end. Non-negotiable before this ever reaches a real user's login screen._NET_WM_WINDOW_TYPE_DESKTOP and stacked below every normal app window, occupying the exact space a wallpaper used to. No new canvas logic gets written here; this milestone is purely "move the proven engine into the desktop layer" plus input-isolation hardening below.
~/.electra/canvas/modes/<name>/ (an index.html plus assets — no build step, no framework requirement). "Swap the desktop" means telling the WebView to load a different mode's index.html — instant, no window manager involvement, no restart.
python-wnck/EWMH window list the dock uses) docked to a screen edge inside the canvas itself — useful for modes like the log view or launcher where "what's actually open right now" is part of the content, not just the dock's job.electra_bar.py's floating-window role retires — the AI input becomes a permanent dock element instead, reachable the same way on every canvas mode. Same routing-agent forwarding behavior as today (chat / coder / command / "change my desktop to..."), just structurally anchored instead of a separate window that can be lost or covered.
python-wnck HIGHpython-wnck (the same library GNOME/Cinnamon's own taskbars use) or raw EWMH client messages via python-ewmh as a fallback. Read-and-send-messages against the compositor's own window state, not reimplemented window-management logic./usr/share/applications/*.desktop parsing still happens (freedesktop.org standard, mature Python parsers available) but feeds the interactive folder-launcher canvas mode from Milestone 5A/5C rather than a dock dropdown — keeping the dock itself minimal: AI input, running apps, and nothing else.xrandr wrapper (or python-xlib direct) for monitor detection and arrangement. Each monitor can run its own canvas instance and its own dock instance — well-documented territory every X11 panel project has solved before.org.freedesktop.Notifications HIGHdbus-python/pydbus — well-documented, mature territory. Owning this means AI-generated notifications (heartbeat alerts, CI failures, finance bot events) can render as toasts on the dock or feed straight into a live-log canvas mode, instead of routing through whatever notification daemon happened to already be running.~/.electra/ HIGHsystemd-logind and UPower D-Bus interfaces — mature Python bindings, not a hard problem, just necessary plumbing for a complete session.wmctrl shell-outs. Meaningfully more reliable and much faster.
--include-module flags per satellite, same pattern as electra_pet.py, telegram_bridge.py, etc.), producing a single distributable shell binary alongside ai_terminal.bin.wlroots, and layer-shell (the protocol the canvas and dock would need) has no equivalent maturity in Python yet. Newer GNOME/Fedora defaulting to Wayland means this gap is real for the multi-distro goal — revisit once Cinnamon/Muffin's own Wayland session matures upstream rather than building ahead of the ecosystem.tokenColors syntax highlighting from VS Code themes, and actually launching detected LSP servers registered from extensions. Snippet engine partially done — tabstop jumps and TM_ vars shipped, full nesting remains.debugpy is the first target; Node.js inspector second. Large effort — 3–6 weeks properly scoped.platform_compat.py shim approach identified. GTK3 available on both platforms via MSYS2/Homebrew. AT-SPI and D-Bus are Linux-only — needs graceful degradation stubs. Expands addressable audience significantly. Linux remains the native home. Lower priority now that Electra Shell (Phase 5) is Linux-native by design.electra_state.json
HIGH
~/.electra/state.json written after every session and read before any prompt
is constructed. Tracks: per-domain operational confidence scores
(command_mode: 0.87, file_regex_ops: 0.61, etc.),
autonomy trust dial (0.0–1.0), contradiction log, domain failure rates, and last-updated
timestamp. This file is the behavioral substrate — it changes what Electra does,
not just what it knows. The critical difference: current memory systems inject text
into prompts. This system mutates operational parameters before prompts are built.
electra_state.json and
directly shape system prompt language: confidence > 0.85 → "Proceed autonomously";
confidence 0.6–0.85 → "Proceed but verify key steps"; confidence < 0.6 → "Confirm before
destructive operations." The existing _COMMAND_FAILURES_FILE already captures
per-command failure history — this extends it to a scored, decaying, cross-session confidence
model per domain class.
DRY_RUN_MODE with a floating AUTONOMY_LEVEL (0.0–1.0) that
adjusts dynamically based on session outcomes. A clean session (all tools succeed, user
accepts output) raises trust slightly. A session with rollbacks, user corrections, or
repeated failures lowers it. At 1.0: full autonomy, zero confirmations. At 0.5: confirm
before destructive operations. At 0.0: confirm every tool call. Users can manually anchor
the dial via /trust 0.7 or let it self-calibrate. This is the difference
between Electra acting like a junior dev that needs approval and a senior dev you trust
to run with a task.
~/.electra/contradictions.json, and injected into future sessions
as context tension — not as an instruction, but as a named unresolved conflict the AI
can reason about. This transforms Project Brain from a knowledge store into a consistency
guardian.
/state report): "Since last week, your command-mode confidence has risen
from 0.71 to 0.89. Regex operations remain your weakest domain at 0.58. Two unresolved
contradictions detected." The system surfaces its own internal evolution explicitly.
Phase 4 complete. Electra AI is a full-stack Jarvis-style AI platform: a compiled binary, 80+ models, a complete IDE, autonomous background agents, finance engine, deep OS integration, and service connections that no SaaS competitor can replicate. The June 29 2026 sprint delivered the Unified Coder overhaul — Coder mode is now stable for the first time since its initial design. July 2 2026 delivered the Command Center Upgrade: Heartbeat Real Tool-Calling (full function-calling parity with interactive Command mode), Background Task Queue (/bg, /tasks), and System Changelog (/changelog). All shipped as anchor-validated, backup-protected patch scripts, test-applied before hand-off.
July 4 2026 correction: Electra Shell is Phase 5, top priority — reframed as an interactive canvas desktop, not a rebuilt traditional shell. Every item that was queued for Phase 5 as of July 2 — Speculative Execution, Specialist Agent Panels, the Electra Pets expansion list, AI-OS Cinnamon shell deepening, Cloud Sync, the plugin marketplace, Finance Bot v2, multi-user mode, and Electra Marketplace — moves to Phase 6 alongside IMPRINT. None of it is cancelled; all of it is queued behind a strategic bet that pays off bigger: building Electra Shell, where the entire screen becomes one fullscreen AI-generated canvas instead of a wallpaper-plus-icons-plus-panel layout. No desktop icons, no fixed panel, no static app menu — a single WebKit2GTK-hosted canvas that the AI can turn into a chessboard, a live farm sim, a plain-English system log, an interactive folder launcher, or anything else on request, plus a slim auto-hide dock (Mac-Dock-style) that replaces the panel/menu and houses the AI input. The scoping call that makes it viable: still don't write a compositor (Muffin, already installed on Cinnamon/MakuluLinux, or Openbox+picom elsewhere, keeps doing that job) — build the canvas and dock on top of it instead. The first concrete deliverable is a custom LightDM/GDM/SDDM xsession that boots Muffin + a Python shell process hosting the canvas — the smallest possible proof the architecture works end-to-end. Once that boots, "change my desktop to..." becomes a real command, and Command mode gains direct EWMH/D-Bus window control instead of shelling out to wmctrl. Electra Pets — already a native, always-on, AI-powered desktop citizen shipping in production — is the existence proof this generalizes.
Phase 6 (deferred + planned): next-level unconventional features + IMPRINT. Speculative Execution (pre-fetch while the user is still typing) and Specialist Agent Panels (security/performance/test experts in parallel) remain high-impact, low-effort items ready whenever Phase 5 frees up cycles. IMPRINT remains the architectural gap no competitor has closed — a persistent behavioral state substrate (~/.electra/state.json) that survives session boundaries: per-domain confidence scores that decay and recover through experience, a graduated autonomy trust dial, a contradiction detector, and a behavioral pressure layer that mutates operational parameters rather than prompts. Today Electra changes what the AI knows per session; IMPRINT makes Electra change how it behaves across sessions.
The OS moat keeps compounding, and Electra Shell is the deepest expression of it yet. Every sprint so far added capabilities that require owning the Linux distro and running locally — AT-SPI screen reading, D-Bus desktop control, persistent semantic memory, Telegram alerts from a background task. Electra Shell goes one level deeper: it doesn't just run on Linux, it becomes the desktop. No cloud AI competitor — Cursor, Copilot, ChatGPT, Antigravity — can ever follow this move, because none of them own an OS.
GitHub: github.com/raymerjacque/Electra_AI_Center
Electra AI Center: https://makululinux.us/electra.html
AI-OS: https://makululinux.us/ai-os.html
Full Guide: https://makululinux.us/ai-terminal-guide.html
Daily Updates/Community: https://www.patreon.com/makululinux
Source Code: https://makululinux.us/electra_agent.html