CD

caperego/deepseek-chat

Developer tools
0 stars 0 forks Quality 64 Trend 20MIT

Cliente desktop Qt 6/QML + backend PHP com agente DeepSeek (ferramentas, permissoes, MCP)

Overview

Cliente desktop com para conversar com modelos DeepSeek usando um : lê e grava arquivos, executa comandos, baixa páginas/arquivos, navega com navegador headless e integra servidores MCP — tudo com e confirmação do usuário. - Streaming SSE ao vivo, raciocínio dos modelos, Markdown formatado (tabelas, listas, código com realce, links clicáveis e imagens inline). - Anexos de texto, imagens (miniatura no composer), PDF/DOCX/ODT (extração de texto), colar (Ctrl+V) e arrastar-e-soltar. - Copiar, copiar código, , e uma conversa a partir de qualquer mensagem, preservando a versão original. - Captura de uma área da tela ou da janela do aplicativo para anexar à mensagem. - , cada uma com indicador próprio. - Fila de mensagens, títulos automáticos e compactação de contexto. - Projetos com pasta de trabalho, instruções (system prompt), arquivos e comandos /. - Memórias editáveis por projeto, reutilizadas nas próximas conversas daquele projeto.

README

DeepSeek Chat — Desktop

Cliente desktop Qt 6 / QML com backend PHP para conversar com modelos DeepSeek usando um agente com acesso ao computador: lê e grava arquivos, executa comandos, baixa páginas/arquivos, navega com navegador headless e integra servidores MCP — tudo com modos de permissão e confirmação do usuário.

Autor: Carlos Alberto Perego — carlos.pw


Recursos

Chat

  • Streaming SSE ao vivo, raciocínio dos modelos, Markdown formatado (tabelas, listas, código com realce, links clicáveis e imagens inline).
  • Anexos de texto, imagens (miniatura no composer), PDF/DOCX/ODT (extração de texto), colar (Ctrl+V) e arrastar-e-soltar.
  • Copiar, copiar código, editar mensagem, regenerar e ramificar uma conversa a partir de qualquer mensagem, preservando a versão original.
  • Captura de uma área da tela ou da janela do aplicativo para anexar à mensagem.
  • Várias conversas processando em paralelo, cada uma com indicador próprio.
  • Fila de mensagens, títulos automáticos e compactação de contexto.

Organização

  • Projetos com pasta de trabalho, instruções (system prompt), arquivos e comandos /.
  • Memórias editáveis por projeto, reutilizadas nas próximas conversas daquele projeto.
  • Pasta do projeto lida direto do disco, com “Alterar pasta” na hora.
  • Busca no título e no conteúdo das conversas.
  • Exportar conversa em Markdown; painel de custos + saldo DeepSeek; atividades.
  • Painel de arquivos com edição, prévia de Markdown/HTML/SVG, comparação de alterações e restauração de versões anteriores.

A prévia HTML usa o texto rico do Qt e não executa JavaScript nem CSS avançado.

Agente (ferramentas)

  • Arquivos: list_files, read_file, write_file, find_files, grep_files, restore_file (backup automático das gravações).
  • Sistema/Internet: run_command, download_file, search_web, fetch_url, browse_url (Edge/Chrome headless com fallback). Páginas consultadas aparecem com link e trecho junto à resposta.
  • MCP (Model Context Protocol, stdio): tools, resources e prompts de servidores configurados em mcp.json.
  • Permissões por projeto: Solicitar aprovação, Aprovar por mim e Acesso completo, com “não perguntar nesta conversa” e “sempre permitir neste projeto”.
  • Comandos destrutivos conhecidos (rm -rf /, format, del /s, fork bombs…) pedem confirmação mesmo em Acesso completo.

Aplicativo

  • Login multiusuário; token criptografado no config.ini (DPAPI no Windows).
  • Bandeja do sistema: fechar minimiza e continua em segundo plano; notificações de resposta pronta; menu Abrir/Sair.
  • Atualização automática (Windows): baixa, extrai, substitui e reabre o app.
  • Tema claro/escuro/sistema, TTS e ditado por voz (Whisper externo).

Arquitetura

┌────────────────────────────┐        HTTPS/JSON + SSE        ┌──────────────────────────┐
│  deepseek-chat (Qt 6/QML)  │ ─────────────────────────────▶ │  deepseek-api (PHP)      │
│  Windows / Linux / macOS   │ ◀───────────────────────────── │  SEU_DOMINIO/deepseek     │
└────────────────────────────┘                                └────────────┬─────────────┘
        │ agent loop (tools locais)                                         │
        ▼                                                                  ▼
  arquivos, comandos, MCP, navegador                      MariaDB (histórico) + API DeepSeek
  • O app nunca vê a API key nem credenciais do banco: só um token Bearer.
  • O backend guarda a chave, fala com a API DeepSeek e registra conversas, tokens/custos, projetos e atividades.
  • Detalhes em docs/ARQUITETURA.md.

Estrutura do repositório

deepseek-chat/            aplicativo desktop (Qt 6/QML, qmake)
  src/                    núcleo C++ (config, HTTP, streaming, agente, áudio)
  qml/                    telas QML
  sql/setup.sql           schema do MariaDB
  build.sh / build-windows.bat
  INSTALACAO.md           instalação detalhada (Linux/Windows/macOS)
deepseek-api/             backend PHP
  index.php, src/         rotas, auth, proxy DeepSeek
  sql/api_tokens.sql
  DEPLOY-ISPConfig.md     deploy no servidor
docs/                     documentação (arquitetura, API, ferramentas)

Requisitos

  • Qt 6 (Core, Gui, Widgets, Quick, Qml, Network, Multimedia, TextToSpeech, Svg, Pdf)
  • Compilador C++17 (MinGW 64 ou MSVC; gcc/clang no Linux/macOS)
  • Servidor com PHP 8+, MariaDB/MySQL e um site HTTPS para o backend

Compilar e executar

Windows (Qt no PATH):

cd deepseek-chat
build-windows.bat
windeployqt bin\deepseek-chat.exe
bin\deepseek-chat.exe

Linux/macOS:

cd deepseek-chat
./build.sh
./bin/deepseek-chat

Passo a passo completo (dependências por sistema, áudio, troubleshooting): deepseek-chat/INSTALACAO.md.

Backend

  1. Suba deepseek-api/ no servidor (ver deepseek-api/DEPLOY-ISPConfig.md).
  2. Crie config.php (baseado em config.example.php) com banco, chave DeepSeek e, opcionalmente, outros provedores OpenAI-compatíveis.
  3. Aplique o schema de deepseek-chat/sql/setup.sql + deepseek-api/sql/api_tokens.sql. Em uma instalação existente, aplique apenas deepseek-api/sql/2026-09-28-chat-features.sql antes de usar ramificações, memórias e fontes das respostas.
  4. Teste: curl https://SEU_DOMINIO/deepseek/health.

Configuração do app

config.ini fica ao lado do executável (modelo em config.ini.example):

[api]
base_url=https://SEU_DOMINIO/deepseek
token=            ; gravado criptografado após o login

[ui]
permission_mode=ask    ; ask | auto | full (padrão para projetos novos)
notify_on_finish=true
close_to_tray=true

Tudo também é editável em Configurações dentro do app.

Atualizações

O app verifica GET /version.txt no backend e, se houver versão nova, baixa /download/deepseek-chat-windows-x64.zip, extrai, substitui os arquivos com o app fechado e o reabre automaticamente (Windows). config.ini e mcp.json são preservados.

Documentação

Licença

Veja LICENSE.

View this README on GitHub

Install

This server does not publish a one-line install command.

Open the repository installation guide