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

pip install 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 live in examples/:

  • 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-0.0.3.dev0.tar.gz (12.2 kB view details)

Uploaded Source

Built Distribution

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

aop_launcher-0.0.3.dev0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file aop_launcher-0.0.3.dev0.tar.gz.

File metadata

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

File hashes

Hashes for aop_launcher-0.0.3.dev0.tar.gz
Algorithm Hash digest
SHA256 83bf52cfff50720e5550897c36468d3d49ea0af9f23d353d87f69c6ca28c6ccc
MD5 412340679c352459ab9498902f40bbde
BLAKE2b-256 e36588b41fce664240960d45aef28963d0f3cccf4bd7defde17d7d58a3c995f5

See more details on using hashes here.

File details

Details for the file aop_launcher-0.0.3.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for aop_launcher-0.0.3.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 04e5bd0bd4e74c001978fe99475468f9aad51288bf6ac9e0fac33693a71eb9ef
MD5 fad67d7364e6e62e3397a9cd06d55493
BLAKE2b-256 225f1a951a949e07483d31f27a175f3079345f30117f796749db61d815d520e3

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