Коротко — да, в большинстве версий AI Assistant для IDE JetBrains можно подключать собственные (пользовательские) эндпоинты (например ваш прокси к OpenAI, self‑hosted API, Azure OpenAI и т.п.). Реализация и точный UI зависят от версии IDE/плагина, поэтому ниже приведу универсальную инструкцию, типичные поля и примеры конфигураций. Если нужно — пришлите версию PhpStorm и плагина, и я дам пошагово для вашей версии с точными пунктами меню.
1) Общая последовательность действий
- Откройте настройки IDE: File | Settings (Windows/Linux) или PhpStorm | Preferences (macOS).
- Перейдите в раздел, связанный с AI Assistant (может называться Tools → AI Assistant, AI → Assistant, Plugins → AI Assistant и т.п.).
- В разделе подключений/моделей найдите кнопку «Add», «+», «New connection» или «Custom Endpoint».
- Укажите:
- имя подключения (любой ярлык),
- базовый URL API (API base / host),
- тип запроса / тип модели (completions vs chat-completions) — если есть,
- model id (например code-davinci-002 или имя deployment для Azure),
- авторизация (тип: Bearer token / API key) и заголовки (например Authorization: Bearer <KEY> или api-key: <KEY>),
- дополнительные параметры (например api-version для Azure).
- Сохраните и протестируйте подключение (кнопка Test или попытка использовать ассистента).
- При необходимости перезапустите IDE/плагин.
2) Что указывать для Codex (старые OpenAI Codex)
- Codex использовал старый конечный путь engines/{engine_id}/completions. В поле model/engine укажите engine id (например code-davinci-002).
- Если ваш прокси/endpoint ожидает старый путь, убедитесь, что базовый URL + путь совпадают с тем, что использует ваш сервер.
- Пример запроса (curl) для старого эндпоинта:
curl https://api.openai.com/v1/engines/code-davinci-002/completions \
-H "Authorization: Bearer $OPENAI_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt":"print(\"Hello\")","max_tokens":64}'
Примечание: OpenAI постепенно переводит пользователей на Chat Completions; Codex может быть недоступен в новых аккаунтах — проверьте у провайдера.
3) Примеры конфигураций
- Прямой OpenAI (обычный):
- Base URL: https://api.openai.com/v1
- Model id: (для chat) e.g. gpt-4o-mini, (для completions/старого Codex) engines/code-davinci-002
- Header: Authorization: Bearer <OPENAI_KEY>
- Request type: chat.completions или completions в зависимости от модели
- Azure OpenAI:
- Base URL: https://<your-resource-name>.openai.azure.com/
- Model/Deployment: имя deployment (в Azure это не model, а deployment id)
- Header: api-key: <AZURE_KEY>
- При необходимости добавьте query param api-version (например ?api-version=2023-05-15)
- Путь обычно /openai/deployments/{deployment-id}/chat/completions
- Самодельный/прокси OpenAI‑совместимый:
- Base URL: https://my-proxy.example.com/v1
- Header: Authorization: Bearer <KEY> (или другой, если ваш прокси требует)
- Model id: тот, который поддерживает ваш прокси
- Убедитесь, что прокси реализует те же конечные точки (chat/completions или engines/.../completions)
4) Проверка и отладка
- Перед настройкой в IDE протестируйте endpoint через curl или Postman, чтобы убедиться, что URL, модель и ключ работают.
- Если ассистент не подключается, посмотрите логи IDE: Help → Show Log in Explorer/Finder — там часто видно ошибку авторизации или неверный path.
- Убедитесь, что используется HTTPS и что сертификаты корректны (если self-hosted с самоподписным сертификатом — IDE может блокировать).
5) Ограничения и особенности
- Некоторые версии плагина/IDE могут поддерживать только OpenAI-совместимые endpoints с конкретной схемой (chat vs completions). В старых версиях может не быть UI для добавления произвольных заголовков — тогда потребуется обновить плагин/IDE.
- Azure использует другой заголовок (api-key) и иной путь — нужно указывать соответствующие поля.
- Если вы используете устаревшие модели Codex, проверьте, что ваш аккаунт/провайдер ещё их поддерживает.
Если хотите, я могу:
- Подготовить точную конфигурацию для вашего endpoint (приведите URL, тип авторизации и пример пути/модели), или
- Дать пошаговую инструкцию с точными пунктами меню для вашей версии PhpStorm (напишите версию PhpStorm и версию плагина AI Assistant).