Caravan

Caravan is a typed agentic CLI harness and LLM orchestration framework for OCaml — a working autonomous agent out of the box, light enough for HPC nodes, containers, and non-root environments.

❯ /agent summarize the files in this directory
⏺ ls({"path": "."})
  ⎿ # ls .  (cwd: /home/you/project) (+14 lines) [0.0s]
  ✔ Task finished: An OCaml project with a dune build, 3 libraries…

Why Caravan

AccountableEvery model call, tool call, and nudge is a structured event; sessions write JSONL transcripts to ~/.caravan/logs/.
13 providersFrom a 1B llama on a laptop to Claude / GPT-4o / Gemini, behind one interface.
GovernedTool permission modes auto / ask / readonly; verified TLS.
Scripting-nativecaravan agent "task" --json → one JSON object, real exit codes.
HygienicOne binary, one 0600 TOML config, no runtime file spew.
TypedPipelines are 'a -> ('b, string) result; tools are typed first-class modules.

Where to go