Skip to content

Commit 3eec873

Browse files
author
Jean Avila
committed
docs: adiciona sugestao de redesign do chat IA (mockup + proposta)
1 parent d58b9ab commit 3eec873

2 files changed

Lines changed: 540 additions & 0 deletions

File tree

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Sugestão: Redesign do Chat Mestre IA
2+
3+
Proposta de redesign visual do chat de IA da V10, **sem alterar o app em produção**. Protótipo interativo em [`mockup.html`](./mockup.html) — abra direto no navegador (Chrome/Edge para os recursos de voz).
4+
5+
## Por que
6+
7+
O chat atual (`v10/index.html:905-968`) é um modal central fixo de 760px, sem opção de minimizar, redimensionar ou manter aberto lateralmente enquanto se usa o resto do app. Também não existe nenhum recurso de voz nem configuração de perfil do agente pela interface (os perfis já existem em `mcp-server/model-profiles.json`, mas só são trocados por variável de ambiente).
8+
9+
## O que muda
10+
11+
| Recurso | Hoje | Proposta |
12+
|---|---|---|
13+
| Posição | Modal central, bloqueia a tela | Painel lateral fino, docado à direita, não bloqueia o app |
14+
| Minimizar | Não existe | Botão 🗕 recolhe para uma pílula flutuante com badge de não lidas |
15+
| Redimensionar | Tamanho fixo | Arrasta a borda esquerda (300–640px) + botão de expandir/encolher |
16+
| Voz (entrada) | Não existe | Botão de microfone com Web Speech API (STT), pt-BR |
17+
| Voz (saída) | Não existe | Botão 🔊 por mensagem + toggle "ler automaticamente" |
18+
| Perfil do agente | Só via env var `OLLAMA_MODEL_PROFILE` | Nova aba "Perfil": troca visual entre fast/balanced/agent/coding/reasoning, persona/system prompt, temperature, toggles de comportamento |
19+
| Abas existentes | Chat / Memórias | Chat / Memórias / **Perfil** (nova) |
20+
21+
## Funcionalidade preservada (nada foi removido)
22+
23+
Todos os elementos e IDs funcionais do chat atual têm equivalente direto no mockup:
24+
25+
- Toolbar completa: anexar contexto do app, imagem, arquivo, terminal, salvar JSON, exportar Markdown, limpar anexos, limpar conversa
26+
- Chips de contexto anexado (`.ia-attach-panel`)
27+
- Aba de Memórias com CRUD
28+
- Bolhas de mensagem user/ai, blocos de código executáveis com botão "▶ Executar"
29+
- Indicador de "digitando..."
30+
- Seleção de modelo Ollama
31+
- Pipeline de segurança existente (`classifyCommand``askCommandConfirmation` para comandos destrutivos, execução direta para low-risk) — o botão "▶ Executar (low-risk)" no mockup ilustra esse fluxo já implementado no app real
32+
33+
## Perfil do agente — integração real
34+
35+
A aba "Perfil" mapeia diretamente para `mcp-server/model-profiles.json` (fast, balanced, agent, coding, reasoning). Na integração real, a troca de perfil pela UI chamaria o mesmo mecanismo hoje controlado por `OLLAMA_MODEL_PROFILE`, expondo-o como preferência salva em `localStorage` (padrão já usado por `iaConversation`) em vez de exigir reiniciar o launcher.
36+
37+
## Voz — viabilidade técnica
38+
39+
Nenhuma dependência nova é necessária: `SpeechRecognition`/`webkitSpeechRecognition` (STT) e `speechSynthesis` (TTS) são APIs nativas do navegador, já suportadas no Chrome/Edge que hospedam a UI da V10. Nenhuma lib foi encontrada referenciada no projeto (`v10/index.html`, `v10/launcher.js`, `v10/package.json`) — é feature nova, 100% client-side, sem tocar no launcher ou no MCP.
40+
41+
## Guia de integração (quando for implementar de fato)
42+
43+
1. Manter os IDs atuais (`iaOverlay`→pode virar `iaPanel`, `iaMessages`, `iaInput`, `iaSendBtn`, `iaStatus`, `ollamaModelSelect`, `iaAttachPanel`, `iaMemoriesList` etc.) ou atualizar em conjunto todos os `getElementById`/`onclick` inline que referenciam esses IDs (ver mapa completo do arquivo atual — chat ocupa `v10/index.html:673-755` no CSS e `905-968` no HTML, lógica JS principal em `~1572-2900`).
44+
2. Reaproveitar o padrão `.cmd-confirm-overlay`/`.cmd-confirm-modal` já existente para confirmação de comandos destrutivos — não recriar.
45+
3. Persistir estado de UI (largura do painel, minimizado/expandido, perfil selecionado, toggles de voz) em `localStorage`, seguindo o padrão de `mestre_v10_ia_conversation`.
46+
4. Migrar de `.ia-overlay` (`position:fixed; inset:0`) para o painel docado é uma mudança de z-index/layout; verificar que `.cmd-confirm-overlay` continua renderizando por cima do chat (hoje ambos coexistem por z-index 10000/10050).
47+
48+
## Como ver
49+
50+
Abra `mockup.html` em um navegador. Testado visualmente para os estados: painel padrão, expandido, minimizado, tema claro/escuro (reaproveita as mesmas variáveis CSS do app real), aba de Perfil.

0 commit comments

Comments
 (0)