Диагностика · Zed

Zed api_url для Anthropic — настройка своего base URL и 404 из-за /v1/v1

Как направить провайдера Anthropic в Zed на свой эндпоинт через language_models.anthropic.api_url и почему дописанный /v1 даёт 404 из-за удвоенного пути.

Что вы видите

zed custom anthropic api url

Почему возникает

  • api_url задан вместе с /v1, а пути API Zed дописывает сам — запрос уходит на /v1/v1/messages, которого не существует.
  • api_url добавлен не под тем ключом настроек или с опечаткой, поэтому Zed молча продолжает использовать дефолтный эндпоинт.
  • Эндпоинт верный, но выбранный идентификатор модели он не обслуживает — это второй источник 404.

Что делать

  • Задайте api_url только как origin и дайте Zed собирать пути самому.
  • Положите настройку ровно по пути language_models.anthropic.api_url в settings.json — ключ не на своём месте не даёт ошибку, он просто не работает.
  • Если тело 404 называет модель, путь в порядке, а проблема в идентификаторе модели: получите список моделей эндпоинта и выберите обслуживаемый.

Корректный settings.json

{
  "language_models": {
    "anthropic": {
      "api_url": "https://api.apitoken.sale"
    }
  }
}
// wrong: "api_url": "https://api.apitoken.sale/v1"  → /v1/v1/messages → 404

Похожие запросы

  • zed api_url not working
  • {"type":"error","error":{"type":"not_found_error","message":"Not found"}}

Вопросы и ответы

Должен ли api_url в Zed включать /v1?+
Нет. Zed дописывает /v1/messages сам. api_url, заканчивающийся на /v1, даёт удвоенный путь /v1/v1 и 404.
Как понять, что мой api_url действительно применился?+
Намеренно сломайте его на один запрос (бессмысленный хост) — если ничего не изменилось, Zed читает не тот ключ, который вы правили; исправьте путь в настройках.
Путь верный, а 404 всё равно — почему?+
Тело 404 обычно называет то, чего не хватает. Если оно называет модель, выберите идентификатор, который эндпоинт обслуживает; список — через GET /v1/models.

Пропустите сломанную настройку

apiToken.sale отдаёт стандартный Anthropic API — те же модели, те же SDK, один предоплаченный баланс. Направьте base URL вашего инструмента на него, и конфигурация с этой страницы заработает как написано.