Бесплатный OpenAI-совместимый API через DeepSeek.
Без API-ключей, без регистрации, без платежей.
Нужен только аккаунт DeepSeek (регистрация бесплатная).
All three projects share the same CLI interface (--port, --host, --proxy, --api-key) and work together through llama-swap:
| Project | Port | What |
|---|---|---|
| opencode-free-proxy | 6446 | OpenCode free models |
| deepseek-free-api | 18632 | DeepSeek free API (this) |
| mimo-free-proxy | 8788 | Xiaomi MiMo free API |
Сервис открывает окно браузера → ты логинишься в DeepSeek → сохраняет cookies + токен → проксирует запросы к DeepSeek API в формате OpenAI.
Совместим с любыми инструментами: Cursor, Continue.dev, Open Interpreter, Aider, OpenCode, Claude Code, кастомные скрипты — всё, что умеет OpenAI API.
git clone <ссылка_на_репо> deepseek-free-api
cd deepseek-free-api
pip install -r requirements.txt
playwright install chromiumНужен Python 3.10+ (скачать: https://python.org)
Важно: Требуется Python 3.10-3.13 для совместимости с wasmer (WASM-солвер для PoW).
Все проекты используют одинаковый CLI интерфейс:
python server.py --port 18632 --host 127.0.0.1 --proxy socks5://127.0.0.1:9150 --api-key sk-my-key| Аргумент | По умолчанию | Описание |
|---|---|---|
--port |
18632 |
Порт прослушивания |
--host |
127.0.0.1 |
Хост прослушивания |
--proxy |
(нет) | SOCKS5 прокси (например socks5://127.0.0.1:9150) |
--api-key |
(нет) | API-ключ для доступа к прокси |
--no-thinking |
(выкл) | Отключить мышление по умолчанию |
--no-search |
(выкл) | Отключить поиск по умолчанию |
--login |
- | Войти через Playwright |
--connect |
- | Подключиться к Chrome через CDP |
--manual |
- | Инструкция по ручному экспорту |
В каждом запросе можно переопределить настройки сессии:
{
"model": "deepseek-chat",
"messages": [...],
"thinking_enabled": true,
"search_enabled": true
}| Параметр | По умолчанию | Описание |
|---|---|---|
thinking_enabled |
true |
Глубокое мышление (.chain-of-thought). Работает с deepseek-reasoner / deepseek-r1 |
search_enabled |
true |
Поиск в интернете. Работает с deepseek-chat |
Способ А — из твоего Chrome (рекомендую) Если ты уже залогинен в DeepSeek в своём Chrome — просто подключись:
# 1. Закрой Chrome полностью
# 2. Запусти Chrome заново с флагом remote-debugging:
google-chrome --remote-debugging-port=9222
# (Windows: "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222)
# (macOS: open -a "Google Chrome" --args --remote-debugging-port=9222)
# 3. Открой https://chat.deepseek.com и залогинься (если ещё нет)
# 4. Запусти подключение:
python server.py --connectСкрипт подключится к твоему Chrome, найдёт сессию DeepSeek и сохранит её.
Способ Б — логин через новое окно (Playwright)
python server.py --loginОткроется отдельное окно браузера. Залогинься в DeepSeek любым способом. Окно закроется автоматически.
Способ В — ручной импорт (без Playwright!) Если не хочешь ставить браузер или всё ломается:
python server.py --manualПошаговая инструкция: открой DevTools → скопируй userToken из Local Storage → экспортируй cookies → импортируй:
python server.py --import cookies.json "скопированный-токен"python server.pyСервер на http://localhost:18632. Готов к работе.
Если DeepSeek заблокирован или нужен прокси — передай адрес SOCKS5-сервера:
python server.py --proxy 127.0.0.1:9150
python server.py --proxy socks5://user:pass@10.0.0.1:1080Или через переменную окружения:
SOCKS5_PROXY=127.0.0.1:9150 python server.pyПрокси применяется ко всем запросам: API-вызовы, загрузка WASM, окно логина (Playwright).
В ~/.config/opencode.yaml или opencode.json:
model: deepseek-chat
provider:
id: deepseek-free
url: http://localhost:18632/v1
key: sk-dummyИли через opencode CLI:
opencode model set deepseek-chat
opencode provider set http://localhost:18632/v1 --key sk-dummySettings → Models → Add Custom Model:
- Name:
deepseek-chat - Endpoint:
http://localhost:18632/v1 - Key: любой (например
sk-dummy)
{
"models": [{
"title": "DeepSeek Free",
"provider": "openai",
"model": "deepseek-chat",
"apiBase": "http://localhost:18632/v1",
"apiKey": "sk-dummy"
}]
}aider --model openai/deepseek-chat --openai-api-base http://localhost:18632/v1 --openai-api-key sk-dummyexport ANTHROPIC_BASE_URL=http://localhost:18632/v1
export ANTHROPIC_API_KEY=sk-dummy
claudecurl http://localhost:18632/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"dsf-deepseek-chat","messages":[{"role":"user","content":"Привет! Как дела?"}],"stream":false}'| ID | Описание | Работает с прокси | Работает без прокси |
|---|---|---|---|
dsf-deepseek-chat |
DeepSeek V3 / V4 (обычный чат) | ✅ | ✅ |
dsf-deepseek-reasoner |
DeepSeek R1 (с рассуждением) | ✅ | ✅ |
dsf-deepseek-vision |
DeepSeek Vision (анализ изображений) | ✅ |
Префикс
dsf-используется для совместимости с другими провайдерами в инструментах вроде Hermes. Префикс автоматически снимается перед отправкой в upstream.
Для работы через SOCKS5 прокси нужно установить:
pip install "httpx[socks]"
python server.py # Запуск сервера
python server.py 8080 # На другом порту
python server.py --proxy 127.0.0.1:1080 # Через SOCKS5 прокси
python server.py --help # Все команды
# Получение сессии:
python server.py --connect # Из твоего Chrome (через CDP)
python server.py --login # Через новое окно Playwright
python server.py --manual # Инструкция по ручному экспорту
python server.py --import cookies.json "токен" # Импорт вручнуюDeepSeek-сессия живёт несколько дней. Если сервер начал выдавать ошибки авторизации — просто перелогинься:
python server.py --login
python server.py- Python 3.10 или новее
- Google Chrome или Chromium (ставится через
playwright install chromium) - Аккаунт DeepSeek — регистрация на https://chat.deepseek.com (бесплатно, почта+пароль)
- DeepSeek имеет лимиты на количество запросов с одной сессии (~20-30 в минуту)
- Не все фичи DeepSeek API доступны через веб-формат (поиск, файлы)
- Сессию нужно периодически обновлять (раз в несколько дней)
Этот сервер работает с llama-swap как peer. Пример конфигурации см. в config.yaml в репо llama-swap.
Сервер поддерживает thinking — внутренние рассуждения модели перед ответом. Thinking включается параметром thinking_enabled: true (по умолчанию включен).
Стриминг (stream: true):
- Thinking чанки: поле
reasoning_contentвdeltaобъекте - Также отправляются
<think>/</think>теги вcontentдля обратной совместимости
{"choices": [{"delta": {"reasoning_content": "Анализирую вопрос...", "role": "assistant"}}]}
{"choices": [{"delta": {"content": "<think>", "role": "assistant"}}]}
{"choices": [{"delta": {"reasoning_content": "Пользователь спрашивает...", "role": "assistant"}}]}
{"choices": [{"delta": {"content": "</think>", "role": "assistant"}}]}
{"choices": [{"delta": {"content": "Ответ пользователя", "role": "assistant"}}]}Не-стриминг (stream: false):
- Thinking в отдельном поле
thinkingв ответе - Также доступен в
choices[0].message.reasoning_content
{
"choices": [{"message": {"content": "Ответ", "reasoning_content": "Рассуждения..."}}],
"thinking": "Рассуждения..."
}Протестировано с:
- Hermes (агент) — thinking отображается через
reasoning_contentи<think>теги - OpenCode — thinking в content
- curl — оба формата доступны