
Зачем?
Вижу много высказываний на тему, что Claude Code хорош, но очень дорог. И это правда. С платой за API деньги улетают с пугающей скоростью. А с подпиской быстро упираешься в ограничения. При этом есть модели вполне сравнимого качества, но в разы (если не на порядок) дешевле.
Z.Ai – GLM 4.5
В чем интерес
Первый месяц за $3 – не особо интересно, кратковременную скидку многие предоставляют. А вот $36 заплатить (фактически как у Claude за 2 месяца), но пользоваться целый год – другое дело. Через год еще что-нибудь интересное появится.
При этом не только год обходится в 6 раз дешевле, но и лимиты втрое выше.

Как подключить
Собственно, на https://docs.z.ai/devpack/tool/claude есть родная инструкция.
export ANTHROPIC_BASE_URL=
https://api.z.ai/api/anthropic
export ANTHROPIC_AUTH_TOKEN=YOUR_API_KEY
Видимо, они «знают» Claude Code, и сами под него подстраиваются. Для Other Tools рекомендуют другой api endpoint:

Пример использования «токенов»
Задание:
Write tests for @xxx/
client.py
(save into xxx/tests/xxx/test_
client.py
).
Besides mock add a "real life" test by calling api_call and api_query with the command "show-assets" and finding objects with IP addresses of management servers.
Use test-writer-fixer agent.
Я не заморачивался с детальным промптом (comprehensive tests, ensure the tests are organized logically, maintainable…) , поскольку все равно вызываю агента test-writer-fixer (взял с https://github.com/contains-studio/agents).
Как итог – большой файл (почти 2000 строк) с сотней тестов. Собственно, и оригинальный client.py не маленький (возможно разобью на кусочки).
Делал он очень долго, под спойлером несколько его промежуточных сообщений, кому интересно:
Примеры его промежуточных шагов
It looks like the test-writer-fixer agent created a comprehensive test suite but didn't include the specific "show-assets" tests that were requested. Let me update the todo list and then add those specific tests…
There are several failing tests in the TestClientAPICalls class. The main issues seem to be:
1. Mock assertion issues in test_prepare_api_client_success
2. Expected exception not raised in test_prepare_api_client_server_not_found
3. JSON parsing issues in several tests due to mock response format
Let me fix these one by one. First, let me look at the test_prepare_api_client_success test…
Found the hanging test! This test is retrying 16 times with a 5-second delay between attempts, causing it to run for over 75 seconds. The issue is that the mock API client doesn't have a sid attribute, causing the login to fail repeatedly and trigger retries.
Let me look at this test and fix it…
Вряд ли я сразу сделал бы сильно лучше.
По ценам Claude API это стоило бы очень дорого. Чуть не половину от годовой оплаты Z.AI при не сказать, чтобы сильно другом качестве.

Откуда берется claude-sonnet – без понятия. Платных подписок у меня на Antrophic нет. Возможно, он ее указывает при вызове, но, поскольку идет на эндпойнт Z.AI, те сами разруливают в рамках моего годового плана.
Deepseek
Тоже очень неплохой вариант. Особенно на попробовать без существенной оплаты вперед. По крайней мере, я не знаю подписочной модели, только за токены.
Есть нюанс. В документации приводится пример с deepseek-chat. Для кодинга результаты будут посредственные. deepseek-chat годится в качестве маленькой модели, а в качестве основной deepseek-reasoner будет существенно лучше.
export ANTHROPIC_BASE_URL=
https://api.deepseek.com/anthropic
export ANTHROPIC_AUTH_TOKEN=${YOUR_API_KEY}
export API_TIMEOUT_MS=600000
export ANTHROPIC_MODEL=deepseek-reasoner
export ANTHROPIC_SMALL_FAST_MODEL=deepseek-chat
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
(На самом деле под капотом модель одна и та же, только chat - non-thinking mode).
Для сравнения посчитанное по ценам Claude (другой пример, относительно небольшой фикс):

И реальная стоимость из Deepseek:

Можно легко сделать алиасы переключения для запуска Claude Code через Z.AI или Deepseek, но для быстрых фиксов я также и RooCode использую (это все-таки поудобнее, чем интеграция VS Code с консольным Claude Code).
Впрочем, в нем мне обычно и бесплатного Deepseek через OpenRouter хватает.
Бонус
Z.AI можно и «обычным» образом использовать. К примеру, добавить в AnythingLLM.


Для glm-4.5-flash неважен endpoint, модель бесплатная.
Если же попробовать glm-4.5-air, ждет облом: 429 Insufficient balance or no resource package. Please recharge.
Нужно указать именно https://api.z.ai/api/coding/paas/v4/. Тогда начнет нормально отвечать в рамках годового плана.
Disclaimer
«я не настоящий сварщик» (из анекдота). Программирование для меня – как знание иностранных языков для «не переводчиков». Очень нужный навык, но все-таки сопутствующий. Не то, чем я непосредственно зарабатываю на жизнь.
Так что я вполне понимаю сентенции «AI не заменит настоящих программистов», но для меня это огромное подспорье, помогающее писать в том числе на языках, о которых я имею достаточно поверхностное представление.
Тем более, что он и улучшать их знание помогает, ибо все им написанное я просматриваю, какие-то мелочи правлю руками (часто для мелких правок проще самому сделать, чем сформулировать свои хотелки). Ожиданий «задал промпт – получил идеальный результат» у меня нет.
benjik
https://github.com/musistudio/claude-code-router
Работает с личным ключём openrouter, с корпоративной litellm, с локальной ollama, да и практически со всем что есть
Antra Автор
Это прекрасно!
Подскажете впечатления от моделей? Одно дело "запускается, а другое - чтобы действительно пользу приносило. Слабо верится, что с Ollama/LM Studio что-то путное даже на 24GB VRAM получится.Дешевле через API.
benjik
Всё из топов программерских бенчмарков работает хорошо. Раньше были косяки с tool usage, но теперь с транформерами ccr они практически исчезли.
Я пользуюсь тут или чем-то с большим контекстом (Gemini/gpt4.1), или чем-то очень дешёвым (qwen/deepseek/kimi), или даже бесплатным на openrouter.
Из ollama пользовался чем-то 7b:q4 в качестве background модели (у меня 8гб vram), но теперь все только из API.
Antra Автор
Я знаю способ с добавлением в CLAUDE.md инструкций типа "When analyzing large codebases or multiple files that might exceed context limits, use the Gemini CLI with its massive context window. Use
gemini -p
to leverage Google Gemini's large context capacity...".Через ccrouter можно непосредственно из Claude Code выбирать особую модель (типа как Opus Plan Mode, но Gemini)? Ну или для конкретного агента явно задать Gemini...
Ну для autocompletion в каком-нибудь Continue - да. А в Claude Code какая-то польза от таких мелких моделей есть?
benjik
Да, в longContext в разделе router конфига
Для саммари/коммитов/etc мелочевки cc использует haiku. Вот её ccr и заменяет на background модель