This release is a pre-release and may not be stable for production use.
BRIAN
A self-hosted agent runtime. Model, loop, tools, memory, permissions.
pip-installable as brian-core 2.0.0rc22. The command is brian.
macOS / Linux
curl -fsSL https://heybrian.ai/install | bash
cmd
powershell -c "irm https://heybrian.ai/install.ps1 | iex"
PowerShell
irm https://heybrian.ai/install.ps1 | iex
First brian in a terminal asks for a provider, credentials, and model, seeds ~/.brian/SOUL.md if missing, live-pings the provider, then asks what to call you. brian doctor diagnoses the home without starting a session. Pipe install stays non-interactive. Bring your own LLM key. The wheel is code — memory and sessions start empty, in ~/.brian.
What you get
| Door | How |
|---|---|
| CLI | brian |
| HTTP API | brian --api |
| Agent SDK | from brian_core.sdk import run — same loop, in-process, not HTTP |
BrianClient talks to the HTTP API. It is not the Agent SDK.
from brian_core.sdk import run, stream
print(run("list python files"))
for event in stream("list python files"):
...
Twelve providers (Anthropic, OpenAI, Gemini, Bedrock, OpenRouter, DeepSeek, Mistral, xAI, Ollama, LM Studio, plus generic gateways). Seventy tools: shell, files, browser, desktop, web, media, MCP, subagents, durable runs that survive a crash.
From this repo
Git, Python 3.11+, uv. Code lives under src/brian_core.
git clone https://github.com/mrgizmo212/Brian.git
cd Brian
uv sync
uv run brian --help
uv run brian
uv run brian "list python files"
Optional extras: providers, hosted.
Modes
uv run brian # TUI
uv run brian --repl # CLI prompt
uv run brian "do this" # one shot
uv run brian --continue # last session
uv run brian --resume <session-id>
uv run brian --fork-session <id>
uv run brian --tui
uv run brian --api
uv run brian --scheduler
uv run brian --heartbeat-only
uv run brian --learning-graph
uv run brian --version
uv run brian doctor
One mode per invocation. --api requires API_SERVER_KEY.
HTTP API
uv run brian --api
curl -fsS http://127.0.0.1:8000/health
curl -fsS http://127.0.0.1:8000/v1/chat/completions \
-H "Authorization: Bearer $API_SERVER_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"agent","messages":[{"role":"user","content":"Say hello."}]}'
| Endpoint | Purpose |
|---|---|
POST /v1/chat/completions |
Chat, streaming or not |
POST /v1/runs |
Durable run |
GET /v1/runs/{id}/events |
SSE |
POST /v1/runs/{id}/approval |
Human approval |
GET /v2/capabilities |
Machine-readable surface |
Self-host with Docker: deploy/README.md.
Config
Settings live in ~/.brian/.env (or BRIAN_ENV_FILE). Names are in env.example. Required: PROVIDER, MODEL, and that provider's key.
Override the home directory with BRIAN_HOME.
Docs
docs/CAPABILITIES.md— what it can do (Memory Trio: flush-before-compact, stub summary, skill proposals; Engine parity 2026-09-20: real token counting, file-tool fence, default step cap, one durable path, surfaced transcript failures, CI)docs/brian-operator.md— SOUL, skills, MCP, session save, compaction flagsAGENTS.md— working in this repo (module index, Memory Trio table, Engine parity table)docs/core-v2/package-migration.md— package, CLI, and install reference
License
MIT License. Copyright 2026 TTG AI LLC. See LICENSE and NOTICE.
Metadata
Release files for brian-core 2.0.0rc22
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| brian_core-2.0.0rc22.tar.gz | 2.5 MB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| brian_core-2.0.0rc22-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.6 MB
Release files / brian_core-2.0.0rc22.tar.gz
| Download URL | brian_core-2.0.0rc22.tar.gz |
|---|---|
| Size | 2.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c54adc3c25f402b1a8835210e3f078e32c1dd95227fa225df1707cd8d0d704dd
|
|
BLAKE2b-256 checksum How to use checksums |
311713f3842fcada2575562920772bd85a230fa8ddaf59539df238d51c49640a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.15
|
Release files / brian_core-2.0.0rc22-py3-none-any.whl
| Download URL | brian_core-2.0.0rc22-py3-none-any.whl |
|---|---|
| Size | 1.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e96d3c1a8e73f35038e39d88c31402564c241c2d6848ca5d5a28ecda468f5ec3
|
|
BLAKE2b-256 checksum How to use checksums |
b94e983a0b39051010730d9fe9ac979204d83c414f83556a31fb0a46c22ad0bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.15
|
Security for brian-core 2.0.0rc22
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.