Skip to main content

MahanAI: terminal AI agent for NVIDIA NIM (OpenAI-compatible), tools, streaming, /api-key, safety prompts.

Project description

icon

MahanAI Super

Terminal AI agent (Super 2.0) with multi-model support, streaming chat, tools, and a built-in Claude CLI mode. Docs: MahanAI.

Install

pip install mahanai
mahanai

Models

MahanAI Super supports multiple backends selectable at runtime via /models.

NVIDIA NIM

Pretty Name Model ID Backend
Llama 3.3 70B meta/llama-3.3-70b-instruct NVIDIA NIM (direct)

Note: A legacy server mode (mahanai/mahanai) exists in the model selector but is undocumented and not recommended for use.

Claude

Pretty Name Model ID Backend
Claude Opus 4 claude-opus-4-7 Claude CLI
Claude Sonnet 4.6 claude-sonnet-4-6 Claude CLI
Claude Haiku 4.5 claude-haiku-4-5-20251001 Claude CLI

OpenAI Codex

Seven models available, each accessible in Direct and Indirect mode (see OpenAI Codex below):

Pretty Name Model ID
GPT-5.4 gpt-5.4
GPT-5.2-Codex gpt-5.2-codex
GPT-5.1-Codex-Max gpt-5.1-codex-max
GPT-5.4-Mini gpt-5.4-mini
GPT-5.3-Codex gpt-5.3-codex
GPT-5.2 gpt-5.2
GPT-5.1-Codex-Mini gpt-5.1-codex-mini

Switch models interactively with /models (arrow-key selector) or quick-switch with /mode claude / /mode default.

Commands

Command Description
/models Interactive model selector (↑↓ arrows, Enter to confirm, Esc to cancel)
/mode claude Quick-switch to Claude Sonnet 4.6
/mode default Quick-switch back to MahanAI Super (server)
/api-key [key] Save server API key (omit key for hidden prompt)
/api-key clear Remove saved server key
/api-key-nvidia [key] Save NVIDIA direct API key
/api-key-nvidia clear Remove NVIDIA key, switch back to server
/codex-login Sign in to OpenAI via browser (Codex Direct mode)
/codex-logout Remove saved OpenAI Codex credentials
/help Show help
/exit or /quit Leave

API Keys

Server / NVIDIA NIM

  1. Environment: MAHANAI_API_KEY=...
  2. Project .env: MAHANAI_API_KEY=...
  3. In-app: /api-key your-key

Keys are stored under %APPDATA%\MahanAI\config.json on Windows or ~/.config/mahanai/config.json on Linux/macOS.

Claude CLI mode

Claude models use your local claude CLI installation. Make sure Claude Code is installed and on your PATH. No extra API key configuration needed inside MahanAI — it uses whatever account Claude CLI is authenticated with.

OpenAI Codex

MahanAI supports two Codex authentication modes:

Direct mode

Signs in to your OpenAI account via a browser-based OAuth PKCE flow — no API key needed.

/codex-login

This opens your browser to auth.openai.com. After you approve, MahanAI receives and stores the access token automatically. Tokens are refreshed silently before they expire (saved to the same config.json as other keys).

Indirect mode

Reads credentials from a locally installed and signed-in OpenAI Codex CLI. MahanAI looks for auth.json in these locations:

Platform Paths checked
Windows %LOCALAPPDATA%\OpenAI\Codex\auth.json, ~\.codex\auth.json
macOS / Linux ~/.codex/auth.json, ~/.config/codex/auth.json

If no token file is found, MahanAI falls back to running the codex CLI as a subprocess (requires Codex CLI on your PATH).

To use indirect mode, install and sign in to the Codex CLI first:

npm i -g @openai/codex
codex login

Then select any OpenAI Codex (Indirect) model from /models.

Environment Variables

Variable Purpose
MAHANAI_API_KEY Override saved server API key
MAHANAI_MODEL Override default model ID
MAHANAI_STREAM Set to 0/false/no/off to disable streaming
MAHANAI_CONFIG_DIR Override config file directory
NO_COLOR Disable terminal colors

Tools

MahanAI can execute tools on your behalf:

  • run_command — run shell commands (asks confirmation before destructive ops)
  • read_file — read a file
  • write_file — write a file
  • append_file — append to a file
  • list_directory — list directory contents

Develop

pip install -e .
python -m mahanai

Publish to PyPI

Bump version in both pyproject.toml and mahanai/__init__.py, then:

pip install build twine
python -m build
python -m twine check dist/*

Windows (PowerShell):

$env:TWINE_USERNAME = "__token__"
$env:TWINE_PASSWORD = "pypi-YOUR_TOKEN_HERE"
python -m twine upload dist/mahanai-4.0.0*

macOS / Linux:

export TWINE_USERNAME=__token__
export TWINE_PASSWORD=pypi-YOUR_TOKEN_HERE
python -m twine upload dist/mahanai-4.0.0*

twine cannot publish without your token; keep it out of git.

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

mahanai-4.1.0.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

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

mahanai-4.1.0-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

File details

Details for the file mahanai-4.1.0.tar.gz.

File metadata

  • Download URL: mahanai-4.1.0.tar.gz
  • Upload date:
  • Size: 20.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for mahanai-4.1.0.tar.gz
Algorithm Hash digest
SHA256 41830395ef56276749a9ea08833d740858c2e429f5f993da7c9598a8e23abee2
MD5 8b41b232e844a2545330d5066ce82cb2
BLAKE2b-256 84407b34788cf71578c1fda85bfa9f9d2372c5334ad8219c8f28c24ce5dc6795

See more details on using hashes here.

File details

Details for the file mahanai-4.1.0-py3-none-any.whl.

File metadata

  • Download URL: mahanai-4.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for mahanai-4.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cda2af2db71756d035d173c9fc4d430f684e81bbde11bd3892ef42d8e760b960
MD5 5d8ed1bc93027ef12af6eda5d25acbb5
BLAKE2b-256 c071daac5aef4762323c0ebd7f9d5c75199d9585fee42f659d4d02fd8b5729f2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page