Aplicativo desktop Windows em Delphi VCL para usar o deepseek-tui com tema
similar ao Codex e terminal integrado dentro da própria GUI.
Este workspace começou como pacote de documentação e agora contém o skeleton Delphi VCL, o fallback CMD externo, a especificação ordenada e o spike funcional do terminal integrado.
- Documentação base concluída.
- Projeto Delphi VCL inicial criado.
- Janela principal criada com toolbar, painel esquerdo, splitter, área de log e statusbar.
- Painel esquerdo já possui botão de recolher/expandir.
- O terminal integrado já carrega via
TEdgeBrowser/WebView2. - O host Node local já usa
xterm.js, WebSocket/ptyenode-pty. - O
deepseek-tuijá renderizou dentro da janela Delphi em evidência visual. - O fallback CMD externo continua disponível pelo botão/preset
CMD externo. - Configuração local é persistida em
%LOCALAPPDATA%\DexDeep\config.ini. - Presets e comandos utilitários básicos já estão disponíveis.
- O log/status foi movido para janela separada para não interferir na renderização do WebView2/xterm.js.
Shift+Enterno composer cria nova linha sem enviar a mensagem.- A sidebar possui ações diretas para
/model deepseek-v4-pro,/model deepseek-v4-flash,/mode agent,/mode yolo,/mode plane macros de thinkingauto/off/high/maxpelo seletor visual do TUI. - A sidebar possui
Configurar OpenRouter..., que busca modelos emhttps://openrouter.ai/api/v1/models, permite filtrar/selecionar um modelo e gravaC:\Users\Administrator\.deepseek\config.tomlusando OpenRouter como endpoint OpenAI-compatible (provider = "openai"). - O terminal integrado tem botões
▲e▼para rolar em ambientes onde o scroll do mouse não funciona bem. - POC validado: console real do Windows embutido via
SetParentrenderizoudeepseek-tuicorretamente; próximo spike documentado em docs/13-EMBEDDED-CONSOLE-GUIDE.md. - Projetos são adicionados/removidos pelo menu de contexto da lista lateral com botão direito; remover projeto só tira da lista, não apaga arquivos.
- O botão de recolher/expandir usa ícones versionados em
icon\ui, sem depender de pastas locais da máquina de desenvolvimento. Ctrl+Vcom imagem fica nativo dodeepseek-tui; o host espelha a imagem anexada para.deepseek\clipboard-images\no workspace atual.- Limite validado: o anexo/cópia da imagem funciona, mas leitura visual/OCR
depende do modelo/TUI; no teste com
deepseek-v4-flash, o modelo declarou não conseguir ler imagens. - O botão de recolher/expandir da sidebar usa ícone interno pequeno; os botões do topo permanecem textuais para preservar densidade e legibilidade.
- Nova documentação ordenada em docs/00-INDEX.md.
O objetivo principal passa a ser terminal integrado:
Delphi VCL -> TEdgeBrowser/WebView2 -> xterm.js -> node-pty -> deepseek-tui
O CMD externo permanece como fallback funcional.
Novo candidato de arquitetura em teste:
Delphi VCL -> TPanel -> console real do Windows -> deepseek-tui
C:\Users\Administrator\AppData\Roaming\npm\deepseek-tui.cmd
O aplicativo deve permitir alterar esse caminho nas configurações, pois o local pode variar conforme instalação do Node.js/npm, usuário Windows ou PATH global.
| Ação | Comando |
|---|---|
| Abrir DeepSeek | cmd.exe /K ""C:\Users\Administrator\AppData\Roaming\npm\deepseek-tui.cmd"" |
| Instalar ou atualizar | npm install -g deepseek-tui |
| Ver Node.js | node --version |
| Ver npm | npm --version |
| Ver versão | deepseek --version |
| Diagnóstico | deepseek doctor |
| Localizar comando | where deepseek |
| Localizar TUI | where deepseek-tui |
| Listar modelos OpenRouter | GET https://openrouter.ai/api/v1/models |
Fonte de instalação: DeepSeek TUI install docs.
Observação: o app executa utilitários via cmd.exe /d /c. Para npm, a
implementação usa npm.cmd para evitar que o Node tente resolver scripts npm a
partir do diretório do projeto.
Para modelos da OpenRouter fora do catálogo nativo do deepseek-tui, como
tencent/hy3-preview, use Configurar OpenRouter... na sidebar. O app grava:
provider = "openai"
default_text_model = "auto"
[providers.openai]
base_url = "https://openrouter.ai/api/v1"
model = "tencent/hy3-preview"A troca passa a valer quando uma nova sessão do terminal é iniciada.
| Documento | Para que serve |
|---|---|
| INSTALL.md | Instalação rápida, build local e execução |
| docs/00-INDEX.md | Guia ordenado dos specs e guides |
| docs/12-INSTALLATION-GUIDE.md | Instalação detalhada e publicação segura |
| SPEC.md | Especificação funcional e técnica do app Delphi |
| PLAN.md | Plano de implementação por fases |
| TASKS.md | Backlog executável em checklist |
| SPRINTS.md | Sprints planejados e Definition of Done |
| DOCS.md | Regras de manutenção da documentação |
| REFERENCE.md | Comandos, paths, links e decisões técnicas |
Para instalar sem compilar, baixe o pacote pronto em:
https://github.com/dex-agent/dex-deep/releases/latest
Veja INSTALL.md para o passo a passo.
Compilação validada localmente com:
call "C:\Program Files (x86)\Embarcadero\Studio\37.0\bin\rsvars.bat"
msbuild DeepSeekTuiLauncher.dproj /t:Make /p:Config=Debug /p:Platform=Win32O executável gerado é:
DeepSeekTuiLauncher.exe
Guia completo: INSTALL.md.
O botão Terminal inicia o helper Node local e navega o TEdgeBrowser para:
http://127.0.0.1:39731/
O host integrado roda:
node terminal-host/server.jsO fallback CMD externo continua disponível. O comando equivalente é:
cmd.exe /K cd /d "C:\CodexProjetos\dex-deep" && "C:\Users\Administrator\AppData\Roaming\npm\deepseek-tui.cmd"O app persiste configurações em:
C:\Users\Administrator\AppData\Local\DexDeep\config.ini
Itens persistidos:
- path do
deepseek-tui.cmd; - diretório de trabalho;
- porta do terminal host;
- largura/estado do painel esquerdo;
- modo preferido: terminal integrado ou fallback CMD.
O app permite que uma pessoa técnica:
- use o
deepseek-tuiem terminal integrado dentro do app; - mantenha fallback para abrir rapidamente o
deepseek-tuiem CMD externo; - rode comandos úteis sem decorar sintaxe;
- remova projetos da lista lateral sem apagar os arquivos do workspace;
- reinicie rapidamente com
deepseek-v4-pro,deepseek-v4-flashou modo YOLO; - instale ou atualize o pacote npm com confirmação;
- valide o ambiente com comandos de versão e diagnóstico;
- use um painel esquerdo redimensionável e recolhível;
- abra/oculte uma janela de status sem ocupar a área principal do terminal;
- mantenha presets e configurações persistidos localmente.
- Automatizar interações internas do TUI.
- Distribuir instalador Windows.
- Empacotar instalador/Node runtime.
O repositório está público em:
https://github.com/dex-agent/dex-deep
Ele pode ser mantido público porque secrets, runtime local e artefatos
regeneráveis ficam fora do Git via .gitignore, incluindo .env,
.deepseek/, .agents/, node_modules/, *.exe, *.dcu, Win32/ e
Win64/.