Open-source AI agent harness

Add an AI agent that gets real work done inside your app.

Yada is a free, open-source agent harness. Plug in a model, give it your APIs as tools, and your users can search, book, apply or update just by chatting.

Your app · support console
  1. You

    Find this customer’s latest order.

  2. order_lookup · read tool

    Order #1042 · Ready to ship

  3. Yada

    Found it. Want me to update the delivery note?

  4. Waiting for your approval.Writes never run without a confirmed decision.

One harness, three entry points

  • yada agent harness
  • yada/client browser SDK
  • yada/widget chat widget

What an agent harness does

Chatbots talk. Agents act. Yada sits between the model and your app: the model decides what to do, your code decides what’s allowed.

  1. Pick any model

    Anthropic, OpenAI, Gemini, DeepSeek, or local models through Ollama and llama.cpp. Switching is a config change, not a rewrite.

  2. Give it your tools

    Turn HTTP APIs, SQL queries and MCP servers into tools the agent can call. Inputs are validated and permissions checked on every call.

  3. Users approve writes

    Before anything is created, changed or deleted, the agent pauses with a preview. Nothing runs until the user confirms.

  4. Never lose a run

    Conversations and run state persist in SQLite, PostgreSQL or MySQL, so agents resume after a crash or deploy.

Built into TalonHR

TalonHR, a recruitment platform, runs its AI agent on Yada. Job seekers and employers get work done by chatting. Real screen recordings with live model output on demo data, at 2× speed.

Applicant finds part-time UX jobs in Berlin and applies with a saved CV after approving.
Employer reviews candidates, moves one to interviewing and schedules the interview, approving each change.

It only knows what you let it.

Yada is Hebrew for “to know”. Your agent knows only the tools you register, the data they reach and the permissions of the user asking. It’s a library in your backend, not a hosted platform.

How the harness works

Your backend, your keys

Model keys and tool code stay on your server. No hosted layer sits between your app and your model provider.

Provider configuration

Your auth, checked on every call

Pass in the signed-in user and tenant. Yada checks permissions before each tool runs and again before a write executes.

Approved actions

Extend your agent with skills

Drop SKILL.md folders from Claude, Cursor or Codex into skills/. The agent loads them when they’re relevant. Scripts need host tools.

Skills guide

A chat UI that fits your product

Stream responses with the browser SDK, or drop in the accessible, themeable chat widget.

Browser SDK and widget

Your agent, one command away.

On Node 24, one command scaffolds a working agent: config, SQLite storage, example tools, a skills folder and the chat widget, all wired together.

Add your model key to .env.starter and run npm start. Password protection is optional.

Full setup guide
Create your agent
npx @edgaralochi/yada init my-agent
Connect a live model
YADA_LLM_PROVIDER=anthropic
YADA_LLM_MODEL=claude-sonnet-4-6
YADA_LLM_API_KEY=your-provider-key

Set these in my-agent/.env.starter, then run cd my-agent and npm start.

Guides for every part of the harness

Setup, skills, tools, approvals, storage and deployment.