fix(project-manager): remover Dify KB das descriptions, marcar nota TODO

Dify foi removido 06-03-2026. Skills brainstorm/discover ainda referenciam-no
no corpo. Bump v1.2 + nota top-of-file. Reescrita workflow para próxima sessão.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-07 04:52:03 +01:00
parent 6285be6c2e
commit faef9b47dc
185 changed files with 9238 additions and 589 deletions
@@ -74,8 +74,58 @@ Para cada servico DOWN, obter logs:
docker service logs <nome-servico> --tail 10 --no-trunc 2>&1
```
### Passo 3: Uso de recursos (docker stats)
### Passo 3: Uso de recursos via API (preferido)
```bash
TOKEN=$(cat /etc/easypanel/.api-token)
# Stats do sistema — retorna estrutura aninhada
curl -s "http://localhost:3000/api/trpc/monitor.getSystemStats" \
-H "Authorization: Bearer $TOKEN"
```
**Estrutura real da resposta (verificado 24-03-2026):**
```json
{
"result": {
"data": {
"json": {
"uptime": 3118351.41,
"memInfo": {
"totalMemMb": 32096.51,
"usedMemMb": 16885.52,
"freeMemMb": 15210.99,
"usedMemPercentage": 52.61,
"freeMemPercentage": 47.39
},
"diskInfo": {
"totalGb": "192.7",
"usedGb": "89.7",
"freeGb": "103.0",
"usedPercentage": "46.5",
"freePercentage": "53.5"
},
"cpuInfo": {
"usedPercentage": 13.65,
"count": 6,
"loadavg": [5.58, 6.34, 6.51]
},
"network": {
"inputMb": 0,
"outputMb": 0
}
}
}
}
}
```
**Campos a usar:**
- CPU: `cpuInfo.usedPercentage`
- RAM: `memInfo.usedMemPercentage` e `memInfo.usedMemMb`
- Disco: `diskInfo.usedPercentage` e `diskInfo.usedGb`
**Fallback via SSH (se API indisponivel):**
```bash
docker stats --no-stream --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.MemPerc}}\t{{.NetIO}}\t{{.BlockIO}}"
```
@@ -88,7 +138,9 @@ docker stats --no-stream --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}\
| RAM | <70% | 70-85% | >85% |
| RAM absoluto | <512MB | 512MB-1GB | >1GB |
### Passo 4: Espaco em disco
### Passo 4: Espaco em disco (via API ou fallback)
Usar `diskInfo` da resposta do passo 3. Fallback:
```bash
df -h / /var/lib/docker
@@ -208,16 +260,17 @@ docker stats --no-stream --filter "name=<servico>"
## Integracao com API EasyPanel
Alternativa via API tRPC (ver `/easypanel-api`):
A API e o metodo **preferido** (ver `/easypanel-api`). Os comandos Docker sao fallback.
```bash
TOKEN=$(cat /etc/easypanel/.api-token)
# Stats do sistema
# Stats do sistema (CPU, RAM, Disco — ver estrutura no Passo 3)
curl -s "http://localhost:3000/api/trpc/monitor.getSystemStats" \
-H "Authorization: Bearer $TOKEN"
# Stats Docker tasks
# Stats Docker tasks (actual/desired replicas por servico)
# Resposta: {"serviceName": {"actual": 1, "desired": 1}, ...}
curl -s "http://localhost:3000/api/trpc/monitor.getDockerTaskStats" \
-H "Authorization: Bearer $TOKEN"
@@ -226,6 +279,8 @@ curl -s "http://localhost:3000/api/trpc/projects.listProjectsAndServices" \
-H "Authorization: Bearer $TOKEN"
```
**Nota de seguranca:** `inspectService` expoe variaveis de ambiente em texto limpo (incluindo passwords e tokens). Nunca incluir output bruto de `inspectService` em reports — sanitizar sempre.
---
## MCPs necessarios
@@ -278,4 +333,16 @@ curl -s "http://localhost:3000/api/trpc/projects.listProjectsAndServices" \
---
*Skill v1.0.0 | 12-03-2026 | Descomplicar(r)*
*Skill v1.1.0 | 24-03-2026 | Descomplicar(r) | Fix: estrutura real monitor.getSystemStats (nested memInfo/cpuInfo/diskInfo)*
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*