Skip to content

kdeps agent

An autonomous LLM REPL you run locally. Tool use, persistent memory, multi-step reasoning, skills, goals, and a judge panel - against a local model, no API key, fully offline. Whole workflows and components register as callable tools; the model decides what to invoke.

bash
kdeps            # bare REPL - built-in tools only
kdeps ./my-agent # also load that agent's workflows/components as tools

Not this? If you want a deterministic request→response pipeline (same input, same execution path, safe to run unattended), that's kdeps workflow. To orchestrate several agents as one system, kdeps agencies.


Running kdeps with no arguments starts a bare REPL with no workflow tools - built-in tools (web_search, bash_exec, file ops, memory, etc.) are still available. Pass a path to also load workflows and agencies as tools.

Starting the agent loop

bash
kdeps                              # runs the agent loop REPL
kdeps --model llama3.2 --system "You are a DevOps assistant."  # override model/system prompt
kdeps --skill ~/.kdeps/skills/     # load skill files
kdeps --resume <session-id>        # continue a saved session

Single workflow vs folder

bash
kdeps ./my-agent/     # registers the workflow as an LLM-callable tool (named after metadata.name)
kdeps ./agents/       # registers every workflow and agency in the folder as a separate tool

When you point at a folder, kdeps discovers every workflow and agency file inside it (recursively). Each becomes a separate tool. The tool name is metadata.name from the workflow's manifest - not the filename.

TargetWorkflow/agency/component tools registered
No pathNone (built-in tools only)
Single workflow file/dirOne tool (metadata.name) + one per component
Single agency fileOne tool (agency metadata.name)
FolderOne tool per workflow/agency found recursively + component tools

How it works

user promptLLM receives prompttool registry: one tool per workflow, one per agency, one per componenttool type?kdeps runs full workflow pipelineall requires: deps resolve in orderkdeps runs agency entry-point pipelineinternal agents resolve via agent: resource typekdeps runs component in isolationinputs map to component interface fieldsmore tools needed?final answerLLM picks a toolworkflowagencycomponentapiResponse returned to LLMresult returned to LLMresult returned to LLMyesno

Given a workflow whose metadata.name is my-agent, running kdeps ./my-agent/ gives the LLM one tool named my-agent. When it calls that tool, kdeps runs the full workflow DAG - every resource in dependency order - and returns apiResponse.response to the LLM. The LLM can then call more tools or produce a final answer.

Command and flags

bash
kdeps [path] [flags]

[path] is optional. When provided it must be a workflow or agency file or directory.

FlagDefaultDescription
--modelKDEPS_AGENT_MODEL or llama3.2:1bLLM model name
--backendKDEPS_AGENT_BACKEND or fileLLM backend (file, gguf, ollama, openai, ...)
--base-urlKDEPS_AGENT_BASE_URLLLM API base URL
--system(none)System prompt injected at conversation start
--skill(none)Path to a skill file or directory (repeatable)
--prompt(none)Path to a prompt templates directory (repeatable)
--resume(none)Session ID to resume a previous conversation
--stealthfalseMuted UI - dark gray, model name barely visible (for use in public)
--debugfalseEnable debug logging
bash
# Environment variables (flags override these)
KDEPS_AGENT_MODEL=llama3.2:1b
KDEPS_AGENT_BACKEND=file              # default: local llamafile
KDEPS_AGENT_BASE_URL=http://localhost:11434
KDEPS_STEALTH=1                       # same as --stealth (1, true, or yes)

Examples

bash
kdeps                                            # bare REPL, built-in tools only
kdeps ./my-agent/                                # register one workflow as a tool
kdeps ./agents/                                  # register every workflow in the folder
kdeps ./agents/ --model mistral --system "You are a data analyst."
kdeps --backend gguf --model qwen3.5-4b          # local GGUF model
KDEPS_AGENT_BACKEND=openai kdeps ./agents/ --model gpt-4o
kdeps --resume abc123def456                      # resume a session

More on the agent loop

TopicPage
Slash commands and auto-detected shell/file mentionsREPL slash commands
Built-in tool catalog, permission modes, lean modeBuilt-in tools
Shell execution (!cmd, Ctrl+C / Ctrl+Z, jobs)Shell execution
Live status line and stall detection during a tool runTool execution monitoring
Task decomposition and forward-only goal enforcementGoal-directed execution
Independent review of the final answerJudge panel
/model, /context, auto-routing, running local serversLocal model management
Task / team / cron registries (task_*, team_*, cron_*)Agent registries
One-time permission exceptions for a denied tool callApproval tokens
Optional turo token reducerPrompt reduction (turo)
Skills, prompt templates, KDEPS.md instructionsSkills and prompt templates
Pasting, rendering, stealth, sessions, notifications, updatesAgent loop REPL features

Differences from workflow mode

Workflow mode (kdeps run)Agent mode (kdeps [path])
ExecutionDAG, deterministicLLM loop, tool-driven
Entry pointmetadata.targetActionIdUser prompt
Unit of workIndividual resourcesWhole workflows
ToolsFunctions in chat.toolsOne per workflow + one per component + built-ins
InputOne workflow pathOptional file or folder
ConversationSingle runMulti-turn, persistent JSONL

See also

Released under the Apache 2.0 License.