Skip to content

kdeps agent ​

An autonomous LLM REPL you run on your machine. Tool use, persistent memory, multi-step reasoning, skills, and a judge panel (the eval, on unless you turn it off). The default model is local, with no API key, fully offline. Point llm.base_url at an LLM server you run and the same REPL sends prompts there. 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
yaml
# ~/.kdeps/config.yaml
llm:
  backend: openai
  base_url: http://192.168.1.50:8000/v1   # your LLM server, your network
  models:
    - llama3.2                            # one model, or several

The desktop app reads the same file. The boundary rules are on Data sovereignty. The server page has the client contract.

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


Single workflow vs folder ​

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 directly (skips the picker)
--newfalseStart clean, skipping this folder's resume picker
--index(none)Search a folder outside the project with it (repeatable): added to the card and indexed first. See search folders
--themenormalREPL theme: normal, black, linux, vim, emacs, or a custom name from ~/.kdeps/themes/
--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/v1
KDEPS_THEME=black                     # same as --theme

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
Rewriting each prompt for clarity before the turnPrompt refinement
Independent review of the final answerJudge panel
/model, /context, auto-routing, running local serversLocal model management
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
Per-folder session history and the startup resume pickerSessions
Pasting, rendering, themes, 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.