# Подключение T3 Code к QCode.cc

> **Последняя проверка**: 2026-11-09 · 📄 По официальной документации (T3 Code v0.1.7, выпуск 2026-11-04; документация T3 Code в основной ветке прочитана 2026-11-09)

## Кратко

| Параметр | Подробности |
|---|---|
| Что это | T3 Code — это «agent harness control surface» с десктопным, веб- и мобильным приложением. Он управляет уже установленными на вашей машине агентами и сам харнессом не является |
| Доступные модели | Claude ✅ (экземпляр Claude, направленный на эндпоинт Anthropic) · китайские модели (GLM / Kimi / DeepSeek / Qwen) тоже доступны на этом эндпоинте, см. [Эндпоинты и пути API](/docs/getting-started/endpoints-and-api-paths) · GPT ❌ на этом пути · Gemini ❌ (QCode пока не предоставляет модели Gemini) |
| Протокол и Base URL | Anthropic: `https://api.qcode.cc/api` |
| Где настраивается | **Settings > Providers** → экземпляр Claude → **Environment variables** |
| Официальная документация | [Руководство по провайдеру Claude в T3 Code](https://github.com/pingdotgg/t3code/blob/main/docs/user/providers-claude.md) · [FAQ](https://github.com/pingdotgg/t3code/blob/main/docs/user/faq.md) |

## Какой протокол выбрать

T3 Code сам не обращается к модельному API. В официальном FAQ сказано: "T3 Code uses those harnesses. It is not a harness, and it does not work without one." Для Claude харнессом служит Claude Code, поэтому QCode подключается так же, как и сам Claude Code: Base URL Anthropic Messages и ключ QCode.

Официальный FAQ отвечает «да» на вопрос, можно ли вместо подписки использовать API-ключ или OpenRouter: добавьте в Settings ещё один экземпляр провайдера со своими ключами и эндпоинтом, а настройка подписки останется нетронутой.

| Что нужно | Что использовать в T3 Code | `ANTHROPIC_BASE_URL` в QCode |
|---|---|---|
| Claude (`claude-sonnet-5`, `claude-opus-5` …) | Экземпляр Claude со своими **Environment variables** | `https://api.qcode.cc/api` |
| Codex / GPT | Экземпляр Codex, см. раздел «Экземпляры Codex» ниже | не применяется |

Модели Claude работают только по протоколу Anthropic, поэтому Base URL заканчивается на `/api`; `/v1/messages` добавляет сам Claude Code. Не ставьте `/` в конце. Полная таблица протоколов — в [Эндпоинты и пути API](/docs/getting-started/endpoints-and-api-paths).

## Установка

T3 Code нужен хотя бы один установленный провайдер на машине, где запускаются агенты. В этом руководстве это Claude Code; сначала установите его по [руководству QCode по установке](/docs/getting-started/installation). Экземпляр Claude, который вы добавите в разделе «Настройка», авторизуется вашим ключом QCode.

Затем установите T3 Code. Официальные команды:

```bash
curl -fsSL https://t3.codes/install.sh | sh
```

В Windows, в PowerShell:

```powershell
irm https://t3.codes/install.ps1 | iex
```

Команда `t3` запускает сервер и открывает локальное веб-приложение. Чтобы попробовать без установки, выполните `npx t3@latest`. Десктопное приложение доступно на [GitHub Releases](https://github.com/pingdotgg/t3code/releases) или через менеджер пакетов:

| Платформа | Установка |
|---|---|
| Windows | `winget install T3Tools.T3Code` |
| macOS | `brew install --cask t3-code` |
| Debian, Ubuntu | `sudo apt install ./T3-Code-*.deb` |
| Arch Linux | `yay -S t3code-bin` |

Для Intel Mac исполняемого файла `t3` нет — используйте десктопное приложение. Остальные платформы и мобильные приложения перечислены в [официальном руководстве по установке](https://github.com/pingdotgg/t3code/blob/main/docs/user/install.md).

## Настройка

Официальный рецепт для роутера, говорящего по протоколу Anthropic, — отдельный экземпляр Claude со своим каталогом конфигурации. Ниже применяем его к QCode.

Официальное руководство по установке добавляет: у каждого экземпляра провайдера могут быть свои переменные окружения, например API-ключи или собственный base URL, а значения, отмеченные как sensitive, после сохранения больше не показываются.

1. Откройте **Settings > Providers** и добавьте экземпляр Claude. **Binary path** оставьте равным `claude`. В **CLAUDE_CONFIG_DIR path** укажите отдельный каталог; в официальном примере с OpenRouter используется `~/.claude_openrouter`, поэтому имя вроде `~/.claude_qcode` следует той же логике.
2. В **Environment variables** этого экземпляра добавьте:

   | Переменная | Значение |
   |---|---|
   | `ANTHROPIC_BASE_URL` | `https://api.qcode.cc/api` |
   | `ANTHROPIC_AUTH_TOKEN` | Ваш ключ QCode (начинается с `cr_`), отметьте Sensitive |
   | `ANTHROPIC_API_KEY` | Явно пустое значение |

   Присваивание переменных относится к **Environment variables**, а не к **Launch arguments**.
3. Если в этом каталоге конфигурации Claude сохранён кэшированный вход в Anthropic, перед началом выполните `/logout` в сессии Claude Code, использующей тот же каталог. Официальное руководство предупреждает, что кэшированные учётные данные могут конфликтовать с токеном роутера.
4. Выберите модель в T3 Code. Для модели вне встроенного списка откройте этот экземпляр Claude в **Settings > Providers** и добавьте полный ID модели через **Add custom model** — например `claude-sonnet-5` с [qcode.cc/models](https://qcode.cc/models). Затем выберите её в перечне моделей чата.

Две детали из официального руководства: переменные `ANTHROPIC_DEFAULT_*_MODEL` сопоставляют псевдонимы Claude Code вроде `sonnet`, но не заменяют явно выбранный в T3 Code ID модели. У пользовательских моделей может быть меньше настроек effort, thinking или контекста, чем у встроенных.

Тот же ключ работает и на других доменах доступа QCode (`us.qcode.cc`, `asia.qcode.cc`): замените хост в `ANTHROPIC_BASE_URL`, а путь `/api` сохраните. См. [Эндпоинты и пути API](/docs/getting-started/endpoints-and-api-paths).

### Экземпляры Codex

Руководство T3 Code по Codex описывает вход через ChatGPT или через уже имеющийся вход Codex CLI. Откуда экземпляр с установленным Codex берёт конфигурацию, видно в исходном коде T3 Code (выпуск v0.1.7; в основной ветке, прочитанной 2026-11-09, те же строки):

- Для экземпляра, использующего установленный Codex, T3 Code запускает app server Codex и задаёт `CODEX_HOME` равным указанному вами **CODEX_HOME path** (`apps/server/src/provider/CodexProvider.ts`, строки 476–482). В примере самого руководства по Codex там стоит `~/.codex`.
- Схема app server Codex, входящая в исходники, описывает слой пользовательской конфигурации как `$CODEX_HOME/config.toml` (`packages/effect-codex-app-server/src/_generated/schema.gen.ts`, строка 19730).
- Подключение через ChatGPT внутри T3 Code отличается: T3 Code задаёт собственный `model_provider` и удаляет `OPENAI_BASE_URL` (`apps/server/src/provider/CodexManagedRuntime.ts`, строки 24–26 и 124), поэтому настройки QCode там не действуют.

То есть в T3 Code v0.1.7 экземпляр Codex, использующий вашу установку Codex, читает `config.toml` своего каталога Codex home. Сначала настройте Codex для QCode по [руководству Codex](/docs/ide/codex): провайдер `qcode` в `~/.codex/config.toml` и ключ как `OPENAI_API_KEY` в `~/.codex/auth.json`. Затем в **Settings > Providers** добавьте экземпляр Codex, выберите **Configure manually** и пройдите мастер; **CODEX_HOME path** экземпляра должен указывать на каталог с этими двумя файлами (например, `~/.codex`). После этого выберите экземпляр в перечне моделей треда.

## Проверка связи

1. Создайте новый тред, выберите экземпляр Claude и пользовательскую модель и отправьте короткое сообщение вроде `ping`.
2. Откройте [probe.qcode.cc](https://probe.qcode.cc), введите ключ QCode и проверьте, что запрос появился с выбранной вами моделью. Это аналог официального совета сверять модель в панели активности роутера.
3. Чтобы проверить ключ и путь без T3 Code:

```bash
curl -X POST https://api.qcode.cc/api/v1/messages \
  -H "x-api-key: YOUR_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-5","max_tokens":32,"messages":[{"role":"user","content":"ping"}]}'
```

## Диагностика

| Симптом | Причина | Решение |
|---|---|---|
| Провайдер не появляется | CLI не установлен или отсутствует в `PATH` машины, где запущен сервер | Установите `claude` на этой машине или укажите его в **Binary path** в настройках провайдера (официальный FAQ) |
| `Invalid API key` | Неверный ключ или лишние пробелы | Проверьте префикс `cr_`, задайте ключ в `ANTHROPIC_AUTH_TOKEN`, а `ANTHROPIC_API_KEY` оставьте пустым |
| Ошибки авторизации при верном ключе | Кэшированный вход в Anthropic в том же каталоге конфигурации Claude | Выполните `/logout` в сессии Claude Code с этим каталогом либо задайте экземпляру новый каталог конфигурации |
| 404 | Слэш в конце Base URL или `/v1/messages`, вписанный в адрес | Используйте ровно `https://api.qcode.cc/api` |
| Запрос отклонён из-за модели | В экземпляре Claude выбран ID модели GPT; эндпоинт Anthropic не обслуживает GPT | Используйте здесь ID модели Claude или китайской модели; GPT идёт через Codex |
| Модели нет в перечне | Её нет во встроенном списке | Добавьте полный ID через **Add custom model** |
| 402 с `*_cost_limit_exceeded` | Квота ключа исчерпана | См. [Коды ошибок](/docs/reference/errors#402-quota-exhausted) |

## Известные ограничения

- T3 Code сообщает, что проект ещё очень ранний: "We are very very early in this project. Expect bugs."
- Настройка роутера в официальном руководстве написана для экземпляров Claude; модели GPT работают через экземпляр Codex, как описано выше в разделе «Экземпляры Codex».
- При удалённом подключении T3 Code использует конфигурацию Claude на подключённом сервере, поэтому настраивайте экземпляр на той машине.

## Смежные документы

- [Эндпоинты и пути API](/docs/getting-started/endpoints-and-api-paths) — таблица «протокол × семейство моделей»
- [Обзор совместимости инструментов](/docs/ide/tool-compatibility) — какой протокол у какого инструмента
- [Codex CLI](/docs/ide/codex) — `config.toml` для QCode
- [DeepSeek Harness (dsh)](/docs/ide/deepseek-harness) — агентский харнесс с формой Custom model API