This project has been archived by its maintainers, and is no longer receiving any updates.
free-deepseek-api
модуль на Python, сурс которого лежит здесь смысл этого кода в том, что если вы настолько жадный и не хотите тратить даже немного денег (либо же у вас проект чисто на неделю), то этот модуль подходит идеально для вас. работает через браузерную автоматизацию (а если быть точнее через playwright) поверх chat.deepseek.com - то есть никакого официального api, никакого api-ключа, никаких платежей, всё бесплатно
⚠️ внимание: это неофициальный способ доступа к DeepSeek. не используйте в коммерческих целях - сессию за это могут забанить (ну или прост вас посчитают ботом). для серьёзных/продовых проектов лучше используйте официальный api
какие есть у него функции?
я опирался на функции в самом api DeepSeek, поэтому доступны:
ask(prompt)- отправить сообщение и получить ответset_thinking(enable)- включить/выключить режим thinking (глубокое мышление)new_chat()- создать новый пустой диалогget_chat_titles()- получить список названий всех чатовopen_chat_by_title(title)- открыть существующий чат по названию
установка
pip install free-deepseek-api
playwright install chromium
авторизация
так как это браузерная автоматизация, а не http api, тебе нужна сессия - файл auth.json с сохранёнными куками аккаунта DeepSeek. получить его оч просто, необходимо прописать в консоли:
deepseek-register
откроется браузер, ты залогинишься в свой аккаунт вручную, нажмёшь enter в консоли - и auth.json сохранится рядом в текущей папке (если ты с телефона, можно залогиниться на пк, а auth.json потом перенести и использовать на телефоне (например в termux))
пример использования:
import asyncio
from free_deepseek_api import DeepSeekClient
async def main():
async with DeepSeekClient(auth_path="auth.json") as client:
client.set_debug(True) # опционально, для дебаг-логов
answer = await client.ask("привет! как дела?")
print(answer)
await client.set_thinking(True)
answer = await client.ask("реши: 17 * 34")
print(answer)
asyncio.run(main())
без async with:
client = DeepSeekClient(auth_path="auth.json")
await client.start()
answer = await client.ask("привет!")
await client.close()
работа с чатами
titles = await client.get_chat_titles()
print(titles) # ['ваш чат про питон 1', 'ваш чат 2'...]
await client.open_chat_by_title("питон")
answer = await client.ask("продолжи предыдущую мысль")
почему headless=True по умолчанию, а deepseek-register открывает браузер видимым?
для повседневной работы браузер запускается в headless-режиме потому что это попросту быстрее и так удобнее. а вот для регистрации браузер обязательно открывается видимым, иначе как ты залогинишься в свой акк?
known issues / ограничения
- это не официальный api, поэтому DeepSeek может в любой момент поменять вёрстку сайта и что-то сломается. пишите issue если такое произошло
- не рассчитано на большую нагрузку/параллельные сессии - это всего лишь обёртка над одним браузерным табом, а не production-grade клиент
wait_timeвask()- это простоsleep, а не умное ожидание конца генерации. для длинных ответов (особенно с thinking) может понадобиться увеличить это значение вручную
Metadata
Release files for free-deepseek-api 1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| free_deepseek_api-1.0.tar.gz | 6.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| free_deepseek_api-1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.6 kB
Release files / free_deepseek_api-1.0.tar.gz
| Download URL | free_deepseek_api-1.0.tar.gz |
|---|---|
| Size | 6.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
85707ebc765bd5ee6343100977c5c3041fb815b83319b258f1784c61570e0772
|
|
BLAKE2b-256 checksum How to use checksums |
d7e8cabd7328b8c471326320992eed0b8d8dc0b68335b52086241094397052bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.6
|
Release files / free_deepseek_api-1.0-py3-none-any.whl
| Download URL | free_deepseek_api-1.0-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f227727248d2cfa09550b8213ae71de20cd3285f4d7cd29008403043f1ef3b3c
|
|
BLAKE2b-256 checksum How to use checksums |
3e83729dc8cbd84120593841d8bb773b79ca21d63d803919291c7a6d86e56a7d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.6
|