Skip to main content

PyDeepSeek TUI

Interface de terminal (TUI) moderna, assíncrona e multi-provedor para interagir com IAs como DeepSeek, OpenAI e Anthropic. Construída com Python e Textual.

Funcionalidades

  • Multi-provedor — suporte a DeepSeek, OpenAI e Anthropic com seleção por linha de comando ou configuração
  • Function Calling — agente autónomo capaz de ler/escrever ficheiros, executar comandos shell, pesquisar na web, extrair texto de URLs, listar diretórios, pesquisar em ficheiros e operações git
  • Modos de operação — Plan (leitura), Agent (confirmação de ações destrutivas) e YOLO (execução automática)
  • Interface rica no terminal — construída com Textual 8.x, com suporte a cores, scroll e atalhos de teclado
  • Rastreio de sessão — cada execução gera um registo persistente com contagem de tokens, custos em USD e logs de interação
  • Encriptação da chave API — chave protegida com PBKDF2 + Fernet (via cryptography)
  • Internacionalização — suporte a Português (Brasil) e Inglês
  • Segurança — sandbox de ficheiros que restringe operações ao diretório de trabalho

Instalação

Requer Python 3.13+.

pip install pydeepseek-tui

Na primeira execução, o sistema pede a chave da API e guarda-a encriptada em ~/.deepseek-tui/.env.

Instalação para desenvolvimento

git clone https://github.com/natanfiuza/pydeepseek-tui.git
cd pydeepseek-tui
pipenv install --dev

Uso

# Iniciar com o provedor padrão (deepseek)
pydeepseek start

# Escolher provedor
pydeepseek start --provider openai
pydeepseek start --provider anthropic

# Escolher modelo e modo
pydeepseek start --provider deepseek --model deepseek-v4 --mode yolo

# Escolher idioma
pydeepseek start --lang en_US

# Assistente de configuração interativo
pydeepseek config

# Listar sessões salvas
pydeepseek sessions

Atalhos de teclado

Tecla Ação
q Sair (guarda a sessão)
c Limpar o chat
m Alternar modo (Plan → Agent → YOLO)

Modos de operação

Modo Comportamento
Plan Apenas ferramentas de leitura. Bloqueia shell, escrita e git.
Agent Pergunta antes de executar ferramentas destrutivas via modal interativo.
YOLO Executa todas as ferramentas sem confirmação.

Dependências

O projeto utiliza as seguintes bibliotecas:

Runtime

Biblioteca Versão Uso
textual 8.x Framework TUI
openai 2.x Cliente para DeepSeek e OpenAI
anthropic 0.x Cliente para Anthropic
httpx 0.x HTTP client para web tools
cryptography 48.x Encriptação da chave API
click 8.x CLI
python-dotenv 1.x Leitura do ficheiro .env
beautifulsoup4 4.x Extração de texto de URLs
duckduckgo-search 8.x Pesquisa web

Desenvolvimento

Ferramenta Uso
pipenv Gestão de ambiente virtual e dependências
pytest Testes automatizados
pytest-asyncio Suporte a testes assíncronos
pytest-cov Cobertura de testes
ruff Linting e formatação
black Formatação de código
mypy Verificação de tipos

Desenvolvimento

# Instalar dependências de desenvolvimento
make dev

# Executar testes
make test

# Linting
make lint

# Formatação automática
make format

# Construir distribuição
make build

Estrutura do projeto

pydeepseek-tui/
├── src/pydeepseek_tui/
│   ├── agent/          # Loop do agente, modos, sessões, activity logger
│   ├── cli/            # Comandos CLI (click)
│   ├── config/         # Settings, encriptação, debug logger
│   ├── i18n/           # Traduções (pt_BR, en_US)
│   ├── providers/      # DeepSeek, OpenAI, Anthropic
│   ├── tools/          # Ferramentas do agente (8 tools)
│   └── tui/            # Interface Textual (app, widgets, screens)
├── tests/              # Testes automatizados
├── Makefile            # Comandos de desenvolvimento
└── pyproject.toml      # Configuração do projeto

Contribuição

Contribuições são bem-vindas. Para contribuir:

  1. Faz um fork do repositório
  2. Cria um branch para a tua feature (git checkout -b feature/nova-funcionalidade)
  3. Instala o ambiente de desenvolvimento (pipenv install --dev)
  4. Faz as alterações e garante que os testes passam (make test)
  5. Verifica a formatação (make lint)
  6. Submete um pull request

Antes de submeter, confirma que:

  • Testes novos cobrem a funcionalidade adicionada
  • make lint não reporta erros
  • make test passa com sucesso
  • O código segue o estilo do projeto (black + ruff)

Agradecimentos

Este projeto é mantido por Nataniel Fiuza — obrigado por usar o PyDeepSeek TUI.

Se o projeto te foi útil, deixa uma estrela no repositório.

Release files for pydeepseek-tui 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pydeepseek-tui 0.1.2
File Size Uploaded
pydeepseek_tui-0.1.2.tar.gz 40.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pydeepseek-tui 0.1.2
File Interpreter ABI Platform
pydeepseek_tui-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 85.4 kB

Release files / pydeepseek_tui-0.1.2.tar.gz

Download URL pydeepseek_tui-0.1.2.tar.gz
Size 40.2 kB
Tags Source
SHA-256 checksum
How to use checksums
d5b5b812c86a889092d93d0c4770e0330a30c089472de0cc652d4eeb20bc3b46
BLAKE2b-256 checksum
How to use checksums
1ea876dc41ce7bcabd0a015c256ee28557dd24334b6b961a6e1bc22ced6b3c77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / pydeepseek_tui-0.1.2-py3-none-any.whl

Download URL pydeepseek_tui-0.1.2-py3-none-any.whl
Size 45.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
750004a05ad881a6f8a0d780d2a0edae4c24395b99dc26c4b0193e82f410d098
BLAKE2b-256 checksum
How to use checksums
2acb2cbf24b0bf2c208c553550e799a9b6e77f12022d5ff8c293f2655e992dd4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page