atualiza definições de skills e plugins do Claude com melhorias locais
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user