diff --git a/docs/ai-coder/agents/getting-started.md b/docs/ai-coder/agents/getting-started.md index c7b08c7e2ea94..4579c72819a77 100644 --- a/docs/ai-coder/agents/getting-started.md +++ b/docs/ai-coder/agents/getting-started.md @@ -3,11 +3,6 @@ This guide walks platform teams and administrators through setting up Coder Agents, preparing your deployment, and running your first Coder Agent. -> [!NOTE] -> Coder Agents is in Beta. APIs, behavior, and configuration may change -> between releases without notice; pin a release before broad rollout. -> Use **Coder version 2.33.1 or greater**. - ## Prerequisites Before you begin, confirm the following: @@ -167,10 +162,9 @@ credential scoping, and pre-installing dependencies. ### Plan for change between releases -Coder Agents is under active development. APIs, behavior, and -configuration may change between releases without notice. Pin a -specific release before broad rollout and review the release notes -before upgrading so changes do not surprise developers in production. +Coder Agents is generally available. +However, APIs, behavior, and configuration may change between releases. +As always, you should review [release notes](https://github.com/coder/coder/releases) and the [changelog](https://coder.com/changelog) before upgrading, so changes do not affect production. ### Use HTTPS for push notifications @@ -196,7 +190,7 @@ deployment. Use this to encode organizational conventions: - Any guardrails specific to your environment. Configure the system prompt from **AI Settings** > **Coder Agents** > **Instructions** -or via the API at `PUT /api/experimental/chats/config/system-prompt`. +or via the API at `PUT /api/v2/chats/config/system-prompt`. See [Platform Controls](./platform-controls/index.md) for details. ### Understand the security model @@ -256,7 +250,7 @@ This is useful for building automations such as: **Quick example — create a Coder Agent via the API:** ```sh -curl -X POST https://coder.example.com/api/experimental/chats \ +curl -X POST https://coder.example.com/api/v2/chats \ -H "Coder-Session-Token: $CODER_SESSION_TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -269,7 +263,7 @@ curl -X POST https://coder.example.com/api/experimental/chats \ Stream updates in real time by connecting to the WebSocket endpoint: ```txt -GET /api/experimental/chats/{chat}/stream +GET /api/v2/chats/{chat}/stream ``` For service-to-service automation, use @@ -277,10 +271,6 @@ For service-to-service automation, use rather than developer session tokens. Keep automation credentials narrowly scoped. -> [!NOTE] -> The Chats API is in beta and may change without notice. -> See [Chats API](../../reference/api/chats.md) for the full endpoint reference. - ### Add workspace context with AGENTS.md Create an `AGENTS.md` file in the home directory (`~/.coder/AGENTS.md`) or @@ -319,7 +309,7 @@ Good feedback includes: - **Context** — screenshots, `chat_id` values, or links to the Agents page help the team investigate quickly. -Your input directly influences product direction during Beta. +Your input directly influences product direction. ## Next steps diff --git a/docs/ai-coder/agents/index.md b/docs/ai-coder/agents/index.md index 2f3b81eea505f..d56ab79c6a4df 100644 --- a/docs/ai-coder/agents/index.md +++ b/docs/ai-coder/agents/index.md @@ -321,8 +321,3 @@ Coder Agents is a new approach that differs from | Workspace selection | Automatic, based on task description | Manual, user selects template | | Sub-agents | Built-in parallel delegation | Not supported | | Modern chat UI | Native chat with diffs, queuing | Terminal-based interface | - -## Product status - -Coder Agents is in Beta. The feature is under active development and -available for evaluation. diff --git a/docs/ai-coder/agents/models.md b/docs/ai-coder/agents/models.md index 0c2d0baf5d7e6..e707d95737f8b 100644 --- a/docs/ai-coder/agents/models.md +++ b/docs/ai-coder/agents/models.md @@ -297,9 +297,9 @@ subagents always run on the administrator-configured computer-use model and reject explicit model selection. > [!NOTE] -> Both override layers are experimental and may change between releases. -> The same values are available through the experimental chat -> configuration API under `/api/experimental/chats/config/`. +> Both override layers may change between releases. +> The same values are available through the chat +> configuration API under `/api/v2/chats/config/`. ## User API keys (BYOK) diff --git a/docs/ai-coder/agents/platform-controls/advisor.md b/docs/ai-coder/agents/platform-controls/advisor.md index 7854db884d901..01427f1229680 100644 --- a/docs/ai-coder/agents/platform-controls/advisor.md +++ b/docs/ai-coder/agents/platform-controls/advisor.md @@ -44,5 +44,5 @@ Failed advisor invocations refund the per-turn budget. The same configuration is available at: -- `GET /api/experimental/chats/config/advisor` -- `PUT /api/experimental/chats/config/advisor` +- `GET /api/v2/chats/config/advisor` +- `PUT /api/v2/chats/config/advisor` diff --git a/docs/ai-coder/agents/platform-controls/chat-auto-archive.md b/docs/ai-coder/agents/platform-controls/chat-auto-archive.md index 26a36d56aab75..69f83441afb56 100644 --- a/docs/ai-coder/agents/platform-controls/chat-auto-archive.md +++ b/docs/ai-coder/agents/platform-controls/chat-auto-archive.md @@ -78,8 +78,8 @@ enable auto-archiving. Use the admin API to read or update the value: - GET /api/experimental/chats/config/auto-archive-days - PUT /api/experimental/chats/config/auto-archive-days + GET /api/v2/chats/config/auto-archive-days + PUT /api/v2/chats/config/auto-archive-days ## Rollout advice diff --git a/docs/ai-coder/agents/platform-controls/chat-debug-logging.md b/docs/ai-coder/agents/platform-controls/chat-debug-logging.md index 8d1c4166a3138..a5389c3ae9040 100644 --- a/docs/ai-coder/agents/platform-controls/chat-debug-logging.md +++ b/docs/ai-coder/agents/platform-controls/chat-debug-logging.md @@ -12,11 +12,11 @@ Off by default. Three layers control whether it runs for a given chat: 1. **Runtime admin gate.** With the deployment override unset, the *Let users record chat debug logs* toggle decides whether users can opt in. Configure it under **AI Settings** > **Lifecycle**, or at - `GET/PUT /api/experimental/chats/config/debug-logging`. + `GET/PUT /api/v2/chats/config/debug-logging`. 1. **Per-user toggle.** Users with the admin gate enabled can turn debug logging on for their own chats from **Agents** > **Settings** > **General** under *Record debug logs for my chats*. The endpoint - `PUT /api/experimental/chats/config/user-debug-logging` returns + `PUT /api/v2/chats/config/user-debug-logging` returns `409 Conflict` if the deployment override is active and `403 Forbidden` if the admin has not enabled user opt-in. @@ -49,11 +49,11 @@ the newest runs. ### API access -The same data is available through the experimental API: +The same data is available through the API: -- `GET /api/experimental/chats/{chat}/debug/runs` lists the most recent runs +- `GET /api/v2/chats/{chat}/debug/runs` lists the most recent runs for a chat (up to 100, newest first). -- `GET /api/experimental/chats/{chat}/debug/runs/{debugRun}` returns a single +- `GET /api/v2/chats/{chat}/debug/runs/{debugRun}` returns a single run with all of its steps, including normalized request and response bodies. Fetch a single run and save it as JSON: @@ -66,7 +66,7 @@ export RUN_ID="11111111-1111-1111-1111-111111111111" curl -fsS \ -H "Coder-Session-Token: $CODER_SESSION_TOKEN" \ - "$CODER_URL/api/experimental/chats/$CHAT_ID/debug/runs/$RUN_ID" \ + "$CODER_URL/api/v2/chats/$CHAT_ID/debug/runs/$RUN_ID" \ | jq . > "coder-agents-debug-run-$RUN_ID.json" ``` @@ -77,7 +77,7 @@ from above: ```sh RUN_IDS=$(curl -fsS \ -H "Coder-Session-Token: $CODER_SESSION_TOKEN" \ - "$CODER_URL/api/experimental/chats/$CHAT_ID/debug/runs" \ + "$CODER_URL/api/v2/chats/$CHAT_ID/debug/runs" \ | jq -r '.[].id') || { echo "Failed to list debug runs" >&2 exit 1 @@ -89,7 +89,7 @@ trap 'rm -f "$RUN_EXPORTS"' EXIT for RUN_ID in $RUN_IDS; do curl -fsS \ -H "Coder-Session-Token: $CODER_SESSION_TOKEN" \ - "$CODER_URL/api/experimental/chats/$CHAT_ID/debug/runs/$RUN_ID" \ + "$CODER_URL/api/v2/chats/$CHAT_ID/debug/runs/$RUN_ID" \ >> "$RUN_EXPORTS" || { echo "Failed to fetch debug run $RUN_ID" >&2 exit 1 diff --git a/docs/ai-coder/agents/platform-controls/chat-debug-retention.md b/docs/ai-coder/agents/platform-controls/chat-debug-retention.md index d9cbb7bf1842f..d5504dab5cb3b 100644 --- a/docs/ai-coder/agents/platform-controls/chat-debug-retention.md +++ b/docs/ai-coder/agents/platform-controls/chat-debug-retention.md @@ -25,11 +25,11 @@ Navigate to the **Agents** page, open **Settings**, and select the Set the value to `0` to disable debug data retention entirely. The maximum value is `3650` days. -Use the experimental admin API to read or update the value: +Use the admin API to read or update the value: ```txt -GET /api/experimental/chats/config/debug-retention-days -PUT /api/experimental/chats/config/debug-retention-days +GET /api/v2/chats/config/debug-retention-days +PUT /api/v2/chats/config/debug-retention-days ``` ## Interaction with conversation retention diff --git a/docs/ai-coder/agents/platform-controls/chat-retention.md b/docs/ai-coder/agents/platform-controls/chat-retention.md index 173760d807c65..e28d6fe70a7f6 100644 --- a/docs/ai-coder/agents/platform-controls/chat-retention.md +++ b/docs/ai-coder/agents/platform-controls/chat-retention.md @@ -28,11 +28,11 @@ Navigate to the **Agents** page, open **Settings**, and select the **Behavior** tab to configure the conversation retention period. The default is 30 days. Use the toggle to disable retention entirely. -Use the experimental admin API to read or update the value: +Use the admin API to read or update the value: ```txt -GET /api/experimental/chats/config/retention-days -PUT /api/experimental/chats/config/retention-days +GET /api/v2/chats/config/retention-days +PUT /api/v2/chats/config/retention-days ``` ## What gets deleted diff --git a/docs/ai-coder/agents/platform-controls/index.md b/docs/ai-coder/agents/platform-controls/index.md index 8d4a73a42ce73..432050909ef9f 100644 --- a/docs/ai-coder/agents/platform-controls/index.md +++ b/docs/ai-coder/agents/platform-controls/index.md @@ -63,10 +63,10 @@ plan sections, approval checkpoints, or review workflows. This setting is available under **AI Settings** > **Coder Agents** > **Instructions**. Developers do not edit it directly. -The same value is exposed over the experimental chat configuration API: +The same value is exposed over the chat configuration API: -- `GET /api/experimental/chats/config/plan-mode-instructions` -- `PUT /api/experimental/chats/config/plan-mode-instructions` +- `GET /api/v2/chats/config/plan-mode-instructions` +- `PUT /api/v2/chats/config/plan-mode-instructions` ### Template routing diff --git a/docs/ai-coder/agents/platform-controls/spend-management.md b/docs/ai-coder/agents/platform-controls/spend-management.md index 61d1f0cc07252..a2ae8b825b99d 100644 --- a/docs/ai-coder/agents/platform-controls/spend-management.md +++ b/docs/ai-coder/agents/platform-controls/spend-management.md @@ -28,9 +28,9 @@ $1,000,000 per member per period. > Configured per-model prices and historical native cost totals are also not migrated to AI Gateway. > Before upgrading, record any per-model prices you need from **Admin settings** > **AI** > **Models**. > The old cost endpoints default `start_date` to 30 days before the request and `end_date` to the request time, so choose explicit RFC 3339 UTC values that cover all history you need. -> Fetch `/api/experimental/chats/cost/users?start_date=&end_date=&limit=100&offset=0` and save the response. +> Fetch `/api/v2/chats/cost/users?start_date=&end_date=&limit=100&offset=0` and save the response. > After each page, stop when `offset + users.length >= count`; otherwise, increase `offset` by 100 and fetch the next page. -> For every `users[].user_id` across those pages, save `/api/experimental/chats/cost/{user_id}/summary?start_date=&end_date=` with the same dates. +> For every `users[].user_id` across those pages, save `/api/v2/chats/cost/{user_id}/summary?start_date=&end_date=` with the same dates. > Each summary contains the user's totals plus `by_model` and `by_chat` breakdowns. > After upgrading, the native **Spend** page, per-model pricing fields, and aggregate cost endpoints are unavailable. > Historical `chat_messages.total_cost_micros` values remain in the database temporarily for rolling upgrade compatibility, but AI Gateway reports do not include or reconstruct them. diff --git a/docs/ai-coder/agents/platform-controls/virtual-desktop.md b/docs/ai-coder/agents/platform-controls/virtual-desktop.md index 76b440f4b6a80..bed736d542b3b 100644 --- a/docs/ai-coder/agents/platform-controls/virtual-desktop.md +++ b/docs/ai-coder/agents/platform-controls/virtual-desktop.md @@ -39,5 +39,5 @@ provider is set. The same configuration is available at: -- `GET /api/experimental/chats/config/computer-use-provider` -- `PUT /api/experimental/chats/config/computer-use-provider` +- `GET /api/v2/chats/config/computer-use-provider` +- `PUT /api/v2/chats/config/computer-use-provider` diff --git a/docs/ai-coder/agents/tasks-to-chats-migration.md b/docs/ai-coder/agents/tasks-to-chats-migration.md index 06c18b6d6283d..d34fc61ae7308 100644 --- a/docs/ai-coder/agents/tasks-to-chats-migration.md +++ b/docs/ai-coder/agents/tasks-to-chats-migration.md @@ -1,16 +1,13 @@ # Migrating from the Tasks API to the Chats API The [Tasks API](../../reference/api/tasks.md) (`/api/v2/tasks`) and the -[Chats API](../../reference/api/chats.md) (`/api/experimental/chats`) serve similar +[Chats API](../../reference/api/chats.md) (`/api/v2/chats`) serve similar goals (programmatic access to AI-powered coding agents) but they differ significantly in architecture, capabilities, and usage patterns. This guide walks you through updating your integrations from the Tasks API to the Chats API. -> [!NOTE] -> The Chats API is experimental in current Coder releases. Endpoints live under `/api/experimental/chats` and may change without notice until the feature graduates to GA. - ## When to migrate Coder Tasks is being deprecated. Support continues on the ESR release and @@ -44,21 +41,21 @@ Before mapping individual endpoints, understand the structural changes: The table below maps each Tasks API endpoint to its Chats API equivalent. -| Operation | Tasks API | Chats API | -|-------------------|-------------------------------------------|---------------------------------------------------------------------| -| List | `GET /api/v2/tasks` | `GET /api/experimental/chats` | -| Create | `POST /api/v2/tasks/{user}` | `POST /api/experimental/chats` | -| Get by ID | `GET /api/v2/tasks/{user}/{task}` | `GET /api/experimental/chats/{chat}` | -| Delete | `DELETE /api/v2/tasks/{user}/{task}` | `PATCH /api/experimental/chats/{chat}` with `{"archived": true}` | -| Send follow-up | `POST /api/v2/tasks/{user}/{task}/send` | `POST /api/experimental/chats/{chat}/messages` | -| Update input | `PATCH /api/v2/tasks/{user}/{task}/input` | `PATCH /api/experimental/chats/{chat}/messages/{message}` | -| Get logs / stream | `GET /api/v2/tasks/{user}/{task}/logs` | `GET /api/experimental/chats/{chat}/stream` (WebSocket) | -| Pause | `POST /api/v2/tasks/{user}/{task}/pause` | `POST /api/experimental/chats/{chat}/interrupt` | -| Resume | `POST /api/v2/tasks/{user}/{task}/resume` | `POST /api/experimental/chats/{chat}/messages` (send a new message) | -| Watch all | n/a | `GET /api/experimental/chats/watch` (WebSocket) | -| Get messages | n/a | `GET /api/experimental/chats/{chat}/messages` | -| List models | n/a | `GET /api/experimental/chats/models` | -| Upload file | n/a | `POST /api/experimental/chats/files` | +| Operation | Tasks API | Chats API | +|-------------------|-------------------------------------------|-----------------------------------------------------------| +| List | `GET /api/v2/tasks` | `GET /api/v2/chats` | +| Create | `POST /api/v2/tasks/{user}` | `POST /api/v2/chats` | +| Get by ID | `GET /api/v2/tasks/{user}/{task}` | `GET /api/v2/chats/{chat}` | +| Delete | `DELETE /api/v2/tasks/{user}/{task}` | `PATCH /api/v2/chats/{chat}` with `{"archived": true}` | +| Send follow-up | `POST /api/v2/tasks/{user}/{task}/send` | `POST /api/v2/chats/{chat}/messages` | +| Update input | `PATCH /api/v2/tasks/{user}/{task}/input` | `PATCH /api/v2/chats/{chat}/messages/{message}` | +| Get logs / stream | `GET /api/v2/tasks/{user}/{task}/logs` | `GET /api/v2/chats/{chat}/stream` (WebSocket) | +| Pause | `POST /api/v2/tasks/{user}/{task}/pause` | `POST /api/v2/chats/{chat}/interrupt` | +| Resume | `POST /api/v2/tasks/{user}/{task}/resume` | `POST /api/v2/chats/{chat}/messages` (send a new message) | +| Watch all | n/a | `GET /api/v2/chats/watch` (WebSocket) | +| Get messages | n/a | `GET /api/v2/chats/{chat}/messages` | +| List models | n/a | `GET /api/v2/chats/models` | +| Upload file | n/a | `POST /api/v2/chats/files` | ## Migration steps @@ -97,7 +94,7 @@ path segment is required: ```sh # Chats API: create a chat -curl -X POST https://coder.example.com/api/experimental/chats \ +curl -X POST https://coder.example.com/api/v2/chats \ -H "Coder-Session-Token: $CODER_SESSION_TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -140,7 +137,7 @@ curl -X POST https://coder.example.com/api/v2/tasks/me/my-task/send \ ```sh # Chats API: send a message curl -X POST \ - https://coder.example.com/api/experimental/chats/$CHAT_ID/messages \ + https://coder.example.com/api/v2/chats/$CHAT_ID/messages \ -H "Coder-Session-Token: $CODER_SESSION_TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -168,7 +165,7 @@ curl https://coder.example.com/api/v2/tasks/me/my-task/logs \ **Chats API**. You open a one-way WebSocket connection: ```txt -GET wss://coder.example.com/api/experimental/chats/{chat}/stream +GET wss://coder.example.com/api/v2/chats/{chat}/stream ``` The WebSocket sends JSON envelopes with a `type` field (`"ping"`, @@ -215,7 +212,7 @@ The Tasks API uses `DELETE` to remove a task. The Chats API uses archiving: - curl -X DELETE https://coder.example.com/api/v2/tasks/me/my-task \ - -H "Coder-Session-Token: $CODER_SESSION_TOKEN" -+ curl -X PATCH https://coder.example.com/api/experimental/chats/$CHAT_ID \ ++ curl -X PATCH https://coder.example.com/api/v2/chats/$CHAT_ID \ + -H "Coder-Session-Token: $CODER_SESSION_TOKEN" \ + -H "Content-Type: application/json" \ + -d '{"archived": true}' @@ -244,12 +241,12 @@ message resumes processing: ```sh # Chats API: interrupt curl -X POST \ - https://coder.example.com/api/experimental/chats/$CHAT_ID/interrupt \ + https://coder.example.com/api/v2/chats/$CHAT_ID/interrupt \ -H "Coder-Session-Token: $CODER_SESSION_TOKEN" # Chats API: resume by sending a new message curl -X POST \ - https://coder.example.com/api/experimental/chats/$CHAT_ID/messages \ + https://coder.example.com/api/v2/chats/$CHAT_ID/messages \ -H "Coder-Session-Token: $CODER_SESSION_TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -480,7 +477,7 @@ WORKSPACE_ID=$(curl -s -X POST \ }' | jq -r '.id') # 2. Create the chat bound to that workspace. -curl -s -X POST https://coder.example.com/api/experimental/chats \ +curl -s -X POST https://coder.example.com/api/v2/chats \ -H "Coder-Session-Token: $CODER_SESSION_TOKEN" \ -H "Content-Type: application/json" \ -d "{ @@ -510,7 +507,7 @@ List available models to verify at least one provider is configured and reachable: ```sh -curl -s https://coder.example.com/api/experimental/chats/models \ +curl -s https://coder.example.com/api/v2/chats/models \ -H "Coder-Session-Token: $CODER_SESSION_TOKEN" | jq '.[].display_name' ``` @@ -522,7 +519,7 @@ If this returns an empty list or an error, revisit Create a simple chat that does not require a workspace: ```sh -curl -s -X POST https://coder.example.com/api/experimental/chats \ +curl -s -X POST https://coder.example.com/api/v2/chats \ -H "Coder-Session-Token: $CODER_SESSION_TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -541,7 +538,7 @@ returns a response. Using [websocat](https://github.com/vi/websocat): ```sh websocat -H "Coder-Session-Token: $CODER_SESSION_TOKEN" \ - "wss://coder.example.com/api/experimental/chats/$CHAT_ID/stream" + "wss://coder.example.com/api/v2/chats/$CHAT_ID/stream" ``` You should see JSON envelopes with `"type": "data"` containing @@ -554,7 +551,7 @@ Verify multi-turn conversation works: ```sh curl -s -X POST \ - "https://coder.example.com/api/experimental/chats/$CHAT_ID/messages" \ + "https://coder.example.com/api/v2/chats/$CHAT_ID/messages" \ -H "Coder-Session-Token: $CODER_SESSION_TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -584,7 +581,7 @@ as `execute`) against the attached workspace. After the chat finishes, verify the chat is bound to the workspace via the API: ```sh -curl -s "https://coder.example.com/api/experimental/chats/$CHAT_ID" \ +curl -s "https://coder.example.com/api/v2/chats/$CHAT_ID" \ -H "Coder-Session-Token: $CODER_SESSION_TOKEN" | jq '{workspace_id, status}' ``` @@ -599,14 +596,14 @@ Start a long-running chat and interrupt it: ```sh curl -s -X POST \ - "https://coder.example.com/api/experimental/chats/$CHAT_ID/interrupt" \ + "https://coder.example.com/api/v2/chats/$CHAT_ID/interrupt" \ -H "Coder-Session-Token: $CODER_SESSION_TOKEN" ``` Then confirm the chat status returns to `"waiting"`: ```sh -curl -s "https://coder.example.com/api/experimental/chats/$CHAT_ID" \ +curl -s "https://coder.example.com/api/v2/chats/$CHAT_ID" \ -H "Coder-Session-Token: $CODER_SESSION_TOKEN" | jq '.status' ``` @@ -615,20 +612,20 @@ curl -s "https://coder.example.com/api/experimental/chats/$CHAT_ID" \ ```sh # Archive curl -s -X PATCH \ - "https://coder.example.com/api/experimental/chats/$CHAT_ID" \ + "https://coder.example.com/api/v2/chats/$CHAT_ID" \ -H "Coder-Session-Token: $CODER_SESSION_TOKEN" \ -H "Content-Type: application/json" \ -d '{"archived": true}' # Confirm it no longer appears in the default list -curl -s "https://coder.example.com/api/experimental/chats" \ +curl -s "https://coder.example.com/api/v2/chats" \ -H "Coder-Session-Token: $CODER_SESSION_TOKEN" \ | jq --arg id "$CHAT_ID" '[.[] | select(.id == $id)] | length' # Should return 0 # Restore curl -s -X PATCH \ - "https://coder.example.com/api/experimental/chats/$CHAT_ID" \ + "https://coder.example.com/api/v2/chats/$CHAT_ID" \ -H "Coder-Session-Token: $CODER_SESSION_TOKEN" \ -H "Content-Type: application/json" \ -d '{"archived": false}' diff --git a/docs/images/agents-hero-image.png b/docs/images/agents-hero-image.png index 5e80f7b586f0b..39b402089659c 100644 Binary files a/docs/images/agents-hero-image.png and b/docs/images/agents-hero-image.png differ diff --git a/docs/images/guides/ai-agents/coder-agents-ui.mp4 b/docs/images/guides/ai-agents/coder-agents-ui.mp4 index 0e4537169bf5a..ff50a87525e00 100644 Binary files a/docs/images/guides/ai-agents/coder-agents-ui.mp4 and b/docs/images/guides/ai-agents/coder-agents-ui.mp4 differ diff --git a/docs/images/guides/ai-agents/llm-providers.png b/docs/images/guides/ai-agents/llm-providers.png index e96c172e79775..85c776c0c6067 100644 Binary files a/docs/images/guides/ai-agents/llm-providers.png and b/docs/images/guides/ai-agents/llm-providers.png differ diff --git a/docs/images/guides/ai-agents/models-add-model.png b/docs/images/guides/ai-agents/models-add-model.png index b60783b445327..bf1aa082c42d0 100644 Binary files a/docs/images/guides/ai-agents/models-add-model.png and b/docs/images/guides/ai-agents/models-add-model.png differ diff --git a/docs/images/guides/ai-agents/models-list.png b/docs/images/guides/ai-agents/models-list.png index c92127a4797af..9db10fb47f35f 100644 Binary files a/docs/images/guides/ai-agents/models-list.png and b/docs/images/guides/ai-agents/models-list.png differ diff --git a/docs/install/releases/feature-stages.md b/docs/install/releases/feature-stages.md index 3748d580a14b4..57ccea3121d52 100644 --- a/docs/install/releases/feature-stages.md +++ b/docs/install/releases/feature-stages.md @@ -102,11 +102,10 @@ available in the documentation. -| Feature | Description | -|------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------| -| [MCP Server](../../ai-coder/mcp-server.md) | Connect external AI coding agents to Coder using its built-in Model Context Protocol server. | -| [JetBrains Toolbox](../../user-guides/workspace-access/jetbrains/toolbox.md) | Connect to and manage your Coder workspaces from the JetBrains Toolbox app. | -| [Coder Agents](../../ai-coder/agents/index.md) | Delegate development work to coding agents in your deployment with Coder Agents, a chat interface and API. | +| Feature | Description | +|------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------| +| [MCP Server](../../ai-coder/mcp-server.md) | Connect external AI coding agents to Coder using its built-in Model Context Protocol server. | +| [JetBrains Toolbox](../../user-guides/workspace-access/jetbrains/toolbox.md) | Connect to and manage your Coder workspaces from the JetBrains Toolbox app. | ## General Availability (GA) diff --git a/docs/manifest.json b/docs/manifest.json index 0f5400146a209..d9ae6fa5447d2 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -1027,61 +1027,51 @@ "title": "Coder Agents", "description": "Delegate development work to coding agents in your deployment with Coder Agents, a chat interface and API.", "path": "./ai-coder/agents/index.md", - "state": ["beta"], "children": [ { "title": "Getting Started", "description": "Enable Coder Agents, prepare your deployment, and run your first Coder Agent", - "path": "./ai-coder/agents/getting-started.md", - "state": ["beta"] + "path": "./ai-coder/agents/getting-started.md" }, { "title": "Search Syntax", "description": "Filter Coder Agents conversations by title, status, and linked pull requests with search syntax.", - "path": "./ai-coder/agents/chat-search-syntax.md", - "state": ["beta"] + "path": "./ai-coder/agents/chat-search-syntax.md" }, { "title": "Architecture", "description": "Learn how the Coder Agents control-plane agent communicates with your workspaces.", - "path": "./ai-coder/agents/architecture.md", - "state": ["beta"] + "path": "./ai-coder/agents/architecture.md" }, { "title": "Chat Sharing", "description": "Give other users and groups read-only access to a Coder Agents conversation with chat sharing.", - "path": "./ai-coder/agents/chat-sharing.md", - "state": ["beta"] + "path": "./ai-coder/agents/chat-sharing.md" }, { "title": "Models", "description": "Configure the LLM providers and models that power Coder Agents from Admin settings.", - "path": "./ai-coder/agents/models.md", - "state": ["beta"] + "path": "./ai-coder/agents/models.md" }, { "title": "Tools", "description": "How Coder Agents uses tool calls to select templates and create workspaces", - "path": "./ai-coder/agents/tools/index.md", - "state": ["beta"] + "path": "./ai-coder/agents/tools/index.md" }, { "title": "Platform Controls", "description": "Learn how platform teams control Coder Agents behavior, models, spend, and policies.", "path": "./ai-coder/agents/platform-controls/index.md", - "state": ["beta"], "children": [ { "title": "Template Optimization", "description": "Best practices for creating templates that are discoverable and useful to Coder Agents", - "path": "./ai-coder/agents/platform-controls/template-optimization.md", - "state": ["beta"] + "path": "./ai-coder/agents/platform-controls/template-optimization.md" }, { "title": "MCP Servers", "description": "Configure external MCP servers that provide additional tools for agent chat sessions", - "path": "./ai-coder/agents/platform-controls/mcp-servers.md", - "state": ["beta"] + "path": "./ai-coder/agents/platform-controls/mcp-servers.md" }, { "title": "Spend management", @@ -1092,26 +1082,22 @@ { "title": "Git Providers", "description": "Configure Git providers so Coder Agents can show pull request diffs in the in-chat viewer.", - "path": "./ai-coder/agents/platform-controls/git-providers.md", - "state": ["beta"] + "path": "./ai-coder/agents/platform-controls/git-providers.md" }, { "title": "Data Retention", "description": "Configure automatic cleanup of old Coder Agents conversation data to manage database size.", - "path": "./ai-coder/agents/platform-controls/chat-retention.md", - "state": ["beta"] + "path": "./ai-coder/agents/platform-controls/chat-retention.md" }, { "title": "Debug Data Retention", "description": "Configure automatic cleanup of old Coder Agents chat debug data to manage database size.", - "path": "./ai-coder/agents/platform-controls/chat-debug-retention.md", - "state": ["beta"] + "path": "./ai-coder/agents/platform-controls/chat-debug-retention.md" }, { "title": "Auto-Archive", "description": "Automatically archive long-inactive Coder Agents conversations to keep chat lists tidy.", - "path": "./ai-coder/agents/platform-controls/chat-auto-archive.md", - "state": ["beta"] + "path": "./ai-coder/agents/platform-controls/chat-auto-archive.md" }, { "title": "Advisor", @@ -1136,14 +1122,12 @@ { "title": "Extending Agents", "description": "Extend Coder Agents with custom skills and MCP tools defined in your workspace templates.", - "path": "./ai-coder/agents/extending-agents.md", - "state": ["beta"] + "path": "./ai-coder/agents/extending-agents.md" }, { "title": "Tasks to Chats API Migration", "description": "Migrate your integrations from the Coder Tasks API to the newer Coder Agents Chats API.", - "path": "./ai-coder/agents/tasks-to-chats-migration.md", - "state": ["beta"] + "path": "./ai-coder/agents/tasks-to-chats-migration.md" } ] }, @@ -1411,8 +1395,7 @@ { "title": "Tasks to Chats API Migration", "description": "Migrate your integrations from the Coder Tasks API to the newer Coder Agents Chats API.", - "path": "./ai-coder/agents/tasks-to-chats-migration.md", - "state": ["beta"] + "path": "./ai-coder/agents/tasks-to-chats-migration.md" } ] }