v0.2 · Advisors for Loonie are live

Build the intelligence.
Ship it into real apps.

LocalAgents is the open toolkit for turning your expertise into an advisor, then publishing it into an app people already use. It runs on their machine, uses their own numbers with their consent, and never asks you to write an integration.

Free & open source · Python 3.10+ · Built on the Strands Agents SDK

your terminal
Loonie · Pilot (what your users see)

Publish an advisor and watch it appear here…

Runs on the user's machine Packs are data, never code Consent asked in plain language Ships to Loonie today Apache-2.0

From idea to live

Four steps. No integration work.

You describe the advisor. LocalAgents checks it. The app does the hard parts: reading the user's data, asking permission, running it on their own model.

Start

Create a starter pack with everything filled in.

localagents advisor init \
  job_loss.yaml

Shape it

Say when it should speak up, what it may read, and which scenarios it analyses.

triggers: [job loss]
inputs: [net_worth, cashflow]

Check it

Get hard errors and friendly tips before anyone sees it.

localagents advisor \
  validate job_loss.yaml

Ship it

Publish straight into Loonie. Users can use it on their next question.

localagents advisor \
  publish job_loss.yaml

Anatomy of an advisor

One file. Everything an app needs.

An advisor pack is plain YAML, so an app can load it safely and you can review it like any other file. Click a note to see where it lives.

job_loss.yaml
id: acme_co.job_loss
name: Job Loss Check
version: "1.0.0"
kind: stress_test   # stress_test | decision | analysis | plan
summary: How long your savings last if income stops.
triggers:
  - job loss
  - lose my job
examples:
  - What if I lose my job for 3 months?
inputs:
  - net_worth
  - cashflow
scenarios:
  - id: three_months
    description: Income stops for 3 months.

Why builders pick it

Less plumbing. More of your expertise.

Private by design

Advisors run on the user's own machine and model. Their data is never sent to you, and you never have to host anything.

Consent built in

The app lists exactly what your advisor will read and waits for a yes. You declare it once; nothing else to build.

Data, not code

Packs are YAML. There is nothing to install, sandbox or trust, so publishing is as easy as sharing a file.

Grounded answers

The app computes every figure first. Your advisor only explains numbers that exist, so it can't invent them.

Validate before you ship

Errors block a bad pack. Tips nudge you towards better triggers, examples and disclaimers.

Always current

Publish a new version and the app uses it straight away. No release cycle, no app-store review.

One workflow, many apps

Loonie today. Your app next.

The publish step is the same wherever it lands, so what you build for one app carries to the next.

Live now

Loonie

A private life-and-money app for Windows. Its Pilot chat brings in your advisor when someone asks the right question. Publish to Loonie →

Any folder

Your own app

Publish into any advisors folder with --dir, and load the same YAML with a few lines of code.

On the roadmap

More targets

Hosted delivery, signed packs and more apps. Tell us which one you'd use on GitHub.

Prefer code?

The harness is right there.

Build full Python agents on the Strands SDK with local-first defaults: one config file for your model, sessions and tools.

agent.py
from localagents import Harness

harness = Harness.from_file("config.yaml")   # Ollama, LM Studio, Bedrock…
agent = harness.build_agent(session_id="me")
print(agent("Explain my options in two sentences."))

Ship your first advisor today.

Install, scaffold, publish. It takes about five minutes.

pip install git+https://github.com/harshbhalodia/localagents.git

Follow the guide