Adiyan
01 / 5

Offering 1 · An agent harness

One harness. Every agent your business needs.

Adiyan (அடியான், "your humble servant") is an AI agent harness that runs entirely on your own machine. It ships with a working orchestrator, memory, and scheduler - not libraries you assemble yourself.

Register me to make my life better

Hear it from me

What Adiyan is, in 60 seconds.

A quick walkthrough of what Adiyan actually is and why I built it this way.

Out of the box

Seven agents, one install.

Memory what it knows about you Agent Registry who's available right now Scheduler jobs that run themselves Orchestrator routes, then replies Journal a daily reflection prompt Analysis reads a whole document WhatsApp where you actually talk to it
WhatsApp feeds Orchestrator, which routes each message to whichever agent handles it, then replies back.

Offering 2 · Adiyan Reader

It reads. You listen, then it checks.

Send Adiyan a book. It splits it into daily pages, reads that day's page aloud as a WhatsApp voice note every night, and asks you a couple of questions on it the next day.

A reading habit that runs itself, and checks whether you followed it.

Any book you upload One page a night A real voice note, not text A quiz the next day

A real clip from Adiyan Reader's own voice pipeline

You upload a book, once Split into pages one per day Nightly voice note read aloud, on WhatsApp Next-day quiz a couple of questions repeats nightly
Runs on Adiyan's own scheduler agent - no reminder app, no manual trigger.

Offering 3 · The dev kit

Add an agent. Orchestrator finds it.

Every agent under the hood is the same handful of files - a scaffold called example_agent ships in the repo specifically so you can copy it. It rolls a die, on purpose: trivial enough that what's boilerplate and what's actually yours to write is obvious at a glance.

Copy one folder Owner tier works immediately Dashboard-editable, no restart Callable by every other agent
1

Copy the scaffold

cp -r mesh/example_agent mesh/your_agent, then change two lines in its constants.py: AGENT_ID and PORT.

2

Write the logic

One plain async def run(...) in skills/your_skill.py. No permission check, no A2A wiring in here - just the actual work.

3

Describe it in plain English

The description you write in skills_catalog.py is the routing logic - Orchestrator reads it to decide whether a message is yours. No regex, no keyword list.

4

Declare the parameters

One pydantic BaseModel in agent_executor.py (e.g. sides: int) plus one if skill_id == ... line. The harness turns "roll a 20 sided die" into {"sides": 20} against that shape.

5

Run it

python -m mesh.your_agent.server. It seeds its own config into Mongo and registers itself with Agent Registry on startup - Orchestrator picks it up on its next restart, no code change anywhere else.

6

Tune it without redeploying

Open the config dashboard and your agent already has its own tab - description, examples, model, temperature, timeout, any prompt template. Edit and save; most changes apply on the next message, no restart.

Your new agent a few files, one class Agent Registry who's available, right now Orchestrator routes every message registers once asks who's available then routes to it directly - step 5
Register once at startup. From then on, it's just another agent Orchestrator already knows about.
localhost:8500/configs orchestrator scheduler your_agent memory STAGES classify_skill MODEL / TEMPERATURE / TIMEOUT qwen3:8b-16k 0.3 60 Save CONSTANTS skill_your_skill_description the sentence Orchestrator routes on Save
Local-only, gated by a one-time code sent to the owner's own WhatsApp - no password stored anywhere.

Offering 4 · Community

Don't buy compute for your peak. Borrow it.

Buying for your busiest moment means paying for capacity that sits idle the rest of the time. Opt one message into the community and Adiyan asks a consenting peer for help only when yours can't keep up.

Today you borrow. Tomorrow you may help someone else.

Mutual, not rented No machine too small Opt-in, every message
YOUR MACHINE WhatsApp Your Adiyan busy right now A PEER'S MACHINE Their Adiyan free right now asks for help sends back the answer
You only talk to your own Adiyan. It finds a peer with room to spare.

Before you install

What you need first.

curl -fsSL https://raw.githubusercontent.com/BharanitharanR/adiyan/main/get.sh | bash

macOS, Apple Silicon. Or download the zip.

The script above installs Ollama for you. ngrok and Tailscale each need one manual step first, listed alongside what they're actually for.

Ollama - runs the model itself. Installed automatically by the script. Prefer to do it yourself first? ollama.com/download.

ngrok - exposes your WhatsApp webhook to the internet. One-time setup: ngrok.com/download (or brew install ngrok), then ngrok config add-authtoken with a free account's token.

Tailscale - only if you want Offering 4: lets your machine reach a peer's when you opt a message into the community. Skip it if you're not using that. tailscale.com/download.

"Register me to make my life better"

The cloud centralizes AI. Adiyan distributes it. Not another AI SaaS - a different way to own one.

Under the hood

How Adiyan remembers.

Upload a document and Adiyan can answer questions about it months later. That is retrieval-augmented generation, and it is the part of the system most worth understanding - because when it goes wrong, it goes wrong confidently.

The full reference starts from what a single number in a list means, builds through embeddings, distance, vector databases and chunking, and ends with Adiyan's own architecture - including the measured failures that shaped it.

Fourteen chapters, from zero knowledge to the real system.

Read the full reference →

Foundations - what a dimension actually is, why cosine and not Euclidean, what a vector database does that an RDBMS cannot, and how HNSW keeps it fast.

The pipeline - chunking, ingestion, retrieval and generation, with the real parameters: 800-character chunks, 100 of overlap, top-4, a 0.55 similarity floor.

The capstone - Adiyan's two memory engines side by side, the full stack inventory, and five production incidents with the numbers that diagnosed them.

Qdrant LlamaIndex nomic-embed-text Docling mem0