Liking cljdoc? Tell your friends :D

dvergr Documentation

New to dvergr? Start with Getting Started.

🚀 Getting started

  • Main README — project overview + quickstart
  • Getting Started — prerequisites, first-room tutorial: REPL + CLI paths, tagged messages, streaming
  • Configuration — config file, env, secrets, skills and agent definitions
  • Homes — the directory a process keeps its state in: layout, moved vs copied homes, experiment homes, storage GC
  • Provider & model setup — API keys, providers, the models.edn registry
  • CLI reference — dvergr-cli: flags, persistence, telemetry
  • MCP — dvergr as an MCP server: the relay, HTTP, profiles and toolsets, what each tool promises
  • Web dashboard and JSON API — the dashboard, room apps, /api/v1, the loopback stance
  • Testing — running the suite, how CI splits it across containers, waits that hold, the REPL meta-harness contract

📚 Concepts

  • Programming Model — Rooms and Participants on a Bus, addressing, forks; tagged messages, capability routing, escalation; why "discourse"
  • Architecture — the L0–L7 layer map, subsystem graph, inbound message flow, per-namespace table
  • Runs — durable execution identity, kinds, lifecycle and reasons, how a turn ends, cancellation, processes, resuming from savepoints
  • Agent programs — immutable specialized-agent rosters, Run-backed hiring, Spindel composition, and fork-safe state placement
  • Worlds, forks and state — where every kind of state lives, what a fork forks, the fork contract, worlds, savepoints and budgets
  • Effects — one boundary between sandbox code and the world: handlers, faults, recording, replay, secrets at the boundary

🔧 Reference

  • Tools & the SCI sandbox — the tool registry + the sandbox agents run code in, and its safety boundaries
  • Media — voice, vision & files — speech-to-text across every frontend, image describe/extract, document text, the /drive mount
  • Channels — Telegram — bridging a chat surface into Rooms: setup, allowlist, voice/documents, slash commands
  • Scheduling — per-room recurring / one-shot tasks, incl. deterministic :code schedules

📏 Evaluation and benchmarks

🗂 Design history

design/ keeps proposals and plans as they were written, each with a status line saying what was built and where the as-built page is: recursive work orchestration, certified conversational episodes, resuming Runs: the proposal, one algebra for worlds, savepoints and budgets, forks and worlds: use cases and migration.

🤝 Contributing

  • CONTRIBUTING — the L0–L7 layer convention, running tests, repo layout, commit style

🧪 Examples & notebooks

Literate Clay notebooks (notebooks/notebooks/) — live-running, browsable at replikativ.github.io/dvergr; build with clj -M:clay -m notebooks.render. Start with getting_started.clj, then programming_model, humans_and_agents and agents_and_tools.

Runnable scenario scripts (examples/) — what the notebooks import; run with clj -M:examples -m <ns> (or -X:examples humans-and-agents/run):

  • humans_and_agents.clj — humans + scripted agents, background tasks, propose/accept-reject, substrate forks
  • scenario_manager_escalation.clj — capability routing for :escalation/budget (no hardcoded managers)
  • scenario_streaming_partial.clj — per-consumer buffer policy: sliding-1 UI vs fixed-buffer audit
  • scenario_auditor.clj — d/subscribe! tag-watchers alongside an inbox

See also

  • Spindel — the FRP runtime dvergr is built on
  • Datahike — the immutable Datalog database for conversation + knowledge
  • Yggdrasil — copy-on-write branching across git + Datahike

Can you improve this documentation?Edit on GitHub

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close