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.
Publish an advisor and watch it appear here…
From idea to live
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.
Create a starter pack with everything filled in.
localagents advisor init \
job_loss.yaml
Say when it should speak up, what it may read, and which scenarios it analyses.
triggers: [job loss]
inputs: [net_worth, cashflow]
Get hard errors and friendly tips before anyone sees it.
localagents advisor \
validate job_loss.yaml
Publish straight into Loonie. Users can use it on their next question.
localagents advisor \
publish job_loss.yaml
Anatomy of an advisor
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.
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
Advisors run on the user's own machine and model. Their data is never sent to you, and you never have to host anything.
The app lists exactly what your advisor will read and waits for a yes. You declare it once; nothing else to build.
Packs are YAML. There is nothing to install, sandbox or trust, so publishing is as easy as sharing a file.
The app computes every figure first. Your advisor only explains numbers that exist, so it can't invent them.
Errors block a bad pack. Tips nudge you towards better triggers, examples and disclaimers.
Publish a new version and the app uses it straight away. No release cycle, no app-store review.
One workflow, many apps
The publish step is the same wherever it lands, so what you build for one app carries to the next.
A private life-and-money app for Windows. Its Pilot chat brings in your advisor when someone asks the right question. Publish to Loonie →
Publish into any advisors folder with --dir, and load the same YAML with a few lines of code.
Hosted delivery, signed packs and more apps. Tell us which one you'd use on GitHub.
Prefer code?
Build full Python agents on the Strands SDK with local-first defaults: one config file for your model, sessions and tools.
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."))
Install, scaffold, publish. It takes about five minutes.
pip install git+https://github.com/harshbhalodia/localagents.git