Skip to main content

CLI-First deterministic multi-agent orchestration library

Project description

DeterminAgent

CLI-First Deterministic Multi-Agent Orchestration Library

PyPI version Python 3.10+ License: Apache 2.0 Coverage

Orchestrate powerful AI workflows at zero extra cost. DeterminAgent controls multiple AI CLI tools (Claude Code, Copilot CLI, Gemini CLI, OpenAI Codex) using LangGraph to create deterministic pipelines powered by your existing flat-rate subscriptions.


🚀 First Contact

DeterminAgent is a Python library for developers who want to build complex, multi-agent systems without paying for expensive per-token API calls. By wrapping the CLI tools you already pay for, DeterminAgent allows you to build production-grade workflows for $0 in variable costs.

Key Features

  • Library-Only: Full control in pure Python. No proprietary YAML DSL.
  • Subscription Arbitrage: Uses your flat-rate CLI subscriptions.
  • Deterministic: Powered by LangGraph state machines.
  • Zero-Latency: Controls local tools via subprocess.

📦 Installation

From PyPI (Recommended)

pip install determinagent

From Source

For the latest development version or to contribute:

# Clone the repository
git clone https://github.com/Experto-AI/determinagent.git
cd determinagent

# Install dependencies and set up environment
poetry install

# Verify installation
poetry run python -c "import determinagent; print(determinagent.__version__)"

Prerequisites


⚡ Quick Start

Library Usage

from determinagent import UnifiedAgent, SessionManager

# Create a deterministic agent
writer = UnifiedAgent(
    provider="claude",
    model="balanced",
    role="Technical Blogger",
   instructions="Write concise, technically accurate content.",
    session=SessionManager("claude")
)

# Send a prompt - zero per-token cost!
response = writer.send("Explain LangGraph in 3 sentences.")
print(response)

Template Flows

Don't start from scratch. Use our pre-built Python templates in the flows/ directory:

  • flows/blog/: Complete Writer → Editor → Reviewer workflow with human review.
Blog Flow

To run the blog flow:

python flows/blog/main.py "My Blog Topic" --writer claude --editor copilot

🧩 Compatibility Matrix

Provider Adapter Status DeterminAgent Session Mode Upstream CLI Resume Search / Web in Upstream CLI Current Library Surface
Claude Code ✅ Alpha ✅ Deterministic --session-id + --resume ✅ Yes ✅ Yes Models, deterministic sessions, web tools, custom allowed tools
Copilot CLI ✅ Alpha ⚠️ Fresh session by default ✅ Yes (provider-managed) ✅ Yes Models, non-interactive prompts, tool/url permission flags
Gemini CLI ✅ Alpha ⚠️ Fresh session by default ✅ Yes (provider-managed) ✅ Yes Models, headless --prompt, JSON output, sandbox/tool passthrough
OpenAI Codex ✅ Alpha ⚠️ Fresh session by default ✅ Yes (provider-managed) ✅ Yes Models, JSON exec mode, sandbox, structured event parsing

Audit Snapshot — March 2026

  • Claude Code remains the only provider where DeterminAgent can create a deterministic first-call session ID itself.
  • Copilot CLI, Gemini CLI, and Codex CLI now document resume flows upstream, but those session IDs are provider-owned. DeterminAgent still defaults to fresh sessions there to keep multi-agent orchestration deterministic.
  • The library now aligns better with current CLIs by:
    • using Gemini headless mode via --prompt
    • emitting Codex exec --json with --model
    • forwarding configured sandbox and tools from UnifiedAgent into adapters
    • using current Claude --allowed-tools / --resume forms

If you need a provider capability that exists upstream but is not yet abstracted cleanly here, pass an exact model string or extend the adapter directly.


🎯 Model Alias Map

DeterminAgent resolves model aliases per provider so you can keep flows consistent.

Alias Claude Code Gemini CLI Copilot CLI OpenAI Codex
fast haiku gemini-3-flash-preview claude-haiku-4.5 gpt-5.1-codex-mini
balanced sonnet gemini-3-flash-preview gpt-5-mini gpt-5.4
powerful opus gemini-3.1-pro-preview claude-opus-4.6 gpt-5.3-codex
reasoning opus gemini-3.1-pro-preview gpt-5.4 gpt-5.4
free haiku gemini-3-flash-preview gpt-5-mini gpt-5.1-codex-mini

Notes:

  • You can always pass an exact model string to override the alias.
  • Availability depends on your provider plan and CLI version.
  • Gemini aliases now target current Gemini 3.x CLI-safe models: gemini-3-flash-preview for fast/default work and gemini-3.1-pro-preview for top-end reasoning.
  • gemini-3.1-flash-lite-preview exists in the Gemini API, but current Gemini CLI validation does not reliably expose it yet.
  • Copilot powerful and reasoning use newer premium models and may require broader plan access than gpt-5-mini.
  • Codex and Copilot model inventories change frequently; aliases are conservative defaults, not an exhaustive upstream model list.

🛠️ Troubleshooting

Common Issues

  1. ProviderNotAvailable: CLI command 'claude' not found

    • Ensure the tool is installed and available in your $PATH.
    • Run claude --version manually to verify.
  2. Authentication Errors

    • DeterminAgent uses your local sessions. Ensure you are logged in to the CLI tool (e.g., copilot auth status or claude login).
  3. Subprocess Timeouts

    • Some agents (like Writer) can take a few minutes for long content. Ensure your environment doesn't kill long-running processes.

Debug Mode

Set LOG_LEVEL=DEBUG to see the full subprocess commands and raw output.


📖 Documentation

DeterminAgent Architecture

Core Documentation

API Reference

Tutorials

Community


📜 License

Apache License 2.0 - see LICENSE for details.

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

determinagent-0.15.0.tar.gz (31.9 kB view details)

Uploaded Source

Built Distribution

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

determinagent-0.15.0-py3-none-any.whl (37.7 kB view details)

Uploaded Python 3

File details

Details for the file determinagent-0.15.0.tar.gz.

File metadata

  • Download URL: determinagent-0.15.0.tar.gz
  • Upload date:
  • Size: 31.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for determinagent-0.15.0.tar.gz
Algorithm Hash digest
SHA256 b9a9714d632e0d43775f802c036921f6a95484d4d2e2ce91e1e6928a2962c5e0
MD5 fdbfafa28cbca683c195677ec13da773
BLAKE2b-256 fbefce354b398076b2c75cf01519bc9be81833d209b1378ec77db126886b480d

See more details on using hashes here.

Provenance

The following attestation bundles were made for determinagent-0.15.0.tar.gz:

Publisher: publish.yml on Experto-AI/determinagent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file determinagent-0.15.0-py3-none-any.whl.

File metadata

  • Download URL: determinagent-0.15.0-py3-none-any.whl
  • Upload date:
  • Size: 37.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for determinagent-0.15.0-py3-none-any.whl
Algorithm Hash digest
SHA256 789164ad48153cf3b4a10c1ff747132d7bb28177839f01192b994307ed2c9708
MD5 bab413112240a92f66cfada9a01b52a4
BLAKE2b-256 8eabe8c240ad9e8caf8b2caa74919c9864f29b08657b5f45ffe4cbbb8d562564

See more details on using hashes here.

Provenance

The following attestation bundles were made for determinagent-0.15.0-py3-none-any.whl:

Publisher: publish.yml on Experto-AI/determinagent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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