mcp-lab-agent 2.1.3 → 2.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,321 +4,285 @@
4
4
  [![Node.js](https://img.shields.io/badge/node-%3E%3D18-green)](https://nodejs.org)
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
6
6
 
7
- **Executor + Consultor Inteligente de QA.**
7
+ **Sistema de inteligência em qualidade de software.** Executa testes, analisa causas de falha, corrige automaticamente e aprende padrões que melhoram as próximas gerações. Não é ferramenta de QA — é um sistema que entende qualidade. Integra ao Cursor, Cline, Windsurf ou Slack.
8
8
 
9
- Não é só um executor de testes. É um agente que:
10
- - **Executa:** Roda testes, gera, corrige
11
- - **Analisa:** "login falha 30% das vezes"
12
- - **Prevê:** "checkout vai ficar flaky"
13
- - **Recomenda:** "faça isso agora: 1, 2, 3"
14
- - **Aprende:** Taxa de sucesso aumenta com o tempo
9
+ ```bash
10
+ npx mcp-lab-agent auto "login flow" --max-retries 5
11
+ ```
15
12
 
16
13
  **1 comando. Análise completa.**
17
14
 
15
+ > Testes falham e você não sabe por quê? Executores rodam mas não aprendem. O mcp-lab-agent analisa causas, corrige e acumula conhecimento.
16
+
18
17
  ---
19
18
 
20
- ## O diferencial
19
+ ## O que é
21
20
 
22
- | Outras ferramentas | **mcp-lab-agent** |
23
- |-------------------|-------------------|
24
- | Só executam | **Executa + Analisa + Recomenda** |
25
- | "teste falhou" | **"login falha 30% das vezes (timing)"** |
26
- | Sem contexto | **"src/payment/ sem testes (RISCO ALTO)"** |
27
- | Você decide o que fazer | **"Faça isso agora: 1, 2, 3"** |
28
- | Sem aprendizado | **Taxa de sucesso aumenta com o tempo** |
21
+ O **mcp-lab-agent** é um sistema de inteligência em qualidade de software — não uma ferramenta de teste isolada. Ele entende o seu projeto, identifica frameworks (Cypress, Playwright, Jest, Appium, Robot, pytest e outros), gera testes com base em contexto e memória, executa, analisa falhas e aplica correções automaticamente. O valor central está no **learning**: cada correção bem-sucedida é salva e usada nas próximas gerações, aumentando a taxa de sucesso na primeira tentativa.
29
22
 
30
- **Modo autônomo:**
23
+ Com o **Learning Hub**, os aprendizados são centralizados e agregados entre projetos e — em deploy compartilhado — entre times e empresas, formando uma base de conhecimento em qualidade que escala além do repositório.
31
24
 
32
- ```bash
33
- npx mcp-lab-agent auto "login flow" --max-retries 5
34
- ```
25
+ ---
35
26
 
36
- O agente:
37
- 1. Detecta seu projeto (Cypress, Playwright, Jest, etc.)
38
- 2. Gera o teste com base em aprendizados anteriores
39
- 3. Executa o teste
40
- 4. Se falhar: analisa, corrige e tenta de novo
41
- 5. Aprende com cada correção para melhorar nas próximas
27
+ ## Para quem
28
+
29
+ | Perfil | Benefício |
30
+ |--------|-----------|
31
+ | **QAs e SDETs** | Geração assistida de testes, análise de falhas com sugestões de correção, detecção de flakiness |
32
+ | **Desenvolvedores** | "Por que falhou?", análise de arquivos e métodos, integração direta no IDE |
33
+ | **Tech leads** | Visão de risco por área, métricas de estabilidade, relatórios para decisão |
34
+ | **Empresas** | Learning Hub centralizado, escala entre squads e organizações, CI/CD, Ollama (offline), Slack para QA via chat |
35
+
36
+ ---
42
37
 
43
- **Resultado:** Testes que passam na primeira tentativa aumentam com o tempo.
38
+ ## Comparação
39
+
40
+ | Outras ferramentas | mcp-lab-agent |
41
+ |--------------------|---------------|
42
+ | Só executam testes | Executa, analisa causa da falha e sugere correção |
43
+ | Saída genérica "teste falhou" | Diagnóstico: "login falha 30% das vezes (timing)" |
44
+ | Sem visão de risco | Identifica áreas sem testes e classifica risco (alto/médio/baixo) |
45
+ | Sem memória entre execuções | Learning system: cada padrão de falha vira correção aplicada nas próximas gerações |
46
+ | Uma ferramenta por tarefa | Sistema de inteligência: geração, execução, análise, relatórios, predição, learning |
44
47
 
45
48
  ---
46
49
 
47
- ## Configurações
50
+ ## Learning System
51
+
52
+ **Como aprende:** O agente detecta o padrão de falha em cada execução (regex + contexto) e armazena a correção aplicada na memória. Nas próximas gerações, esses aprendizados são injetados no prompt do LLM e nas práticas obrigatórias.
48
53
 
49
- **Primeira vez?** Veja [CONFIGURACOES.md](CONFIGURACOES.md) lista de arquivos e onde colocar cada configuração.
54
+ **Baseado em quê:** Tipo de erro (classificado automaticamente), framework, trecho de correção e resultado (passou ou não).
55
+
56
+ **Melhora quanto:** Taxa de sucesso na primeira tentativa (%), rastreável em `mcp-lab-agent stats` e `get_learning_report`. Quanto mais correções bem-sucedidas, maior a tendência de os próximos testes passarem de primeira.
57
+
58
+ **Exemplos de padrões aprendidos:**
59
+
60
+ | Padrão detectado | Correção aplicada |
61
+ |------------------|-------------------|
62
+ | `element_not_visible` | `waitForDisplayed()`, `should('be.visible')` antes de interagir |
63
+ | `element_not_rendered` | `waitForSelector`, `waitFor({ state: 'attached' })` |
64
+ | `selector` instável | Sugestão de `data-testid`, `role`, seletores acessíveis |
65
+ | `timing` | Retry automático, waits explícitos, timeout ajustado |
66
+ | `element_stale` | Re-localizar elemento antes de cada ação |
67
+ | `mobile_mapping_invisible` | Mapeamento visível no topo do spec (Page Object) |
68
+
69
+ Cada correção bem-sucedida aumenta a taxa de sucesso futura.
50
70
 
51
71
  ---
52
72
 
53
73
  ## Quick Start
54
74
 
55
- ### Análise Completa (CLI)
75
+ ### CLI — Análise completa
56
76
 
57
77
  ```bash
58
- # Análise completa: executa, analisa, prevê e recomenda
78
+ # Análise completa: executa testes, analisa estabilidade, prevê riscos e recomenda ações
59
79
  npx mcp-lab-agent analyze
60
80
 
61
- # Modo autônomo: gera, roda, corrige e aprende
81
+ # Modo autônomo: gera, roda, corrige e aprende (até passar ou max_retries)
62
82
  npx mcp-lab-agent auto "login flow" --max-retries 5
63
83
 
64
- # Ver métricas de aprendizado
84
+ # Métricas de aprendizado e taxa de sucesso
65
85
  npx mcp-lab-agent stats
86
+
87
+ # Relatório de evolução com recomendações para aprimorar o código
88
+ npx mcp-lab-agent report --full
66
89
  ```
67
90
 
68
- ### Integração com IDE (Cursor/Cline/Windsurf)
91
+ ### IDE Cursor, Cline, Windsurf
69
92
 
70
- **1. Configure o MCP** (`~/.cursor/mcp.json`):
93
+ Adicione ao `~/.cursor/mcp.json`:
71
94
 
72
95
  ```json
73
96
  {
74
97
  "mcpServers": {
75
98
  "qa-lab-agent": {
76
99
  "command": "npx",
77
- "args": ["-y", "mcp-lab-agent"],
100
+ "args": ["-y", "mcp-lab-agent@latest"],
78
101
  "cwd": "${workspaceFolder}"
79
102
  }
80
103
  }
81
104
  }
82
105
  ```
83
106
 
84
- **2. Use no chat:**
107
+ Use no chat: *"Detecte a estrutura do meu projeto"*, *"Gere teste para login"*, *"Por que o teste falhou?"*, *"Avalie http://localhost:3000 no browser"*.
85
108
 
109
+ ### Slack Bot
110
+
111
+ ```bash
112
+ npx mcp-lab-agent slack-bot
86
113
  ```
87
- "Detecte a estrutura do meu projeto"
88
- "Modo autônomo: gere teste para login"
89
- "Rode os testes"
90
- "Por que o teste falhou?"
91
- "Avalie http://localhost:3000 no browser"
92
- "Mostre as estatísticas de aprendizado"
114
+
115
+ Funciona em ambiente corporativo (Socket Mode, sem URL pública). Configure `botToken` e `appToken` em `~/.cursor/mcp.json`. Onde obter: [slack-bot/CREDENTIALS.md](slack-bot/CREDENTIALS.md). Detalhes: [slack-bot/README.md](slack-bot/README.md).
116
+
117
+ ### Learning Hub Inteligência centralizada
118
+
119
+ ```bash
120
+ npx mcp-lab-agent learning-hub
93
121
  ```
94
122
 
95
- ---
123
+ API e Dashboard em `http://localhost:3847`. Configure no `.env` do projeto:
96
124
 
97
- ## Architecture
125
+ ```
126
+ LEARNING_HUB_URL=http://localhost:3847
127
+ LEARNING_HUB_PROJECT_ID=meu-projeto
128
+ ```
98
129
 
99
- O diagrama abaixo mostra como o agente autônomo funciona:
130
+ O agente envia learnings automaticamente. O Hub agrega padrões e fornece recomendações. Detalhes: [learning-hub/README.md](learning-hub/README.md).
100
131
 
101
- ```mermaid
102
- flowchart TB
103
- subgraph IDE["🖥️ IDE (Cursor, Cline, Windsurf)"]
104
- Chat[Chat do usuário]
105
- end
132
+ ---
106
133
 
107
- subgraph CLI["💻 CLI (Terminal)"]
108
- Auto["mcp-lab-agent auto"]
109
- Stats["mcp-lab-agent stats"]
110
- end
134
+ ## Arquitetura
111
135
 
112
- subgraph MCP["MCP Protocol (stdio)"]
113
- Transport[Stdio Transport]
136
+ ```mermaid
137
+ flowchart TB
138
+ subgraph Input["Entrada"]
139
+ CLI[CLI: auto, stats, report]
140
+ IDE[IDE: Cursor, Cline, Windsurf]
141
+ Slack[Slack Bot]
114
142
  end
115
143
 
116
144
  subgraph Agent["mcp-lab-agent"]
117
145
  Router[qa_route_task]
118
- AutoTool["qa_auto<br/>(Loop autônomo)"]
119
-
120
- subgraph Agents["Agentes Especializados"]
121
- D[detection<br/>detect_project, read_project, list_test_files]
122
- E[execution<br/>run_tests, watch_tests, get_test_coverage]
123
- G[generation<br/>generate_tests, write_test]
124
- A[analysis<br/>analyze_failures, por_que_falhou, suggest_selector_fix]
125
- B[browser<br/>web_eval_browser]
126
- R[reporting<br/>create_bug_report, get_business_metrics]
127
- L[learning<br/>qa_learning_stats]
128
- end
129
-
130
- subgraph Brain["🧠 Núcleo Inteligente"]
131
- MR[Model Router<br/>simples → Groq/Flash | complexo → 70B/Pro]
132
- PM[Project Memory<br/>.qa-lab-memory.json]
133
- FD[Flaky Detection<br/>timing, selector, network]
134
- LS[Learning System<br/>salva correções bem-sucedidas]
135
- end
146
+ Auto[qa_auto]
147
+ MR[Model Router]
148
+ FD[Flaky Detection]
149
+ PM[Project Memory]
150
+ LS[Learning System]
136
151
  end
137
152
 
138
- subgraph External["Externo"]
139
- LLM[LLM: Groq / Gemini / OpenAI]
140
- PW[Playwright optional]
141
- Proj[Seu projeto]
153
+ subgraph Tools["Ferramentas"]
154
+ D[detect_project, list_test_files]
155
+ G[generate_tests, write_test, map_mobile_elements]
156
+ E[run_tests, get_test_coverage]
157
+ A[analyze_failures, suggest_fix, por_que_falhou]
158
+ R[create_bug_report, get_learning_report]
142
159
  end
143
160
 
144
- Chat --> Transport
145
- Transport --> Router
146
- Router --> AutoTool
147
- Router --> D & E & G & A & B & R & L
148
-
149
- Auto --> AutoTool
150
- Stats --> L
151
-
152
- AutoTool --> G
153
- AutoTool --> E
154
- AutoTool --> A
155
- AutoTool --> LS
156
-
157
- D & E & G & A & R --> Proj
158
- B --> PW
159
- B --> Proj
160
-
161
- G & A --> MR
162
- MR --> LLM
163
- G & A & AutoTool --> PM
164
- A & AutoTool --> FD
165
- AutoTool --> LS
166
- LS --> PM
167
- ```
168
-
169
- **Fluxo autônomo (qa_auto):**
170
- 1. **Detecta** projeto (frameworks, pastas, fluxos)
171
- 2. **Gera** teste usando LLM + memória de aprendizados
172
- 3. **Executa** o teste
173
- 4. **Se falhar:** analisa (flaky detection), corrige e tenta de novo
174
- 5. **Aprende:** salva correções bem-sucedidas na memória
175
- 6. **Repete** até passar ou atingir max_retries
176
-
177
- **Fluxo resumido (IDE):**
178
- 1. **Usuário** fala no chat do IDE
179
- 2. **MCP** entrega a mensagem ao `mcp-lab-agent`
180
- 3. **qa_route_task** sugere o agente certo (detection, execution, generation, etc.)
181
- 4. **Ferramentas** executam no projeto (detectar, rodar, gerar, analisar)
182
- 5. **Model Router** escolhe o modelo: tarefas simples → barato; complexas → mais capaz
183
- 6. **Project Memory** guarda padrões e fluxos para próximas gerações
184
- 7. **Flaky Detection** identifica testes intermitentes e sugere correções
161
+ subgraph Ext["Externo"]
162
+ LLM[LLM: Groq, Gemini, OpenAI, Ollama]
163
+ Hub[Learning Hub]
164
+ end
185
165
 
186
- ---
166
+ Input --> Router
167
+ Router --> Auto
168
+ Auto --> G & E & A
169
+ G & A --> MR --> LLM
170
+ A --> FD
171
+ Auto --> LS --> PM
172
+ PM -.-> Hub
173
+ Router --> D & G & E & A & R
174
+ ```
187
175
 
188
- ## Features
189
-
190
- | Categoria | O que faz |
191
- |-----------|-----------|
192
- | **🤖 Autônomo** | `qa_auto` — loop completo: gera, roda, corrige, aprende (até passar ou max_retries) |
193
- | **📊 Learning** | Salva correções bem-sucedidas, taxa de sucesso na 1ª tentativa, métricas de aprendizado |
194
- | **Detecção** | Cypress, Playwright, WebdriverIO, Jest, Vitest, Mocha, Robot, pytest, Behave, Appium, Detox |
195
- | **Execução** | run_tests, watch, coverage (Jest/Vitest) |
196
- | **Geração** | Testes via LLM (Groq, Gemini, OpenAI), templates |
197
- | **Análise** | analyze_failures, por_que_falhou, suggest_fix, suggest_selector_fix |
198
- | **Browser** | web_eval_browser — screenshots, network, console (Playwright opcional) |
199
- | **Relatórios** | Bug reports em Markdown, métricas de negócio |
200
- | **Flaky-aware** | Detecta timing, selector, network; sugere retries |
201
- | **Model routing** | Tarefas simples → modelo barato; complexas → modelo forte |
202
- | **Memória** | Cache em .qa-lab-memory.json, qa-lab-flows.json |
176
+ **Fluxo `qa_auto`:**
177
+ 1. Detecta projeto (frameworks, pastas, fluxos)
178
+ 2. Gera teste com LLM + memória de aprendizados
179
+ 3. Executa o teste
180
+ 4. Se falhar: analisa (flaky detection), corrige e tenta novamente
181
+ 5. Aprende e salva correções na memória
182
+ 6. Repete até passar ou atingir `max_retries`
203
183
 
204
184
  ---
205
185
 
206
- ## CLI
186
+ ## Capacidades
207
187
 
208
- ```bash
209
- mcp-lab-agent [comando]
210
- ```
188
+ ### Automação e geração
211
189
 
212
- | Comando | Descrição |
213
- |---------|-----------|
214
- | *(sem args)* | Inicia o servidor MCP (modo padrão para o IDE) |
215
- | `auto <descrição> [--max-retries N]` | **[NOVO]** Modo autônomo: gera, roda, corrige e aprende (default: 3 tentativas) |
216
- | `stats` | **[NOVO]** Mostra estatísticas de aprendizado (taxa de sucesso, correções, etc.) |
217
- | `detect [--json]` | Detecta frameworks e estrutura do projeto |
218
- | `route <tarefa>` | Sugere qual ferramenta usar |
219
- | `list` | Lista agentes e ferramentas disponíveis |
220
- | `--help` | Mostra ajuda |
221
-
222
- **Exemplos:**
223
- ```bash
224
- mcp-lab-agent auto "login flow" --max-retries 5
225
- mcp-lab-agent stats
226
- mcp-lab-agent detect
227
- mcp-lab-agent route "rodar os testes"
228
- mcp-lab-agent list
229
- ```
190
+ - **Modo autônomo** (`qa_auto`): gera, executa, analisa, corrige e aprende em loop
191
+ - **Geração com LLM**: Groq, Gemini, OpenAI ou Ollama (100% offline)
192
+ - **Mapeamento mobile** (`map_mobile_elements`): elementos em Appium/Detox
193
+ - **Templates**: waits inteligentes e assert final obrigatório em todo teste gerado
230
194
 
231
- Referência completa do CLI: `mcp-lab-agent --help`
195
+ ### Análise e diagnóstico
232
196
 
233
- ---
234
-
235
- ## Escalabilidade
197
+ - **Detecção de falhas**: timing, selector, element_not_rendered, element_not_visible, element_stale, mobile_mapping_invisible
198
+ - **Mensagens contextualizadas**: cada tipo de erro tem explicação e sugestão específica
199
+ - **Análise de estabilidade**: taxa de falha por teste, identificação de flaky
200
+ - **Predição de flakiness** (`qa_predict_flaky`): risco antes de o problema aparecer
201
+ - **Análise de métodos** (`analyze_file_methods`): varredura por método do arquivo
236
202
 
237
- ### Como o mcp-lab-agent escala para empresas
203
+ ### Relatórios e métricas
238
204
 
239
- **1. Multi-projeto:**
240
- - Cada projeto tem sua própria memória (`.qa-lab-memory.json`)
241
- - Aprendizados são isolados por contexto
242
- - Suporte a monorepos (detecta múltiplos frameworks)
205
+ - **Bug reports** em Markdown
206
+ - **Métricas de negócio** (se `qa-lab-flows.json` configurado)
207
+ - **Relatório de evolução** (`get_learning_report`): padrões por tipo, recomendações
208
+ - **Benchmark** (`qa_compare_with_industry`): comparação com padrões do mercado
243
209
 
244
- **2. CI/CD:**
245
- ```yaml
246
- # .github/workflows/qa.yml
247
- - run: npx mcp-lab-agent auto "smoke tests" --max-retries 2
248
- - run: npx mcp-lab-agent stats
249
- ```
210
+ ### Memória e Learning Hub
250
211
 
251
- **3. Métricas exportáveis:**
252
- - `.qa-lab-memory.json` pode ser lido por dashboards
253
- - `stats` retorna JSON estruturado
254
- - Integração com Grafana/DataDog via script
212
+ - **Memória local**: `.qa-lab-memory.json` por projeto
213
+ - **Learning Hub**: API central (`POST /learning`, `GET /patterns`), Dashboard, sync automático entre projetos
255
214
 
256
- **4. Aprendizado compartilhado (roadmap):**
257
- - Exportar/importar memórias entre projetos
258
- - Central de aprendizados da empresa
259
- - Padrões globais + overrides locais
215
+ ### Frameworks suportados
260
216
 
261
- **5. Customização:**
262
- - `qa-lab-flows.json` para fluxos de negócio específicos
263
- - Variáveis de ambiente para modelos customizados
264
- - Extensível via MCP tools
217
+ 11+ frameworks: Cypress, Playwright, WebdriverIO, Jest, Vitest, Mocha, Robot Framework, pytest, Behave, Appium, Detox.
265
218
 
266
219
  ---
267
220
 
268
- ## Configuração
221
+ ## CLI
269
222
 
270
- ### Opção 1: APIs Externas (Groq, Gemini, OpenAI)
223
+ | Comando | Descrição |
224
+ |---------|-----------|
225
+ | *(sem args)* | Inicia servidor MCP (modo IDE) |
226
+ | `learning-hub` | API + Dashboard (porta 3847) |
227
+ | `slack-bot` | Bot Slack (Socket Mode) |
228
+ | `analyze` | Análise completa do projeto |
229
+ | `auto <descrição> [--max-retries N]` | Modo autônomo (default: 3 tentativas) |
230
+ | `stats` | Estatísticas de aprendizado |
231
+ | `report [--full]` | Relatório de evolução |
232
+ | `detect [--json]` | Detecta frameworks e estrutura |
233
+ | `route <tarefa>` | Sugere ferramenta |
234
+ | `list` | Lista agentes e ferramentas |
271
235
 
272
236
  ```bash
273
- # .env
274
- GROQ_API_KEY=sua-key # Gratuito: https://console.groq.com/keys
237
+ # Exemplos de uso
238
+ mcp-lab-agent learning-hub # Inicia Hub (porta 3847)
239
+ mcp-lab-agent analyze # Análise completa
240
+ mcp-lab-agent auto "login flow" # Modo autônomo
241
+ mcp-lab-agent stats # Taxa de sucesso, aprendizados
242
+ mcp-lab-agent report --full # Relatório com recomendações
275
243
  ```
276
244
 
277
- ### Opção 2: Ollama (Local, Sem Internet) ⭐ Recomendado para empresas
278
-
279
- ```bash
280
- # 1. Instale o Ollama
281
- brew install ollama # macOS
282
- # ou: curl -fsSL https://ollama.com/install.sh | sh # Linux
283
-
284
- # 2. Baixe o modelo
285
- ollama pull llama3.1:8b
286
-
287
- # 3. Inicie
288
- ollama serve
289
-
290
- # 4. Pronto! O agente detecta automaticamente
291
- npx mcp-lab-agent auto "login flow"
292
- ```
245
+ ---
293
246
 
294
- **100% offline. Sem APIs externas. Ideal para ambientes corporativos.**
247
+ ## Escalabilidade e uso em produção
295
248
 
296
- ### Opção 3: LLM Interno da Empresa
249
+ - **Por projeto**: memória local (`.qa-lab-memory.json`) isolada por repositório
250
+ - **Entre times**: Learning Hub agrega padrões por `projectId`; Dashboard compartilhado
251
+ - **Entre empresas**: um Hub pode servir múltiplas organizações; padrões cross-org (ex.: "Playwright + selector instável" em 15 projetos) viram recomendações globais
252
+ - **CI/CD**: integração em GitHub Actions, GitLab CI, Jenkins
253
+ - **Métricas exportáveis**: JSON estruturado para Grafana, DataDog, dashboards internos
254
+ - **Ollama**: 100% offline; adequado para ambientes corporativos restritivos
255
+ - **LLM interno**: endpoint customizado da empresa
297
256
 
298
- ```bash
299
- # .env
300
- QA_LAB_LLM_BASE_URL=https://llm-interno.empresa.com/v1
301
- QA_LAB_LLM_API_KEY=sua-key-interna
302
- ```
257
+ ---
303
258
 
304
- **Guia completo:** [CONFIGURACAO_CORPORATIVA.md](CONFIGURACAO_CORPORATIVA.md)
259
+ ## Configuração
305
260
 
306
- ### Variáveis de ambiente (todas opcionais)
261
+ ### Variáveis de ambiente (opcionais)
307
262
 
308
263
  | Variável | Uso |
309
264
  |----------|-----|
310
- | `GROQ_API_KEY` | Groq (gratuito, rápido) |
265
+ | `GROQ_API_KEY` | Groq |
311
266
  | `GEMINI_API_KEY` | Google Gemini |
312
267
  | `OPENAI_API_KEY` | OpenAI |
313
- | `OLLAMA_BASE_URL` | Ollama customizado (default: http://localhost:11434) |
314
- | `QA_LAB_LLM_BASE_URL` | Endpoint LLM customizado (empresa) |
315
- | `QA_LAB_LLM_API_KEY` | API key para LLM customizado |
268
+ | `OLLAMA_BASE_URL` | Ollama (default: http://localhost:11434) |
269
+ | `QA_LAB_LLM_BASE_URL` | LLM customizado (empresa) |
270
+ | `QA_LAB_LLM_API_KEY` | API key do LLM |
316
271
  | `QA_LAB_LLM_SIMPLE` | Modelo para tarefas simples |
317
272
  | `QA_LAB_LLM_COMPLEX` | Modelo para tarefas complexas |
273
+ | `LEARNING_HUB_URL` | URL do Learning Hub |
274
+ | `LEARNING_HUB_PROJECT_ID` | ID do projeto no Hub |
318
275
 
319
- ### Modo browser (opcional)
276
+ ### Ollama (offline)
320
277
 
321
- Para `web_eval_browser`:
278
+ ```bash
279
+ brew install ollama
280
+ ollama pull llama3.1:8b
281
+ ollama serve
282
+ npx mcp-lab-agent auto "login flow"
283
+ ```
284
+
285
+ ### Modo browser (Playwright)
322
286
 
323
287
  ```bash
324
288
  npm install playwright
@@ -328,13 +292,9 @@ npm install playwright
328
292
 
329
293
  ## Documentação
330
294
 
331
- - **[PITCH.md](PITCH.md)**Apresentação executiva (use para apresentar ao time)
332
- - **[EXEMPLO_EVOLUCAO.md](EXEMPLO_EVOLUCAO.md)**Como a taxa de sucesso melhora com o tempo
333
- - **[ARQUITETURA_LEARNING.md](ARQUITETURA_LEARNING.md)**Detalhes técnicos do sistema de learning
334
- - **[CHANGELOG.md](CHANGELOG.md)** — Histórico de versões
335
- - **[MIGRATION_V2.md](MIGRATION_V2.md)** — Guia de migração da v1.x
336
-
337
- Documentação completa (local): `docs/`
295
+ - [CHANGELOG.md](CHANGELOG.md) — Histórico de versões
296
+ - [slack-bot/README.md](slack-bot/README.md) — Slack Bot
297
+ - [learning-hub/README.md](learning-hub/README.md) — Learning Hub
338
298
 
339
299
  ---
340
300
 
@@ -350,7 +310,7 @@ npm test
350
310
 
351
311
  | Script | Descrição |
352
312
  |--------|-----------|
353
- | `npm run build` | Build com tsup |
313
+ | `npm run build` | Build (tsup) |
354
314
  | `npm test` | Testes (Vitest) |
355
315
  | `npm run test:coverage` | Cobertura |
356
316
  | `npm run dev` | Build em watch |