Skip to main content

неофициальный клиент для 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

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

free_deepseek_api-1.0.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

free_deepseek_api-1.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

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

Hashes for free_deepseek_api-1.0.tar.gz
Algorithm Hash digest
SHA256 85707ebc765bd5ee6343100977c5c3041fb815b83319b258f1784c61570e0772
MD5 c954ca27d6616ad4ef9652d8213aae43
BLAKE2b-256 d7e8cabd7328b8c471326320992eed0b8d8dc0b68335b52086241094397052bf

See more details on using hashes here.

File details

Details for the file free_deepseek_api-1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for free_deepseek_api-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f227727248d2cfa09550b8213ae71de20cd3285f4d7cd29008403043f1ef3b3c
MD5 7205efd4cc9e0835215a55d487331dbc
BLAKE2b-256 3e83729dc8cbd84120593841d8bb773b79ca21d63d803919291c7a6d86e56a7d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page