Направьте Trae Agent на один эндпоинт для всех моделей.
Updated 2026-07-30
trae_config.yaml в Trae Agent даёт каждому провайдеру собственный base_url и api_key. Установите base_url провайдера openai в https://api.apisrouter.com/v1 — и агент, а также его суммаризатор Lakeview, смогут работать на id Claude, GPT, DeepSeek, GLM или Kimi через один ключ.
Короткий ответ: один блок провайдера, один блок модели.
Текущая конфигурация Trae Agent — это YAML: trae_config.yaml в директории проекта, с тремя релевантными блоками. model_providers определяет эндпоинты, и каждая запись принимает api_key, provider и base_url, так что OpenAI-совместимый шлюз — это просто провайдер типа openai с подменённым base_url. models определяет именованные конфиги моделей, которые ссылаются на провайдера через model_provider. agents привязывает trae_agent к одному из этих имён моделей. Апстримный README показывает ровно такую форму для маршрутизации через мультимодельный сервис: запись провайдера openai, чей base_url указывает на корень /v1 сервиса. Для APIsRouter это https://api.apisrouter.com/v1, и поле model затем принимает любой id каталога как обычную строку, включая id Claude и Kimi, потому что тип провайдера решает только формат запроса, а не вендора.
model_providers:
apisrouter:
api_key: your_apisrouter_api_key
provider: openai
base_url: https://api.apisrouter.com/v1
models:
trae_agent_model:
model_provider: apisrouter
model: claude-sonnet-4-6
max_tokens: 4096
temperature: 0.5Как Trae Agent устроен внутри.
Trae Agent (bytedance на GitHub, примерно 12K звёзд) — это исследовательски ориентированный software-engineering агент ByteDance для командной строки: дайте trae-cli задачу, и он проработает её через прозрачный цикл инструментов, среди встроенных — bash, редактирование файлов и sequential thinking, до настраиваемого max_steps. Он намеренно модулен, поэтому конфиг разделяет провайдеров, модели и агентов: один и тот же провайдер может подпирать несколько конфигов моделей, а смена того, на чём работает агент, — это правка ссылки на имя в одну строку. На практике важны два слота модели. trae_agent_model — это главный цикл, модель, выполняющая рассуждение, вызовы инструментов и правки, где max_steps в двести означает, что одна задача может быть долгой последовательностью оплачиваемых вызовов. lakeview_model питает Lakeview, функцию Trae по суммаризации шагов, которая производит короткие читаемые сводки того, что агент сделал на каждом шаге. Lakeview срабатывает часто, а его вывод — беглая проза, что делает его хрестоматийным слотом для быстрого id, пока главный цикл держит топовый. Конфигурация резолвится не только из YAML: CLI принимает флаги --provider и --model на прогон, а специфичные для провайдера переменные окружения, среди задокументированного набора — OPENAI_API_KEY и OPENAI_BASE_URL, — питают те же настройки. Флаги — это то, как вы A/B-тестируете вторую модель, не трогая файл.
Полная настройка: агент, Lakeview и прогон.
Полный конфиг привязывает агента к основной модели, а Lakeview — к быстрой, обе через одну и ту же запись провайдера. Обратите внимание на косвенность: agents.trae_agent.model называет запись в models, а каждая запись models называет провайдера через model_provider. Опечатка в любой из ссылок роняет цепочку, так что держите три имени согласованными. Одна историческая заметка, которая объясняет большинство запутанных туториалов: конфигурация Trae Agent раньше была trae_config.json, и репозиторий теперь документирует этот формат как legacy, а YAML — как текущую форму. Гайды, показывающие JSON, описывают более старую раскладку; ключи мигрировали, концепции перенеслись. Если у вас есть старый JSON-конфиг, документ legacy-config в репозитории покрывает маппинг. Аспект одного ключа стоит проговорить именно для этого инструмента отдельно. Нативный список провайдеров Trae Agent охватывает американских и китайских вендоров, что обычно означает аккаунт и ключ на каждого вендора, некоторые из которых трудно получить в зависимости от того, откуда вы. За одной записью шлюза claude-sonnet-4-6, gpt-5.5, deepseek-v4-pro, glm-5.2 и kimi-k2.7-code — все в одной строке модели от вас, на одном ключе, с одним балансом, с какой бы стороны Тихого океана вы ни разрабатывали.
agents:
trae_agent:
enable_lakeview: true
model: trae_agent_model
max_steps: 200
tools:
- bash
- str_replace_based_edit_tool
- sequentialthinking
- task_done
model_providers:
apisrouter:
api_key: your_apisrouter_api_key
provider: openai
base_url: https://api.apisrouter.com/v1
models:
trae_agent_model:
model_provider: apisrouter
model: claude-sonnet-4-6
max_tokens: 4096
temperature: 0.5
lakeview_model:
model_provider: apisrouter
model: claude-haiku-4-5-20251001
max_tokens: 4096
temperature: 0.5Выбор моделей для цикла агента.
Флаги --provider и --model делают workflow сравнения конкретным: прогоните одну и ту же задачу дважды с разными флагами, прочитайте steps-to-done и оценённое в деньгах использование по модели в консоли, и продвиньте победителя в trae_config.yaml.
- Главный цикл — это работа с инструментами на длинном горизонте: чтение файлов, редактирование, запуск bash, суждение о том, когда задача выполнена. claude-sonnet-4-6 и gpt-5.5 держат план из двухсот шагов вместе; этот слот — последнее место для экономии.
- Lakeview — это высокочастотная суммаризация с низкими ставками. claude-haiku-4-5-20251001 или deepseek-v4-flash держит её практически бесплатной на фоне расходов главного цикла.
- kimi-k2.7-code и glm-5.2 — серьёзные кандидаты для главного цикла на кодовых базах с китайскими комментариями, историей коммитов или документацией; двуязычный репозиторий — это то место, где они обходят англо-ориентированные модели по пониманию, а не только по цене.
- deepseek-v4-pro — выбор для объёма для пакетных прогонов, применения одного и того же фикса по многим репозиториям или запуска агента в CI, где стоимость на задачу умножается.
- max_steps — ваш регулятор стоимости. Модель, которая блуждает, сжигает шаги; при сравнении кандидатов сравнивайте steps-to-done на одной и той же задаче, а не токены на запрос.
Оплата по факту · дешевле официальных цен
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Модель | Официальная цена | Наша цена |
|---|---|---|
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
| GPT-5.5 | $5.00 / $30.00 per M | $4.00 / $24.00 per M |
| DeepSeek V4 Pro | $0.43 / $0.87 per M | $0.40 / $0.90 per M |
| GLM-5.2 | $1.14 / $4.00 per M | $1.10 / $4.00 per M |
| Kimi K2.7 Code | $0.95 / $4.00 per M | $1.00 / $4.00 per M |
Сбои, специфичные именно для Trae Agent.
Путаница JSON против YAML возглавляет список. trae_config.json, скопированный из более старого гайда, в лучшем случае читается как legacy, а в худшем — игнорируется, и симптом — CLI ведёт себя так, будто вы вообще ничего не настроили. Текущие настройки принадлежат trae_config.yaml; мигрируйте старые файлы, используя документ legacy-config репозитория, а не угадывая имена ключей. Цепочка из трёх имён рвётся тихо. agents.trae_agent.model должен называть запись в models, а model_provider этой записи должен называть запись в model_providers. Переименуйте одно, но не остальные, и прогон падает при старте с ошибкой резолюции, а не с ошибкой запроса, что указывает вам на YAML, а не на сеть. base_url хочет, чтобы /v1 был включён, по аналогии с апстримным примером, который указывает на корень /v1 роутера. Голый хост даёт 404, как только клиент дописывает путь chat-completions. Падение Lakeview при работающем агенте означает, что lakeview_model ссылается на id, который эндпоинт не обслуживает, легко упустить, потому что вы тестировали основную модель и забыли про второй слот. И переменные окружения, тихо подпирающие провайдера, который вы считали настроенным через файл, особенно OPENAI_API_KEY, стоит проверить, когда аутентификация ведёт себя непоследовательно между шеллами.
Кто направляет Trae Agent через шлюз.
- Разработчики, которым нужен Claude или GPT, ведущий цикл агента, и GLM, Kimi или DeepSeek на расстоянии одного флага, без аккаунта у каждого вендора.
- Двуязычные команды, работающие в китайских и английских кодовых базах, для которых сильнейшая модель на репозиторий может прийти из любой экосистемы, адресуемая через один ключ.
- Инженеры, запускающие пакетные или CI-задачи агента, где отслеживание использования по ключу превращает флот прогонов trae-cli в читаемый отчёт по стоимости.
- Исследователи, бенчмаркающие модели агентов, поскольку Trae Agent построен для сравнения в стиле абляции, а шлюз делает каждого кандидата одним и тем же изменением в один флаг.
- Разработчики без доступа к биллингу конкретного вендора. Доступ на основе пополнения без требования карты убирает зависимость от регистрации у каждого провайдера.
Проверьте эндпоинт и отладьте первую задачу.
Убедитесь, что эндпоинт обслуживает ваши id перед первым прогоном: листинг /v1/models с вашим ключом — авторитетное написание для каждого поля model в YAML, и для основного слота, и для слота Lakeview. Сбои на первом прогоне сортируются чисто. Ошибка резолюции конфига до любого запроса — это цепочка из трёх имён либо устаревший JSON-файл. 401 — это api_key в блоке провайдера либо переменная окружения, переопределяющая его. 404 на каждом запросе — это base_url без /v1. Ошибка model-not-found называет слот, который неверен, проверьте, была ли это модель агента или модель Lakeview. А прогон, который стартует, но зависает посреди задачи, обычно — блуждание модели, а не сбой эндпоинта, и именно для этого нужны max_steps и лог шагов. Как только задачи запускаются, консоль APIsRouter показывает модель на запрос, счётчики токенов и расходы. Агент, который делает сотню шагов на задачу, умножает всё, и лог использования — это место, где вы узнаёте, сколько задача действительно стоит на каждой модели-кандидате.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Частые вопросы
Куда в конфиге Trae Agent помещается кастомный base URL?
В trae_config.yaml под model_providers: дайте записи api_key, provider: openai и base_url: https://api.apisrouter.com/v1. Конфиги моделей в блоке models затем ссылаются на эту запись по имени через model_provider.
Поддерживается ли trae_config.json до сих пор?
Репозиторий документирует JSON как устаревший формат, а YAML — как текущий, с документом миграции для старых файлов. Гайды, показывающие trae_config.json, описывают более старую раскладку; новые настройки должны использовать trae_config.yaml.
Может ли Trae Agent запускать Claude, GLM, Kimi и DeepSeek через один ключ?
Да. Тип провайдера задаёт формат запроса, а поле model передаётся как обычная строка, так что работает любой id, который обслуживает эндпоинт: claude-sonnet-4-6, glm-5.2, kimi-k2.7-code и deepseek-v4-pro — все через один и тот же блок провайдера и ключ.
Что такое lakeview_model и нужен ли ему собственный эндпоинт?
Lakeview суммаризирует каждый шаг агента в короткие читаемые апдейты, используя модель, названную в lakeview_model. Он резолвится через тот же механизм model_providers, так что направьте его на быстрый id каталога в той же записи шлюза; он срабатывает часто и не нуждается в топовом рассуждении.
Переопределяют ли флаги CLI trae_config.yaml?
Да. trae-cli принимает --provider и --model на прогон, что и есть предусмотренный способ тестировать другую модель, не редактируя файл. Переменные окружения провайдера, такие как OPENAI_API_KEY и OPENAI_BASE_URL, также читаются, так что проверяйте на устаревшие экспорты, когда поведение отличается между шеллами.
Должен ли base_url включать /v1?
Да. Апстримный пример указывает провайдера openai на корень /v1 роутера, а значение для APIsRouter — https://api.apisrouter.com/v1. Голый хост даёт 404, как только клиент дописывает путь запроса.