Pipelines from the command line

A job with several specialists in one command: aioum pipeline create builds the agents in hiring order, publishes the ones that are hired, and creates the project on the lead, with the budgets you give it. aioum starters --pipelines tells you first what each one needs and what one run costs at today's prices; a pipeline with a missing part is refused with the list, and one without a budget with Set the budget you are willing to spend.

What you need

  • The CLI, with the stack running: your own runner inside your private node at AIOUM_AGENTS_URL (http://127.0.0.1:8770/runner, with the node's token), and a planner (your subscriptions on the node, a local Ollama, a key, or a planner listing).
  • AIOUM_OWNER (default cli): the agents a pipeline creates are grouped under it.

Steps

  1. See the pipelines and what each needs.

    npx aioum starters --pipelines
    

    First a table, one row per pipeline: id, group, name, agents in hiring order (Researcher → Writer), stages, ongoing (yes for one on a schedule), available, missing (how many required parts are not there), onceUsdc (what one run costs at the live prices of the services it picked) and the tagline. Then, per pipeline, <id>: what it needs, one line per part:

    research-writing: what it needs
      ready     papers and reference (arXiv, Crossref, PubMed, Wikipedia) · Books, Wikipedia, Arxiv
      ready     page reading · Reader
      optional  web search · list one: aioum sell templates --q web:search (keys APIFY_TOKEN, BRAVE_API_KEY, …) · without it, sources come from the paper indexes and the pages the brief names
      ready     news · Coindesk
      optional  a text judge · list one: aioum sell templates --q judge:text (keys ANTHROPIC_API_KEY, GEMINI_API_KEY, OPENAI_API_KEY) · without it, the lead reviews the draft against the brief itself
      optional  grammar check · list one: aioum sell templates --q text:grammar · without it, the writer proofreads itself
      ready     the workspace on your node (files, a shell, downloads) · ws.list, ws.read, ws.write, ws.run, ws.fetch
    

    A ready listing names the services it picked; a ready connector names the tools. A MISSING or optional listing says which command lists one and which keys the catalogue's templates for it need; a missing connector says connect gmail under Your node; a missing program says install ffmpeg beside your private node; the GPU line of the video, image and training pipelines reads ready a GPU for frame analysis and rendering · Apple M4, 32 GB unified memory when your node has one, or MISSING … none on this machine; add a compute key (RUNPOD_API_KEY, …) to rent one, or run the node on a machine with a GPU. Without --pipelines the command prints the single-agent starters first, then the pipeline table. --json gives the whole record: every agent with its resolved tools, the stages with their text, every need with the templates that would serve. No record carries a budget.

  2. Create one, with the budgets: --budget is the project's cap, and one --agent-budget key=<usdc> per agent (the keys are in the table: researcher, writer) is that agent's lifetime cap and its cap per run. The brief becomes the project's brief; without --input the pipeline's sample brief is used.

    npx aioum pipeline create research-writing --budget 1 \
      --agent-budget researcher=5 --agent-budget writer=10 \
      --input "In 300 words: what is known about how honeybee swarms choose a new nest site? Cite two sources."
    

    Without --budget the CLI answers pipeline create needs --budget <usdc>, above zero: Set the budget you are willing to spend and sends nothing; without a cap for every agent the runner answers 400 naming the agent. The runner creates the Researcher, publishes it as a listing at $0.10 a call (on-chain, then it waits for the directory to mark it live, up to a minute), creates the Writer with that listing among its tools, and the project on the Writer. The CLI prints:

    created pipeline research-writing: Research and writing
    key         id       name        published            hires       schedule  lead
    researcher  agent_…  Researcher  #54 · 0.1 USDC/call
    writer      agent_…  Writer                           researcher            lead
    ID           proj_…
    title        Research and writing
    agent ID     agent_…
    status       draft
    brief        In 300 words: what is known about how honeybee swarms choose a new nest site? …
    spent USDC   0
    budget USDC  1
    stages (3)
      n  title              status   spentUsdc  run  links  error
      1  Sources and notes  pending                  0
      2  Draft              pending                  0
      3  Review and revise  pending                  0
    next: aioum project start proj_… --wait
    

    A pipeline on a schedule shows the lead's timer in the schedule column as every 60 min (off): it stays off until the pipeline starts.

  3. Start it and wait, or start it at creation with --start, which also switches on the lead's schedule.

    npx aioum project start <project-id> --wait
    

    The stages run on the Writer, each once the stage before it is done (a pipeline's stages name no after, so each waits for every stage before it); --wait prints the project when it stops, with each stage's status, what it spent, its run and the links it collected. npx aioum run get <run-id> on stage 1's run shows the hire: a tool step paying Research Writing · researcher, and npx aioum runs --agent <researcher-id> shows the Researcher's own run, started by service, with its paper searches and page reads. npx aioum project spend <project-id> adds it up per service.

  4. Try one that is not ready.

    npx aioum pipeline create image-content --budget 3 --agent-budget maker=5 --agent-budget director=5
    

    On the local development network the CLI prints one line and exits 1:

    error: POST http://127.0.0.1:8770/runner/starters/image-content/create -> 409: Image content cannot be created yet. Missing: image generation, several services to compare: no live listing (256 templates on Earn; keys FAL_KEY, HF_TOKEN, REPLICATE_API_TOKEN); an image judge: no live listing (3 templates on Earn; keys GEMINI_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY).
    

    On a machine without a GPU the list ends with a GPU for frame analysis and rendering: none on this machine; add a compute key (RUNPOD_API_KEY, …) to rent one, or run the node on a machine with a GPU.

    npx aioum sell templates --q image:gen lists the templates that would serve; npx aioum sell add --template <name> with the key in the node's environment lists one, and the pipeline is available on the next starters --pipelines.

  5. Change what it made. The agents are ordinary agents: npx aioum agent update <id> for the instructions, tools or budget, npx aioum agent schedule <id> for the timer, npx aioum project stages <id> for the stages still to run. npx aioum agent unpublish <id> takes a hired agent off the market; the lead then finds it offline and says so in its log.

What you have now

A two-agent network from one command, a project on its lead, and the same records as any agent: runs, receipts, spend per service. starters --pipelines is the shopping list for the rest: each missing part names the command that lists it and the key it needs.

Next: Watch the network from the command line — what is up, what ran, what it cost, and one paid call of your own.