From 823009d9eac2bbc42ea44ef45a36fb5028cd89c6 Mon Sep 17 00:00:00 2001 From: Danny Kopping Date: Tue, 25 Nov 2025 11:33:07 +0200 Subject: [PATCH] chore: document key scopes for OpenAI and Anthropic for `aibridge` (#20903) Closes https://github.com/coder/internal/issues/1135 --------- Signed-off-by: Danny Kopping --- docs/ai-coder/ai-bridge/index.md | 2 +- docs/ai-coder/ai-bridge/setup.md | 6 ++++++ docs/images/aibridge/openai_key_scope.png | Bin 0 -> 30004 bytes 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 docs/images/aibridge/openai_key_scope.png diff --git a/docs/ai-coder/ai-bridge/index.md b/docs/ai-coder/ai-bridge/index.md index 7fd35924fd..5c760df1d1 100644 --- a/docs/ai-coder/ai-bridge/index.md +++ b/docs/ai-coder/ai-bridge/index.md @@ -2,7 +2,7 @@ ![AI bridge diagram](../../images/aibridge/aibridge_diagram.png) -AI Bridge is a smart proxy for AI. It acts as a man-in-the-middle between your users' coding agents / IDEs +AI Bridge is a smart gateway for AI. It acts as an intermediary between your users' coding agents / IDEs and providers like OpenAI and Anthropic. By intercepting all the AI traffic between these clients and the upstream APIs, AI Bridge can record user prompts, token usage, and tool invocations. diff --git a/docs/ai-coder/ai-bridge/setup.md b/docs/ai-coder/ai-bridge/setup.md index a9d5004f1d..3c0a4f7a83 100644 --- a/docs/ai-coder/ai-bridge/setup.md +++ b/docs/ai-coder/ai-bridge/setup.md @@ -33,6 +33,10 @@ Set the following when routing [OpenAI-compatible](https://coder.com/docs/refere The default base URL (`https://api.openai.com/v1/`) works for the native OpenAI service. Point the base URL at your preferred OpenAI-compatible endpoint (for example, a hosted proxy or LiteLLM deployment) when needed. +If you'd like to create an [OpenAI key](https://platform.openai.com/api-keys) with minimal privileges, this is the minimum required set: + +![List Models scope should be set to "Read", Model Capabilities set to "Request"](../../images/aibridge/openai_key_scope.png) + ### Anthropic Set the following when routing [Anthropic-compatible](https://coder.com/docs/reference/cli/server#--aibridge-anthropic-key) traffic through AI Bridge: @@ -42,6 +46,8 @@ Set the following when routing [Anthropic-compatible](https://coder.com/docs/ref The default base URL (`https://api.anthropic.com/`) targets Anthropic's public API. Override it for Anthropic-compatible brokers. +Anthropic does not allow [API keys](https://console.anthropic.com/settings/keys) to have restricted permissions at the time of writing (Nov 2025). + ### Amazon Bedrock Set the following when routing [Amazon Bedrock](https://coder.com/docs/reference/cli/server#--aibridge-bedrock-region) traffic through AI Bridge: diff --git a/docs/images/aibridge/openai_key_scope.png b/docs/images/aibridge/openai_key_scope.png new file mode 100644 index 0000000000000000000000000000000000000000..aded76c970e4d9409762f37d3fabb1237ac2d3c2 GIT binary patch literal 30004 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 literal 0 HcmV?d00001