неофициальный клиент для chat.deepseek.com через браузерную автоматизацию (playwright)
Project description
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) может понадобиться увеличить это значение вручную
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file free_deepseek_api-1.0.tar.gz.
File metadata
- Download URL: free_deepseek_api-1.0.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85707ebc765bd5ee6343100977c5c3041fb815b83319b258f1784c61570e0772
|
|
| MD5 |
c954ca27d6616ad4ef9652d8213aae43
|
|
| BLAKE2b-256 |
d7e8cabd7328b8c471326320992eed0b8d8dc0b68335b52086241094397052bf
|
File details
Details for the file free_deepseek_api-1.0-py3-none-any.whl.
File metadata
- Download URL: free_deepseek_api-1.0-py3-none-any.whl
- Upload date:
- Size: 8.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f227727248d2cfa09550b8213ae71de20cd3285f4d7cd29008403043f1ef3b3c
|
|
| MD5 |
7205efd4cc9e0835215a55d487331dbc
|
|
| BLAKE2b-256 |
3e83729dc8cbd84120593841d8bb773b79ca21d63d803919291c7a6d86e56a7d
|