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.
-
order_lookup · read tool
Order #1042 · Ready to ship
-
Waiting for your approval.Writes never run without a confirmed decision.
One harness, three entry points
yadaagent harnessyada/clientbrowser SDKyada/widgetchat 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.
-
Pick any model
Anthropic, OpenAI, Gemini, DeepSeek, or local models through Ollama and llama.cpp. Switching is a config change, not a rewrite.
-
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.
-
Users approve writes
Before anything is created, changed or deleted, the agent pauses with a preview. Nothing runs until the user confirms.
-
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.
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 worksYour backend, your keys
Model keys and tool code stay on your server. No hosted layer sits between your app and your model provider.
Provider configurationYour 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 actionsExtend 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.
A chat UI that fits your product
Stream responses with the browser SDK, or drop in the accessible, themeable chat widget.
Browser SDK and widgetYour 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.
npx @edgaralochi/yada init my-agent
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.
One-command setup
Create and run your own agent with the packaged starter.
Reusable skills
Add workflows with standard SKILL.md instructions and references.
Models and providers
Credentials, model selection and local servers.
Approved actions
Write tools, approval previews and receipts.
SDK and chat widget
Streaming clients and a themeable web component.
MCP connections
External tool servers and OAuth connections.
Durable storage
Conversations and run state across restarts.
Deployment and operations
Installable packages and a Docker starting point.