Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

BRIAN

BRIAN

A self-hosted agent runtime. Model, loop, tools, memory, permissions.

PyPI Python License

pip-installable as brian-core 2.0.0rc8. The command is brian.

macOS / Linux

curl -fsSL https://heybrian.ai/install | bash

Windows

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

License

Apache License 2.0. Copyright 2026 TTG AI LLC. See LICENSE and NOTICE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brian_core-2.0.0rc8.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

brian_core-2.0.0rc8-py3-none-any.whl (997.9 kB view details)

Uploaded Python 3

File details

Details for the file brian_core-2.0.0rc8.tar.gz.

File metadata

  • Download URL: brian_core-2.0.0rc8.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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":null}

File hashes

Hashes for brian_core-2.0.0rc8.tar.gz
Algorithm Hash digest
SHA256 9e9c8d9cb8992c02534c738474326d1182ef673daa88019a1ca25656bf8ebc7a
MD5 376e68a4bdb0231cf965674d5ae1cf73
BLAKE2b-256 1bf49e969df6e999c51ff6326e5a4cb75392fd007610970d0fa1de36eaeadcba

See more details on using hashes here.

File details

Details for the file brian_core-2.0.0rc8-py3-none-any.whl.

File metadata

  • Download URL: brian_core-2.0.0rc8-py3-none-any.whl
  • Upload date:
  • Size: 997.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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":null}

File hashes

Hashes for brian_core-2.0.0rc8-py3-none-any.whl
Algorithm Hash digest
SHA256 eb6094a263eb9259d1aa198b24266cbda1ba9c885776fe3d2947a87aa4d67ca3
MD5 75f55c5305c70988ed7b64923b85c107
BLAKE2b-256 da023c115435ee6d99bcb08e8db9315afb7d15fb7d5d06486971a5a2a6497762

See more details on using hashes here.

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