Интеграция DeepSeek-TUI
Подключение DeepSeek-TUI к QCode.cc: запуск моделей Claude в терминале через OpenAI-совместимый provider
Интеграция DeepSeek-TUI¶
DeepSeek-TUI — это стремительно набравший популярность терминальный AI-агент для программирования (более 23 тыс. звёзд на GitHub за 10 дней), нативно поддерживающий OpenAI-совместимые provider. В файле ~/.deepseek/config.toml можно переключить provider по умолчанию: достаточно указать provider = "openai" и задать base_url с api_key, чтобы направить бэкенд на любой сервис, совместимый с OpenAI Chat Completions.
В этом руководстве показано, как подключить DeepSeek-TUI к QCode.cc и использовать знакомый TUI-интерфейс для работы с моделями Claude на бэкенде — без авторизации, без региональных ограничений, с тем же API-ключом и квотой, что и у Claude Code.
Зачем подключать DeepSeek-TUI к QCode¶
- Привычный TUI-опыт: три режима работы Plan / Agent / YOLO + встроенные MCP / Shell / Git / субагенты
- Единый API-ключ: общая квота тарифа QCode с Claude Code и Codex CLI
- Переключение между provider: в одном инструменте можно переходить на anthropic / ollama / vllm, что удобно для отладки
- Дружелюбен к материковому Китаю: прямое HTTP-подключение через
103.236.53.153(Шэньчжэнь) с минимальной задержкой - Полностью открытый исходный код: лицензия MIT, конфигурация поддаётся аудиту
1. Установка¶
Выберите любой из способов (официальный INSTALL.md):
# npm (рекомендуется, автоматически скачивает бинарь под платформу)
npm install -g deepseek-tui
# Homebrew (macOS)
brew tap Hmbown/deepseek-tui
brew install deepseek-tui
# Scoop (Windows)
scoop install deepseek-tui
# Cargo (сборка из исходников)
cargo install deepseek-tui-cli --locked
cargo install deepseek-tui --locked
Проверка установки:
deepseek --version
2. Настройка ~/.deepseek/config.toml¶
Переключите provider по умолчанию на openai и в подтаблице [providers.openai] укажите QCode.cc:
# ~/.deepseek/config.toml
provider = "openai"
[providers.openai]
api_key = "cr_your_qcode_api_key"
base_url = "https://api.qcode.cc/openai/v1"
model = "claude-sonnet-4-6"
Описание полей:
| Поле | Описание |
|---|---|
provider |
Верхнеуровневое значение "openai" указывает использовать OpenAI-совместимый provider по умолчанию |
api_key |
Получите в консоли QCode.cc, начинается с cr_ |
base_url |
Без завершающего слэша — DeepSeek-TUI сам дописывает /chat/completions; со слэшем получится //chat/completions и ответ 404 |
model |
ID модели Claude, экспонируемый QCode (см. раздел «Доступные модели» ниже) |
Для пользователей материкового Китая — прямое HTTP-подключение (единственный эндпоинт, поддерживающий запросы probe.qcode.cc):
[providers.openai]
api_key = "cr_your_qcode_api_key"
base_url = "http://103.236.53.153/openai/v1"
model = "claude-sonnet-4-6"
3. Альтернатива через переменные окружения¶
Если не хочется править конфиг, можно обойтись переменными окружения:
export OPENAI_API_KEY="cr_your_qcode_api_key"
export OPENAI_BASE_URL="https://api.qcode.cc/openai/v1"
export OPENAI_MODEL="claude-sonnet-4-6"
deepseek --provider openai
Для постоянной настройки добавьте эти строки в ~/.zshrc или ~/.bashrc.
4. Доступные модели¶
OpenAI-совместимый эндпоинт QCode даёт доступ ко всей линейке Claude:
| ID модели | Рекомендация по применению |
|---|---|
claude-opus-4-6 |
Тяжёлое планирование / сложное проектирование архитектуры |
claude-sonnet-4-6 |
Повседневное программирование (рекомендуется) |
claude-haiku-4-5-20251001 |
Быстрые мелкие задачи / экономичные сценарии |
Полный список можно получить через curl в реальном времени:
curl https://api.qcode.cc/openai/v1/models \
-H "Authorization: Bearer $OPENAI_API_KEY"
5. Проверка подключения¶
Сначала проверьте маршрут и аутентификацию через curl:
# Доступность пути (должен вернуться 401 — путь работает, не хватает только auth-заголовка)
curl -X POST https://api.qcode.cc/openai/v1/chat/completions
# End-to-end с ключом
curl -X POST https://api.qcode.cc/openai/v1/chat/completions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"claude-sonnet-4-6","messages":[{"role":"user","content":"ping"}],"max_tokens":32}'
Если ответ — JSON с полем choices[0].message.content, подключение работает. После этого запустите deepseek-tui:
deepseek
Введите любой prompt — ответ в стиле Claude означает успешную интеграцию.
6. Режимы работы¶
У DeepSeek-TUI три режима, переключаются командой /mode внутри TUI:
| Режим | Поведение | Сценарий |
|---|---|---|
plan |
Только чтение, AI не изменяет файлы | Изучение кода / проектирование решения |
agent |
Многошаговые вызовы инструментов, ключевые операции требуют подтверждения | Повседневное программирование (рекомендуется) |
yolo |
Автоматическое подтверждение всех вызовов инструментов | Доверенная sandbox-среда |
7. Резервные домены подключения¶
Если основной домен работает нестабильно, переключитесь на другой регион — с тем же API-ключом:
| Домен | Назначение | Запись base_url |
|---|---|---|
api.qcode.cc |
Глобальный (ближайший узел через Route 53) | https://api.qcode.cc/openai/v1 |
103.236.53.153 |
Прямое HTTP для материкового Китая | http://103.236.53.153/openai/v1 |
us.qcode.cc |
Резервный в Северной Америке | https://us.qcode.cc/openai/v1 |
eu.qcode.cc |
Резервный в Европе | https://eu.qcode.cc/openai/v1 |
asia.qcode.cc |
Резервный в Азии | https://asia.qcode.cc/openai/v1 |
Подробнее — эндпоинты и форматы API.
8. Часто задаваемые вопросы¶
Почему на бэкенде работает Claude, а не модели DeepSeek?¶
QCode.cc сейчас в основном проксирует модели Claude и Codex; OpenAI-совместимый эндпоинт /openai/v1 подключён к линейке Claude. Если нужны официальные модели DeepSeek, верните в DeepSeek-TUI provider deepseek по умолчанию и укажите https://api.deepseek.com.
Как это соотносится с Claude Code и Codex CLI?¶
Все три инструмента используют один и тот же API-ключ и общую квоту:
- DeepSeek-TUI работает по протоколу OpenAI Chat Completions (
/openai/v1) - Claude Code работает по протоколу Anthropic Messages (
/api/v1/messages) - Codex CLI работает по протоколу OpenAI Responses (
/openai/v1/responses)
Внутри QCode CRS все они отображаются в один и тот же пул моделей Claude. Подробнее — эндпоинты и форматы API.
Нужен ли / в конце base_url?¶
Нет. В режиме provider openai DeepSeek-TUI автоматически дописывает /chat/completions; со слэшем получится //chat/completions и ответ 404.
Работают ли function calling и потоковая передача SSE?¶
Да. В режиме openai DeepSeek-TUI отправляет стандартную схему OpenAI Chat Completions, а QCode CRS полностью поддерживает tools и stream: true — поведение идентично OpenAI Python SDK.
Список моделей пуст / Model not found?¶
QCode не экспонирует модели deepseek-v4-pro / deepseek-v4-flash, заданные в DeepSeek-TUI по умолчанию. Нужно вручную указать в поле model идентификатор модели Claude, поддерживаемой QCode (например, claude-sonnet-4-6). Достаточно ввести вручную — выбор из списка не требуется.
Как настроить MCP / субагентов?¶
Конфигурация MCP и субагентов в DeepSeek-TUI не связана с upstream-моделью — обратитесь к официальному CONFIGURATION.md, со стороны QCode никаких дополнительных настроек не требуется.
Как экономить токены?¶
- Сначала используйте режим
plan, чтобы AI прочитал код, затем переключайтесь наagentдля изменений - Для простых задач выбирайте модель
claude-haiku-4-5-20251001 - В длительных сессиях периодически выполняйте
/compactдля очистки контекста
Следующие шаги¶
- Изучите эндпоинты и форматы API, чтобы понять общую картину мультипротокольной маршрутизации QCode
- Посмотрите интеграцию с Cline / интеграцию с Aider, чтобы узнать о плагинах для IDE
- Откройте полное руководство по Claude Code, чтобы освоить официальный CLI
- Посетите официальный репозиторий DeepSeek-TUI, чтобы узнать о новых возможностях