Skip to content
Skills for AI agents are here

Build and deploy AI agents in YAML.

Workflow pipelines and autonomous agents in YAML. Export as Docker, Kubernetes, ISO, or a single binary. Works with Ollama, OpenAI, Anthropic, and any OpenAI-compatible backend.

apiVersion: kdeps.io/v1
kind: Workflow

metadata:
  name: summarizer
  version: "1.0.0"
  targetActionId: summarize

settings:
  apiServer:
    portNum: 16395
    routes:
      - path: /summarize
        methods: [POST]
$kdeps run workflow.yaml
Listening on :16395
 
$curl -s -X POST localhost:16395/summarize \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'
 
{"success": true, "data": {"response": "Example.com is used for illustrative examples in documentation."}}

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 serve 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.

platform agnostic

Works with any LLM backend

Switch backends in config. No code changes, no lock-in.

LLM Backends
Ollamalocal
OpenAIcloud
Anthropiccloud
Groqcloud
LM Studiolocal
Deploy Targets
Dockerdocker image
Kuberneteshelm chart
Binarysingle file
ISObootable image
WebServerhttp server

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. Predictable, auditable, ships to production.

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

Autonomous LLM loop

The LLM decides which resources to call and in what order. Every resource auto-registers as a tool. No wiring required.

PromptLLMToolsResponse decidesresultanswer
$ kdeps serve workflow.yaml
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.

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
Glue code between servicesResources pass data via output()
Manual polling loop for botsinput.sources: [bot] in workflow config
Chaining agents by handagent: resource — one agent calls another declaratively

registry

Components, workflows, and agencies

Install pre-built packages from the registry. Publish your own.

components

Components

Reusable capability extensions. Install with one command, invoke with component: and typed inputs.

scrapersearchbrowserembeddingttsemail
$ kdeps registry install scraper
workflows

Workflows

Complete DAG pipelines packaged as .kdeps archives. Drop them into an agency or run them standalone.

summarizerclassifiertranslatorinvoice-extractor
$ kdeps run summarizer-1.0.0.kdeps
agencies

Agencies

Multi-agent orchestration bundles packaged as .kagency archives. One entry point, many agents.

cv-matcherresearch-pipelinecontent-agency
$ kdeps run cv-matcher-1.0.0.kagency

Released under the Apache 2.0 License.