docs: update API server, CLI, DMR provider, and Go SDK for PRs #3199 #3201 #3206 #3182#3215
Conversation
Add POST /api/sessions/:id/fork to the Sessions endpoint table and document the Session Forking section: request body, message_index semantics (exclusive cut), response shape, title numbering, and validation errors (non-user message, out-of-range, sub-session). Signed-off-by: Arnaud Héritier <aheritier@users.noreply.github.com>
Add a callout to the API Server page and an inline note to the CLI reference describing CAGENT_PPROF_ADDR / --pprof-addr: a hidden flag that starts a Go pprof HTTP server at /debug/pprof/ for heap/goroutine profiling on long-running serve api deployments. Signed-off-by: Arnaud Héritier <aheritier@users.noreply.github.com>
Add a note to the DMR provider overview explaining that docker-agent now enumerates locally-pulled models at startup. Auto-selection prefers an already-pulled model (default tag first, then first non-embedding model) rather than always defaulting to ai/qwen3:latest and triggering an interactive pull prompt. Signed-off-by: Arnaud Héritier <aheritier@users.noreply.github.com>
…3182 Add a 'Registering Custom Built-in Themes' section to the Go SDK guide explaining styles.RegisterBuiltinThemes: how to supply an embed.FS of partial-override YAML files, masking the default theme, and the eagerly-validated precedence rules. Signed-off-by: Arnaud Héritier <aheritier@users.noreply.github.com>
docker-agent
left a comment
There was a problem hiding this comment.
Assessment: 🟢 APPROVE
Documentation-only PR covering session forking, pprof diagnostics, DMR auto-discovery, and styles.RegisterBuiltinThemes. No high or medium severity issues found. Three minor clarity improvements are suggested as inline comments.
|
|
||
| ```yaml | ||
| # themes/brand.yaml | ||
| name: Brand |
There was a problem hiding this comment.
[LOW] Theme YAML example omits name field and undocumented fallback behavior
The themes/brand.yaml snippet (line 203–206) shows only colors.accent and colors.background — the name: key is absent. While the code silently falls back to the filename stem (i.e. "brand") when name: is missing, this behaviour is not mentioned anywhere in the new section.
Suggested addition after the YAML block:
If
name:is omitted, docker-agent uses the filename stem (e.g.brandfromthemes/brand.yaml) as the display name in the theme picker.
Without this note, embedders who rely on an exact human-readable label in the picker may be surprised.
There was a problem hiding this comment.
Fixed in dc53ff1. Added a sentence after the YAML block: "If name: is omitted, docker-agent uses the filename stem as the display name in the theme picker (e.g. brand from themes/brand.yaml)."
|
|
||
| Docker Model Runner (DMR) lets you run open-source AI models directly on your machine. Models run in Docker, so there's no API key needed and no data leaves your computer. | ||
|
|
||
| docker-agent automatically discovers models you have already pulled from DMR. When no model is explicitly configured, auto-selection prefers a locally-installed model (choosing the configured default if it is already pulled, or otherwise the first available non-embedding model) rather than always defaulting to `ai/qwen3:latest` and triggering a pull prompt. |
There was a problem hiding this comment.
[LOW] "Configured default" is undefined in the auto-discovery note
The phrase "choosing the configured default if it is already pulled" does not clarify what "configured default" refers to — is it the model: key in the agent YAML, a DMR-level preference, or a docker-agent global default?
A reader setting up DMR for the first time without an explicit model: key will not know whether this refers to something they need to configure or something docker-agent manages internally.
Consider a small clarification, e.g.:
"…choosing the model specified via the
model:key in the agent YAML if it is already pulled…"
There was a problem hiding this comment.
Fixed in dc53ff1. Changed to: "choosing the model specified via the model: key in the agent YAML if it is already pulled locally" — makes clear this is an explicit config key, not an internal default.
|
|
||
| - `message_index` must point to a **user-role message**; pointing at an assistant turn returns `400 Bad Request`. | ||
| - Out-of-range indices return `400 Bad Request`. | ||
| - An index that falls inside a sub-session returns `400 Bad Request`. |
There was a problem hiding this comment.
[LOW] "Sub-session" used without definition in fork validation rules
The validation bullet "An index that falls inside a sub-session returns 400 Bad Request" references a concept ("sub-session") that is not defined in the API Server reference or linked to any glossary entry.
API consumers who are not familiar with docker-agent's internal session model cannot determine which message_index values would trigger this error. A one-sentence clarification or a link to the session model overview would make this actionable.
There was a problem hiding this comment.
Fixed in dc53ff1. Expanded the bullet to define the term inline: "A sub-session is a nested session created when a multi-agent config delegates work to a child agent; its messages are embedded within the parent session's message list and cannot be used as a fork boundary."
There was a problem hiding this comment.
Perfect fix — thanks for adding the inline definition! The explanation makes it clear that sub-session messages represent delegated work to child agents, and why they can't serve as fork points. API consumers will now understand which indices are valid without needing to reverse-engineer the session model.
- go-sdk: add note that omitting name: in a theme YAML falls back to the filename stem as the picker display name - dmr: clarify 'configured default' as the model: key in the agent YAML - api-server: define sub-session in the fork validation bullet
Updates documentation for four PRs merged in the last 36 hours.
Covered source PRs:
POST /api/sessions/:id/forkto the Sessions endpoint table in the API Server reference, with a new Session Forking section documenting the request body,message_indexsemantics, response shape, title numbering, and validation errors.--pprof-addrflag andCAGENT_PPROF_ADDRenv var in the API Server reference (callout) and CLI reference (inline note).ai/qwen3:latest.styles.RegisterBuiltinThemes, embed.FS layout, partial-override semantics, and precedence rules for embedders.