Skip to main content

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+F to toggle the file panel, Escape to 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_WORKSPACE env → 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

aiforge99-0.1.0.tar.gz (56.6 kB view details)

Uploaded Source

Built Distribution

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

aiforge99-0.1.0-py3-none-any.whl (89.4 kB view details)

Uploaded Python 3

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

Hashes for aiforge99-0.1.0.tar.gz
Algorithm Hash digest
SHA256 05869439b17029ea50d82e0052f5bc59fd283ccdab895224d9339a3d1446f09b
MD5 479c90ace14cd2df948c50379b4a287c
BLAKE2b-256 163dbe926af8c9204d900b455c3320431438d1d4e19ce40ce3700a5213fed2c5

See more details on using hashes here.

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

Hashes for aiforge99-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1cc2c858b190f55dc507fb5ae65c86f60212f1e7eb5adb1bd5a033b68ed35322
MD5 6f9d2e0256d738eb2d70640daf6c8883
BLAKE2b-256 c93cc1e27463e8c8b286f9cf45d1d5e2b48dd756a318a29210ffc409f5f0ddb7

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