atualiza definições de skills e plugins do Claude com melhorias locais

This commit is contained in:
2026-06-10 13:27:46 +01:00
parent cb8699075f
commit f9f8f5135f
14 changed files with 543 additions and 252 deletions
+60 -5
View File
@@ -194,12 +194,67 @@ UPDATE agents SET adapter_config = adapter_config || '{"dangerouslySkipPermissio
WHERE id = '{{AGENT_ID}}';
```
**Nota sobre modelos e adapters:** O adapter `claude_local` já não é usado para agentes heartbeat. Distribuição actual:
- 1 agente (CEO) usa `gemini_local` com `gemini-2.5-pro`
- 50 agentes usam `gemini_local` com `gemini-2.5-flash`
- 13 agentes usam `opencode_local` com `openrouter/x-ai/grok-4.1-fast`
**Política de adapters por nível (actualizado 07-04-2026):** `opencode_local` foi **completamente removido** (modelos indisponíveis). Distribuição actual:
- **C-Level (5)** — CEO, CDO, CFO, CGO, CTO: `claude_local` com `claude-sonnet-4-6` (decisão estratégica, exige raciocínio premium)
- **Especialistas/Directores (59)**: `gemini_local` com `gemini-2.5-flash` (execução, custo baixo)
- **Analyst on-demand (1)** — Reality Checker: `process` com `claude-sonnet-4-6` (sem heartbeat)
**Agentes analyst/read-only (ex: Reality Checker):** usar `adapter_type: process` com `adapter_config.model: "claude-sonnet-4-6"` e `instructionsBundleMode: "external"`. Estes agentes são invocados manualmente (heartbeat desactivado), não consomem budget em modo autónomo.
**Configurar `claude_local` (template canónico — C-Level):**
```json
{
"cwd": "/media/ealmeida/Dados/Hub/04-Stack/02.06-Clip",
"model": "claude-sonnet-4-6",
"command": "claude",
"dangerouslySkipPermissions": true,
"timeoutSec": 900,
"graceSec": 20,
"instructionsFilePath": "<path absoluto AGENTS.md>"
}
```
Modelos válidos: `claude-opus-4-6`, `claude-sonnet-4-6`, `claude-haiku-4-6`, `claude-sonnet-4-5-20250929`, `claude-haiku-4-5-20251001`.
**Configurar `gemini_local` (template canónico):**
```json
{
"cwd": "/media/ealmeida/Dados/Hub/04-Stack/02.06-Clip",
"yolo": true,
"model": "gemini-2.5-flash",
"command": "/home/ealmeida/.paperclip/gemini-wrapper.sh",
"sandbox": false,
"newSession": true,
"instructionsFilePath": "<path absoluto AGENTS.md>"
}
```
Campos:
- `command` — wrapper Gemini CLI local em `/home/ealmeida/.paperclip/gemini-wrapper.sh`
- `model``gemini-2.5-flash` (default) ou `gemini-2.5-pro` (CEO/tarefas pesadas)
- `yolo: true` — auto-aprovar comandos (equivalente a `dangerouslySkipPermissions` do claude_local)
- `sandbox: false` — sem sandbox de filesystem
- `newSession: true` — sessão nova por run
- `cwd``/media/ealmeida/Dados/Hub/04-Stack/02.06-Clip` (NUNCA usar Hub raiz)
- `instructionsFilePath` — path absoluto para AGENTS.md
**Migrar agente para gemini_local (SQL):**
```sql
UPDATE agents
SET adapter_type = 'gemini_local',
adapter_config = jsonb_build_object(
'cwd', COALESCE(adapter_config->>'cwd', '/media/ealmeida/Dados/Hub/04-Stack/02.06-Clip'),
'yolo', true,
'model', 'gemini-2.5-flash',
'command', '/home/ealmeida/.paperclip/gemini-wrapper.sh',
'sandbox', false,
'newSession', true,
'instructionsFilePath', adapter_config->>'instructionsFilePath'
),
updated_at = NOW()
WHERE id = '{{AGENT_ID}}';
```
**Nota sobre API REST vs SQL:** O endpoint `PATCH /api/agents/:id` valida `adapterType` contra enum desactualizada que não inclui `gemini_local` (devolve HTTP 400). Workaround actual: SQL directo na BD Paperclip (`postgres://paperclip:paperclip@localhost:54329/paperclip`). Quando a validação for actualizada, preferir sempre API com header `User-Agent: node` (Cloudflare bloqueia `curl/*`).
**Agentes analyst/read-only (ex: Reality Checker):** usar `adapter_type: process` com `adapter_config.model: "claude-sonnet-4-6"` e `instructionsBundleMode: "external"`. Estes agentes são invocados manualmente (heartbeat desactivado por design), não consomem budget em modo autónomo.
### Passo 7b: Sessão e tokens (INC-12)