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.2.tar.gz (87.4 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.2-py3-none-any.whl (126.7 kB view details)

Uploaded Python 3

File details

Details for the file aiforge99-0.1.2.tar.gz.

File metadata

  • Download URL: aiforge99-0.1.2.tar.gz
  • Upload date:
  • Size: 87.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for aiforge99-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5432af3ad6200a613f547b25ddd59427dd4a3c50f490ee628fe64d2793608e8a
MD5 190911fda7e9b1fe5c413ea65ecbe4a3
BLAKE2b-256 c0c96a6168afebeb533401695d9f308d795bf08e7c2c6f0c80dc7fb5e4b1af15

See more details on using hashes here.

File details

Details for the file aiforge99-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: aiforge99-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 126.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for aiforge99-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2f88353889de490211e16be0c2d8f3cccff8f56c208f1244d234af8c873db0f4
MD5 55d7d87a9d040edd82e0b0c534134d83
BLAKE2b-256 668f83610f63f35590a1a6ec24cc9b1645ceb1acdd74443274191c0696cfa025

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