AIForge
AIForge is a terminal-based autonomous AI agent with an interactive TUI and full CLI — designed for developers who want an AI coding assistant that runs locally, talks to any LLM, and operates directly on their file system.
aiforge tui # launch full TUI (chat + file browser + status)
aiforge run "create a Flask REST API" # one-shot task
aiforge # interactive REPL
Features
- Interactive TUI — 3-panel layout: file browser, chat, live status. Press
Ctrl+Fto toggle the file panel,Escapeto cancel a running task. - CLI REPL — persistent prompt-toolkit shell with session history, built-in commands (
:help,:tools,:sessions,:workspace, …) - Autonomous agent — plan → execute → observe loop with stop policy, retry logic, and proper JSON memory
- 15 built-in tools — file read/write/edit/create/delete/search, shell.run, git commit/diff/rollback, project.workspace/analyze, network.fetch/scrape/search
- Multi-provider — ZAPI, OpenAI, OpenRouter, Ollama (local), with automatic retry on 5xx errors
- Session history — every task logged; inspect with
aiforge sessions show <id> - Portable workspace — resolves via
AIFORGE_WORKSPACEenv → config → cwd; no hardcoded paths
Installation
pip install aiforge
Requires Python 3.11+.
Quick Start
1. Configure a provider
aiforge setup # interactive wizard
# or directly:
aiforge keys set zapi YOUR_API_KEY
aiforge models use zapi qwen-3-235b-a22b-instruct-2507
Supported providers: ZAPI, OpenAI, OpenRouter, Ollama (no key needed).
2. Launch
# Full TUI (recommended)
aiforge tui
# One-shot task
aiforge run "write a Python web scraper for example.com"
# Interactive REPL
aiforge
3. Set your workspace
aiforge workspace set /path/to/your/project
# or
export AIFORGE_WORKSPACE=/path/to/your/project
TUI Keybindings
| Key | Action |
|---|---|
Ctrl+Q |
Quit |
Ctrl+F |
Toggle file panel |
Ctrl+L |
Clear chat |
Ctrl+R |
Refresh file tree |
Escape |
Cancel running task |
CLI Commands
aiforge doctor check environment health
aiforge run <task> run a one-shot agent task
aiforge tools list show all available tools
aiforge tool <name> k=v invoke a tool directly
aiforge sessions list sessions
aiforge sessions show <id> inspect a session's task log
aiforge workspace show print active workspace
aiforge workspace set <p> persist workspace path
aiforge providers list show provider status
aiforge providers test send a test request to verify provider
aiforge models list list known models per provider
aiforge models use <p> <m> select active model
aiforge keys set <p> <key> save provider API key to .env
aiforge config get [key] read config value
aiforge config set key val write config value
REPL Commands
In the REPL (plain aiforge) or TUI input, prefix with ::
:help built-in commands
:tools list registered tools
:sessions list sessions
:session <id> inspect session (prefix match ok)
:workspace show workspace
:workspace set <p> change workspace
:model active model
:providers provider status
:test [name] test a provider
:clear clear screen/chat
:quit exit
Configuration
Config lives at <workspace>/.aiforge/config.json. Use aiforge config set to edit, or directly:
{
"default_provider": "zapi",
"providers": {
"zapi": {
"enabled": true,
"model": "qwen-3-235b-a22b-instruct-2507"
}
}
}
API keys go in .env:
ZAPI_API_KEY=your_key
OPENAI_API_KEY=your_key
OPENROUTER_API_KEY=your_key
License
MIT
Metadata
Release files for aiforge99 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aiforge99-0.1.4.tar.gz | 99.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aiforge99-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 240.4 kB
Release files / aiforge99-0.1.4.tar.gz
| Download URL | aiforge99-0.1.4.tar.gz |
|---|---|
| Size | 99.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4c56931b3ae35d6980576b9676e4b3d7cb39fae2090fd93b1b4cd43580802a99
|
|
BLAKE2b-256 checksum How to use checksums |
b5cead55be6409f847a1f74a6d08262c33e6c4a5fcf54aa78ff9114e21800dc9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.11
|
Release files / aiforge99-0.1.4-py3-none-any.whl
| Download URL | aiforge99-0.1.4-py3-none-any.whl |
|---|---|
| Size | 140.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
30df84c0a8edebd20136da11de7b971096820fc8a4530d99f6435763369e5a55
|
|
BLAKE2b-256 checksum How to use checksums |
a50d3e75df486a5a08c815733fdcf9b54846774ccf0e65e892f5d36f669d5e2b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.11
|