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.ymlbug_triage.ymlopenai_basic.ymlcommit_message.ymlconditional_refine.ymlresearch_brief.ymlcode_review.ymldependency_risk_review.ymlincident_postmortem.ymljson_output.ymlparallel_review.ymlpull_request_review.ymlrelease_notes.ymlshell_tools.ymltest_plan.yml
Tool safety
Workflow tools are raw local shell commands. Only run workflows you trust.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83bf52cfff50720e5550897c36468d3d49ea0af9f23d353d87f69c6ca28c6ccc
|
|
| MD5 |
412340679c352459ab9498902f40bbde
|
|
| BLAKE2b-256 |
e36588b41fce664240960d45aef28963d0f3cccf4bd7defde17d7d58a3c995f5
|
File details
Details for the file aop_launcher-0.0.3.dev0-py3-none-any.whl.
File metadata
- Download URL: aop_launcher-0.0.3.dev0-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04e5bd0bd4e74c001978fe99475468f9aad51288bf6ac9e0fac33693a71eb9ef
|
|
| MD5 |
fad67d7364e6e62e3397a9cd06d55493
|
|
| BLAKE2b-256 |
225f1a951a949e07483d31f27a175f3079345f30117f796749db61d815d520e3
|