Skip to content
Skills for AI agents are here

AI Appliance Builder

YAML-defined AI agents and workflow pipelines. Ship as Docker, K8s, ISO, or a single binary.

$ kdeps

kdeps v2.x  |  agent loop
Model: llama3.2 (llamafile, offline)  |  /help for commands

> find the failing tests in ./api and suggest a fix

Ran go test ./api/... - 2 failures in handler_test.go.
Both assert 200, but the router now returns 204 for an
empty body. Update the expected status on lines 41 and 58.

> /model claude-sonnet
Switched to claude-sonnet (Anthropic)

>
$export KDEPS_API_AUTH_TOKEN=dev-token
$kdeps run .
Listening on :16395
 
$curl -s -X POST localhost:16395/api/v1/chat \
-H "Authorization: Bearer $KDEPS_API_AUTH_TOKEN" \
-d '{"q": "What is entropy, in one sentence?"}'
 
{"success": true, "data": {"answer": "Entropy measures how many microscopic arrangements are consistent with a system's macroscopic state."}}

getting started

How it works

Three steps from idea to running AI API.

01

Write YAML

Declare resources -- chat, HTTP, Python, SQL, shell. Wire them with requires:. No glue code.

02

Run kdeps

kdeps run workflow.yaml starts the API server. kdeps [path] starts the autonomous agent loop.

03

Call the API

POST to your route, get back structured JSON. Export as Docker, Kubernetes, ISO, or a single binary.

run modes

Three ways to run

Workflows, agents, and agencies — all from the same YAML.

workflow

Deterministic pipelines

Resources run in DAG order defined by requires:. Every request takes the same path. The LLM's wording still varies - everything around it does not.

RequestvalidatellmapiResponse
$ kdeps run workflow.yaml
Learn more ->
agent

Local AI agent

Run kdeps for an instant AI REPL - fully offline with llamafile or Ollama, no API key needed. Load workflows as tools: the LLM decides what to call and when.

PromptLLMToolsResponse decidesresultanswer
$ kdeps
Learn more ->
agency

Multi-agent orchestration

One agent calls another via the agent: resource type. Compose agents like functions — each runs independently, results flow back.

CallerSummariserTranslatorResponse agent:result
$ kdeps run agency.yaml
Learn more ->

why kdeps

YAML replaces glue code

No Python scripts, no wiring, no boilerplate.

The model is probabilistic; the pipeline around it is not. In workflow mode the same request always takes the same path, validation runs before any LLM call, and the response is shaped to a fixed schema.

Traditional approachkdeps
Python script + Flask + OpenAI SDK + retry logicOne workflow.yaml file
Manual dependency wiringrequires: in YAML
Write error handling by handonError: block (continue / retry / fail)
Write Dockerfile + CI pipeline for deploymentkdeps bundle build --tag then docker push
Chaining agents by handagent: resource — one agent calls another declaratively

Released under the Apache 2.0 License.