A toy AI assistant with agent capabilities and file system access
Project description
ExoBrain
A toy AI assistant with tool calling capabilities and file system access, running in your terminal with or without TUI.
Features
- ๐ป TUI Interface - Terminal UI based on Textual
- ๐ค Multi-Model Support - OpenAI, Gemini, local models (hosted via vLLM etc)
- ๐ ๏ธ Tools and Skills System - File operations, web search, shell execution. Integrated Anthropic Skills and allow user self defined skills.
- ๐ MCP Support - Model Context Protocol integration (currently integrated Context7)
- ๐ Permission Control - Fine-grained permission requests and access control
- ๐ฌ Session Management - Project-level and global session storage
- ๐ฏ Background Tasks - Create, track, and manage background tasks.
- ๐ Constitutional AI - Customizable behavioral guidelines
For OpenAI apis, currently up to GPT-5 is supported, while GPT-5.2 is not (due to planning is not currently supported yet), but will be added in future updates. The purpose of this project is to experiment with building a modular AI assistant that can integrate multiple models, and tools, with full control and transparency. Only use it for fun, not for production.
Quick Start
Installation
Install from pip:
pip install exobrain
Install from source (development):
git clone https://github.com/visualdust/exobrain.git
cd exobrain
git submodule update --init --recursive
# Install with uv
uv sync
# Or with pip
pip install -e .
Setup
Run the configuration wizard:
exobrain config init
The wizard will guide you through:
- Selecting AI model providers (OpenAI, Gemini, or local models)
- Configuring API keys
- Setting up basic features and permissions
Quick Start
exobrain chat # Start interactive chat
exobrain chat --model openai/gpt-5 # Use specific model
exobrain chat --continue # Resume last session
exobrain chat --help # see other chat options
# Manage sessions
exobrain sessions list
exobrain sessions show <session-id>
exobrain sessions --help # see other session commands
# Manage skills
exobrain skills # manage skills in tui
exobrain skills --help # see other skill commands
# Background tasks
exobrain tasks submit "read file ./data/report.pdf and summarize" # Submit a background task
exobrain tasks list # List background tasks and status
exobrain tasks show <task-id> # Show task details
exobrain tasks --help # see other task commands
# Manage constitution
exobrain constitution list # List all constitutions
exobrain constitution use <name> # Switch constitution
exobrain constitution --help # see other constitution commands
# Make current folder a project folder
exobrain init
Documentation
Docs are comming soon!
Permission System
ExoBrain requests permission for sensitive operations:
- Once - Grant for this operation only
- Session - Grant for this chat session
- Always - Add to config permanently
Example:
โญโโโโโโโโโโโโโโโ Permission Request โโโโโโโโโโโโโโโโฎ
โ โ ๏ธ Permission Required โ
โ โ
โ Tool shell_execute โ
โ Action Execute shell command โ
โ Resource git status โ
โ Reason Command not in allowed list โ
โ โ
โ Grant permission for this action? โ
โ โ
โ [y] Yes, once [n] No โ
โ [s] Yes, session [a] Yes, always โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
License
MIT License - see LICENSE file for details Note that this project integrates third-party skills that may have their own licenses. See the skills directory for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file exobrain-0.2.0.tar.gz.
File metadata
- Download URL: exobrain-0.2.0.tar.gz
- Upload date:
- Size: 402.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7330e7311d6789ee807f2630258dca0f1d7d711d2de609d0ecac3353ea885e96
|
|
| MD5 |
0482bcbd4942797ee5fd1261a59dcb03
|
|
| BLAKE2b-256 |
86cd2bbeb68b12e578b59d13942b3f03776d1a7d0de1aeb313692ae683b4810a
|
File details
Details for the file exobrain-0.2.0-py3-none-any.whl.
File metadata
- Download URL: exobrain-0.2.0-py3-none-any.whl
- Upload date:
- Size: 491.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a9548c3a68df3847ba156a45b5a185c6637e98e7cc89f54dcef91e71ad6bc96
|
|
| MD5 |
ff8e9549ddc154d10a911ff075cd299d
|
|
| BLAKE2b-256 |
fded1ea930d90172638243fe4f5b49ef91f49ace22d214edf3dafe6ac62c5979
|