mcp-lab-agent 2.1.4 → 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
+ ---
37
+
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 |
47
+
48
+ ---
49
+
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.
53
+
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.
42
57
 
43
- **Resultado:** Testes que passam na primeira tentativa aumentam com o tempo.
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.
44
70
 
45
71
  ---
46
72
 
47
73
  ## Quick Start
48
74
 
49
- ### Análise Completa (CLI)
75
+ ### CLI — Análise completa
50
76
 
51
77
  ```bash
52
- # Análise completa: executa, analisa, prevê e recomenda
78
+ # Análise completa: executa testes, analisa estabilidade, prevê riscos e recomenda ações
53
79
  npx mcp-lab-agent analyze
54
80
 
55
- # Modo autônomo: gera, roda, corrige e aprende
81
+ # Modo autônomo: gera, roda, corrige e aprende (até passar ou max_retries)
56
82
  npx mcp-lab-agent auto "login flow" --max-retries 5
57
83
 
58
- # Ver métricas de aprendizado
84
+ # Métricas de aprendizado e taxa de sucesso
59
85
  npx mcp-lab-agent stats
60
- ```
61
86
 
62
- ### Slack Bot (sem clonar o projeto)
63
-
64
- ```bash
65
- npx mcp-lab-agent slack-bot
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
- Configure `~/.cursor/mcp.json` com `"qa-lab-agent": { "slack": { "botToken": "xoxb-...", "signingSecret": "..." } }`. O bot roda localmente; use ngrok para expor em desenvolvimento.
91
+ ### IDE Cursor, Cline, Windsurf
69
92
 
70
- ### Integração com IDE (Cursor/Cline/Windsurf)
71
-
72
- **1. Configure o MCP** (`~/.cursor/mcp.json`):
93
+ Adicione ao `~/.cursor/mcp.json`:
73
94
 
74
95
  ```json
75
96
  {
76
97
  "mcpServers": {
77
98
  "qa-lab-agent": {
78
99
  "command": "npx",
79
- "args": ["-y", "mcp-lab-agent"],
100
+ "args": ["-y", "mcp-lab-agent@latest"],
80
101
  "cwd": "${workspaceFolder}"
81
102
  }
82
103
  }
83
104
  }
84
105
  ```
85
106
 
86
- **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"*.
108
+
109
+ ### Slack Bot
87
110
 
111
+ ```bash
112
+ npx mcp-lab-agent slack-bot
88
113
  ```
89
- "Detecte a estrutura do meu projeto"
90
- "Modo autônomo: gere teste para login"
91
- "Rode os testes"
92
- "Por que o teste falhou?"
93
- "Avalie http://localhost:3000 no browser"
94
- "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
95
121
  ```
96
122
 
97
- ---
123
+ API e Dashboard em `http://localhost:3847`. Configure no `.env` do projeto:
98
124
 
99
- ## Architecture
125
+ ```
126
+ LEARNING_HUB_URL=http://localhost:3847
127
+ LEARNING_HUB_PROJECT_ID=meu-projeto
128
+ ```
100
129
 
101
- 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).
102
131
 
103
- ```mermaid
104
- flowchart TB
105
- subgraph IDE["🖥️ IDE (Cursor, Cline, Windsurf)"]
106
- Chat[Chat do usuário]
107
- end
132
+ ---
108
133
 
109
- subgraph CLI["💻 CLI (Terminal)"]
110
- Auto["mcp-lab-agent auto"]
111
- Stats["mcp-lab-agent stats"]
112
- end
134
+ ## Arquitetura
113
135
 
114
- subgraph MCP["MCP Protocol (stdio)"]
115
- 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]
116
142
  end
117
143
 
118
144
  subgraph Agent["mcp-lab-agent"]
119
145
  Router[qa_route_task]
120
- AutoTool["qa_auto<br/>(Loop autônomo)"]
121
-
122
- subgraph Agents["Agentes Especializados"]
123
- D[detection<br/>detect_project, read_project, list_test_files]
124
- E[execution<br/>run_tests, watch_tests, get_test_coverage]
125
- G[generation<br/>generate_tests, write_test]
126
- A[analysis<br/>analyze_failures, por_que_falhou, suggest_selector_fix]
127
- B[browser<br/>web_eval_browser]
128
- R[reporting<br/>create_bug_report, get_business_metrics]
129
- L[learning<br/>qa_learning_stats]
130
- end
131
-
132
- subgraph Brain["🧠 Núcleo Inteligente"]
133
- MR[Model Router<br/>simples → Groq/Flash | complexo → 70B/Pro]
134
- PM[Project Memory<br/>.qa-lab-memory.json]
135
- FD[Flaky Detection<br/>timing, selector, network]
136
- LS[Learning System<br/>salva correções bem-sucedidas]
137
- end
146
+ Auto[qa_auto]
147
+ MR[Model Router]
148
+ FD[Flaky Detection]
149
+ PM[Project Memory]
150
+ LS[Learning System]
138
151
  end
139
152
 
140
- subgraph External["Externo"]
141
- LLM[LLM: Groq / Gemini / OpenAI]
142
- PW[Playwright optional]
143
- 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]
144
159
  end
145
160
 
146
- Chat --> Transport
147
- Transport --> Router
148
- Router --> AutoTool
149
- Router --> D & E & G & A & B & R & L
150
-
151
- Auto --> AutoTool
152
- Stats --> L
153
-
154
- AutoTool --> G
155
- AutoTool --> E
156
- AutoTool --> A
157
- AutoTool --> LS
158
-
159
- D & E & G & A & R --> Proj
160
- B --> PW
161
- B --> Proj
162
-
163
- G & A --> MR
164
- MR --> LLM
165
- G & A & AutoTool --> PM
166
- A & AutoTool --> FD
167
- AutoTool --> LS
168
- LS --> PM
161
+ subgraph Ext["Externo"]
162
+ LLM[LLM: Groq, Gemini, OpenAI, Ollama]
163
+ Hub[Learning Hub]
164
+ end
165
+
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
169
174
  ```
170
175
 
171
- **Fluxo autônomo (qa_auto):**
172
- 1. **Detecta** projeto (frameworks, pastas, fluxos)
173
- 2. **Gera** teste usando LLM + memória de aprendizados
174
- 3. **Executa** o teste
175
- 4. **Se falhar:** analisa (flaky detection), corrige e tenta de novo
176
- 5. **Aprende:** salva correções bem-sucedidas na memória
177
- 6. **Repete** até passar ou atingir max_retries
178
-
179
- **Fluxo resumido (IDE):**
180
- 1. **Usuário** fala no chat do IDE
181
- 2. **MCP** entrega a mensagem ao `mcp-lab-agent`
182
- 3. **qa_route_task** sugere o agente certo (detection, execution, generation, etc.)
183
- 4. **Ferramentas** executam no projeto (detectar, rodar, gerar, analisar)
184
- 5. **Model Router** escolhe o modelo: tarefas simples → barato; complexas → mais capaz
185
- 6. **Project Memory** guarda padrões e fluxos para próximas gerações
186
- 7. **Flaky Detection** identifica testes intermitentes e sugere correções
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`
187
183
 
188
184
  ---
189
185
 
190
- ## Features
191
-
192
- | Categoria | O que faz |
193
- |-----------|-----------|
194
- | **🤖 Autônomo** | `qa_auto` — loop completo: gera, roda, corrige, aprende (até passar ou max_retries) |
195
- | **📊 Learning** | Salva correções bem-sucedidas, taxa de sucesso na 1ª tentativa, métricas de aprendizado |
196
- | **Detecção** | Cypress, Playwright, WebdriverIO, Jest, Vitest, Mocha, Robot, pytest, Behave, Appium, Detox |
197
- | **Execução** | run_tests, watch, coverage (Jest/Vitest) |
198
- | **Geração** | Testes via LLM (Groq, Gemini, OpenAI), templates |
199
- | **Análise** | analyze_failures, por_que_falhou, suggest_fix, suggest_selector_fix |
200
- | **Browser** | web_eval_browser — screenshots, network, console (Playwright opcional) |
201
- | **Relatórios** | Bug reports em Markdown, métricas de negócio |
202
- | **Flaky-aware** | Detecta timing, selector, network; sugere retries |
203
- | **Model routing** | Tarefas simples → modelo barato; complexas → modelo forte |
204
- | **Memória** | Cache em .qa-lab-memory.json, qa-lab-flows.json |
186
+ ## Capacidades
205
187
 
206
- ---
188
+ ### Automação e geração
207
189
 
208
- ## CLI
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
209
194
 
210
- ```bash
211
- mcp-lab-agent [comando]
212
- ```
195
+ ### Análise e diagnóstico
213
196
 
214
- | Comando | Descrição |
215
- |---------|-----------|
216
- | *(sem args)* | Inicia o servidor MCP (modo padrão para o IDE) |
217
- | `auto <descrição> [--max-retries N]` | **[NOVO]** Modo autônomo: gera, roda, corrige e aprende (default: 3 tentativas) |
218
- | `stats` | **[NOVO]** Mostra estatísticas de aprendizado (taxa de sucesso, correções, etc.) |
219
- | `detect [--json]` | Detecta frameworks e estrutura do projeto |
220
- | `route <tarefa>` | Sugere qual ferramenta usar |
221
- | `list` | Lista agentes e ferramentas disponíveis |
222
- | `--help` | Mostra ajuda |
223
-
224
- **Exemplos:**
225
- ```bash
226
- mcp-lab-agent auto "login flow" --max-retries 5
227
- mcp-lab-agent stats
228
- mcp-lab-agent detect
229
- mcp-lab-agent route "rodar os testes"
230
- mcp-lab-agent list
231
- ```
232
-
233
- Referência completa do CLI: `mcp-lab-agent --help`
234
-
235
- ---
236
-
237
- ## 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
238
202
 
239
- ### Como o mcp-lab-agent escala para empresas
203
+ ### Relatórios e métricas
240
204
 
241
- **1. Multi-projeto:**
242
- - Cada projeto tem sua própria memória (`.qa-lab-memory.json`)
243
- - Aprendizados são isolados por contexto
244
- - 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
245
209
 
246
- **2. CI/CD:**
247
- ```yaml
248
- # .github/workflows/qa.yml
249
- - run: npx mcp-lab-agent auto "smoke tests" --max-retries 2
250
- - run: npx mcp-lab-agent stats
251
- ```
210
+ ### Memória e Learning Hub
252
211
 
253
- **3. Métricas exportáveis:**
254
- - `.qa-lab-memory.json` pode ser lido por dashboards
255
- - `stats` retorna JSON estruturado
256
- - 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
257
214
 
258
- **4. Aprendizado compartilhado (roadmap):**
259
- - Exportar/importar memórias entre projetos
260
- - Central de aprendizados da empresa
261
- - Padrões globais + overrides locais
215
+ ### Frameworks suportados
262
216
 
263
- **5. Customização:**
264
- - `qa-lab-flows.json` para fluxos de negócio específicos
265
- - Variáveis de ambiente para modelos customizados
266
- - Extensível via MCP tools
217
+ 11+ frameworks: Cypress, Playwright, WebdriverIO, Jest, Vitest, Mocha, Robot Framework, pytest, Behave, Appium, Detox.
267
218
 
268
219
  ---
269
220
 
270
- ## Configuração
221
+ ## CLI
271
222
 
272
- ### 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 |
273
235
 
274
236
  ```bash
275
- # .env
276
- 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
277
243
  ```
278
244
 
279
- ### Opção 2: Ollama (Local, Sem Internet) ⭐ Recomendado para empresas
280
-
281
- ```bash
282
- # 1. Instale o Ollama
283
- brew install ollama # macOS
284
- # ou: curl -fsSL https://ollama.com/install.sh | sh # Linux
285
-
286
- # 2. Baixe o modelo
287
- ollama pull llama3.1:8b
288
-
289
- # 3. Inicie
290
- ollama serve
245
+ ---
291
246
 
292
- # 4. Pronto! O agente detecta automaticamente
293
- npx mcp-lab-agent auto "login flow"
294
- ```
247
+ ## Escalabilidade e uso em produção
295
248
 
296
- **100% offline. Sem APIs externas. Ideal para ambientes corporativos.**
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
- ### Opção 3: LLM Interno da Empresa
257
+ ---
299
258
 
300
- ```bash
301
- # .env
302
- QA_LAB_LLM_BASE_URL=https://llm-interno.empresa.com/v1
303
- QA_LAB_LLM_API_KEY=sua-key-interna
304
- ```
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 |
275
+
276
+ ### Ollama (offline)
318
277
 
319
- ### Modo browser (opcional)
278
+ ```bash
279
+ brew install ollama
280
+ ollama pull llama3.1:8b
281
+ ollama serve
282
+ npx mcp-lab-agent auto "login flow"
283
+ ```
320
284
 
321
- Para `web_eval_browser`:
285
+ ### Modo browser (Playwright)
322
286
 
323
287
  ```bash
324
288
  npm install playwright
@@ -328,7 +292,9 @@ npm install playwright
328
292
 
329
293
  ## Documentação
330
294
 
331
- - **[CHANGELOG.md](CHANGELOG.md)** — Histórico de versões
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
332
298
 
333
299
  ---
334
300
 
@@ -344,7 +310,7 @@ npm test
344
310
 
345
311
  | Script | Descrição |
346
312
  |--------|-----------|
347
- | `npm run build` | Build com tsup |
313
+ | `npm run build` | Build (tsup) |
348
314
  | `npm test` | Testes (Vitest) |
349
315
  | `npm run test:coverage` | Cobertura |
350
316
  | `npm run dev` | Build em watch |