Observed since 21 Oct, 10:43 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
aiforge99
AIForge — a terminal-based autonomous AI agent with TUI and CLI
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
Ctrl+F to toggle the file panel, Escape to cancel a running task.:help, :tools, :sessions, :workspace, …)aiforge sessions show <id>AIFORGE_WORKSPACE env → config → cwd; no hardcoded pathspip install aiforge
Requires Python 3.11+.
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).
# Full TUI (recommended)
aiforge tui
# One-shot task
aiforge run "write a Python web scraper for example.com"
# Interactive REPL
aiforge
aiforge workspace set /path/to/your/project
# or
export AIFORGE_WORKSPACE=/path/to/your/project
| Key | Action |
|---|---|
Ctrl+Q | Quit |
Ctrl+F | Toggle file panel |
Ctrl+L | Clear chat |
Ctrl+R | Refresh file tree |
Escape | Cancel running task |
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
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
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
MIT
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
clickEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | click>=8.1.7 | runtime |
richEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | rich>=13.7.0 | runtime |
pydanticEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | pydantic>=2.6.1 | runtime |
httpxEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | httpx>=0.26.0 | runtime |
python-dotenvEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | python-dotenv>=1.0.1 | runtime |
pyyamlEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | pyyaml>=6.0.1 | runtime |
prompt-toolkitEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | prompt-toolkit>=3.0.43 | runtime |
textualEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | textual>=0.80.0 | runtime |
openaiEnvironment{
"extras": "",
"marker": "extra == \"openai\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | openai<2.0.0,>=1.12.0; extra == "openai" | runtime |
pytestEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | pytest; extra == "dev" | runtime |
ruffEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | ruff; extra == "dev" | runtime |
mypyEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | mypy; extra == "dev" | runtime |
buildEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | build; extra == "dev" | runtime |
twineEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | twine; extra == "dev" | runtime |
bdist_wheel · 137.63 KB · Python py3
sdist · 97.09 KB · Python source
Observed since 21 Oct, 10:43 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:ded1c5dcd9470fc10f5646885dede755b500f43f960d26735e43196304ac1a50