- One stable agent URL
- Many published versions
- A current active version for new sessions
Publish flow
Publishing is CLI-first:- Run
dari deployfrom a local checkout or CI workspace - The CLI uploads your code and manifest-derived config
- Dari publishes a new agent version
- The stable agent URL continues pointing at the active version
What controls an agent
Each publish is driven by:- The repo code uploaded by
dari - The repo-root
dari.ymlmanifest - Platform-managed auth and runtime configuration
Publishing a new version
Publishing a new version does not replace the agent itself. It creates a new agent version behind the same stable URL. That matters because:- New sessions use the active version at creation time
- Existing sessions stay on the version they started on
- The stable URL stays valid across published versions
Version and source model
Dari creates agent versions from uploaded code, not mutable branch references. That gives you:- Reproducible deploy inputs
- The same publish path locally and in CI
- A consistent publishing model across environments
CI publishing
CI uses the same publish path as local usage: rundari deploy in your CI job and inject DARI_API_KEY.
Read CI Publishing for the GitHub Actions example.
Agent behavior
- You can publish from local development or CI
- Version history is attached to the agent
- Existing sessions keep their original agent version
Related API endpoints
The HTTP API exposes agent resources under/agents:
POST https://api.dari.dev/v1/agentsGET https://api.dari.dev/v1/agents/{agent_id}POST https://api.dari.dev/v1/agents/{agent_id}/versionsPOST https://api.dari.dev/v1/agents/{agent_id}/sessions