Skip to main content

Open Task Force - Autonomous multi-agent orchestration platform

Project description

OpenTF

Autonomous AI coding agent for your terminal. Type plain English, agents handle the rest.

OpenTF runs a pipeline of specialized AI agents -- security guardrails, context enrichment, planning, code generation, and quality scanning -- all orchestrated through a single conversation loop with a rich terminal UI.

Quick Install

curl -fsSL https://opentf.dev/install.sh | bash

Requires Python 3.12+. See Installation docs for detailed setup, updating, and uninstalling.

Usage

opentf

On first run, you'll be prompted to enter your Anthropic API key. You can also set it via environment variable:

export ANTHROPIC_API_KEY="sk-ant-..."
opentf

Commands

Command Description
/plan Create a structured execution plan
/janitor Scan code for quality issues
/model Switch between Claude models
/compact Compress conversation history
/status Show current session info
/cost Show token usage and cost
/login Set API key
/logout Remove stored API key
/clear Clear conversation
/exit Quit OpenTF

How It Works

User prompt
  |
  v
SecurityAgent (blocks injections, path traversal, command injection)
  |
  v
ContextAgent (enriches with workspace info + memory retrieval)
  |
  v
MainAgent (code, files, research, data -- unified tool access)
  |
  v
Response (streamed to TUI with syntax highlighting)

MainAgent handles everything through a single conversation loop with file tools, data tools, and shell access. Optional specialists can be invoked:

  • PlannerAgent -- decomposes tasks into phased execution plans
  • JanitorAgent -- scans for dead code, unused imports, bad naming, silent failures
  • SkillBuilderAgent -- dynamically creates new specialist agents at runtime

All agents communicate through a protocol-based message bus with immutable task snapshots for safe retries.

Development

git clone https://github.com/itscool2b/opentf.git
cd opentf
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
opentf

Run tests:

pytest

Project Structure

src/opentf/
  agents/          # Agent system (base, registry, guardrails, specialists)
  auth/            # API key management
  cli/             # Textual TUI (app, widgets, theme)
  core/            # Engine, orchestrator, message bus, tool loop
  llm/             # Anthropic client wrapper
  memory/          # ChromaDB vector store + BM25 hybrid retrieval
  models/          # Pydantic models (task, message, plan, context)
  tools/           # File tools, data tools
config/            # Default YAML configuration
docs/              # Architecture and setup documentation
tests/             # Test suite

Key Design Decisions

  • Single-agent loop over multi-agent routing -- simpler, fewer LLM calls, unified tool access
  • Guardrails as gates -- security and context run pre-execution, not as validators
  • Protocol-based messages -- deterministic type routing, no free-form text parsing
  • Hybrid memory -- vector search (ChromaDB) + keyword search (BM25) via reciprocal rank fusion
  • Async-first -- all core operations use async def

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

opentf-0.1.0.tar.gz (158.9 kB view details)

Uploaded Source

Built Distribution

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

opentf-0.1.0-py3-none-any.whl (164.2 kB view details)

Uploaded Python 3

File details

Details for the file opentf-0.1.0.tar.gz.

File metadata

  • Download URL: opentf-0.1.0.tar.gz
  • Upload date:
  • Size: 158.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for opentf-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3003a83f835f9456d011e3d0abb39978bf18b7725379c963966b7af546b53436
MD5 52e9fc085e872ab03ea2f522cf57e5a3
BLAKE2b-256 487bf6fbdb2ed020c1ecb6016fb403eb03da045b39f03761791c7548dd36eb61

See more details on using hashes here.

File details

Details for the file opentf-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: opentf-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 164.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for opentf-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c16212587d0969ed5a91503a98f013977e46df5c793006fba8c000b519c2d89e
MD5 31dc361aca5c81aa84f54df7b9855cdb
BLAKE2b-256 82b73467842859dacb12a707a50858b9bb17ad887a0666daefca8bd16a3d6ee6

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