AIForge — a terminal-based autonomous AI agent with TUI and CLI
Project description
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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aiforge99-0.1.0.tar.gz.
File metadata
- Download URL: aiforge99-0.1.0.tar.gz
- Upload date:
- Size: 56.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05869439b17029ea50d82e0052f5bc59fd283ccdab895224d9339a3d1446f09b
|
|
| MD5 |
479c90ace14cd2df948c50379b4a287c
|
|
| BLAKE2b-256 |
163dbe926af8c9204d900b455c3320431438d1d4e19ce40ce3700a5213fed2c5
|
File details
Details for the file aiforge99-0.1.0-py3-none-any.whl.
File metadata
- Download URL: aiforge99-0.1.0-py3-none-any.whl
- Upload date:
- Size: 89.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1cc2c858b190f55dc507fb5ae65c86f60212f1e7eb5adb1bd5a033b68ed35322
|
|
| MD5 |
6f9d2e0256d738eb2d70640daf6c8883
|
|
| BLAKE2b-256 |
c93cc1e27463e8c8b286f9cf45d1d5e2b48dd756a318a29210ffc409f5f0ddb7
|