⬆ Top
Theme
🐧 MakuluLinux · Official Documentation

Electra AI Center

v2026.06.21-r5 | 300+ Commands | 150+ AI Models | 33 Revenue Streams | 11 Provider Networks | Multi-Distro

Your Jarvis — an OS-level AI intelligence layer that chats, codes, writes, manages your PC, earns you income, and integrates every service you use. Built for MakuluLinux, runs on any major Linux distro.

Chat Mode Coder IDE Writer Mode Novel Mode Command Mode GUI / VSCode-Style Open VSX Extensions LSP Autocomplete Ghost-Text AI Finance Bot · 33 Streams Plugin Engine AT-SPI Screen Reader D-Bus Integration Telegram Bridge Agent Swarm
What Is Electra?

The AI Layer Your Linux Desktop Has Been Waiting For

Electra AI Center is a fully-integrated, OS-level artificial intelligence suite that ships as a single compiled binary. It runs in your terminal, launches a full VSCode-style GUI, integrates with your file manager, connects to Telegram, manages your finances, and autonomously executes tasks while you work on something else.

Think of it as your personal Jarvis — not a chat window bolted onto your desktop, but a deep integration layer that can read your screen, manage your windows, write and run code, browse the web, control smart home devices, generate income, and talk back through Telegram when jobs are done.

🤖
150+ AI Models
11 provider networks, auto-routed. Free tier includes 30+ models. Major/Commander tier unlocks DeepSeek Direct, ByteDance Ark, and Ollama Cloud.
🖥️
Full VSCode-Style GUI
Activity bar, file explorer, tabbed editor with GtkSourceView, chat panel, Git sidebar, diagnostics tab, minimap, and Open VSX extension browser.
💻
Agentic Coder
80-turn agentic loops, LSP integration (pyright, tsserver, rust-analyzer, clangd, gopls), inline ghost-text completions, parallel agent swarms, test generation.
💰
33 Revenue Streams
Autonomous finance bot that writes content, creates products, applies to jobs, runs on Gumroad/Medium/Etsy/KDP/Substack and more. PayPal + Stripe integrated.
🧩
Open VSX Extensions
Browse, install, and activate VS Code extensions from open-vsx.org. Themes, grammars, snippets, and LSP servers all auto-applied at install time.
👁️
AT-SPI Screen Context
The AI reads live text from any focused window — browser tabs, terminal output, PDF docs — without screenshots. D-Bus lets any app send queries to Electra.
🔌
Plugin Engine
AI-forged plugins that self-repair when errors occur. Community GitHub marketplace. Auto-sync on startup. Hot-reload without restart.
🐝
Agent Swarm
Orchestrator + multiple parallel workers + reviewer pipeline for large-scale multi-file editing. Major/Commander tier.
How It Works

Architecture Overview

Electra is a single compiled Nuitka binary (ai_terminal.bin) that bundles the terminal app, GUI, all agents, LSP integration, and finance bot. It connects to the Electra backend API at makululinux.us:2007 for AI inference — the server handles conversation history, model routing, and Patreon tier validation.

1
User Input
Text typed in terminal, GUI chat panel, or sent via Electra Bar widget / Telegram bridge. Voice input converted to text (Ctrl+M in GUI).
2
Routing Agent
Analyzes prompt intent and dispatches to Chat, Coder, Writer, Novel, Command, or a Plugin agent. Can ask for clarification when intent is ambiguous. Word-boundary regex prevents false positive routing (e.g. temporal words like "today" don't accidentally route to the web/LIVE agent).
3
Mode Processor
The active mode runs an agentic loop (up to 80-100 turns). Each turn may call AI tools: write_file, run_command, browser_navigate, lsp_goto_definition, notify_user, tile_windows, etc.
4
Backend API (makululinux.us:2007)
FastAPI server routes each request to the best available model across 11 provider networks. Uses conversation_id for persistent history (server-side MemPalace). disables chatty AI for tool-calling tasks.
5
Response & GUI Streaming
Responses stream in real-time to terminal or GUI. GUI shows activity log, file diff previews, and AI code blocks with "Apply to File" buttons. Desktop notifications fire when long tasks complete.
Getting Started

Installation

MakuluLinux (Official)

Electra ships pre-installed on MakuluLinux. Launch from your application menu or terminal.

Other Linux Distributions

Electra is compiled against Ubuntu 22.04 for maximum compatibility and runs on most major distributions including Ubuntu, Fedora, Arch, Mint, Pop!_OS, Debian, openSUSE, Manjaro, and others.

install.sh
# Run the installer (headless distros use install-headless.sh)
bash install.sh

# Or headless (server / no display)
bash install-headless.sh

First Launch

terminal
# Terminal mode
ai_terminal.bin

# GUI mode (VSCode-style interface)
ai_terminal.bin --gui

# Or type /gui from inside the terminal app
💡 First Launch Auto-Setup: On first run, Electra automatically installs the AT-SPI daemon (screen context), D-Bus daemon (two-way desktop communication), right-click context actions in your file manager, and registers systemd user services for Telegram and Heartbeat Agent.

Login

auth
/login           # Log in with your Electra / Patreon account
/account         # View current account + tier info
/refresh         # Re-sync after changing your Patreon plan
/unlock          # Unlock Pro features with a licence key
Access Levels

Patreon Tiers

Electra uses Patreon for subscription management. Your tier determines daily request limits and which AI providers you can access.

TierPriceDaily RequestsModel AccessSpecial Features
Free$0/mo50 / dayFree-tier models onlyTrial period available
Private$5/mo500 / dayAll free modelsFull feature access
Corporal$10/mo1,500 / dayAll free modelsFull feature access
Sergeant$20/mo4,000 / dayAll free modelsFull feature access
Major$40/mo10,000 / dayAll models + paid providers (ds-/bt-/ol-)Agent Swarm, paid-tier auto-routing priority
Commander$100/moUnlimitedAll models + paid providersAgent Swarm, highest priority routing

Paid Provider Models (Major / Commander only)

These providers cost real money per token and are gated to Major ($40) and Commander ($100) tiers. They appear in the model picker for all tiers with a 🔒 lock icon, and auto-routing prioritises them for Major/Commander users.

  • DeepSeek Direct (ds-) — ds-deepseek-v4-flash ($0.14/$0.28 per 1M), ds-deepseek-v4-pro ($1.74/$3.48 per 1M). Automatic prefix caching at 98% discount.
  • ByteDance Ark (bt-) — bt-ark-code-latest, bt-dola-seed-2.0-pro/lite/code, bt-bytedance-seed-code, bt-glm-5.1, bt-glm-4.7, bt-kimi-k2.5, bt-gpt-oss-120b.
  • Ollama Cloud (ol-) — 30+ hosted models including ol-qwen3-coder-480b, ol-devstral-2-123b, ol-nemotron-3-ultra, ol-deepseek-v4-pro, ol-kimi-k2.6, and more.
🆓 Free Tier Models include: Nemotron-3-Nano-30B, Step-3.5-Flash, Gemma-3n-E4B, Mistral-Small-4, GPT-OSS-20B, LLM7 Always-On (Fast/Balanced/Pro), GPT-4.1-Nano, GPT-4o-Mini, QwenCloud Flash models, ModelScope Step/Qwen models, and more.

Core Functionality

Operating Modes

Electra has six primary operating modes, each with its own AI personality, tool set, and capabilities. Switch modes with a slash command from anywhere.

💬
Chat Mode
/chat
General conversational AI. Web search, image analysis, voice input, screen capture + analysis, clipboard management. The default mode on startup.
💻
Coder Mode
/coder /coding
Autonomous software engineer. Writes, edits, runs, and debugs code. LSP tools, ghost-text completions, test generation, inline edits, 80-turn agentic loop.
✍️
Writer Mode
/writer /writing
Autonomous content creator. Create, edit, refine, translate, reformat documents. Export to PDF/DOCX/EPUB/HTML. Blog scheduler with auto-publish.
📚
Novel Mode
/novel /novelist
Full AI novel generator pipeline: book overview → chapters → scenes → EPUB/PDF. Scene inspection, chapter completeness audit, dedicated large-context model.
⚙️
Command Mode
/command /cmd
Autonomous PC manager. Runs shell commands, manages services, packages, Docker containers, SSH sessions, file operations. Dry-run mode for safety.
📐
Plan Mode
/plan
Architect → Developer → Reviewer pipeline. Generates a structured plan, shows it for approval, then executes each step automatically.
Mode Detail

Chat Mode

The default conversational mode. Backed by server-side memory (conversation_id), so context persists across sessions when you keep the same conversation.

Chat-Mode Commands

CommandDescription
/research <topic>Deep web research + comprehensive markdown report
/search <query>Web search — result stays in conversation history
/fetch <url>Fetch and read a specific URL into context
/screenshot [q]Capture screen + AI vision analysis
/screenshot last [q]Re-analyse last screenshot with a new question
/ocr <image> [explain]Extract text from image (tesseract) + optional AI explain
/image <file>Analyse an existing image file with AI vision
/sfimage <prompt>Generate an AI image via SiliconFlow
/clip / /copyCopy last AI response to clipboard
/clip explain [q]AI explains current clipboard content
/clip watch on|offToggle clipboard history tracking
/weather [city]Current weather via wttr.in
/travel <request>Full trip planner — flights, hotels, itinerary, weather
/qr <text|url>Generate QR code — opens PNG + prints in terminal
/qr wifi <SSID> <pass>Generate WiFi join QR code
/qr contact <name> <tel>Generate vCard QR code
/encrypt / /decryptGPG file encryption / decryption
/compare <query>Run same query on two models side-by-side
/ask <question>Quick question without leaving current mode
/ask ai <model> <q>One-shot question to a specific model
🌐
Live Web Search
Type /search <query> or ask about anything current — Electra fetches real-time data via LangSearch (primary) or Pollinations (fallback) and injects it into the conversation.
🖼️
Image Analysis
Use /image <file> to point Electra at any image file. It sends the image to the vision-capable backend and returns a detailed analysis.
🎭
Personas
Load custom AI personas from ~/.electra/personas/ to give the AI a specific personality, tone, or set of constraints for specialized conversations.
🎙️
Voice Mode
/voice for single voice-input queries, /talk for a continuous voice dialogue loop, and /speak to enable TTS output so Electra speaks its responses aloud.
📋
Clipboard & Export
/clip copies the last AI response to the clipboard. /save saves the conversation to a timestamped file. /history displays the raw conversation log.
🔔
Reminders
/remind <time> <message> sets background thread reminders that fire as visible terminal notifications at the specified time.
💬 General Conversation

You: What are the key differences between Wayland and X11?

Electra: Provides a detailed, formatted comparison with history of both display protocols, covering architecture, security model, performance characteristics, and current Linux desktop ecosystem adoption.

🌐 Live Web Search

You: /search latest Linux kernel release notes

Electra: Searches the web, returns current kernel release information with key changes, and adds the result to conversation history for follow-up questions.

🖼️ Image Analysis

You: /image ~/screenshots/error_dialog.png what does this error mean?

Electra: Analyses the screenshot, identifies the error message, explains the cause, and suggests solutions.

⏰ Reminder

You: /remind 30m take a break and stretch

Electra: Reminder set. In 30 minutes a notification will appear: "take a break and stretch".

🎙️ Voice Dialogue

You: /talk

Electra: Starts listening. You speak naturally — Electra transcribes, processes, responds (optionally with TTS), and listens again in a continuous loop. Say "stop" to exit.

Mode Detail

Coder Mode

The full autonomous software engineer. Coder mode runs an agentic loop of up to 80 turns (100 in extended mode), calling tools to write files, run code, check errors, and iterate — just like a human developer. All changes are backed up before modification and can be rolled back.

What the AI Can Do in Coder Mode

  • Read the full project file tree and symbol index
  • Write, edit, create, move, copy, and delete files (GUI tree auto-updates)
  • Run shell commands, capture output, auto-fix errors
  • Call LSP tools: go-to-definition, find-all-references, rename-symbol, hover
  • Run the project (/run) and auto-fix crashes
  • Lint files (/lint) and apply fixes
  • Read AT-SPI screen context (live text from any focused window)
  • Send desktop notifications when long tasks complete
  • Tile / arrange windows (Hyprland / wmctrl)
  • Generate and run tests (pytest, Jest, go test, RSpec, cargo test)

Coder-Mode Commands

CommandDescription
/set <path>Change workspace root — rebuilds symbol index
/cd <path>Change current directory
/init [type] [name]Create a new project (python, flask, react, node, bash, electron…)
/template <name>Scaffold from a built-in template (flask, react, fastapi, django…)
/indexRebuild symbol/dependency index + show semantic index status
/vec-indexForce full semantic vector index rebuild (ChromaDB)
/refs <symbol>Find all callers of a function (file:line)
/debug [error]Focused bug-fix agent
/run [cmd]Auto-detect + run project; AI fixes crashes
/lint [file]Run linter (pylint/eslint/shellcheck) + AI fix suggestions
/review <file>Structured AI code review (no changes)
/ghost [on|off]Toggle inline AI ghost-text completions (Tab to accept)
/lspShow LSP server status (pyright, tsserver, rust-analyzer, clangd, gopls)
/swarm🐝 Agent Swarm — parallel multi-agent multi-file editing (Major/Commander)
/delegate <task>Run a coder agent in the background
/delegate t1 | t2 | t3Run multiple agents IN PARALLEL
/pk / /project-knowledgeView persistent project knowledge base (.electra_project.md)
/pk initCreate a .electra_project.md template in current workspace
/pk add <Section> | <note>Quick-add a note to the project knowledge base
/autowrite [on|off]Skip confirmation for AI-created new files
/dry-run [on|off]Intercept every run_command for manual approval
/sandboxToggle Docker sandbox — isolates run_command from host system
/rollback [N|all]Undo N tracked AI changes (default 1); /rollback all for full undo
/checkpoint [label]Snapshot all modified files — can restore later
/restore [label]Restore files from a /checkpoint snapshot
/pin <file> [desc]Pin a file with optional AI description — always in context
/tabsShow which files are currently in open-tab AI context
/exec <lang> <code>Run inline code snippet: /exec python print(2**10)
/project-configView per-project .electra.json settings
/electra_ignoreShow/create .electra_ignore exclusion file

Live Code Map

Coder mode maintains a real-time map of all project files and when they were last modified. The AI uses this to know the exact current state of the workspace at every turn. The code map badge in the GUI activity log shows the tracked file count. Error messages include structured extraction of FILE:LINE:TYPE from tracebacks, and intent-aware routing uses the narrowest tool subset for DEBUG vs REFACTOR vs QUESTION tasks.

Per-Project Stable Memory

Each workspace gets a stable conversation_id derived from its path. This means the server-side MemPalace remembers your project across sessions — the AI knows what you worked on last time, what decisions were made, and what the current architecture looks like, without you having to re-explain.

🚀 Vibe Coding Examples

You: add JWT authentication to my FastAPI app

Electra: Reads all project files → designs the auth system → creates auth.py, updates main.py, adds dependencies to requirements.txt → runs tests → shows diff before each file write → confirms completion.


You: the login endpoint returns 500 when password contains special characters, fix it

Electra: Reads the relevant files → identifies the escaping bug → applies a surgical patch → re-runs the endpoint → verifies the fix.


You: /todo add write unit tests for the payment module

Electra: Task #3 added: write unit tests for the payment module.


You: /todo work 3

Electra: Immediately starts writing comprehensive unit tests for the payment module, running them, and fixing failures until all pass.

A
🏛️ Architect Agent
Reads your codebase, analyses the request, and produces a detailed technical plan: files to create/modify, APIs to design, data structures, edge cases to handle. No code written yet.
D
👨‍💻 Developer Agent
Takes the Architect's plan and implements it — writing code, creating files, running tests, and iterating on failures until the feature works.
R
🔍 Reviewer Agent
Audits the completed implementation against the plan — checking for missed requirements, security issues, code quality problems, and test coverage gaps. Produces a structured review report.
Mode Detail

Writer Mode

Autonomous content creation. Writer mode understands four operations: CREATE (new content), EDIT (modify existing), ADVISE (review without changes), and REMOVE (delete sections). It maintains a live document and exports to multiple formats.

CommandDescription
/outline <topic>AI generates a structured outline; approve to start writing
/showDisplay the current writer document in the terminal
/save [filename]Save the current writer document to disk
/import <file>Import PDF/DOCX/EPUB/ODT/HTML/RTF → Markdown
/export <fmt> [file]Export to: pdf docx epub html odt txt
/wordcount / /wc [target]Show word count or set a word-count target
/refine <instructions>Targeted AI edit pass on the active file
/translate <lang>Translate the active file to another language
/style [file]Analyse and report the writing style of a file
/format <rules>Reformat last file with style rules
/append <file> [instr]AI appends content to an existing file
/read <file>Read a file into context so AI can work with it
/blogBlog scheduler — queue and publish AI-written posts
/blog postForce-flush the queued blog post now
📝
Blog Posts
Long-form articles, opinion pieces, tutorials, listicles — formatted as Markdown with headings, code blocks, and callouts.
📖
Documentation
README files, API docs, user guides, wikis, inline code comments, changelogs — any technical writing deliverable.
📄
Office Documents
Reports, memos, cover letters, proposals, meeting minutes, executive summaries — professional formats.
🎓
Academic Writing
Essays, research summaries, literature reviews, assignment responses — with citation placeholders and structured argumentation.
📣
Marketing Copy
Landing page copy, ad text, email campaigns, product descriptions, social media posts — persuasive and on-brand.
🌟
Short Stories
Fiction, flash fiction, character sketches, scene drafts — creative writing with real narrative structure.
✍️ Writer Mode Examples

You: write a technical blog post about the differences between systemd and SysV init, targeting intermediate Linux users

Electra: Generates a complete blog post — intro hook, sections on history, architecture, service management differences, practical examples with code blocks, and a conclusion with actionable takeaways. Saves to ~/workspace/blog_systemd_sysv.md and asks to open in editor.


You: write a professional cover letter for a senior Python developer position at a fintech startup

Electra: Produces a tailored cover letter in a formal but engaging tone, with customisable placeholders for company name and specific experience details.


You: /wordcount 2000

Electra: Word target set to 2,000. All subsequent outputs will aim for this length, with progress reported after each generation.

Mode Detail

Novel Mode

A complete AI-powered book authoring pipeline. Enter your story idea and Novel Mode guides you through the full process from high-level overview to chapter-by-chapter writing to final EPUB/PDF export.

1
Story Prompt
Enter your novel concept. The AI builds an overview: genre, themes, character arcs, world-building notes.
2
Chapter Outline
Auto-generates chapter list with scene breakdowns. You can modify, add, or remove chapters before proceeding.
3
Scene Writing
Each scene written with full narrative context from previous chapters. Uses a dedicated large-context model (Mistral-Large promoted for writer/novel).
4
EPUB / PDF Export
/export epub or /export pdf — requires pandoc. Chapter files assembled and packaged into a distributable ebook.
CommandDescription
/novelEnter Novel Mode — type your story prompt to begin
/inspectAudit completeness: checks every chapter + scene file
/chatExit Novel Mode (restores previous model)
📚 Example Novel Session

You: /novel

Electra: Enters Novel mode, auto-switches to optimal model. "Describe your story — characters, setting, genre, anything that inspires you."


You: A hard science fiction thriller about a team of six astronauts on Mars who discover a signal that appears to originate from inside the planet. One of them is secretly an AI. Set 2041.

Electra: [ARCHITECT] Generates overview.md — 6 named characters with backstories and arcs, 3-act structure, 22 planned chapters, central mystery structure, thematic framework around identity and consciousness.

Electra: [CHAPTER OVERVIEWS] Writes all 22 chapter overviews with scene lists...

Electra: [SCENE WRITING] Chapter 1, Scene 1: "The Red Dust" — writes full prose scene...


You: /inspect

Electra: Runs audit — all 22 chapters complete, 87 scenes, 3 flagged as short (scenes 12-2, 15-1, 19-3). "Would you like me to expand these now?"

Mode Detail

Command Mode

The autonomous PC manager. Command mode can install packages, manage services, control Docker, open SSH sessions, monitor system health, and perform any task you'd normally do in a terminal — driven entirely by natural language.

System Management

CommandDescription
/dockerDocker overview — containers + resource stats
/docker psAll containers (running + stopped)
/docker logs <name>Tail container logs
/docker start|stop <name>Control a container
/pkg <request>AI package manager (apt/pip/npm/cargo/snap)
/pkg search <term>Search across apt, pip, snap
/pkg updateUpdate all system packages
/serviceList systemd services + failed units
/service status <name>Detailed status of one service
/service create <desc>AI writes + installs a new .service file
/monitor [opts]Proactive system health monitor (CPU/RAM/disk/services → alerts)
/monitor cpu=85 ram=90Custom alert thresholds
/monitor checkInstant one-shot health check
/ssh <alias|user@host>Open SSH session to a remote machine
/ssh add <alias> <host>Save an SSH host for quick access
/log [n] [unit]journalctl viewer + AI explain
/envShell environment snapshot
/ps / /kill <n>Background process management
/fixscreen [hint]Screenshot desktop → AI diagnoses + fixes visual issues
/theme <request>Natural-language desktop theme/icon changes
/actions [install|status]Install AI right-click actions in file manager (Nemo/Dolphin/Nautilus/Thunar/Caja/PCManFM)
🖥️ Command Mode Examples

You: set up a new Python virtual environment for a Django project

Electra: Shows the command sequence: python3 -m venv venv && source venv/bin/activate && pip install django djangorestframework. Awaits confirmation, then executes each step, captures output, and reports success.


You: /explain

Electra: Explains the last command's output in plain English — what was installed, any warnings, next steps.


Desktop Interface

GUI Mode — VSCode-Style IDE

Launch with /gui from the terminal or ai_terminal.bin --gui. The GUI provides a full desktop IDE experience — no terminal required.

Layout Overview

📁
Activity Bar (Left)
Icon buttons for Explorer (file tree), Search, Git, Outline, Plugins, History, and Extensions (🧩). Click to switch sidebar panels.
🌳
Sidebar Panels
File tree explorer with right-click context menu, project-wide search, Git status/diff/commit, document outline, plugin list, and extension browser.
📝
Tabbed Editor
GtkSourceView-powered editor with syntax highlighting for 40+ languages, image preview tabs, minimap, split view (Ctrl+\), inline AI edit (Ctrl+K).
💬
Chat Panel (Right)
Full AI chat with streaming responses, collapsible thinking blocks, "Apply to File" on code blocks, @-mention file context, voice input button.
📊
Bottom Tabs
Terminal tab, Diagnostics (LSP errors/warnings), Problems, Output panel. Live request counter for limited tiers.
📍
Status Bar
Symbol breadcrumb, word count, cursor position, mode indicator, ghost-text model picker, ✂ Snippets button (Coder mode), 🧪 Tests button (Coder mode).

Command Mode 3-Pane Layout

In Command mode, the GUI switches to a dynamic 3-pane layout. An execution log pane auto-shows during tasks, and a file preview pane appears when files are being edited. Both collapse automatically when tasks complete — full command-mode parity without ever opening a terminal.

IDE Features

GUI Feature Highlights

Command Palette (Ctrl+Shift+P)

VS Code-style command palette with fuzzy search across all commands, file operations, mode switches, and custom actions. Press Ctrl+Shift+P from anywhere in the GUI.

Quick File Open (Ctrl+P)

Fuzzy file picker — type part of any filename to jump to it instantly. Same muscle memory as VS Code.

Inline AI Edit (Ctrl+K)

Select text in the editor and press Ctrl+K to open a popup that lets you describe a change. The AI surgically rewrites just the selected region with surrounding file context (±30 lines) injected for accuracy. Preserves indentation automatically.

Git Panel

Full Git integration in the sidebar: unstaged/staged changes, diff viewer, commit message, push/pull. Visual indicators on file tree for modified/added/deleted files.

Diagnostics Tab

Live LSP diagnostics from pyright, tsserver, rust-analyzer, clangd, or gopls displayed in a sortable list. Click any error to jump to it in the editor. AI can auto-fix all issues in the list.

Minimap

Code minimap on the right edge of the editor. Toggle with Ctrl+Shift+\ or the button in the status bar.

Split Editor

Split the editor vertically with Ctrl+\. Each pane has its own tab bar and independently tracks the active file.

Theme System

Electra is fully isolated from the system GTK theme — no matter what theme the user has installed (Breeze, Mint-Y, Arc, Yaru, etc.), Electra renders identically. Built-in themes: Light Ink, Dark Terminal, Solarized, Monokai, Nord, and any themes installed via Open VSX extensions.

Voice Input

Click the 🎤 button or press Ctrl+M to dictate a message. Uses local speech recognition. The transcript appears in the chat input automatically.

Image Attachment

Click the attachment button or press Ctrl+I to attach an image for AI vision analysis. Compatible with vision-capable models from NVIDIA NIM, MiniMax, and others.

@-Mention File Context

Type @filename in the chat to inject that file's content directly into the AI context. The AI can then discuss, edit, or refactor the file without you having to copy-paste.

Next-Step Suggestions

After a Coder task completes, the GUI offers 3 clickable suggested next actions based on what was just done — e.g. "Run tests", "Commit changes", "Review diff".

Session Restore

The workspace, open tabs, and scroll positions are restored between sessions automatically.

Open VSX Integration

VS Code Extensions (Open VSX Registry)

Click the 🧩 Extensions icon in the activity bar to open the extension browser. Search or browse the Open VSX Registry (open-vsx.org) and install .vsix extensions with one click.

What Gets Activated on Install

L1
Snippets
Extension snippets extracted to ~/.config/electra/snippets/. Tab-expands triggers in the editor. Snippet palette accessible via ✂ button or Ctrl+Shift+S. Tabstop navigation with Tab (jumps $1→$2→$3) and Esc to exit.
L2
AI Awareness
Installed extensions are injected into every Coder mode system prompt, so the AI knows what libraries, frameworks, and tools you have available.
L3
Theme Import
VS Code JSON themes parsed and added to the Electra theme picker immediately. The theme picker shows an "EXT THEMES" section after installation.
L4
LSP Auto-Registration
Bundled LSP servers detected and registered with electra_lsp automatically. TextMate grammars registered with GtkSourceView for syntax highlighting.
Storage: Extensions saved to ~/.config/electra/extensions/ · Themes to ~/.config/electra/extensions/themes/ · Manifest at ~/.config/electra/extensions/.manifest.json
Smart Editing

LSP Integration & Ghost-Text

Language Server Protocol (LSP)

Electra integrates with language servers for real-time code intelligence. Use /lsp to check status.

LanguageServerInstall
Pythonpyrightpip install pyright
TypeScript / JavaScripttsserver (typescript-language-server)npm install -g typescript-language-server
Rustrust-analyzerrustup component add rust-analyzer
C / C++clangdapt install clangd
Gogoplsgo install golang.org/x/tools/gopls@latest

The AI coder agent has four LSP tools it can call: lsp_goto_definition, lsp_find_references, lsp_rename_symbol, and lsp_hover. LSP diagnostics appear in the Diagnostics tab in real-time.

Ghost-Text Inline Completions

As you type, Electra shows a grayed-out AI completion suggestion. Press Tab to accept it, or keep typing to dismiss it. Ghost-text uses a dedicated fast-model chain completely separate from the main coder agent:

ghost model chain (fastest → fallback)
nemotron-nano-4b → mis-mistral-small-2603 → qc-qwen-coder-flash
  → ms-qwen2.5-coder-7b → llm7-deepseek-coder-v2-lite

The ghost model auto-advances on timeout or empty response and resets to the fastest model after a successful completion. Select the primary ghost model from the 👻 picker in the status bar (visible in Coder mode).

Stale Suggestion Prevention: A monotonic sequence counter ensures that if you type while a fetch is in-flight, the stale result is discarded and a fresh suggestion fires immediately after the current fetch finishes.
GUI IDE

Keyboard Shortcuts

ShortcutAction
Ctrl+Shift+PCommand palette
Ctrl+PQuick file open (fuzzy finder)
Ctrl+SSave current file
Ctrl+WClose current tab
Ctrl+NNew file
Ctrl+FFind in file
Ctrl+Shift+HFind and replace
Ctrl+KInline AI edit (on selection)
Ctrl+\Toggle split editor
Ctrl+Shift+\Toggle minimap
Ctrl+GGo to line
Ctrl+DSelect next occurrence
Ctrl+/Toggle comment
Ctrl+Shift+GGenerate tests for active file
Ctrl+Shift+IFormat document
Ctrl+Shift+MMarkdown preview
Ctrl+Shift+TTODO panel
Ctrl+Shift+SOpen snippet palette
Ctrl+`Switch to terminal tab
Ctrl+IAttach image for AI analysis
Ctrl+MVoice input
Tab (in editor)Accept ghost-text suggestion / expand snippet
Tab (in snippet)Jump to next tabstop ($1→$2→$3)
Esc (in snippet)Exit snippet tabstop mode

AI Backend

Model Providers & Prefixes

Electra connects to 11 provider networks with 150+ models. Each provider has a prefix used in the model picker and command line. Use /model to switch models interactively.

PrefixProviderTierNotes
(no prefix)NVIDIA NIMAll paidPrimary provider. Stepfun, Qwen, Mistral, Gemma, Phi-4, Nemotron, Kimi, MiniMax, Meta, DeepSeek, GLM, Cerebras-hosted models
cb-CerebrasAll paidWafer-scale ultra-fast inference (~3000 tok/s). cb-gpt-oss-120b, cb-zai-glm-4.7. Full tool calling.
ds-DeepSeek DirectMajor/Commander 🔒Pay per token. Prefix caching (98% discount). ds-deepseek-v4-flash ($0.14/$0.28/1M), ds-deepseek-v4-pro ($1.74/$3.48/1M)
bt-ByteDance ArkMajor/Commander 🔒Volcengine Ark platform. bt-ark-code-latest, bt-dola-seed-2.0-pro/lite/code, bt-glm-5.1, bt-kimi-k2.5, bt-gpt-oss-120b. Badge: [T]
ol-Ollama CloudMajor/Commander 🔒Hosted subscription. 30+ models including ol-qwen3-coder-480b, ol-devstral-2-123b, ol-nemotron-3-ultra, ol-deepseek-v4-pro, ol-kimi-k2-thinking
opr-OpenRouterAll paid~1900 req/day budget across 2 keys. User-selectable only (not auto-routed). 10+ models via OpenRouter.
mis-Mistral DirectAll paid5 keys × 2000 req/day = 10,000/day budget. mis-devstral-2512, mis-mistral-large-2512, mis-mistral-medium-3-5, mis-mistral-small-2603
qc-QwenCloud / DashScopeAll paid2 keys, 600-15000 RPM. Web search + function calling. qwen3.7-max/plus, qwen3.6-flash/plus/max, qwen3.5-flash, qwen-coder-plus/flash, glm-5.1
ms-ModelScopeAll paid2000 req/day, hard 1 RPS cap. Excluded from auto-routing. Step-3.7/3.5-Flash, GLM-5.1/5/4.7, Qwen3-Coder-480B, DeepSeek-V4-Pro/Flash
llm7-LLM7Free tier120 RPM, no daily cap. llm7-fast/default/pro always-on models. GPT-4.1-nano, GPT-4o-mini, GPT-o4-mini, Gemini-Flash, DeepSeek-R1, Codestral, Qwen2.5-Coder-32B
sf-SiliconFlowAll paid (manual only)⚠️ Permanently banned from auto-routing. Models available in picker for manual selection. Large model catalog.

Notable Models by Category

Use CaseRecommended Models
Primary Coderstepfun-ai/step-3.5-flash (primary), step-3.7-flash (secondary)
Frontier Coderqwen/qwen3-coder-480b-a35b, ol-qwen3-coder-480b, ol-devstral-2-123b, ds-deepseek-v4-pro
Writer / Novelmis-mistral-large-2512, mistral-large-3-675b, minimax-m3
Fast / Freeqc-qwen3.5-flash (default fallback), llm7-fast, nemotron-3-nano-30b
Ghost Textnemotron-nano-4b → mis-mistral-small-2603 → qc-qwen-coder-flash (auto chain)
Large Contextminimax-m3 (1M ctx), kimi-k2.6, qwen3-coder-480b
Ultra-Fast Inferencecb-gpt-oss-120b (~3000 tok/s via Cerebras wafer-scale)
🔄 Model Switching Examples

$ /model deepseek-v3.2

→ Switched to deepseek-v3.2 instantly.

$ /model

→ Shows numbered list of all models, enter a number to switch.

$ /think

→ Toggles reasoning token display on/off (useful for DeepSeek, Kimi, Nemotron reasoning models).

Smart Selection

Auto-Routing System

When you send a message, Electra's routing system selects the best available model automatically — no manual switching required. The system uses a composite 60% capability / 40% speed score to rank candidates.

How Routing Works

  • Capability caps check: Each mode has required capability flags (e.g., Coder requires Co+Re or T+Ag). Models that don't meet the caps are excluded.
  • Paid pre-pass (Major/Commander): If you're on Major or Commander tier, the router first tries PAID_PROVIDER_MODELS (ds-/bt-/ol-) before falling back to free models.
  • Large context detection: If your prompt + context exceeds 60K characters, only models in _LARGE_CTX_MODELS are eligible.
  • Ban list: sf- models and ms- models are never auto-routed. Models that fail repeatedly are temporarily banned and retried on the next request.
  • Fallback chain: If the primary model fails mid-stream, Electra silently switches to the next model in the chain and continues — you rarely see an error.
Manual Override: Use /model to see the full model picker and select a specific model. Your choice persists until you change it or switch workspaces. The picker shows 🔒 [Major+] or 🔒 [Pro] on locked models. If you drop tiers, Electra auto-switches you to qc-qwen3.5-flash (the free fallback).
🤔 ASK_COMMAND Example

You: clean up my temp files

Electra: This could be handled two ways:
[COMMAND] Run: rm -rf ~/.cache/thumbnails/* /tmp/*
[CHAT] Explain how to identify and clean temp files manually
Which did you mean? [c]ommand / [t]alk it through:


Advanced Agentic

🐝 Agent Swarm

Agent Swarm parallelizes large multi-file coding tasks across multiple AI workers simultaneously. An orchestrator analyzes your request, splits it into sub-tasks, runs worker agents in parallel, then passes all results to a reviewer for final integration. Requires Major ($40) or Commander ($100) tier.

O
Orchestrator
Analyzes the task, breaks it into parallelizable file-level sub-tasks, assigns each to a worker.
W
Workers (Parallel)
Each worker runs an 8-round agentic tool-calling loop on its assigned files. Workers operate independently and simultaneously.
R
Reviewer
Integrates all worker results, resolves conflicts, applies final corrections, and verifies the combined output.
swarm commands
/swarm          # Toggle swarm mode on/off
/swarm on       # Enable swarm for next task
/swarm off      # Disable swarm, return to normal coder
Extensibility

Plugin Engine

Electra has a full plugin system. Plugins are Python files that extend the routing system with custom commands, hooks, and agents. The AI can write plugins for you on demand, and a community GitHub marketplace lets you share and discover plugins.

Plugin Commands

CommandDescription
/pluginEnter Plugin Coder mode — AI writes a plugin for you
/plugin <request>Describe a plugin and AI writes it immediately
/plugin listList all loaded plugins
/plugin reloadHot-reload plugins without restarting
/plugin syncSync GitHub → local (install missing community plugins)
/plugin install <file>Download a plugin from the community repo
/plugin publish <file>Publish your plugin to the community repo
/plugin communityBrowse community plugins on GitHub
/repairSelf-Repair ledger — forged plugins & error log
/repair forge <desc>Manually forge a plugin for a new capability
/patterns / /gapsShow detected capability gaps + auto-forge status

Plugin API

A plugin is a Python file placed in ~/.config/ai_plugins/. It exports a ROUTE_TOKEN, run(prompt, context) function, and optional lifecycle hooks. Plugins can add slash commands, register as routing agents, and notify the GUI panel.

Self-Repair / Auto-Forge

When Electra encounters a repeated error it can't handle, it automatically forges a repair plugin using the Plugin Forge AI agent. These plugins are installed silently and auto-synced to GitHub for the community. The repair ledger (/repair) shows all forged plugins and error history.

Background Work

Delegate & Parallel Agents

Send tasks to background agents while you continue working. Results are posted to your memory and session when complete.

delegate examples
# Run a single background task
/delegate write unit tests for utils.py

# Run 3 tasks IN PARALLEL (pipe-separated)
/delegate refactor auth.py | update README.md | add type hints to models.py

# Check task status
/tasks
/tasks cancel <id>
/tasks clear
Web Automation

Headless Browser Agent

Electra embeds a headless Chromium browser that the AI can control. Navigate pages, click elements, fill forms, take screenshots, and extract content — all from natural language commands.

browser commands
/browser install   # Install Playwright + Chromium (~170 MB, one-time)
/browser status    # Check browser availability

# Then just ask naturally:
"Go to github.com and find open issues tagged 'bug'"
"Fill out the contact form at example.com"
"Take a screenshot of the dashboard"
"Extract all product prices from this page"
Browser Tools Available to AI: browser_navigate, browser_snapshot (accessibility tree), browser_action (click/type/select/scroll), browser_screenshot, browser_get_content, browser_close.
Desktop Integration

AT-SPI Screen Context & D-Bus

AT-SPI Daemon (Screen Reader)

On first launch, Electra auto-installs electra_atspi_daemon.py as a systemd user service. It polls the AT-SPI accessibility tree every 2.5 seconds and writes the focused window's text to /tmp/electra_atspi_context.json.

The AI automatically reads this context in Chat, Command, and Coder modes — so it can see your browser tab, terminal output, or PDF document without you having to copy-paste anything. Context is only injected when actually available, to avoid wasting tokens.

CommandDescription
/atspi statusShow AT-SPI daemon status
/atspi start|stop|restartControl the daemon
/atspi install|uninstallManage systemd service
/atspi on|offEnable/disable context injection
/atspi logsView daemon logs

D-Bus Daemon (Two-Way Communication)

The D-Bus daemon (electra_dbus.py) exposes Electra on the session bus at org.makululinux.Electra. Any desktop application, script, or keyboard shortcut can send queries to Electra and receive responses.

D-Bus example
dbus-send --session --print-reply \
  --dest=org.makululinux.Electra \
  /org/makululinux/Electra \
  org.makululinux.Electra.Query string:"explain this error"
CommandDescription
/dbus statusShow D-Bus daemon status
/dbus start|stop|restartControl the daemon
/dbus install|uninstall|reinstallManage systemd service
/dbus pingTest D-Bus connectivity
/dbus logsView daemon logs

Connected Services

Integrations Overview

Electra integrates with a wide range of external services. All integrations are compiled into the single binary — no separate installs required.

✈️ Telegram Bridge
/telegram
Two-way Telegram bot integration. Send messages to Electra from anywhere and receive responses. Heartbeat notifications delivered via Telegram. Survives reboots via systemd service.
  • /telegram start|stop|reset|status
  • /telegram service start|stop|install
🐙 GitHub Integration
/github
Full GitHub integration: connect with PAT, clone repos, push changes, list/view repos, auto-report bugs as issues. Plugin marketplace hosted on GitHub.
  • /github connect <PAT>
  • /github repos | clone | push | status
💬 Discord
/discord
Send messages, monitor channels, post to Discord servers. Useful for automated notifications from Heartbeat Agent tasks.
🤖 Reddit
/reddit
Browse subreddits, search posts, monitor for mentions, post content. Finance Bot uses Reddit for affiliate content distribution.
🎵 Spotify
/spotify
Playback control, search, playlist management. Control Spotify from the Electra Bar widget or terminal.
📰 RSS
/rss
Subscribe to RSS/Atom feeds, list subscriptions, read articles. Finance Bot monitors RSS for content opportunities.
🔭 Codeberg
codeberg_agent
Codeberg (Gitea-compatible) repository management — alternative to GitHub for open-source hosting.
🌐 Google Services
google_agent
Google Search, Gmail integration, Google Drive access, Calendar events. Compiled into the main binary.
Integration Detail

Telegram Bridge

The Telegram bridge lets you control Electra from your phone or any Telegram client. Configure your bot token and chat ID, then start the bridge with /telegram.

setup
# First-time setup — enter your bot token and chat ID
/telegram

# Check status
/telegram status

# Manage as a systemd service (survives reboots)
/telegram service start
/telegram service install    # Registers as user service
/telegram service enable
Use Case: Start a long Finance Bot task or code delegation, then close your laptop. Electra messages you on Telegram when the task is done, with results included.
🖥️
Desktop Screenshots
Type /screenshot or ask naturally — Electra takes a full-desktop PNG, uploads it, and replies with a clickable URL. Add a number for a countdown: /screenshot 5.
📷
Webcam Snapshots
Type /webcam — Electra launches a fullscreen webcam GUI app (cheeseguvcviewkamosocamorama, in that priority order), waits for the live preview to render, then takes a full desktop screenshot capturing the live feed — effectively snapshotting what the webcam sees. The image is uploaded and a URL is sent. Install with: sudo apt install cheese or sudo apt install guvcview.
📎
File Transfers
Type /sendfile ~/Documents/party.jpg — Electra locates the file, checks it is under 50 MB, uploads it to the server, and sends a download link directly in Telegram.
💬 Ask Electra

install the telegram daemon

Electra runs the installer, enables the service, and confirms it is active.


start the telegram background service

restart the telegram service

what's the telegram service status

show telegram service logs

stop the telegram daemon

🖥 Shell

systemctl --user status electra-telegram

systemctl --user start electra-telegram

systemctl --user stop electra-telegram

systemctl --user restart electra-telegram

journalctl --user -u electra-telegram -f  # live log tail

bash install_telegram_service.sh --uninstall  # remove service

✈️ Telegram Bridge Usage

Telegram: what's the weather in Tokyo?

Bot reply: 🌤 Tokyo: 24°C, Partly Cloudy. Humidity 68%. AQI: Good (34). Feels like 26°C.


Telegram: set a new wallpaper — something with mountains and snow

Bot reply: 🖼 Found a stunning alpine snowscape from Pexels. Wallpaper set! [sends photo preview]


Telegram: send an email to John and tell him the meeting is rescheduled to Friday 3pm

Bot reply: 📧 Draft ready: "Hi John, just a quick note — our meeting has been rescheduled to Friday at 3:00 PM. Let me know if that works for you." Send? [y/n]


Telegram: /screenshot

Bot reply: 📸 Desktop Screenshot
https://makululinux.us/files/screenshot_a3f1c2b4.png
Link expires in 24 hours


Telegram: /webcam

Bot reply: 📷 Webcam Snapshot
https://makululinux.us/files/webcam_snap_7d9e0f12.jpg
Link expires in 24 hours


Telegram: /sendfile ~/Documents/party.jpg

Bot reply: 📎 File Ready
party.jpg
https://makululinux.us/files/party_jpg_4b2a1e9c.jpg
Link expires in 24 hours

Integration Detail

Home Assistant

Connect Electra to your Home Assistant instance to control smart home devices with natural language via the AI.

home assistant
/ha                    # Home Assistant overview
/ha status             # Connection status
/ha lights on|off      # Control lights
/ha <natural language> # "turn off all lights in bedroom"
                       # "set living room temperature to 22"
🏠 Natural Language Smart Home

"turn on the living room lights"

"what's the temperature in the bedroom"

"lock the front door"

"turn off all lights"

"is the garage door open"

"set the thermostat to 22 degrees"

"activate the movie night scene"

Integration Detail

GitHub Integration

Connect with a Personal Access Token to enable full GitHub management from inside Electra.

CommandDescription
/github connect <PAT>Connect with Personal Access Token
/github reposList your repositories
/github clone <repo>Clone a repository to local
/github push [msg]Stage all, commit, and push current workspace
/github statusShow connection + repo status
/github disconnectRemove GitHub credentials

Auto-Bug-Reporting

When Electra encounters an unhandled error in an agent, it automatically files a GitHub issue on the Electra repository with full context (error type, traceback, system info, model, prompt). A fingerprint prevents duplicate reports. You can view the auto-report ledger at any time.

🐙 Natural Language GitHub

"show my open PRs"

"list my repos"

"what's in my notifications"

"create an issue about the login bug"

"what failed in CI"

"star the flask-sqlalchemy repo"


Income Generation

Finance Bot

The Finance Bot is an autonomous income generation system integrated into Electra. It manages 33 income stream modules — scanning for opportunities, creating content and products, drafting proposals, and queuing actions for your approval. It never moves money without your explicit /hustle approve <id> command.

Finance Center GUI

Type /finance to open the full Finance Center — a dashboard with income streams, wallet balances, earnings history, opportunity scanner, approval queue, and an AI chat assistant trained on your income data.

Terminal Commands

CommandDescription
/hustleShow full dashboard
/hustle setupInteractive setup wizard — configure APIs and goals
/hustle goal <amount>Set monthly income goal (USD)
/hustle scanRun opportunity scanner now
/hustle statusFull income stream status
/hustle streamsList all 33 stream modules
/hustle add <stream>Enable a stream
/hustle pause <stream>Pause a stream
/hustle run <stream>Run a stream module manually
/hustle approve <id>Approve a pending action (required before money moves)
/hustle reject <id>Reject a pending action
/hustle pendingList all pending approval actions
/hustle walletConfigure PayPal / Stripe
/hustle reportFull earnings report
/hustle logView recent activity log
/hustle investReview investment opportunities
/hustle capital <amt>Set available capital (USD)
/hustle imagine <prompt>Generate print-ready image for products

Data Storage

  • Config: ~/.config/ai_terminal/finance.conf
  • Database: ~/.electra/finance.db (SQLite — earnings, products, pending actions, opportunities, activity log)
  • Content: ~/ElectraFinance/
📝
1. Affiliate Content
AI-generated SEO blog posts with affiliate links, published to WordPress, Hashnode, Dev.to, or Ghost CMS. Tracks commissions via CJ Affiliate and Amazon Associates. Pings IndexNow after publishing for instant search engine indexing.
👕
2. Print-on-Demand
Generates product designs via Pollinations ImageGen and publishes to Redbubble via Playwright browser automation. Supports t-shirts, posters, stickers, and mugs. Use /hustle imagine to manually generate designs.
💼
3. Freelance Scanner
Scans Upwork, PeoplePerHour, and Freelancer RSS feeds for matching job postings based on your configured skills. Generates AI-written proposal drafts with personalised opening paragraphs for high-potential gigs.
🔌
4. RapidAPI Marketplace
AI-generates stub API specifications and documentation, and lists micro-API services on RapidAPI Hub for passive subscription revenue from developers who use your APIs.
🏆
5. Open Source Bounties
Scans GitHub for issues labelled "bounty", "bounty-$NNN", or similar, and queries Algora.io for active bounties. Filters by your configured skill tags and notifies you of high-value opportunities.
📦
6. Digital Products (Gumroad)
Creates and lists digital downloads — templates, guides, scripts, cheat sheets — on Gumroad with AI-generated product titles, descriptions, and pricing strategies. Syncs sales back to earnings tracker.
📧
7. Newsletter (Beehiiv)
AI-generates subscriber newsletter editions with affiliate links injected at natural positions, published directly to your Beehiiv newsletter via REST API. Tracks word count and readability score.
🌐
8. Domain Flipping
Web-searches for expiring or expired domains, uses AI to estimate resale value based on keyword demand and brandability, and surfaces high-potential flip candidates matching your configured niche keywords.
🖼️
9. Stock Assets
Generates descriptive metadata copy (titles, descriptions, keyword tags) for stock photography, vector illustrations, and digital art. Formatted for submission to stock marketplaces like Shutterstock and Adobe Stock.
🔍
10. Opportunity Scanner
Daily AI-powered web scan that identifies NEW income opportunities matching your niche and available capital. Returns 8 vetted opportunities per scan with effort estimates, potential monthly income, and capital requirements.
🎬
11. YouTube Scripts
Generates full YouTube video scripts with hooks, sections, CTAs, and descriptions optimised for searchability. Saves as markdown to ~/ElectraFinance/content/ for creator production.
12. Fiverr Gigs
Creates compelling Fiverr gig listing copy — titles, descriptions, FAQs, package tiers — using AI to match your skills to high-demand, low-competition gig categories on the platform.
📰
13. Medium Publisher
Publishes articles directly to your Medium account via the Medium Partner Program API. Earns via the Partner Program's reading time monetization model. Requires Medium Integration Token.
🛍️
14. Etsy Listings
Creates digital product listings on Etsy — printables, templates, SVG files, patterns — with AI-written titles, descriptions, and SEO tags targeting Etsy search trends. Requires Etsy v3 API key.
🤖
15. Prompt Packs
Generates curated packs of AI prompts (for Midjourney, DALL·E, ChatGPT, etc.) and packages them as premium digital products on Gumroad or LemonSqueezy for the growing prompt marketplace.
⛓️
16. Web3 Bounties
Scans decentralised platforms like Gitcoin, Layer3, and Dework for active Web3 development bounties and contribution opportunities. Filters by estimated difficulty and payout in ETH/USDC.
📋
17. Notion Templates
AI-generates Notion template documentation and descriptions for productivity templates. Formats for listing on Notion's template marketplace and third-party sites like Gumroad and Etsy.
📱
18. Social Content
Generates social media content batches — threads, LinkedIn posts, Instagram captions — with optimised hashtags and posting schedules. Saves complete content calendars ready for scheduling tools.
👚
19. Teespring (Spring)
Alternative print-on-demand channel via the Spring/Teespring creator API. Publishes apparel and merchandise designs to a separate supplier network from Printful/Printify for channel diversification.
20. Ko-fi
Creates Ko-fi shop posts and donation-linked content. AI-generates supporter thank-you messages, exclusive content teasers, and Ko-fi shop product listings to drive supporter engagement.
🍋
21. LemonSqueezy
Publishes digital products to LemonSqueezy — the modern Gumroad alternative with full creator API support. Handles product creation, pricing, and variant configuration via the LemonSqueezy REST API.
🔷
22. Hashnode
Publishes developer-focused articles directly to your Hashnode publication via GraphQL API. Articles appear live immediately. Excellent for SEO traffic from the developer community.
👾
23. Dev.to
Publishes technical articles to DEV Community (dev.to) via their REST API. Builds developer audience and drives traffic to affiliate content and digital product listings.
🎖️
24. Patreon Posts
Auto-posts exclusive content to your existing Patreon campaign for supporter tiers. AI generates tier-specific content (public teasers, patron-only deep dives). Requires Creator Access Token.
📌
25. Pinterest Pins
Creates evergreen affiliate traffic pins on Pinterest via the Pinterest API. Pins have a 6-month engagement half-life, making them one of the best long-term passive traffic sources for affiliate content.
🏭
26. Printful
Real print-on-demand via Printful's production API (more stable than browser automation). Integrates with your Printful store to create products, assign mockups, and manage orders.
🖨️
27. Printify
Second print-on-demand channel via Printify's API, providing access to a different supplier network with additional fulfilment centres. Diversifies production risk across two major POD providers.
👻
28. Ghost CMS
Publishes articles directly to your self-hosted Ghost CMS instance via the Ghost Admin API. Supports memberships, newsletters, and paid subscriptions — the most powerful self-hosted content monetization platform.
💰 Finance Bot Usage Examples

/hustle

→ Dashboard: Goal $1,000/mo | Earned this month: $47.30 | Active streams: 5 | Pending: 3 actions


/hustle imagine "tropical beach sunset with palm trees" --type poster --variants 2

→ Generating 2 poster variants... Saved to ~/ElectraFinance/designs/ | Queued for Redbubble upload


/hustle scan

→ Scanning for opportunities... Found 3 new bounties on Algora ($150, $200, $500) | 2 domain flips flagged | 1 new RapidAPI niche


/hustle report

→ Earnings Report: Affiliate $22.10 | Freelance $0.00 | Bounty $0.00 | POD pending approval | Total: $22.10

Income Generation

33 Income Streams

Each stream is an autonomous module that creates content, products, or opportunities in its niche. Streams marked ✅ have full API integration and can publish/list without browser automation.

#Stream IDNameDescription
1affiliateAffiliate Content BlogGenerate SEO posts with affiliate links, publish to WordPress
2podPrint-on-DemandAI designs → Redbubble / Merch by Amazon
3freelanceFreelance Job ScannerScan Upwork/PPH/Freelancer, draft proposals
4rapidapiRapidAPI MarketplaceCreate and sell micro-API services
5bountyOpen Source BountiesGitHub + Algora.io bounty scanner
6digitalDigital ProductsCreate and sell on Gumroad
7newsletterNewsletter + AffiliateCurated newsletters via Beehiiv
8domainsDomain ScoutFind and flip expired domains
9stockStock Asset MetadataGenerate metadata for stock asset submissions
10scannerOpportunity ScannerDaily AI scan for new income streams
11youtubeYouTube Script GeneratorFull video scripts + SEO packages
12fiverrFiverr Gig CreatorAuto-generate Fiverr service listings
13mediumMedium PublisherArticles for Medium Partner Program
14etsyEtsy Digital ShopCreate digital listings on Etsy
15promptpacksAI Prompt MarketplacePrompt packs for PromptBase / Gumroad
16web3bountiesWeb3 BountiesGitcoin + Bountycaster + Dework
17notionNotion TemplatesPremium Notion template packages
18socialSocial Content EngineTwitter threads + LinkedIn + Facebook posts
19teespringTeespring / Spring PODAlt. POD platform for merch income
20kofiKo-fi Content EngineExclusive supporter content for Ko-fi
21lemonsqueezy ✅Lemon Squeezy DigitalModern digital products — full API, instant publish
22hashnode ✅Hashnode PublisherDeveloper articles — instant live publish via GraphQL API
23devto ✅Dev.to PublisherDev community articles — instant live publish via REST API
24patreon ✅Patreon PostsAuto-post exclusive supporter content via creator API
25pinterest ✅Pinterest PinsEvergreen affiliate traffic pins (6-month half-life)
26printful ✅Printful PODT-shirts via Printful real REST API — second POD channel
27printify ✅Printify PODT-shirts via Printify API — different supplier network
28ghost ✅Ghost CMS PublisherPublish articles instantly (status=published) via Admin API
29kdp ✅Amazon KDP BooksAI low-content books ready to upload — royalties up to 70%
30referrals ✅Cashback ReferralsGuaranteed per-signup cash bonuses from referral programs
31bmc ✅Buy Me a CoffeeSecond tip-jar — creator/maker audience
32substack ✅Substack Newsletter35M+ reader discovery feed — paid subscription support
33appsumo ✅AppSumo ListingLifetime deal prep for Electra AI Center — $10K-$100K potential

Background Automation

Heartbeat Agent

The Heartbeat Agent runs as a background service, executing persistent tasks on a schedule. Configure tasks via Electra and it runs autonomously — perfect for daily Finance Bot runs, system health checks, content publishing, and anything else that should happen on autopilot.

CommandDescription
/heartbeat start|stop|statusControl the heartbeat agent
/heartbeat logsView agent activity log
/agent service installInstall as systemd user service (starts on login)
/agent service start|stop|restartControl the systemd service
/task [cmd]Manage heartbeat tasks
📱
Via Telegram
Use /task add in your Telegram chat. Tasks are stored on the FastAPI server and fetched by the agent every 30 seconds. Results are automatically sent back to your Telegram chat.
💻
Via CLI
Run python3 heartbeat_agent.py add from the terminal. Tasks are stored locally at ~/.electra/tasks.db. Useful for machine-specific tasks like local shell commands and file monitoring.
Via Electra Terminal
Type /agent service status or say "show heartbeat agent status" — the router detects the intent and shows daemon status plus your live task list in one view.
Electra Terminal — natural language examples

install the heartbeat agent service

show heartbeat agent status

restart the autonomous agent

check agent service logs

stop the background agent

install heartbeat

Example 1 — Morning news briefing

/task add Morning News | Search for today's top 5 technology headlines and summarize them in bullet points | daily 08:00

✅ Task "Morning News" created · Schedule: daily 08:00 · Results sent to this chat every morning.

Example 2 — Website uptime monitor

/task add Uptime Check | Fetch https://makululinux.com and check if it returns HTTP 200. If it fails, send an urgent alert | every 1h

✅ Task "Uptime Check" created · Schedule: every 1h · You will only be notified if the site goes down.

Example 3 — Cryptocurrency price

/task add Bitcoin Price | Search for the current Bitcoin price and send it to me | every 6h

✅ Task "Bitcoin Price" created · Schedule: every 6h · BTC price sent 4× per day.

Example 4 — Daily system health report

/task add System Report | Run: df -h / && free -h && uptime. Format the results as a clean system health summary | daily 09:00

✅ Task "System Report" created · Disk, RAM, and uptime sent to Telegram every morning at 9am.

Example 5 — Log error watcher

/task add Error Watcher | Read /var/log/syslog (last 100 lines) and alert me if there are any ERROR or CRITICAL entries | every 30m

✅ Task "Error Watcher" created · Schedule: every 30m · Alerted within 30 minutes of any system error.

Example 6 — One-shot research task

/task add AI Research | Search for the latest developments in AI agents published this week and write a 3-paragraph summary | once

✅ Task "AI Research" created · Schedule: once · Runs on the next tick, then disables itself automatically.

Example 7 — Disk space alert

/task add Disk Alert | Run: df -h /. If disk usage is above 80%, send an urgent alert. Otherwise stay silent | every 6h

✅ Task "Disk Alert" created · Only notifies you when disk is getting full — silent otherwise.

Example 8 — Evening news summary

/task add Evening Summary | Search for top world news today and give me a concise 5-point evening briefing | daily 20:00

✅ Task "Evening Summary" created · A daily digest arrives in Telegram every evening at 8pm.

MakuluLinux Tools

ISO Agent

The ISO Agent provides tools for working with Linux ISO images — mounting, extracting, analyzing, and creating bootable images. Primarily used for MakuluLinux ISO development and testing.

💿 ISO Agent Examples

build a backup ISO of my current system

→ ISO Agent: Parsing request... Building MakuluLinux-AI-OS.iso from live system


create an ISO called "MyStudio" but exclude my Downloads and Music folders

→ ISO Agent: Excluding ~/Downloads, ~/Music → building MyStudio.iso


make a clean bootable backup ISO

→ ISO Agent: Using standard exclude list → snapshot + squash + ISO generation


Reference

Full Command Reference

Type /? or /help in the terminal to see the full command list. Commands are grouped by category below.

Session & History

CommandDescription
/newchatStart fresh chat (clears history + server memory)
/compactSummarise history (saves compact report first)
/history exportExport conversation as clean markdown
/history diffCompare two /compact reports
/snapshot [name]Freeze entire session state to disk
/loadReload the last saved session from disk
/remember [note]Save note to .electra_memory.md
/statusLive dashboard: git, index, todos, context%
/context [n]See exactly what the AI sees right now
/tokensShow token count + estimated cost for current session
/costEstimated session cost by model/tokens
/summariseSession digest — history untouched
/retryRe-send your last prompt
/explain lastExplain the last AI tool actions in plain English

Model & Config

CommandDescription
/modelInteractive model picker (numbered list, full details)
/saveconfigSave current configuration immediately
/profileUser preferences (injected into every agent)
/snippetSaved prompt snippets — reuse common prompts
/aliasCompound command aliases
/hotkeysSingle-key shortcuts (Tab completion built in)
/memoryProject memory (.electra_session.json)
/hooksPlugin hook scripts (~/.electra/hooks/)
/cache [clear]AI result cache (~/.electra/cache/)
/offline / /fallbackInstall offline fallback model (Ollama + Gemma 4B)
/offline-memoryView local MemPalace memory status (ChromaDB/SQLite)
/reset [mode]Reset one mode: coder command chat

Notifications & Scheduling

CommandDescription
/notify [on|off]Desktop notification when a task completes
/remind <t> <msg>Timed in-session reminder
/schedule add <t> <msg>Persistent cron-backed reminder (survives reboot)
/schedule listShow all scheduled reminders
/schedule rm <n>Remove a scheduled reminder

Third-Party API Keys

CommandProvider
/groqAdd/update Groq key — ultra-fast LLaMA/Mixtral inference
/perplexity / /pplxPerplexity AI key — online search models
/together / /togetheraiTogether AI key — 200+ open-source models
/cohereCohere key — Command R+ models
/deepseekDeepSeek direct API key
/cerebrasCerebras key — ultra-fast inference
/pollinationsPollinations AI — free, no key required
/openrouter / /orOpenRouter key — access 300+ models in one place

Utility Commands

CommandDescription
/grep <pattern> [path]Coloured search + AI explain option
/open [file]Open last AI-written file with xdg-open
/shareExport current session as a shareable HTML file
/cls / /clearClear the terminal screen
/read modeMulti-line input box (paste large text blocks)
/boxMulti-line input box for current mode
/ide / /terminatorLaunch Terminator IDE (file tree + preview + chat panes)
/cmdide / /command-ideLaunch Command IDE in Terminator
Release History

Changelog — Recent Releases

v2026.06.21-r5 — Coder Elite

  • Live Code Map: AI knows exactly which files exist + when last touched
  • Structured Error Parsing: FILE:LINE:TYPE extracted from tracebacks
  • Intent-aware tool routing: DEBUG/REFACTOR/QUESTION use narrowest subset
  • Next-Step Suggestions: 3 clickable actions after task complete (GUI)
  • Code map badge in activity log shows tracked file count
  • Workspace map reset on workspace change

v2026.06.21-r4 — Extension Quick Wins

  • Tabstop navigation: Tab jumps $1→$2→$3, Esc exits
  • TM_ variables: ${TM_FILENAME}, ${TM_FILENAME_BASE}, ${TM_DIRECTORY}, ${TM_SELECTED_TEXT}
  • ✂ Snippets button in editor status bar (Coder mode)
  • Ctrl+Shift+S opens snippet palette from editor
  • Theme picker shows EXT THEMES section after extension install

v2026.06.21-r3 — Extension Activation (All 4 Layers)

  • Layer 1 - Snippets: installed extension snippets load at startup; Tab expands triggers
  • Layer 2 - AI awareness: installed extensions injected into every coder system prompt
  • Layer 3 - Theme import: VS Code JSON themes parsed and added to Electra theme picker
  • Layer 4 - LSP auto-reg: bundled LSP servers detected and registered with electra_lsp

v2026.06.21-r2 — Open VSX Extension Browser

  • New 🧩 Extensions icon in sidebar activity bar
  • Browse / search Open VSX Registry (open-vsx.org) in the GUI sidebar
  • Install .vsix extensions — themes, grammars, snippets auto-applied
  • TextMate grammars registered with GtkSourceView language-specs

v2026.06.21-r1 — Command Mode GUI

  • Dynamic 3-pane layout for command mode: execution log pane auto-shows during tasks
  • File preview pane shows when files are being edited
  • Both collapse when tasks complete — full command-mode parity without the terminal

v2026.06.20 — GUI Theme Isolation & Tier Enforcement

  • GUI fully isolated from system GTK theme (Breeze, Mint-Y, Arc, Yaru have zero influence)
  • Three-layer isolation: forced Adwaita base + P800 reset provider + CSS_TEMPLATE universal reset
  • Model picker tier enforcement in both GUI and terminal
  • 🔒 [Major+] shown on ds-/bt-/ol- models for non-Major users; clicking shows upgrade toast
  • Major/Commander users see paid providers sorted to the TOP of the picker
  • AT-SPI screen context injected into Coder mode (was previously command + chat only)
  • New tool notify_user and tile_windows added to Coder mode

v2026.06.19 — Major/Commander Paid-Tier Priority

  • Paid-provider pre-pass in auto-routing: ds-/bt-/ol- models tried first for Major/Commander
  • Same pre-pass in context-aware coder model selection
  • Cap safety: paid pre-pass requires full caps; relaxed to Co/T in pass 2
  • 5 coder/command stability bugs fixed (kill path depth leak, checkpoint chunk injection, ban list in fallback queue)

v2026.06.18 — Ghost Text & Inline Edit Polish

  • Ghost-text stale suggestion prevention via monotonic sequence counter
  • Inline Edit (Ctrl+K) complete rewrite: modal popup, Apply/Cancel buttons, loading state, indent preservation
  • File system tools (delete_file, move_file, create_directory, copy_file) all GUI-integrated: tree refresh, tab tracking, activity logging
  • Agent Swarm: Orchestrator/Workers/Reviewer API URL fixes, worker upgraded to 8-round agentic loop

Earlier Highlights (June 2026)

  • Agent Swarm (Major/Commander) — parallel multi-file editing with orchestrator + reviewer pipeline
  • Open VSX extension browser with 4-layer activation system
  • LSP integration: pyright, tsserver, rust-analyzer, clangd, gopls with 4 AI tools
  • Ghost-text inline completions with dedicated fast-model chain and auto-fallback
  • Command Palette (Ctrl+Shift+P), Quick File Open (Ctrl+P)
  • @-mention file context in chat, Apply to File on every AI code block
  • Git panel, Diagnostics tab, Minimap, image preview tabs, voice input, split editor
  • Symbol breadcrumb, workspace session restore, collapsible thinking blocks
  • Per-project stable conversation_id (server MemPalace memory across sessions)
  • Project knowledge base (.electra_project.md / /pk commands)
  • D-Bus daemon: two-way desktop ↔ Electra communication
  • AT-SPI daemon: live screen text context for all modes
  • Finance Center GUI (/finance), 33 income streams total
  • Model routing rebuilt: step-3.5/3.7-flash as primary; Ollama Cloud (ol- prefix) added; SiliconFlow permanently removed from auto-routing
  • Daily limits updated: Free 50 / Private 500 / Corporal 1500 / Sergeant 4000 / Major 10000 / Commander ∞
  • Auto-report GitHub issue filing on unhandled errors
  • SSL/TLS cert repair for Nuitka onefile binaries (auto-finds newest cacert.pem in /tmp/electra)
  • Right-click context actions auto-installed on first launch in Nemo/Dolphin/Nautilus/Thunar/Caja/PCManFM

04 — Getting Started

Launching Electra 🚀

Electra is pre-installed on MakuluLinux. You can launch it several ways:

bash — Launch Methods
# Standard terminal launch
ai_terminal.bin

# Launch directly into GUI mode
ai_terminal.bin --gui

# Launch and immediately chat
ai_terminal.bin --chat "explain how SSH keys work"

# Launch and immediately enter Coder mode with a task
ai_terminal.bin --coder "add user authentication to my Flask app"

# Launch and immediately write something
ai_terminal.bin --writer "write a blog post about Linux gaming"

# Launch and run a command via natural language
ai_terminal.bin --command "show my disk usage"

# Open a file for analysis (from Nemo right-click action)
ai_terminal.bin /path/to/file.py

# Show help
ai_terminal.bin --help

On first launch, Electra creates its configuration directory at ~/.electra/ and populates it with default configuration files. All data is stored in your home directory — no system-wide writes.

Key Directories

PathPurpose
~/.electra/Main config directory (profile, hotkeys, sessions, snapshots, personas)
~/.config/ai_plugins/Community and custom plugins
~/.config/ai_terminal/Service integrations config (Telegram, Google, Spotify, Discord, etc.)
~/workspace/Default workspace for Coder and Writer modes
~/.electra/templates/Prompt templates for repeated workflows
~/.electra/sessions/Saved conversation sessions
~/.electra/snapshots/File system snapshots for rollback
~/.electra/personas/Custom AI personas

First-Time Setup

When you first open Electra, it is ready to use in Chat mode immediately. To unlock the full power of integrations, set up each service you want to use:

  • Google Workspace: /google login
  • Home Assistant: /ha setup
  • Spotify: /spotify setup
  • Discord: /discord setup
  • GitHub (personal): /github connect
  • Telegram Bot: /telegram setup (in terminal, then start the bridge)
  • Finance Bot: /hustle setup — configure income streams, API keys, and payment accounts

Additional Directories

PathPurpose
~/.electra/finance.dbFinance Bot SQLite database (earnings, pending actions, opportunities)
~/.config/ai_terminal/finance.confFinance Bot credentials and configuration
~/ElectraFinance/Generated content, designs, and digital products from the Finance Bot
~/.config/electra_bar.jsonElectra Bar appearance settings (colour, opacity, position, whisper model)
10b — Interface

💻 IDE Mode — Terminator Terminal IDE

IDE mode launches Electra inside a custom Terminator layout — a true terminal IDE for users who prefer the keyboard over a GUI. It provides a multi-pane workspace with a file tree, file preview, output log, and AI chat pane, all in one window.

Launching IDE Mode
/ide                              # Enter IDE from terminal session
ai_terminal.bin --ide             # Launch directly in IDE mode
ai_terminal.bin --ide --cwd "%P" # Nemo action — opens IDE in selected folder
sudo apt install terminator       # Required dependency

IDE Layout

🗂️
File Tree (Left)
Uses ranger (interactive) → lf → tree (polling) depending on what's installed. In ranger: press P to send any file to the preview pane. In tree mode: instant refresh via inotifywait + git status shown below.
📄
File Preview (Centre Top)
Watches the active file path and renders it with syntax highlighting using bat → pygments → cat -n fallback. Updates automatically when the AI edits a file. Shows session summary when AI finishes a task.
📋
Output Log (Centre Bottom)
Live tail of the AI execution log — all tool calls, command outputs, and file write confirmations appear here in real-time.
AI Chat (Right)
The only interactive pane. Type your requests here. All other panes have keyboard input disabled to prevent accidental typing.
ℹ️
Status Bar (Bottom Strip)
Shows mode, model, token count, git branch, files-modified count, and a 📋 badge when a session summary exists. Updates every second.

IDE Features

  • Auto font detection — picks the best available monospace font: JetBrains Mono → Fira Code → Hack → Ubuntu Mono → Monospace
  • Three Terminator profiles — default (tree/preview/chat), shell (teal cursor), info (dark status bar)
  • Only right pane is interactive — tree, preview, and log panes have stty -echo -icanon applied
  • Session summary auto-display — when AI finishes a task, the preview pane automatically switches to show .electra_session.md
  • Git branch in status bar — read directly from .git/HEAD, no subprocess overhead
  • Keybindings — Ctrl+=/-, Tab, Ctrl+W, Ctrl+Z, F11, Ctrl+Shift+C/V

Install recommendations for best IDE experience

IDE Dependencies
sudo apt install terminator ranger bat inotify-tools fonts-jetbrains-mono
pip3 install pygments    # syntax highlighting fallback
10c — Offline AI

🔌 Offline Mode & Local MemPalace

When internet connectivity is lost or all online models fail, Electra automatically switches to a local Ollama model. This fallback works in all modes — Chat, Coder, Writer, and Command — with full thinking display and a local conversation memory system that mirrors the server-side ChromaDB architecture.

Model Fallback Chain

Online models are tried in priority order before falling back to Ollama:

Fallback Priority
1. nvidia/nemotron-3-nano-30b-a3b    # primary (fast router + chat)
2. stepfun-ai/step-3.5-flash         # backup 1
3. electra                           # backup 2 (in-house)
4. microsoft/phi-4-multimodal-instruct # backup 3
5. microsoft/phi-4-mini-instruct     # backup 4
6. Local Ollama model                # ultimate offline fallback

Each online model is tried twice. If all fail, Ollama activates automatically — no configuration required.

Offline Setup

Install Offline Fallback
/offline                   # guided install from within Electra
# or manually:
curl -fsSL https://ollama.com/install.sh | sh
ollama pull su_robin/gemma-4-E4B-it-Q4_K_M   # 5.3 GB

Offline Mode by Mode

  • Chat — full conversation with the local model; thinking displayed in cyan
  • Coder / Writer — advisory mode; AI provides code/content you apply manually
  • Command — full agentic loop; AI issues bash commands in ```bash blocks, Electra executes them, feeds output back, repeats up to 15 turns

Local MemPalace — Offline Conversation Memory

Electra runs an identical hybrid memory system locally for all Ollama calls, mirroring the server-side ChromaDB architecture:

🧠
Short-Term Memory
The 2 most recent conversation turns are always injected verbatim — immediate context for the current question.
🔍
Long-Term Semantic Memory
ChromaDB vector search finds up to 4 older turns semantically relevant to the current message — the AI remembers things it said months ago.
🗄️
Dual Backend
Primary: ChromaDB (full semantic search). Fallback: SQLite (chronological, always available). SQLite activates automatically if ChromaDB isn't installed.
🧹
Auto Garbage Collection
Memories older than 60 days are automatically pruned at startup — same policy as the server.
Memory Commands
/offline-memory           # show backend, stored turn count, memory path
/clear-offline-memory     # wipe all local memories (requires YES confirmation)
pip3 install chromadb     # enable full semantic memory (SQLite is fallback)

Memory is stored at ~/.electra/chroma_local_db/ (ChromaDB) or ~/.electra/ollama_memory.db (SQLite). Each user gets a stable conversation ID derived from their home directory.

11 — Interface

📟 Electra Bar — Desktop Widget

The Electra Bar (electra_bar.py) is a lightweight GTK3 floating widget that lives directly on your desktop — behind all application windows but always accessible. It provides instant access to Electra's full AI intelligence stack without opening a terminal window. Type a prompt, press Enter, and a terminal opens with the result. Or use the voice button to speak your request.

Since the MakuluLinux 2025 update, the Electra Bar has grown significantly. It now includes a microphone for voice input, a full command history with dropdown preview, drag-to-reposition, customisable appearance, and the new Quick Action Center — a full-screen panel of one-click AI shortcuts organised into six categories.

Bar Layout

Electra Bar — Element Map
┌────────────────────────────────────────────────────────────────────┐
│  ⠿  │   AI : Ask me anything…                  │  ⚡  │  🎤  │
│ drag│          text input area                  │  QA  │ mic  │
└────────────────────────────────────────────────────────────────────┘
  (1)                (2)                            (3)    (4)

(1) Drag handle   — click and drag to reposition the bar on screen
(2) Text input    — type any prompt; Enter to submit; Up/Down for history
(3) ⚡ QA button  — opens the Quick Action Center panel
(4) 🎤 Mic button — voice input via faster-whisper (offline, multilingual)

Features

Text Input & History

  • Type any prompt and press Enter — a gnome-terminal opens and Electra processes the request
  • The input area auto-expands for multi-line text (up to 400 px)
  • Press Up / Down arrows to cycle through the last 7 submitted commands
  • A dropdown preview panel appears showing recent history entries
  • History is persisted across sessions in ~/.config/electra_bar.json

Voice Input (Mic Button 🎤)

  • Click the microphone to start recording — the button turns red (⏹) while active
  • Uses faster-whisper for offline, accent-robust, multilingual transcription
  • Falls back to Vosk if faster-whisper is not installed
  • Live transcription appears in the input field as you speak
  • Auto-submits 2.5 seconds after the last detected word (configurable)
  • Click the button again to cancel recording before submission
  • Whisper model size is configurable: tiny | base | small | medium | large-v3 (set in right-click settings)

Appearance Customisation (Right-Click)

Right-click anywhere on the bar to open the Settings popup:

SettingDescription
Background ColorChoose from a 42-colour palette or pick any custom colour
OpacitySlider from fully transparent to fully opaque
Bar SizeSet custom width and height in pixels
Whisper ModelSelect the speech recognition model size (speed vs. accuracy)
Reset DefaultsRestore original colour, opacity, and re-centre the bar at the top of the screen

Positioning

  • The bar floats at the top-centre of the primary monitor by default
  • Click and drag the drag handle (⠿) on the left to reposition anywhere on-screen
  • Position is saved automatically and restored on next launch
  • Right-click → Reset Defaults re-centres the bar if it gets lost

Autostart Setup

bash — Autostart
# Run manually
python3 /usr/share/MakuluSetup/tools/electra_bar.py

# Add to ~/.config/autostart/ (Cinnamon autostart)
# Create: ~/.config/autostart/electra-bar.desktop
[Desktop Entry]
Type=Application
Name=Electra Bar
Exec=python3 /usr/share/MakuluSetup/tools/electra_bar.py
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true

Dependencies

bash
# GTK3 + Cairo (usually pre-installed on MakuluLinux)
sudo apt install python3-gi gir1.2-gtk-3.0 python3-cairo ffmpeg

# Voice recognition (faster-whisper recommended)
pip install faster-whisper pyaudio

# Optional: Vosk fallback STT
pip install vosk
📟 Electra Bar Usage Examples

Type in bar: turn on the bedroom light

→ Router detects HOME_ASSISTANT intent → opens terminal → controls the light → confirms


Type in bar: what's the weather today

→ Router detects WEATHER → fetches current weather → displays in terminal


Type in bar: play something relaxing on Spotify

→ Router detects SPOTIFY → starts playback → confirms track name


Click 🎤 and speak: "install VS Code"

→ Transcribed in real-time → auto-submitted → COMMAND mode installs VS Code


Click ⚡ QA button

→ Quick Action Center opens — full panel of one-click AI shortcuts

11b — Interface

⚡ Quick Action Center

The Quick Action Center is a full-screen GTK3 panel that launches from the ⚡ button on the Electra Bar. It provides a beautifully organised grid of one-click AI action tiles, grouped into six categories. Each tile launches a new terminal with Electra pre-loaded with an optimised prompt for that specific task — no typing required.

Some tiles are simple launchers (click and go), while others are input cards with a text field so you can describe your specific need before launching.

Categories

🖥
System
Health checks, driver management, system updates, disk diagnostics, junk cleanup, performance optimisation, and full system reports — all AI-automated.
📦
Software
Install or remove any app (just describe it), update all packages, list installed apps by category, security audit, and font search/install.
💻
Development
Launch Coder Mode, GUI IDE, Terminal IDE, or Writer Mode directly. Set up Git, scaffold new projects, configure dev environments, and debug code.
🌐
Network
Network status overview, speed test, firewall review, WiFi diagnostics, DNS / IP info, and a free-text problem solver for any network issue.
🤖
AI & Chat
Open Quick Chat, launch Novel/Story Writer, run any free-text AI command, explain errors, summarise text or URLs, and translate between any languages.
Settings
Language & region, display settings, desktop theming, keyboard/mouse config, user account management, privacy/security audit, power management, and printer setup.

Action Cards Reference

System Category

CardWhat It Does
Check DriversScans and installs optimal drivers for GPU, CPU, and all connected devices
System UpdatesChecks for and applies all available system and security updates; auto-handles errors
System HealthCPU temp, RAM usage, disk health (smartctl), journal error scan — full report
Disk HealthSMART diagnostics across all drives; bad sector and reallocated sector detection
Clean Systemapt autoremove, apt clean, old kernel removal (keeps last 2), cache clearing
Fix Problemsdpkg --configure -a, apt --fix-broken, failed service restart, dmesg error scan
Optimize PerformanceTunes swappiness, I/O scheduler (SSD), disables unnecessary startup services
System ReportFull hardware inventory: CPU, RAM, GPU, storage, network, kernel, drivers, uptime

Software Category

CardWhat It Does
Install Software / Games (input)Describe what you want — AI finds and installs the best match (apt, snap, flatpak)
Remove Software (input)Completely uninstalls apps including config files and orphaned dependencies
Update All AppsUpgrades apt, snap, and flatpak packages to latest versions
List Installed AppsShows all manually installed applications grouped by category
Security AuditChecks open ports, firewall status, SSH config, packages with known CVEs
Find & Install Font (input)Searches and installs any font by name or style description

Development Category

CardWhat It Does
Coder ModeLaunches Electra in Coder Mode in ~/Workspace
GUI IDEOpens the VSCode-style GUI (file tree + editor + AI chat panel)
Terminal IDEOpens the split-pane Terminal IDE with integrated AI
Writer ModeLaunches Electra in Writer Mode in ~/Workspace
Setup GitConfigures git name/email, generates SSH keys, connects to GitHub/GitLab
Setup Dev Environment (input)Describe the tech stack — AI installs all tools and dependencies
Debug My Code (input)Describe a bug or paste an error for AI-assisted diagnosis and fix
Create New Project (input)AI scaffolds a complete project structure from a one-line description

Network Category

CardWhat It Does
Network StatusAll interfaces, IP addresses, connectivity test, DNS, default gateway
Speed TestRuns speedtest-cli (installs if needed); shows download, upload, and ping
Firewall CheckUFW / iptables review, open port identification, security hardening suggestions
WiFi DiagnosticsScans available networks, signal strength, connection quality, issue fixes
DNS & IP InfoCurrent DNS servers, Cloudflare vs. Google vs. ISP speed comparison, public IP
Fix Network Problem (input)Describe any network issue — AI diagnoses and fixes it

AI & Chat Category

CardWhat It Does
Quick ChatOpens a fresh Chat Mode session in the terminal
Novel / Story WriterLaunches Writer Mode for long-form creative writing
Quick AI Command (input)Describe any task — Electra executes it automatically via Command Mode
Explain Error (input)Paste any error message or stack trace for instant AI diagnosis
Summarise Text (input)AI summarises any text, article, document, or URL
Translate Text (input)Translate to/from any language instantly

Settings Category

CardWhat It Does
Language & RegionShows and applies locale, timezone, currency, and keyboard layout settings
Display SettingsResolution, refresh rate, multi-monitor setup and optimisation
Desktop ThemeInstalls and applies Cinnamon themes, icon packs, and cursor themes
Keyboard & MouseShortcuts, mouse speed, touchpad sensitivity configuration
User AccountsManages users, groups, sudo permissions, and passwords
Privacy & SecurityAudits logging, telemetry, home directory permissions, and security concerns
Power ManagementConfigures sleep, hibernate, and battery optimisation (laptop/desktop aware)
Printers & DevicesSets up printers, scanners, and external hardware via CUPS
💡 Input cards: Cards marked with (input) have an embedded text field and a "Launch ▶" button. Type your specific details, press Enter or click Launch — the exact prompt is forwarded to Electra with your input already filled in. The search bar at the top of the panel filters all cards across all categories in real time.
13 — Integration

📧 Google Services Integration

Electra's Google agent (google_agent.py) provides deep integration with the entire Google Workspace ecosystem via OAuth2. You interact with all Google services using plain English — Electra's AI parsing layer extracts intent, looks up contacts, constructs API calls, shows you a preview, and acts on confirmation.

Setup (One-Time)

Follow these steps carefully — each one is required before Electra can access your Google account. This is a one-time setup; after the token is saved you never need to repeat it.

① Create a Google Cloud Project

  1. Open the Google Cloud Console and sign in with your Google account.
  2. Click the Project Dropdown at the top of the page (next to the Google Cloud logo).
  3. In the dialog that appears, click New Project (top-right corner).
  4. Enter a Project Name (e.g. ElectraAI). Google auto-generates a Project ID — you can customise it now but it cannot be changed later.
  5. Leave Location as "No organization" unless you're in a Google Workspace org.
  6. Click Create and wait a few seconds for the project to be provisioned.

② Create OAuth 2.0 Credentials

  1. Go to console.cloud.google.com/apis/credentials.
  2. Click Create Credentials → OAuth 2.0 Client ID.
  3. If prompted to configure the OAuth consent screen first, fill in the required fields (App name, support email) and save — you can leave everything else as defaults for personal use.
  4. For Application Type, choose Desktop app.
  5. Click Create. Copy the Client ID and Client Secret shown on screen.
  6. Click Download JSON and save the file as:
    ~/.config/ai_terminal/google_oauth.json
    (create the directory if it doesn't exist: mkdir -p ~/.config/ai_terminal)

③ Enable Google APIs

Click each link below and press Enable on that API's page. All services must be enabled before the corresponding Electra commands will work.

📬 Enable Gmail API 📁 Enable Google Drive API 📅 Enable Google Calendar API ▶️ Enable YouTube Data API 📊 Enable Google Sheets API 📄 Enable Google Docs API 📑 Enable Google Slides API ✅ Enable Google Tasks API 👥 Enable Google People API 📒 Enable Google Contacts API

④ Authenticate in Electra

  1. Open Electra and run: /google login
  2. Your browser will open Google's OAuth consent screen — sign in and click Allow.
  3. Electra captures the token automatically and saves it to ~/.config/ai_terminal/google_token.json.
  4. You're done! All Google commands are now active. The token refreshes automatically — you won't need to log in again.
⚠️ Note on OAuth Consent Screen: During setup Google may show a warning that your app is "unverified". This is normal for personal projects — click Advanced → Go to [App Name] (unsafe) to proceed. This warning only appears during the initial login.
📬 Gmail
/gmail · natural language
Full email management — read, search, compose, send, reply, labels
  • "send an email to Mike about the meeting"
  • "show my unread emails from today"
  • "search for emails about the invoice"
  • "reply to Sarah's last email"
  • /gmail inbox · /gmail search <q>
📅 Google Calendar
/calendar · natural language
Event management, scheduling, and calendar browsing
  • "what's on my calendar today"
  • "schedule a meeting with Alex at 2pm tomorrow"
  • "show my week ahead"
  • "create a Google Meet for the team standup"
  • /calendar today · /calendar week
📁 Google Drive
/drive · natural language
File management, search, upload, share, and folder creation
  • "find the Q3 sales report on Drive"
  • "upload ~/documents/proposal.pdf to Drive"
  • "share the marketing folder with Sarah"
  • /drive list · /drive search <q>
📄 Google Docs
/docs · natural language
Read, create, append to, and export Google Documents
  • "read my meeting notes doc"
  • "create a new doc called Project Brief"
  • "append these notes to my daily log doc"
  • /docs read <name> · /docs create <title>
📊 Google Sheets
/sheets · natural language
Read rows/columns, write cells, manage spreadsheets
  • "show the expenses sheet"
  • "update cell B5 in the budget sheet"
  • /sheets list · /sheets read <name>
✅ Google Tasks
/tasks · natural language
Task list management, adding and completing tasks
  • "what's on my task list"
  • "add 'review PR #42' to my tasks"
  • "mark the invoice task as done"
  • /tasks list · /tasks add <task>
👥 Google Contacts
/contacts · natural language
Search and list contacts (People API)
  • "find Mike's email address"
  • "show my recent contacts"
  • /contacts search <name>
📸 Google Photos & Keep
/photos · /keep
Browse recent albums/photos; create and list Keep notes
  • "show my recent photos"
  • "show my Keep notes"
  • "create a Keep note: buy milk"
  • /photos · /keep list · /keep add <note>
15 — Integration

🎵 Spotify Integration

Full Spotify playback control via the Spotify Web API — play, pause, skip, search, browse playlists, manage liked songs, and control volume — all with natural language or slash commands.

Setup

  1. Go to developer.spotify.com/dashboard → Create App
  2. Set Redirect URI to http://localhost:8888/callback
  3. Copy Client ID and Client Secret
  4. Run /spotify setup in Electra
  5. Config saved to ~/.config/ai_terminal/spotify_config.json
🎵 Natural Language Music Control

"what's playing on spotify"

"skip this track"

"pause spotify"

"play my Discover Weekly"

"turn up the volume"

"search for Daft Punk on spotify"

"play something chill"

"add this to my liked songs"

Spotify Commands

CommandDescription
/spotifyShow now playing
/spotify playResume playback
/spotify pausePause playback
/spotify skipSkip to next track
/spotify prevPrevious track
/spotify volume <0-100>Set volume
/spotify search <q>Search tracks, artists, albums
/spotify playlistsList your playlists
/spotify play <name>Play a playlist or artist by name
/spotify likedYour liked songs (recent)
/spotify devicesList available playback devices
/spotify queueAdd current search result to queue
17 — Integration

💜 Discord Integration

The Discord agent (discord_agent.py) connects Electra to your Discord servers, allowing you to read channels, send messages, check notifications and DMs, and manage server interactions — all via natural language or slash commands.

Setup

  1. Go to discord.com/developers → New Application → Bot tab → Add Bot → Copy Token
  2. Enable "Message Content Intent" under Privileged Gateway Intents
  3. Invite the bot to your server with read/write permissions
  4. Run /discord setup in Electra

Discord Commands

CommandDescription
/discordShow guilds + unread summary
/discord setupRun setup wizard
/discord serversList your servers (guilds)
/discord channelsList channels in current server
/discord read #channelRead recent messages from a channel
/discord send #ch <msg>Send a message to a channel
/discord dmsCheck DM channels
/discord notificationsCheck mentions and notifications
/discord use <server>Set active server
18 — Integration

🔺 Reddit Reader

The Reddit agent (reddit_agent.py) provides read access to Reddit using the public JSON API — no API key required. Browse subreddits, search posts, follow trending content, and optionally sign in for personalized features.

🔺 Reddit Natural Language

"what's trending on reddit"

"top posts on r/linux today"

"search reddit for python async tips"

"show me r/programming"

"what's hot on r/worldnews"

"show popular python subreddits"

Reddit Commands

CommandDescription
/redditHot posts from r/all
/reddit r/<sub>Posts from a specific subreddit
/reddit top r/<sub>Top posts (all time)
/reddit new r/<sub>Newest posts in a subreddit
/reddit search <q>Search Reddit globally
/reddit search <q> r/<sub>Search within a subreddit
/reddit subs <topic>Find subreddits about a topic
/reddit savedYour saved posts (requires login)
/reddit loginSign in with Reddit account (optional)
19 — Integration

📰 RSS / News Feed Reader

The RSS agent (rss_agent.py) provides curated news from a hand-picked selection of quality tech, Linux, science, developer, and world news feeds — with no API key required. Add your own custom feeds from any URL.

Built-In Feed Categories

💻
tech
Hacker News, Ars Technica, The Verge, TechCrunch, Wired
🐧
linux
LWN, Phoronix, OMG Ubuntu, It's FOSS, Linux Journal
🌍
news
BBC, Reuters, AP News, Al Jazeera
🔬
science
NASA, Nature, Science Daily, New Scientist
👨‍💻
dev
DEV.to, Stack Overflow Blog, CSS-Tricks, Smashing Magazine

RSS Commands

CommandDescription
/rssTop headlines across all default feeds
/rss techTech news
/rss linuxLinux / open source news
/rss newsWorld news
/rss scienceScience news
/rss devDeveloper news
/rss hnHacker News top stories
/rss bbcBBC headlines
/rss add <url> [name]Add a custom feed URL
/rss listShow all feeds (built-in + custom)
/rss remove <name>Remove a custom feed
/rss read <url>Read any feed URL on the fly
New — Productivity

📋 Clipboard Intelligence Agent

The Clipboard Intelligence Agent runs silently in the background from the moment Electra starts. Every time you copy text — code, a URL, an error message, anything — it is silently stored in a rolling 20-item history. On demand, you can surface, explain, or interrogate any clipboard content without leaving the terminal.

Commands

CommandDescription
/clipShow the last 5 copied items with timestamps and previews
/clip explainAI explains the current clipboard content in plain English
/clip explain questionAsk a specific question about the clipboard content
/clip watch on|offEnable or disable background clipboard tracking
/clip clearClear the clipboard history for this session

Example Usage

Clipboard Agent — Examples
# Copy an error message from your browser, then:
/clip explain

# Ask a specific question about copied code:
/clip explain what does this function do and are there any bugs?

# View history:
/clip

# Turn off tracking when not needed:
/clip watch off

Requirements

Requires xclip, xsel, or wl-paste (Wayland). Install with: sudo apt install xclip

New — Vision

📸 Screenshot Vision Agent

The Screenshot Vision Agent captures your screen and instantly sends it to a multimodal vision model for analysis. Ask what is on screen, get errors explained, understand unfamiliar UI, or query any visual content — all without leaving the terminal.

Commands

CommandDescription
/screenshotCapture screen and get a full AI description of everything visible
/screenshot questionCapture screen and ask a specific question about it
/screenshot lastRe-analyse the previous screenshot without taking a new one
/screenshot last questionRe-analyse last screenshot with a new question

Example Usage

Screenshot Agent — Examples
/screenshot explain this error
/screenshot what is this application doing?
/screenshot last what is the stack trace saying?
/screenshot is there any sensitive information visible?

Requirements

Install gnome-screenshot (recommended) or scrot: sudo apt install gnome-screenshot

New — Text Extraction

🔍 OCR Agent — Image Text Extraction

The OCR Agent extracts text from any image file using Tesseract — the gold-standard open-source OCR engine. Photographs of documents, screenshots with text, scanned pages, code photos — all become editable, searchable text. Optionally pipe the result directly to AI for explanation or analysis.

Commands

CommandDescription
/ocr image.pngExtract text from image file and display it
/ocr image.png explainExtract text then AI explains what it says
/ocr image.png questionExtract text then AI answers your question about it
/ocr lastOCR the last screenshot taken with /screenshot
/ocr last explainOCR last screenshot and AI explains the content

Requirements

Install Tesseract: sudo apt install tesseract-ocr

For additional language support: sudo apt install tesseract-ocr-fra tesseract-ocr-deu etc.

New — DevOps

🐳 Docker Management Agent

The Docker Agent brings full container management into your AI terminal. Fast-path commands handle the most common operations instantly; natural-language requests route through the command agent with a live Docker environment snapshot injected as context, so the AI always knows exactly what containers, images, and resources are present before acting.

Commands

CommandDescription
/dockerOverview — running containers and resource stats
/docker psAll containers (running and stopped)
/docker imagesLocal images list
/docker statsReal-time resource usage snapshot
/docker logs nameLast 50 lines of container logs
/docker logs name 100Last N lines of logs
/docker start|stop|restart nameControl a container
/docker rm nameRemove a container (asks for confirmation)
/docker natural languageAI-managed complex operations (build, pull, compose, etc.)

Example Usage

Docker Agent — Examples
/docker
/docker logs my-api-container
/docker start postgres
/docker what container is using the most memory?
/docker build and run my Dockerfile in this directory
/docker pull nginx and start it on port 8080
New — System

⚙️ Systemd Service Manager

The Service Manager puts full systemd control into natural language. Check what is failing, start and stop services, tail journal logs, and let AI write and install entire .service files from a plain-English description — no manual unit file editing required.

Commands

CommandDescription
/serviceList all failed units and active user services
/service status nameDetailed status of a specific service
/service start nameStart a service (user scope first, then system)
/service stop nameStop a service
/service restart nameRestart a service
/service enable nameEnable a service to start on boot
/service disable nameDisable autostart
/service logs nameLast 40 journal lines for the unit
/service create descriptionAI writes and installs a new .service file

AI Service Creation

Service Manager — Create Example
# AI writes the .service file, installs it to ~/.config/systemd/user/,
# runs daemon-reload, enables, and starts it — all in one command:

/service create a service that runs my Flask app (~/projects/myapp/app.py) on port 5000
/service create run my Node.js API server from ~/api/ using npm start
/service create keep my Python scraper (~/scripts/scraper.py) running, restart on crash
New — Developer Tools

📦 AI Package Manager Agent

The Package Manager Agent adds intelligent, context-aware package management to Electra. It automatically detects the correct package manager for your project (apt, pip3, npm, cargo, snap) and handles installation, removal, search, and updates — all from natural language.

Commands

CommandDescription
/pkg install packagesSmart install — right manager for your project context
/pkg remove packagesSmart uninstall
/pkg search termSearch across apt, pip, and snap simultaneously
/pkg updateUpdate all system packages (apt) and outdated pip packages
/pkg natural languageFree-form request — AI determines what and how to install

Example Usage

Package Manager — Examples
# In a Python project directory:
/pkg install the dependencies from requirements.txt
/pkg install flask sqlalchemy python-dotenv

# In a Node.js directory (reads package.json automatically):
/pkg install the missing dependencies for this project

# System tools:
/pkg install ffmpeg tesseract-ocr imagemagick
/pkg search json parser for python
/pkg update

Manager Selection Logic

The agent detects your project context and follows this priority:

  1. apt — system tools, C libraries, binary dependencies
  2. pip3 --user — Python packages (when requirements.txt or pyproject.toml detected)
  3. npm — Node.js packages (when package.json detected)
  4. cargo — Rust crates (when Cargo.toml detected)
  5. snap — GUI applications as fallback
New — Automation

⏰ Persistent Scheduler

Unlike /remind (which only works while Electra is running), the Persistent Scheduler writes real cron jobs that fire desktop notifications even when Electra is closed — across reboots. All jobs are managed through a simple JSON registry at ~/.electra/schedule.json.

Commands

CommandDescription
/schedule listShow all scheduled reminders with their cron expressions
/schedule add time messageAdd a persistent reminder
/schedule rm nRemove reminder by number
/schedule clearRemove all Electra-managed reminders

Time Specification Examples

Persistent Scheduler — Time Specs
# Daily reminders
/schedule add every day 9am         Morning standup reminder
/schedule add daily 18:00           End of day — commit your work

# Weekly
/schedule add every monday 8:30am   Weekly planning session
/schedule add every friday 5pm      Weekly review

# Weekdays only
/schedule add every weekday 9am     Daily check-in

# Interval-based
/schedule add every 2h              Stretch break!
/schedule add every 30m             Drink some water

# View and manage
/schedule list
/schedule rm 2

How It Works

Each /schedule add command parses the time specification, converts it to a standard 5-field cron expression, and installs it into your user crontab. The cron job fires a notify-send desktop notification using the system's DBUS session. Jobs survive reboots, app restarts, and Electra upgrades.

Note: Compare with /remind 30m Do the thing — that fires only within the current Electra session. Use /schedule for anything that needs to repeat across sessions or reboots.
New — Utilities

📱 QR Code Generator

Generate QR codes for any text, URL, WiFi credentials, contact cards, email addresses, or SMS messages — right from the terminal. The code is saved as a PNG to ~/Pictures/, opened instantly in your image viewer, and also rendered as block characters directly in the terminal so you can scan it immediately without switching windows.

Commands

CommandDescription
/qr text or urlQR code for any text or URL
/qr wifi SSID passwordWiFi join QR (WPA2 by default)
/qr wifi SSID password WEPWiFi QR with WEP encryption
/qr wifi SSID password nopassOpen network WiFi QR
/qr contact Full Name phonevCard QR — scan to add contact
/qr email addressmailto QR code
/qr sms number messagePre-filled SMS QR code

Example Usage

QR Generator — Examples
# Share a URL instantly
/qr https://makululinux.com

# Let guests join your WiFi — scan and connect
/qr wifi HomeNetwork SuperSecret123

# Share contact details
/qr contact Jane Doe +27821234567

# Any text at all
/qr Meet me at the coffee shop at 3pm

Output

Each QR code is saved to ~/Pictures/electra_qr_YYYYMMDD_HHMMSS.png and opened automatically with xdg-open. For codes up to 33×33 modules, a block-character preview is also printed directly in the terminal — no window switch needed to scan it.

Requirements

The qrcode[pil] Python package. Electra installs it automatically on first use: pip3 install qrcode[pil] --user

19d — Voice Interface

🎙️ Voice I/O — Offline Speech-to-Text & Text-to-Speech

Electra AI Center ships with a complete, fully offline voice input and output system. You can speak to Electra using a microphone and have it speak back to you using a neural TTS voice — no cloud, no API keys, no privacy concerns.

The system uses faster-whisper (the same Whisper engine used in Electra Bar) for speech recognition, and edge-tts for high-quality Text-to-Speech output — the same voices used by Microsoft Edge's Read Aloud feature.

Voice Commands

Voice Commands
/voice          # Speak one message — Electra transcribes it and responds in text
/talk           # Continuous voice dialogue loop — speak > respond > speak again
                # Say "stop" or "exit" to end the conversation
/speak          # Toggle Text-to-Speech on/off. When on, Electra reads every response aloud
/speak en-US-AriaNeural      # Change TTS voice to a specific edge-tts voice
/speak en-GB-SoniaNeural     # British English female voice
/speak en-AU-NatashaNeural   # Australian English female voice

How the Voice Stack Works

🎤
Speech Recognition (STT)
Primary: faster-whisper with the "small" model — fully offline, multilingual, automatic language detection, VAD filtering. Model cached from /usr/share/MakuluSetup/tools/whisper. The model loads once per session and is reused across all /voice and /talk calls.

Fallback 1: Google Speech Recognition (requires internet). Fallback 2: Vosk (fully offline, requires manual model download to ~/.vosk/model).
🔇
ALSA Noise Suppression
ALSA/Jack/OSS warning spam is silenced before PyAudio opens the microphone stream by redirecting the stderr file descriptor to /dev/null at the OS level — not just Python level. This keeps the terminal clean during voice capture without losing real error messages.
🔊
Text-to-Speech (TTS)
edge-tts provides a library of Microsoft Neural TTS voices including US, British, Australian, Indian English, and dozens of other languages. TTS output is streamed to your system's default audio output via mpg123 or ffplay. Toggle with /speak.
🔁
Continuous Voice Loop (/talk)
The /talk command enters a persistent voice dialogue: Electra listens (with silence detection), transcribes, processes through the full routing pipeline, responds (optionally with TTS), then immediately listens again. Silence threshold: 1.8 seconds of sub-300 RMS audio after speech is detected.

Installation

Voice Dependencies
# Install faster-whisper and pyaudio (STT)
pip3 install faster-whisper pyaudio --break-system-packages

# Install edge-tts (TTS)
pip3 install edge-tts --break-system-packages

# Install mpg123 audio player (TTS playback)
sudo apt install mpg123

# Optional: ALSA dev headers if pyaudio fails to compile
sudo apt install portaudio19-dev python3-pyaudio
💡 Multilingual support: faster-whisper detects language automatically — you can speak in English, French, Spanish, German, Arabic, Mandarin, Japanese, or any of the 99 languages Whisper supports. The transcription is passed to the routing agent unchanged, and if your model supports the language, Electra responds in kind.
19e — Media Intelligence

🎨 Media Retrieval — The Fetch vs. Generate Strategy

Electra AI Center uses a clever and often overlooked philosophy when it comes to media: fetch first, generate only if you must. This strategy drastically reduces latency, computational cost, and produces higher-quality results in most cases.

The reasoning is straightforward: almost every image, video, or piece of music you could ever want has already been created and is sitting on the internet, free to use under appropriate licences. It is often far faster and better to retrieve a high-quality existing asset from a reputable source than to generate a new one from scratch using a generative model — which requires significant compute, introduces quality variance, and takes time.

How It Works

🖼️
Images — Pollinations.AI
Generated via Pollinations' free image generation endpoint. When you ask Electra to "draw" or "create" an image, it constructs a URL with your prompt encoded, fetches the generated image from Pollinations, and saves it locally. No API key required. Supports width, height, model, seed, and nologo parameters.
📹
Videos — Pixabay
Fetched from Pixabay's free video library. When you ask to "find a video" or "show a clip of X", Electra searches Pixabay via API, retrieves the best matching high-resolution video, and downloads it locally. Pixabay videos are royalty-free and license-safe. Much faster than any generative video model.
🎵
Music & Audio — Jamendo
Fetched from Jamendo's Creative Commons music catalogue. When you ask to "play some jazz" or "find chill lo-fi music", Electra queries Jamendo's API, streams or downloads a matching track, and plays it via mpg123 or ffplay. All tracks are CC-licensed for free use.
🌄
Wallpapers — Pexels
Fetched from Pexels' professional photography library. When you ask to "set a forest wallpaper", Electra calls the Pexels API with your keywords, downloads the highest resolution version available, and applies it as your desktop wallpaper via gsettings / feh / nitrogen depending on your desktop environment.

Why This Approach Is Superior

Fetch vs. Generate Comparison
                    FETCH (from web)          GENERATE (AI model)
─────────────────────────────────────────────────────────────────
Speed               <2 seconds                5-30+ seconds
Quality             Professional/consistent   Variable (prompt-dependent)
Cost                Free (API calls)          Compute resources
Licensing           Clear (CC, royalty-free)  Depends on model/output
Availability        Millions of assets        Unlimited but unpredictable
Best for            Real photos, real music,  Unique art, specific prompts
                    professional imagery      that don't exist yet
🎨 Media Retrieval Examples

You: find me a video of waves crashing on a beach

Electra: → Searches Pixabay for "waves beach" → Downloads the highest-quality matching video → Opens in your video player. Done in under 3 seconds.


You: play some jazz music

Electra: → Queries Jamendo API for jazz genre → Picks a CC-licensed track → Streams/plays via mpg123. No generation wait time.


You: set a wallpaper of a forest at sunrise

Electra: → Searches Pexels for "forest sunrise" → Downloads the top 4K photo → Applies as desktop wallpaper via gsettings.


You: draw a cyberpunk cat with neon sunglasses

Electra: → This is a specific/unique request → Uses Pollinations AI generation → Returns a generated image. (Generate used only because no real photo could match this.)

💡 The philosophy in practice: Real photos of a "beach at sunset" exist by the millions — fetching one from Pexels produces a professional, consistent result in 2 seconds. But a "watercolour portrait of a robot holding a katana in a Tokyo alley" is specific enough that no existing image will match it — that's when generation is appropriate. Electra routes these intelligently based on the nature of your request.
19f — Container Management

🐳 Docker Agent — Natural Language Container Management

The Docker Agent gives you a complete natural language interface to Docker. Describe what you want to do with containers, images, volumes, or Docker Compose in plain English — Electra translates it to the correct Docker commands, explains what it's going to do, and executes with your confirmation.

What the Docker Agent Can Do

📦
Container Management
Start, stop, restart, remove, and inspect containers. Check logs, exec into a running container, and port-forward — all by describing what you want in plain English.
🏗️
Image Operations
Build images from Dockerfiles, pull from registries, list local images, remove old/unused images, tag and push to registries. Includes disk usage analysis.
🗄️
Volumes & Networks
Create and manage Docker volumes, inspect network configurations, connect/disconnect containers from networks, and clean up orphaned volumes and networks.
📋
Docker Compose
Bring compose stacks up and down, rebuild services, check compose service logs, scale services, and manage environment variable overrides — all from natural language descriptions.
🐳 Docker Agent Examples

You: list my running containers

Electra: Runs docker ps --format "table {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}" and displays results in a readable table.


You: show docker logs for myapp and tail them

Electra: Runs docker logs -f myapp — shows live log tail. Press Ctrl+C to stop.


You: how much disk is docker using

Electra: Runs docker system df and explains the breakdown: images, containers, volumes, build cache.


You: remove all stopped containers and unused images

Electra: Shows the command: docker system prune. Warns about what will be deleted. Awaits confirmation before executing.

19g — Travel & Planning

✈️ Travel Planner — AI-Powered Trip Planning

The Travel Planner activates automatically whenever you mention a trip, destination, flights, hotels, or an itinerary. It uses real-time web search combined with AI to build detailed travel plans with practical recommendations, cost estimates, and day-by-day itineraries.

What It Covers

🗺️
Destination Research
Climate, visa requirements, local customs, neighbourhoods, safety, best time to visit, local transport, currency, and must-see attractions — all researched in real time.
📅
Day-by-Day Itineraries
Full day-by-day itinerary with morning, afternoon, and evening activities. Paced appropriately for your trip length. Includes restaurant suggestions, activity times, and travel between locations.
💸
Budget Estimation
Rough daily budget breakdown: accommodation tiers (budget/mid/luxury), meals, transport, activities, and tips. Adjusted for local cost of living.
🏨
Flight & Hotel Guidance
Best booking platforms, optimal booking windows (how far in advance to book for lowest fares), which airports to fly into, hotel district recommendations, and Airbnb vs. hotel tradeoffs for the destination.
✈️ Travel Planner Examples

You: I want to visit Bangkok for 5 days in October, budget around $1,200 total

Electra: Searches for current Bangkok travel info → Produces: 5-day day-by-day itinerary, estimated daily costs, best neighbourhoods to stay, visa requirements for your passport, October weather, and top flight booking tips.


You: plan a 10-day road trip from Cape Town to Kruger

Electra: Builds a detailed driving route, overnight stop recommendations, national park booking requirements, estimated fuel costs, and day-by-day highlights.


You: find flights to Paris in December, leaving from London

Electra: Searches current fare guidance, recommends best booking platforms (Skyscanner, Google Flights), explains typical fare patterns for the LHR→CDG route in December, and gives rail (Eurostar) alternatives.

19h — Specialist Agents

🔧 Specialist System Agents

Electra includes three dedicated system management agents that handle the most complex and dangerous system operations: software installation, GPU driver management, and hardware fault diagnosis. Each agent operates with extra safety layers and step-by-step explanations.

📦 App Install Agent (APP_AGENT)

The App Install Agent handles all software package management — installation, removal, and repair — across all three major Linux package systems: apt (Debian/Ubuntu), snap, and flatpak. It also handles .deb files and can repair broken package states.

📦 App Agent Examples

You: install VLC media player

Electra: Detects whether VLC is best installed via apt, snap, or flatpak → Runs sudo apt install vlc → Verifies installation → Reports success.


You: my Chrome is broken, fix it

Electra: Checks the package status → Runs sudo apt --fix-broken install → Attempts reinstall → Reports result and any remaining issues.


You: uninstall Spotify completely including all data

Electra: Identifies all Spotify packages and config files → Shows exactly what will be removed → Awaits confirmation → Purges package and cleans config.

🎮 NVIDIA GPU Agent (NVIDIA_AGENT)

The NVIDIA Agent is a specialist for the notoriously complex task of managing NVIDIA GPU drivers on Linux. It handles driver installation from scratch, updates, CUDA installation, and removal of competing drivers (like nouveau), with full awareness of the Linux GPU ecosystem.

🎮 NVIDIA Agent Examples

You: install the NVIDIA drivers for my GPU

Electra: Detects your GPU model (lspci | grep NVIDIA) → Determines the best driver version → Blacklists nouveau → Adds the graphics-drivers PPA → Installs the driver → Schedules a reboot confirmation.


You: install CUDA for machine learning

Electra: Checks current driver version for CUDA compatibility → Downloads the correct CUDA toolkit → Installs and configures PATH variables → Verifies with nvcc --version.


You: my NVIDIA card isn't working after an update

Electra: Diagnoses the issue (nvidia-smi, journal logs, dkms status) → Identifies the conflict → Suggests targeted fix (reinstall DKMS module, downgrade kernel, etc.).

🔍 System Troubleshoot Agent (TROUBLESHOOT)

The Troubleshoot Agent activates when you report something is broken, not working, making noise, running slow, crashing, or behaving unexpectedly — and it's not an app install or NVIDIA driver issue. It follows a systematic diagnosis approach: gather information, identify the cause, propose the fix, and verify resolution.

🔍 Troubleshoot Agent Examples

You: my wifi keeps disconnecting every few minutes

Electra: Checks journalctl -u NetworkManager → Inspects power management settings → Checks driver version → Proposes fix (disable wifi power saving: sudo iw dev wlan0 set power_save off) → Verifies fix persists.


You: no sound after updating

Electra: Runs aplay -l, checks PulseAudio/PipeWire status, inspects alsamixer mute states → Identifies the broken module → Restarts audio server → Tests output.


You: my SSD is making a clicking noise

Electra: ⚠️ Issues immediate warning: SSDs don't click — this is a mechanical drive symptom → Runs smartctl -a /dev/sda → Reports health status → Strongly advises immediate backup if health is degraded.

⚠️ NVIDIA & Troubleshoot safety: Both agents show you exactly what commands they intend to run before executing anything. GPU driver installations and system-level fixes always require your explicit confirmation and may require a system reboot. The Troubleshoot Agent will never delete files or make destructive changes without showing you a diff-style preview and asking for approval.
22 — Resilience

🔧 Self-Repair System

Electra includes an autonomous self-repair system that detects agent failures, classifies the error type, attempts environment-level fixes (missing packages, permissions), forges a repair plugin that patches the gap, and files a GitHub issue — all silently in the background without interrupting the user.

Error Classification

ClassMeaningAuto-action
CAPABILITY_GAPFeature the AI couldn't implementForges a repair plugin + files GitHub issue
ENVIRONMENTMissing Python package, binary not found, permission deniedAttempts pip install or chmod; forges plugin if fails
LOGIC_ERRORBug in agent codeForges patch plugin + files issue
TRANSIENTNetwork timeout, rate limit, temporary failureLogged only; no plugin forged

Error Deduplication

Each error generates a fingerprint (hash of error type + agent name + message). If the same error has already been filed as a GitHub issue, a recurrence comment is added instead of creating a duplicate. A local ledger (~/.electra/repair_ledger.json) tracks all encountered errors and their GitHub issue URLs.

Viewing the Repair Ledger

Repair Ledger Commands
/repairs       # Show all errors encountered this session with status
/repairs clear # Clear the repair ledger
23 — Language & Localisation

🌍 Language Settings

Electra supports responding in a wide variety of languages. Once a language is set, all AI prose — explanations, chat replies, writer output, and novel generation — switches to that language. Technical tokens (command names, code, file paths, error labels) always remain in English regardless of the active language, ensuring your tooling stays consistent.

Language preference is saved to ~/.electra/config.json and automatically applied at every startup. On first launch, Electra attempts to detect your country from your IP address and suggests an appropriate language.

Setting Your Language

CommandDescription
/languageShow current language and available sub-commands
/language <name>Set response language — e.g. /language Dutch, /language Japanese
/language EnglishReset to English (the default)
/language detectAuto-detect from your IP address and prompt you to confirm
/language listShow all languages supported by the auto-detect map
/lang <name>Short alias for /language

Supported Languages

The auto-detect map covers the most common world languages. You can also type any language name directly — Electra will set it and instruct the model accordingly. Most frontier models handle the following languages well:

LanguageLanguageLanguageLanguage
ArabicBengaliBulgarianChinese
CroatianCzechDanishDutch
FinnishFrenchGermanGreek
HebrewHindiHungarianIndonesian
ItalianJapaneseKoreanMalay
NorwegianPersianPolishPortuguese
RomanianRussianSlovakSpanish
SwedishThaiTurkishUkrainian
UrduVietnamese… and any other language you type in
💡 Note on model support: Language quality depends on the active model. Larger models (Qwen, DeepSeek, Step) generally have the best multilingual coverage. If responses slip back into English, try switching to a larger model with /model.

What Stays in English

Even with a non-English language active, the following always remain in English to preserve usability:

  • Slash command names and syntax
  • Code, scripts, and terminal output
  • File paths and directory names
  • Error messages and technical labels
  • Git commit messages and code comments

Examples

Set language to French
/language French

✅ Language set to French. Electra will now respond in French.

Auto-detect from your location
/language detect

🌍 Detecting location…
Detected: Vietnam → suggested language: Vietnamese
Set language to Vietnamese? (y/N): y
✅ Language set to Vietnamese

Set a language not in the auto-detect list
/language Swahili

✅ Language set to Swahili. Electra will now respond in Swahili.
Note: language support depends on the active model.

25 — Best Practices

💡 Tips, Tricks & Best Practices

🚀 Getting the Best Results

💡 Tip 1 — Be Specific in Coder Mode

Less effective: "fix the bug"

More effective: "the /api/users endpoint returns a 500 error when the email field is missing from the request body. Fix it and add a proper validation error response."

Specific bug descriptions let the AI locate the exact code, understand the expected behaviour, and write a targeted fix instead of guessing.

💡 Tip 2 — Use /plan for Complex Features

For any feature that touches multiple files or has uncertain architecture, use /plan mode instead of jumping straight to implementation. The Architect phase will catch design problems before any code is written.

💡 Tip 3 — Set Your Profile

Fill in your profile once and Electra injects it into every agent:

/profile language=Python
/profile frameworks=FastAPI, SQLAlchemy, pytest
/profile style=concise, no explanatory comments in code
/profile conventions=always use type hints, snake_case everywhere
/profile paths=~/projects/myapp is my main project

Every Coder and Writer session now automatically knows your preferences without you having to repeat them.

💡 Tip 4 — Use Hotkeys for Frequent Commands
/hotkeys set s=/status
/hotkeys set t=/think
/hotkeys set n=/newchat
/hotkeys set d=/diff all

Now just type s at any prompt to run /status, t to toggle thinking, etc.

💡 Tip 5 — /todo work is Powerful

Build up a task list throughout the day with /todo add, then use /todo work <n> to have the AI immediately start on any task. This is especially powerful in Coder mode for batching up multiple features and executing them one by one.

💡 Tip 6 — /inspect Before Compiling Novels

Always run /inspect before compiling a novel to EPUB/PDF. It flags short scenes, placeholders, and inconsistencies, giving you a chance to expand them before publishing.

💡 Tip 7 — Use Thinking Models for Hard Problems

Switch to a reasoning model (like nemotron-3-nano-reasoning or kimi-k2.6) for difficult debugging, algorithm design, or complex architecture problems. Enable /think to see the model's reasoning chain, which often reveals insights you can act on.

💡 Tip 8 — The Electra Bar is Your Global AI Shortcut

Keep the Electra Bar open on your desktop. Any quick AI task — "set a reminder", "what's the weather", "play jazz on Spotify", "what does this terminal error mean?" — can be handled without switching windows. The routing agent dispatches everything to the right mode automatically.

💡 Tip 9 — Review Diffs Before Every Commit

Use /diff all before /commit to page through every file the AI modified. This is your final quality gate — you might catch something the AI missed or spot a change you want to tweak manually before it goes into version control.

💡 Tip 10 — Write Plugins for Repeated Workflows

If you find yourself typing the same kind of prompt repeatedly — checking a specific API, formatting data a certain way, querying an internal system — write a plugin for it. Use /plugin write a plugin that [describes what you want] and Electra will write, save, and test the plugin for you in minutes.

⚠️ Common Pitfalls

⚠️ Don't run /rollback carelessly. Rollback restores ALL files from the snapshot taken when you entered the current mode. If you've made manual edits alongside the AI's edits, those manual edits will also be rolled back. Use /diff all first to review what changed.
⚠️ Approve-all skips confirmation. When you press a in the diff confirm prompt to approve-all, subsequent file writes in that session happen without asking. This is a productivity feature but be aware of it for large, wide-ranging sessions.
⚠️ Plugin triggers must be specific. Broad triggers like "tell me" or "show" will steal routing from core modes. Keep triggers to distinctive phrases that clearly indicate intent for your specific plugin.

🔧 Personalisation Checklist

  • ✅ Set your /profile with language, frameworks, and coding style
  • ✅ Configure /hotkeys for your most-used commands
  • ✅ Set up Google OAuth for email, calendar, and Drive access
  • ✅ Connect Home Assistant if you have smart home devices
  • ✅ Set up Spotify for music control from the terminal or Electra Bar
  • ✅ Configure the Telegram bridge for remote access from your phone
  • ✅ Install the Heartbeat Agent with /agent service install for autonomous background tasks
  • ✅ Add your first autonomous task from Telegram: /task add Morning News | Summarise today's headlines | daily 08:00
  • ✅ Add your favourite RSS feeds with /rss add <url>
  • ✅ Connect your GitHub account with /github connect
  • ✅ Browse community plugins with /plugin community
  • ✅ Try /guide for the interactive built-in tutorial
Access & API

🔌 Use Electra AI Anywhere — Public API Access

Your Electra AI account doesn't just power the desktop terminal — it also gives you a personal public API key you can use in any OpenAI-compatible third-party tool or editor. The same daily request limit you have inside Electra is shared across your desktop sessions and your API key usage, so there's no double-counting and no separate subscription needed.

This means you can use your Electra AI access in tools like VS Code, Cursor, Windsurf, Zed, Neovim, Open WebUI, AnythingLLM, or any other application that supports a custom OpenAI-compatible endpoint — all backed by the same pool of 80+ models available in Electra itself.

💡 Where to find your API key
Visit makululinux.us, sign in with your Patreon account, and your API key is displayed on the dashboard. Copy it once — it never changes unless you regenerate it.

Endpoint Details

SettingValue
Base URLhttps://makululinux.us:2006/v1
Auth headerAuthorization: Bearer YOUR_API_KEY
CompatibilityOpenAI-compatible — drop-in replacement for the OpenAI SDK or any compatible client
Tool callingEnabled on /v1/chat/completions
Shared limitsYour daily limit is shared between the desktop app and API key — same pool, no double billing

Quick Setup Examples

Python — OpenAI SDK
from openai import OpenAI

client = OpenAI(
    base_url="https://makululinux.us:2006/v1",
    api_key="YOUR_API_KEY"
)

response = client.chat.completions.create(
    model="stepfun-ai/step-3.5-flash",
    messages=[{"role": "user", "content": "Hello from VS Code!"}]
)
print(response.choices[0].message.content)
VS Code / Cursor / Windsurf — settings.json snippet
{
  "openai.apiKey": "YOUR_API_KEY",
  "openai.baseURL": "https://makululinux.us:2006/v1"
}
⚠️ Daily limit is shared. Requests made via the API key count against the same daily quota as requests made inside the Electra desktop terminal. Pro tier members have a significantly higher daily limit — upgrade your Patreon membership at patreon.com/MakuluLinux to increase your allowance.