Skip to main content

AI coding agent CLI — local LLMs via Ollama, AirLLM, or cloud models via API

Project description

Vaal

AI coding agent CLI. Runs local LLMs via Ollama or cloud models via API. Named after the Vaal Orb from Path of Exile.

Install

git clone https://github.com/0xE666/vaal.git
cd vaal
python install.py

That's it. vaal is now available as a command from anywhere, just like claude.

Or manually:

pip install -e .

Quick Start

# With Ollama (free, local)
vaal

# With Claude
vaal -m anthropic:claude-sonnet-4-20250514

# With OpenAI
vaal -m openai:gpt-4o

On first run with a cloud model, use /login to add your API key:

/login anthropic sk-ant-api03-your-key-here
/login openai sk-your-key-here

Or create a vaal account at e-e.tools/vaal:

/register

Features

  • 45 tools — bash, file read/write/edit, git, grep, glob, web search, agents, notebooks, and more
  • Subagents — spawn background agents (explore, plan, verify, code-review) that work in parallel
  • 80+ slash commands/commit, /test, /pr, /diff, /pin, /remote, /plugin, and more
  • Multi-provider — Ollama, AirLLM (local 70B+ on 4GB VRAM), Anthropic, OpenAI, Groq, OpenRouter, DeepSeek, Together
  • Self-repair — catches its own crashes, asks the LLM to fix the bug, patches itself
  • Remote control — control vaal from a browser at e-e.tools/vaal
  • Plugins — create custom tools with /plugin create or let the LLM generate them
  • Tab completion — file paths auto-complete on Tab
  • Persistent history — Up arrow recalls prompts across sessions

Providers

Provider Auth Example
Ollama None (local) vaal -m qwen3:8b
AirLLM None (local, CUDA) vaal -m airllm:Qwen/Qwen2.5-14B-Instruct
Anthropic API key or Max/Pro OAuth vaal -m anthropic:claude-opus-4-6
OpenAI API key vaal -m openai:gpt-4o
Groq API key vaal -m groq:llama-3.3-70b-versatile
OpenRouter API key vaal -m openrouter:anthropic/claude-sonnet-4
DeepSeek API key vaal -m deepseek:deepseek-chat
Together API key vaal -m together:meta-llama/Llama-3.3-70B

Key Commands

/help          — All commands
/login         — Add API key
/register      — Create vaal account
/commit        — Auto-generate commit message
/test          — Run tests, auto-fix failures
/pr            — Create pull request
/pin <file>    — Keep file in context
/remote        — Control from browser
/plugin create — Create custom tools
/effort        — Set inference level
/doctor        — System diagnostics

AirLLM — Run 70B Models Locally

Run any HuggingFace model on low-VRAM GPUs via layer-by-layer inference:

pip install vaal-code[airllm]      # install AirLLM support

vaal
/pull airllm:Qwen/Qwen2.5-14B-Instruct          # download model
/model airllm:Qwen/Qwen2.5-14B-Instruct         # switch to it

# With 4-bit compression for larger models (72B on 12GB VRAM):
/pull airllm:Qwen/Qwen2.5-72B-Instruct
/model airllm:Qwen/Qwen2.5-72B-Instruct:4bit

Set download location in ~/.vaal/config.json:

{ "airllm": { "layer_shards_saving_path": "D:/models" } }

Requirements

  • Python 3.11+
  • httpx, rich (auto-installed)
  • Ollama (optional, for local models via Ollama)
  • CUDA GPU + pip install vaal-code[airllm] (optional, for AirLLM local inference)
  • Git (optional, for git commands)

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

vaal_code-0.7.0.tar.gz (234.7 kB view details)

Uploaded Source

Built Distribution

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

vaal_code-0.7.0-py3-none-any.whl (261.8 kB view details)

Uploaded Python 3

File details

Details for the file vaal_code-0.7.0.tar.gz.

File metadata

  • Download URL: vaal_code-0.7.0.tar.gz
  • Upload date:
  • Size: 234.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for vaal_code-0.7.0.tar.gz
Algorithm Hash digest
SHA256 ad08aa36ba2c3390d517e4343184791dfb1946abcb22d0dced43ae2e95418d0e
MD5 6e0fad66a72d3fcea837220351eb4e89
BLAKE2b-256 c20be5843467f0d8231f7923981f3767fa664c78fa737461a0504dd27778cc6d

See more details on using hashes here.

File details

Details for the file vaal_code-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: vaal_code-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 261.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for vaal_code-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 80cc8868fb982219759b202e550d4789d0fe04d57d5a764ece62e3d983ca941a
MD5 170d53e6608f1e9d96890b5343296eaf
BLAKE2b-256 b1367a4418b0f84fcdbf5a4f40ffd3928a20a670036adf0b1a09ee32ca0f6674

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