---
title: "onellm docs"
url: https://recursiveai.org/onellm/docs/
description: "Everything about OneLLM: getting started, the runtime, agents, deciders, providers and deployments, pricing, stores, the onellm tool, the file formats…"
version: "1.0.0"
---

# onellm docs

Everything about OneLLM: getting started, the runtime, agents, deciders, providers and deployments, pricing, stores, the onellm tool, the file formats, and the project’s own results.

## Start

- [Getting started](https://recursiveai.org/onellm/docs/getting-started/index.md): Install OneLLM 1.0.0 for .NET 10, ask a model, get typed JSON back, stream, run a script, an agent with a C# tool and a decider, and see what each call…
- [Overview](https://recursiveai.org/onellm/docs/overview/index.md): NuGet: RecursiveAI.OneLlm (namespace OneLlm). Requires .NET 10.
- [The happy path and the runtime](https://recursiveai.org/onellm/docs/happy-path/index.md): OneLLM has two ways in. The statics on Llm are verbs that take a model name and what to ask. Underneath is Runtime, which the statics use through…
- [Coming from another library](https://recursiveai.org/onellm/docs/reads-like/index.md): If you know another .NET LLM library, these tables show where the same job lives in OneLLM. Each row names a call or concept as its own documentation…

## Agents, scripts and deciders

- [Agents](https://recursiveai.org/onellm/docs/agents/index.md): An agent is a definition run as an instance with tools. Llm.RunAgentAsync(path, inputs) runs one to rest and returns an AgentResult…
- [Capabilities and built-in tools](https://recursiveai.org/onellm/docs/capabilities/index.md): What a tool may touch is decided by the host, never by a definition. The host passes a Capabilities value to the Runtime; every built-in tool asks it…
- [Deciders](https://recursiveai.org/onellm/docs/deciders/index.md): A decider answers typed questions about some state: which team should handle this ticket (choice), how urgent is it (score), is the customer angry (a…
- [Templating](https://recursiveai.org/onellm/docs/templating/index.md): OneLlm.Templating renders prompts written in the language of Go's text/template package. It is a standalone engine: it knows nothing about agents or…
- [Tool signatures and JSON Schema](https://recursiveai.org/onellm/docs/tool-schemas/index.md): This note is the contract between a C# method signature and the JSON Schema 2020-12 the model sees. Two implementations follow it and a test keeps them…
- [JavaScript tools and hooks](https://recursiveai.org/onellm/docs/javascript/index.md): The RecursiveAI.OneLlm.JavaScript package runs JavaScript on OneEcma in a sandbox. It adds four things to the core runtime: tool files, hook files…

## Providers

- [Cloud deployments](https://recursiveai.org/onellm/docs/deployments/index.md): A deployment is where a provider's requests go and how they are authenticated. The request and response shapes are the provider's own, so the same codecs…
- [OpenAI and compatible servers](https://recursiveai.org/onellm/docs/providers-openai/index.md): OpenAIProvider talks to the OpenAI API (or an Azure OpenAI / Foundry resource through AzureOpenAIEndpoint, see deployments) with the Responses protocol by…
- [Gemini notes](https://recursiveai.org/onellm/docs/gemini/index.md): The Gemini API provider (OneLlm.Providers.Gemini) speaks generateContent and streamGenerateContent?alt=sse on v1beta. These notes record how its wire…
- [Images, speech and moderation](https://recursiveai.org/onellm/docs/media/index.md): Four capability interfaces cover the non-chat endpoints of OpenAI and Gemini. Each result carries a Cost from the pricing engine and, where the service…
- [Microsoft.Extensions.AI bridge](https://recursiveai.org/onellm/docs/extensions-ai/index.md): RecursiveAI.OneLlm.Extensions.AI connects OneLLM to the Microsoft.Extensions.AI abstractions (version 10.11 of Microsoft.Extensions.AI.Abstractions) in…

## Cost, runs and records

- [Pricing and token counting](https://recursiveai.org/onellm/docs/pricing-and-counting/index.md): Normative notes for the catalog's price fields, how a Usage becomes a Cost, and how input tokens are counted. Money is decimal everywhere; nothing is…
- [Stores and sinks](https://recursiveai.org/onellm/docs/stores/index.md): An instance store keeps instances between runs; a record sink keeps the audit trail of what a run did. OneLLM ships four stores and four sinks. Instance…
- [Telemetry](https://recursiveai.org/onellm/docs/telemetry/index.md): OneLLM emits OpenTelemetry traces and metrics for model calls through System.Diagnostics. Subscribe to the activity source and the meter named OneLlm…
- [Errors and retries](https://recursiveai.org/onellm/docs/errors-and-retries/index.md): Every failure OneLLM raises derives from OneLlmException. Provider failures derive from ProviderException (provider name, HTTP status). API keys are held…

## Command line

- [The onellm tool](https://recursiveai.org/onellm/docs/cli/index.md): onellm runs OneLLM definitions from a terminal. It is a .NET tool (RecursiveAI.OneLlm.Cli, command onellm; it hosts the core, .Web and .JavaScript…
- [Example agents](https://recursiveai.org/onellm/docs/examples/index.md): Eight agents ship inside the onellm tool. Run one by name, or copy it with onellm examples show and change it.

## File formats

- [Definitions, flows and deciders](https://recursiveai.org/onellm/docs/spec-definitions/index.md): This is the file format OneLLM reads and writes for agent definitions, scripted flows and deciders. It is YAML 1.2. The format is versioned as a whole…
- [Instances](https://recursiveai.org/onellm/docs/spec-instances/index.md): An instance is one run of a definition and everything it has said and done. It is a YAML file named .yaml. The rules for unknown keys, null values, empty…
- [Messages](https://recursiveai.org/onellm/docs/spec-messages/index.md): The normative description of how OneLLM represents and stores conversation messages. It covers the in-memory model, the file shape (YAML and JSON carry…
- [Catalog](https://recursiveai.org/onellm/docs/spec-catalog/index.md): The catalog says which models exist, what they can do and what they cost. It is a set of llm-provider.yaml files merged in layers.
- [Records](https://recursiveai.org/onellm/docs/spec-records/index.md): Records are an append-only audit trail of a run. Instance state is the truth; records show how it got there. Sinks receive records; a sink that fails…

## Reference

- [Results](https://recursiveai.org/onellm/docs/results/index.md): What OneLLM measured about itself for the 1.0 release, and how. Every number below is OneLLM's own.
- [Changelog](https://recursiveai.org/onellm/docs/changelog/index.md): All notable changes to this project are documented in this file. The format follows Keep a Changelog, and the project follows Semantic Versioning.
