Skip to main content

exara-agent

PyPI Python License: MIT

Local-first autonomous AI agent for programming and system automation. Runs against local models (Ollama, vLLM, LM Studio, llama.cpp) or any OpenAI-compatible API (OpenRouter, OpenAI, DeepSeek, Anthropic, Groq) using native tool calling. Ships with a Rich CLI, a Next.js web UI, and MCP (Model Context Protocol) support so you can plug in GitHub, filesystem, Slack, Linear, Postgres, and the rest of the community catalog.

pip install exara-agent
exara init      # one-time interactive setup
exara chat      # talk to it from any folder

What it does

  • ReAct loop with native tool calling — no fragile JSON parsing, the model emits real function calls.
  • 30+ built-in tools — file ops, multi-edit, search, shell, background processes, Python execution, git, package install, web fetch, vision, audio, todos, plan mode, subagent delegation.
  • MCP client — ~/.ai-agent/mcp.json works the same as Claude Desktop / Cursor: drop in any server from the catalog and the tools appear in the agent. Multi-source merge: bundled defaults → user-global → per-workspace.
  • Skills system — markdown knowledge packs with auto-activation by stack (Python, Next.js, FastAPI, …). 10 ship out of the box; add your own at ~/.ai-agent/skills/ (global) or ./skills/ (per-project).
  • Multi-provider profiles — exara profile use openrouter to swap. Keys live in ~/.ai-agent/profiles.json, never in the repo.
  • Three-tier permission model — safe / normal / full, with a hard denylist for destructive commands (rm -rf /, mkfs.*, format c:, …) enforced at every level.
  • Streaming responses + per-tool diff previews — Claude Code-style UX.
  • Auto-context compaction — keeps long sessions inside the model's window without you noticing.
  • Hooks — shell commands fired on session_start, pre_tool_use, post_tool_use, etc. Same model as Claude Code.
  • Docker sandbox (optional) — route run_python and execute_terminal through a disposable container instead of your host shell.
  • Secret redaction — OPENAI_API_KEY=…, GitHub PATs, AWS keys, Bearer tokens, and DB URLs are scrubbed from every tool output before they reach the model.

Install

pip install exara-agent

Or with pipx for global isolation (recommended):

pipx install exara-agent

One-liner installers (detect Python, install pipx if missing, run wizard):

# macOS / Linux
curl -sSL https://raw.githubusercontent.com/santirivera-oss/exara-agent/main/scripts/install.sh | bash
# Windows (PowerShell)
iwr https://raw.githubusercontent.com/santirivera-oss/exara-agent/main/scripts/install.ps1 | iex

First run

exara init

Interactive wizard. Picks a provider, asks for an API key, optionally enables MCP servers (filesystem / github / memory / sequential-thinking) and writes a starter skill at ~/.ai-agent/skills/my-preferences.md.

Sanity check

exara doctor       # provider reachable? tools loaded? memory writable?
exara skills list  # which skills are active in this cwd
exara mcp list     # which MCP servers + tools are wired up

Use it

# One-shot task
exara run "summarise the structure of this project"

# Interactive REPL
exara chat

# Web UI (after `npm install` in frontend/)
exara serve   # http://127.0.0.1:8765
cd frontend && npm run dev   # http://localhost:3100

Slash commands

/help     /tools    /sessions       /resume <id>
/model    /plan     /init           /compact
/stats    /todos    /ps             /clear

Providers

Anything OpenAI-compatible works out of the box. Built-in presets:

Preset Endpoint Default model
ollama-local http://localhost:11434 qwen2.5:7b-instruct
openrouter https://openrouter.ai/api/v1 deepseek/deepseek-chat
openai https://api.openai.com/v1 gpt-4o-mini
anthropic https://api.anthropic.com/v1 claude-haiku-4-5
deepseek https://api.deepseek.com/v1 deepseek-chat
groq https://api.groq.com/openai/v1 llama-3.3-70b-versatile
lm-studio http://localhost:1234/v1 (whatever you loaded)
exara profile presets       # show the catalog
exara profile add --from openrouter --use
exara profile use ollama-local

Permission levels

Level Reads Writes / shell / python Confirmation
safe yes denied n/a
normal yes allowed required on high-risk
full yes allowed skipped

Destructive command patterns (rm -rf /, mkfs.*, format c:, etc.) are blocked at every level via the bundled default_config.yaml.


Config layout

~/.ai-agent/
├── profiles.json        # provider keys (gitignored by design)
├── mcp.json             # global MCP servers
├── config.yaml          # optional global overrides
├── skills/              # global skills (always loaded)
│   └── my-preferences.md
├── data/agent.db        # conversation memory (SQLite)
└── logs/                # JSON logs

./                        # per-workspace overrides
├── .env                 # env vars (highest precedence)
├── config.yaml          # workspace-only overrides
├── mcp.json             # workspace MCP servers (merged on top of global)
└── skills/              # workspace skills (override globals by name)

Precedence (low → high): bundled defaults → ~/.ai-agent/config.yaml → workspace config.yaml → active profile → AI_AGENT_* env vars.


Architecture & docs


Develop

git clone https://github.com/santirivera-oss/exara-agent
cd exara-agent
python -m venv .venv
. .venv/Scripts/Activate.ps1     # PowerShell on Windows
# source .venv/bin/activate      # macOS / Linux
pip install -e ".[dev]"
pytest                           # backend tests

# Web UI
cd frontend
npm install
npm run dev                      # http://localhost:3100

License

MIT — see LICENSE.

Metadata

Release files for exara-agent 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for exara-agent 0.1.1
File Size Uploaded
exara_agent-0.1.1.tar.gz 131.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for exara-agent 0.1.1
File Interpreter ABI Platform
exara_agent-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 266.2 kB

Release files / exara_agent-0.1.1.tar.gz

Download URL exara_agent-0.1.1.tar.gz
Size 131.5 kB
Tags Source
SHA-256 checksum
How to use checksums
078df952d00c147c935680a515c4a172a20da9885a2a25a423022817ec41cb29
BLAKE2b-256 checksum
How to use checksums
a56dd84624ade4ac7318c4c5fb48d6e139659099b2f775140061b312efcc11e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 18, 2026.

Transparency log

Release files / exara_agent-0.1.1-py3-none-any.whl

Download URL exara_agent-0.1.1-py3-none-any.whl
Size 134.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6f106a6442fbe410e9a9b512e04c394257be20ad90954f63092774482844501c
BLAKE2b-256 checksum
How to use checksums
287f2cab36e2c3199ae3b406e54fdad6e28f36e50a590aaa609800ac31696115
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 18, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page