Skip to main content

Lightweight launcher for local AI agent workflows

Project description

aop_launcher

Agent Orchestration Platform Launcher.

aop_launcher is a tiny terminal runner for local AI agent workflows. It reads a YAML file, runs agents in sequence, optionally runs local shell tools for each agent, sends the prompt to either a local command or an OpenAI-compatible chat completion endpoint, and streams the result to the terminal.

This first 0.0.1.dev0 release is intentionally small. It does not provide remote execution, scheduling, retries, memory stores, or a hosted service.

Install

This package is published as a source distribution only. The example workflows are downloaded from https://aopexamples.assetone.workers.dev/latest_examples.zip during the source build.

Install from PyPI (forces a source build):

pip install --no-binary aop-launcher aop-launcher

Install from a local checkout:

pip install .

To skip the examples download (for example, in an offline or locked-down environment), set:

export AOP_LAUNCHER_SKIP_EXAMPLES_DOWNLOAD=1
pip install --no-binary aop-launcher aop-launcher

To pin the downloaded archive to a known SHA256 digest:

export AOP_LAUNCHER_EXAMPLES_SHA256="<sha256-digest>"
pip install --no-binary aop-launcher aop-launcher

OpenAI-compatible workflow

Use this with local or hosted inference servers that expose /v1/chat/completions:

llm:
  provider: openai-compatible
  base_url: "https://api.openai.com/v1"
  api_key_env: "OPENAI_API_KEY"
  model: "gpt-5.4-mini"
  temperature: 0.2
  max_completion_tokens: 800

agents:
  - name: assistant
    system: "You are a concise, practical assistant."
    prompt: |
      Answer this request:
      {input}

Run it:

aop-launcher workflow.yml "Draft a release checklist"

Common endpoint settings can be overridden from the terminal:

aop-launcher workflow.yml "hello" \
  --base-url https://api.openai.com/v1 \
  --model gpt-5.4-mini \
  --api-key-env OPENAI_API_KEY

If neither api_key nor api_key_env is configured, no Authorization header is sent.

Command workflow

llm:
  command: "ollama run llama3.2"

tools:
  now: "date"

agents:
  - name: planner
    tools: ["now"]
    prompt: |
      Create a short plan for this task:
      {input}

      Tool results:
      {tool_results}

  - name: writer
    prompt: |
      Write the final answer from this plan:
      {input}

Run it:

aop-launcher workflow.yml "Draft a release checklist"

You can also pass the LLM command from the terminal:

aop-launcher workflow.yml "hello" --llm-command "ollama run llama3.2"

Prompt variables

Agent system and prompt templates can use:

  • {input}: previous agent output, or the initial terminal input for the first agent.
  • {initial_input}: original terminal input.
  • {tool_results}: output from shell tools configured on the current agent.
  • {history}: prior agent outputs with agent names.

JSON output

Set output_format: json on an agent to require valid JSON output:

agents:
  - name: classifier
    output_format: json
    prompt: |
      Return valid JSON with keys: severity, summary.
      {input}

The JSON text is passed to the next agent unchanged.

Fanout

Use fanout to run several sub-agents against the same input and join their outputs:

agents:
  - name: review_pack
    fanout:
      - name: correctness
        prompt: "Review for correctness: {input}"
      - name: tests
        prompt: "Review for missing tests: {input}"

Fanout children run sequentially. This is a small fanout/join helper, not a DAG engine.

Conditions

Use condition.input_contains to skip an agent unless the previous output contains a string:

agents:
  - name: refine
    condition:
      input_contains: "NEEDS_REFINEMENT"
    prompt: "Refine this: {input}"

Add negate: true to run only when the previous output does not contain the string.

Examples

Sample workflows are downloaded during the source build and installed at aop_launcher/examples/ inside the package. They include:

  • adr_writer.yml
  • bug_triage.yml
  • openai_basic.yml
  • commit_message.yml
  • conditional_refine.yml
  • research_brief.yml
  • code_review.yml
  • dependency_risk_review.yml
  • incident_postmortem.yml
  • json_output.yml
  • parallel_review.yml
  • pull_request_review.yml
  • release_notes.yml
  • shell_tools.yml
  • test_plan.yml

Tool safety

Workflow tools are raw local shell commands. Only run workflows you trust.

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

aop_launcher-1.0.0.tar.gz (10.5 kB view details)

Uploaded Source

File details

Details for the file aop_launcher-1.0.0.tar.gz.

File metadata

  • Download URL: aop_launcher-1.0.0.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for aop_launcher-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a12868b0846862ff39a960868ca1780fe466a35caed5f71b6cedb2df74c959ed
MD5 d20d68d05adbb2a6bbba42dec19e70bf
BLAKE2b-256 0bf1e163790b30368f03da72fa7fc58270601d36ea21ccace67781fad0c4b1cb

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