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.0rc18. 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

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.0rc18.tar.gz (2.2 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.0rc18-py3-none-any.whl (1.0 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: brian_core-2.0.0rc18.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for brian_core-2.0.0rc18.tar.gz
Algorithm Hash digest
SHA256 6547fa654c2930d66a3dd10f6035121f73f6427856f01077847f33387251b6f7
MD5 3866b3281c68b58d78ca58ec8a8e07d9
BLAKE2b-256 2678145ab06c2daabd8a0f0602ef7f84dc9ad6052a1f2bff19555443b6f00286

See more details on using hashes here.

File details

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

File metadata

  • Download URL: brian_core-2.0.0rc18-py3-none-any.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for brian_core-2.0.0rc18-py3-none-any.whl
Algorithm Hash digest
SHA256 c8af6aa2a2a52a7883b9924946d8710020c3fad7e6c98f1cf8309fcd20488063
MD5 d416324c17d6f76bf6063dc4df878225
BLAKE2b-256 e32a7881925296b556710971a359cbd996626c6c2b28c6806f581189bef7793d

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