@mcptoolshop/claude-guardian 1.1.0 → 1.1.1
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/CHANGELOG.md +13 -0
- package/README.es.md +106 -93
- package/README.fr.md +91 -78
- package/README.hi.md +106 -92
- package/README.it.md +93 -79
- package/README.ja.md +98 -85
- package/README.md +194 -180
- package/README.pt-BR.md +102 -88
- package/README.zh.md +111 -98
- package/dist/cli.js +1 -1
- package/dist/mcp-server.js +1 -1
- package/package.json +51 -50
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.1.1] - 2026-02-27
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- CI workflow with build, test, and code coverage
|
|
12
|
+
- Codecov badge and coverage upload
|
|
13
|
+
- npm version badge in README
|
|
14
|
+
- Quality scorecard in README and landing page (49/50)
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
- Landing page footer standardized to MCP Tool Shop link
|
|
18
|
+
- Landing page npm URL corrected to scoped package name
|
|
19
|
+
- Updated translations (7 languages)
|
|
20
|
+
|
|
8
21
|
## [1.1.0] - 2026-02-27
|
|
9
22
|
|
|
10
23
|
### Added
|
package/README.es.md
CHANGED
|
@@ -2,19 +2,21 @@
|
|
|
2
2
|
<a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.md">English</a> | <a href="README.fr.md">Français</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a>
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
|
-
<p align="center">
|
|
6
|
-
<img src="https://raw.githubusercontent.com/mcp-tool-shop-org/brand/main/logos/claude-guardian/readme.png" width="400" alt="claude-guardian" />
|
|
7
|
-
</p>
|
|
8
|
-
|
|
9
|
-
<p align="center">
|
|
10
|
-
<a href="https://github.com/mcp-tool-shop-org/claude-guardian/actions"><img src="https://github.com/mcp-tool-shop-org/claude-guardian/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
|
|
11
|
-
<a href="https://
|
|
12
|
-
<a href="https://mcp-tool-shop-org
|
|
13
|
-
|
|
5
|
+
<p align="center">
|
|
6
|
+
<img src="https://raw.githubusercontent.com/mcp-tool-shop-org/brand/main/logos/claude-guardian/readme.png" width="400" alt="claude-guardian" />
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
<p align="center">
|
|
10
|
+
<a href="https://github.com/mcp-tool-shop-org/claude-guardian/actions"><img src="https://github.com/mcp-tool-shop-org/claude-guardian/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
|
|
11
|
+
<a href="https://www.npmjs.com/package/@mcptoolshop/claude-guardian"><img src="https://img.shields.io/npm/v/@mcptoolshop/claude-guardian" alt="npm" /></a>
|
|
12
|
+
<a href="https://codecov.io/gh/mcp-tool-shop-org/claude-guardian"><img src="https://img.shields.io/codecov/c/github/mcp-tool-shop-org/claude-guardian" alt="Coverage" /></a>
|
|
13
|
+
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="MIT License" /></a>
|
|
14
|
+
<a href="https://mcp-tool-shop-org.github.io/claude-guardian/"><img src="https://img.shields.io/badge/Landing_Page-live-blue" alt="Landing Page" /></a>
|
|
15
|
+
</p>
|
|
14
16
|
|
|
15
17
|
Computadora de vuelo para Claude Code: rotación de registros, supervisión, paquetes de fallos y autoconciencia del MCP.
|
|
16
18
|
|
|
17
|
-
Claude Guardian es una capa de confiabilidad local que mantiene las sesiones de Claude Code en buen estado. Detecta
|
|
19
|
+
Claude Guardian es una capa de confiabilidad local que mantiene las sesiones de Claude Code en buen estado. Detecta problemas de espacio en disco, sobrecarga y bloqueos antes de que causen problemas, captura evidencia cuando algo sale mal y expone un servidor MCP para que Claude pueda automonitorearse durante la sesión.
|
|
18
20
|
|
|
19
21
|
## ¿Qué hace?
|
|
20
22
|
|
|
@@ -22,74 +24,74 @@ Claude Guardian es una capa de confiabilidad local que mantiene las sesiones de
|
|
|
22
24
|
|---------|---------|
|
|
23
25
|
| `preflight` | Escanea los registros del proyecto Claude, informa sobre directorios/archivos de gran tamaño, opcionalmente corrige automáticamente. |
|
|
24
26
|
| `doctor` | Genera un paquete de diagnóstico (zip) con información del sistema, fragmentos de registros y un registro. |
|
|
25
|
-
| `run -- <cmd>` | Ejecuta cualquier comando con supervisión, crea automáticamente un paquete en caso de fallo/
|
|
26
|
-
| `status` | Comprobación de estado: espacio libre en disco, tamaños de los registros, advertencias. |
|
|
27
|
-
| `watch` | Demonio en segundo plano:
|
|
28
|
-
| `budget` | Visualiza y gestiona el presupuesto de concurrencia (mostrar/
|
|
27
|
+
| `run -- <cmd>` | Ejecuta cualquier comando con supervisión, crea automáticamente un paquete en caso de fallo/bloqueo. |
|
|
28
|
+
| `status` | Comprobación de estado rápida: espacio libre en disco, tamaños de los registros, advertencias. |
|
|
29
|
+
| `watch` | Demonio en segundo plano: supervisión continua, seguimiento de incidentes, cumplimiento del presupuesto. |
|
|
30
|
+
| `budget` | Visualiza y gestiona el presupuesto de concurrencia (mostrar/adquirir/liberar). |
|
|
29
31
|
| `mcp` | Inicia el servidor MCP (8 herramientas) para el automonitoreo de Claude Code. |
|
|
30
32
|
|
|
31
33
|
## Instalación
|
|
32
34
|
|
|
33
|
-
```bash
|
|
34
|
-
npm install -g claude-guardian
|
|
35
|
-
```
|
|
35
|
+
```bash
|
|
36
|
+
npm install -g claude-guardian
|
|
37
|
+
```
|
|
36
38
|
|
|
37
39
|
O ejecútelo directamente:
|
|
38
40
|
|
|
39
|
-
```bash
|
|
40
|
-
npx claude-guardian preflight
|
|
41
|
-
```
|
|
41
|
+
```bash
|
|
42
|
+
npx claude-guardian preflight
|
|
43
|
+
```
|
|
42
44
|
|
|
43
45
|
## Comienzo rápido
|
|
44
46
|
|
|
45
47
|
### Verifique su entorno
|
|
46
48
|
|
|
47
|
-
```bash
|
|
48
|
-
claude-guardian status
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
=== Claude Guardian Preflight ===
|
|
53
|
-
|
|
54
|
-
Disk free: 607.13GB [OK]
|
|
55
|
-
Claude projects: C:\Users\you\.claude\projects
|
|
56
|
-
Total size: 1057.14MB
|
|
57
|
-
|
|
58
|
-
Project directories (by size):
|
|
59
|
-
my-project: 1020.41MB
|
|
60
|
-
|
|
61
|
-
Issues found:
|
|
62
|
-
[WARNING] Project log dir is 1020.41MB (limit: 200MB)
|
|
63
|
-
[WARNING] File is 33.85MB (limit: 25MB)
|
|
64
|
-
|
|
65
|
-
[guardian] disk=607.13GB | logs=1057.14MB | issues=2
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### Corrige automáticamente
|
|
69
|
-
|
|
70
|
-
```bash
|
|
71
|
-
claude-guardian preflight --fix
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
Rota los registros antiguos (gzip),
|
|
49
|
+
```bash
|
|
50
|
+
claude-guardian status
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
=== Claude Guardian Preflight ===
|
|
55
|
+
|
|
56
|
+
Disk free: 607.13GB [OK]
|
|
57
|
+
Claude projects: C:\Users\you\.claude\projects
|
|
58
|
+
Total size: 1057.14MB
|
|
59
|
+
|
|
60
|
+
Project directories (by size):
|
|
61
|
+
my-project: 1020.41MB
|
|
62
|
+
|
|
63
|
+
Issues found:
|
|
64
|
+
[WARNING] Project log dir is 1020.41MB (limit: 200MB)
|
|
65
|
+
[WARNING] File is 33.85MB (limit: 25MB)
|
|
66
|
+
|
|
67
|
+
[guardian] disk=607.13GB | logs=1057.14MB | issues=2
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Corrige automáticamente los problemas de espacio en disco
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
claude-guardian preflight --fix
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Rota los registros antiguos (gzip), reduce el tamaño de los archivos `.jsonl` y `.log` grandes a sus últimas N líneas. Cada acción se registra en un archivo de registro para facilitar el seguimiento.
|
|
75
77
|
|
|
76
78
|
### Genera un informe de fallo
|
|
77
79
|
|
|
78
|
-
```bash
|
|
79
|
-
claude-guardian doctor --out ./bundle.zip
|
|
80
|
-
```
|
|
80
|
+
```bash
|
|
81
|
+
claude-guardian doctor --out ./bundle.zip
|
|
82
|
+
```
|
|
81
83
|
|
|
82
84
|
Crea un archivo zip que contiene:
|
|
83
|
-
- `summary.json
|
|
84
|
-
- `log-tails
|
|
85
|
-
- `journal.jsonl
|
|
85
|
+
- `summary.json`: información del sistema, informe de tamaño de archivo, resultados de la verificación inicial.
|
|
86
|
+
- `log-tails/`: las últimas 500 líneas de cada archivo de registro.
|
|
87
|
+
- `journal.jsonl`: cada acción que ha realizado el guardián.
|
|
86
88
|
|
|
87
89
|
### Ejecute con supervisión
|
|
88
90
|
|
|
89
|
-
```bash
|
|
90
|
-
claude-guardian run -- claude
|
|
91
|
-
claude-guardian run --auto-restart --hang-timeout 120 -- node server.js
|
|
92
|
-
```
|
|
91
|
+
```bash
|
|
92
|
+
claude-guardian run -- claude
|
|
93
|
+
claude-guardian run --auto-restart --hang-timeout 120 -- node server.js
|
|
94
|
+
```
|
|
93
95
|
|
|
94
96
|
El sistema de supervisión:
|
|
95
97
|
1. Ejecuta su comando como un proceso secundario.
|
|
@@ -99,32 +101,32 @@ El sistema de supervisión:
|
|
|
99
101
|
|
|
100
102
|
## Servidor MCP (la verdadera clave)
|
|
101
103
|
|
|
102
|
-
Registre el guardián como un servidor MCP local para que Claude pueda
|
|
104
|
+
Registre el guardián como un servidor MCP local para que Claude pueda automonitorearse:
|
|
103
105
|
|
|
104
106
|
Agregue lo siguiente a `~/.claude.json`:
|
|
105
107
|
|
|
106
|
-
```json
|
|
107
|
-
{
|
|
108
|
-
"mcpServers": {
|
|
109
|
-
"guardian": {
|
|
110
|
-
"command": "npx",
|
|
111
|
-
"args": ["claude-guardian", "mcp"]
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
```
|
|
108
|
+
```json
|
|
109
|
+
{
|
|
110
|
+
"mcpServers": {
|
|
111
|
+
"guardian": {
|
|
112
|
+
"command": "npx",
|
|
113
|
+
"args": ["claude-guardian", "mcp"]
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
```
|
|
116
118
|
|
|
117
119
|
Luego, Claude puede llamar a:
|
|
118
120
|
|
|
119
121
|
| Herramienta | Lo que devuelve |
|
|
120
122
|
|------|----------------|
|
|
121
|
-
| `guardian_status` |
|
|
122
|
-
| `guardian_preflight_fix` | Ejecuta la rotación/
|
|
123
|
+
| `guardian_status` | Espacio en disco, registros, procesos, riesgo de bloqueo, presupuesto, nivel de atención. |
|
|
124
|
+
| `guardian_preflight_fix` | Ejecuta la rotación/reducción de tamaño de los registros y devuelve un informe de antes y después. |
|
|
123
125
|
| `guardian_doctor` | Crea un paquete de diagnóstico (zip) y devuelve la ruta y un resumen. |
|
|
124
|
-
| `guardian_nudge` | Corrección automática segura: corrige los registros si están
|
|
125
|
-
| `guardian_budget_get` | Límite de concurrencia actual, espacios utilizados,
|
|
126
|
-
| `guardian_budget_acquire` | Solicita espacios de concurrencia (devuelve el ID de la
|
|
127
|
-
| `guardian_budget_release` | Libera una
|
|
126
|
+
| `guardian_nudge` | Corrección automática segura: corrige los registros si están sobrecargados y captura un paquete si es necesario. |
|
|
127
|
+
| `guardian_budget_get` | Límite de concurrencia actual, espacios utilizados, licencias activas. |
|
|
128
|
+
| `guardian_budget_acquire` | Solicita espacios de concurrencia (devuelve el ID de la licencia). |
|
|
129
|
+
| `guardian_budget_release` | Libera una licencia cuando hayas terminado con tareas pesadas. |
|
|
128
130
|
| `guardian_recovery_plan` | Plan de recuperación paso a paso que indica las herramientas exactas a utilizar. |
|
|
129
131
|
|
|
130
132
|
Esto permite que Claude diga: "La atención es de NIVEL DE ADVERTENCIA. Ejecutando `guardian_nudge`, luego reduciendo la concurrencia".
|
|
@@ -133,11 +135,11 @@ Esto permite que Claude diga: "La atención es de NIVEL DE ADVERTENCIA. Ejecutan
|
|
|
133
135
|
|
|
134
136
|
Tres opciones de configuración (todo lo demás está codificado con valores predeterminados razonables):
|
|
135
137
|
|
|
136
|
-
|
|
|
138
|
+
| Opción | Valor predeterminado | Descripción |
|
|
137
139
|
|------|---------|-------------|
|
|
138
140
|
| `--max-log-mb` | `200` | Tamaño máximo del directorio de registros del proyecto en MB. |
|
|
139
|
-
| `--hang-timeout` | `300` | Segundos de inactividad antes de declarar
|
|
140
|
-
| `--auto-restart` | `false` | Reiniciar automáticamente en caso de fallo/
|
|
141
|
+
| `--hang-timeout` | `300` | Segundos de inactividad antes de declarar un bloqueo. |
|
|
142
|
+
| `--auto-restart` | `false` | Reiniciar automáticamente en caso de fallo/bloqueo. |
|
|
141
143
|
|
|
142
144
|
Además, existe una restricción codificada:
|
|
143
145
|
- **Espacio libre en disco < 5 GB** → el modo agresivo se habilita automáticamente (menor retención, umbrales más bajos).
|
|
@@ -148,38 +150,49 @@ Claude Guardian es **solo local**. No tiene ningún listener de red, ni telemetr
|
|
|
148
150
|
|
|
149
151
|
**Lo que lee:** `~/.claude/projects/` (archivos de registro, tamaños, tiempos de modificación), lista de procesos (CPU, memoria, tiempo de actividad, recuentos de identificadores para los procesos relacionados con Claude a través de `pidusage`).
|
|
150
152
|
|
|
151
|
-
**
|
|
153
|
+
**Qué escribe:** `~/.claude-guardian/` (state.json, budget.json, journal.jsonl, paquetes de información). Todos los archivos se encuentran en el directorio de inicio del usuario.
|
|
152
154
|
|
|
153
|
-
|
|
155
|
+
**Qué se recopila en los paquetes:** Información del sistema (sistema operativo, CPU, memoria, disco), fragmentos de archivos de registro (las últimas 500 líneas), instantáneas de procesos y el propio registro de Guardian. No se recopilan claves de API, tokens, credenciales ni contenido del usuario.
|
|
154
156
|
|
|
155
157
|
**Acciones peligrosas: lo que Guardian NO hará:**
|
|
156
|
-
-
|
|
158
|
+
- Terminar procesos o enviar señales (no `SIGKILL`, no `SIGTERM`)
|
|
157
159
|
- Reiniciar Claude Code o cualquier otro proceso
|
|
158
|
-
- Eliminar archivos (la rotación
|
|
160
|
+
- Eliminar archivos (la rotación se realiza mediante gzip, el recorte conserva las últimas N líneas)
|
|
159
161
|
- Realizar solicitudes de red o enviar información a un servidor central
|
|
160
162
|
- Aumentar privilegios o acceder a los datos de otros usuarios.
|
|
161
163
|
|
|
162
|
-
Si alguna vez se
|
|
164
|
+
Si alguna vez se agregara la función de terminar procesos o el reinicio automático, estará habilitada mediante una opción explícita, documentada aquí, y estará desactivada de forma predeterminada.
|
|
163
165
|
|
|
164
166
|
## Principios de diseño
|
|
165
167
|
|
|
166
|
-
- **Evidencia sobre suposiciones** — cada acción genera una entrada en el registro; los paquetes de
|
|
167
|
-
- **Determinista** — no utiliza aprendizaje automático ni heurísticas más allá de la
|
|
168
|
-
- **Seguro por defecto** — la rotación
|
|
169
|
-
- **Dependencias
|
|
168
|
+
- **Evidencia sobre suposiciones** — cada acción genera una entrada en el registro; los paquetes de información capturan el estado, no conjeturas.
|
|
169
|
+
- **Determinista** — no utiliza aprendizaje automático, ni heurísticas más allá de la antigüedad y el tamaño de los archivos. Tabla de decisiones que se puede leer en 60 segundos.
|
|
170
|
+
- **Seguro por defecto** — la rotación se realiza mediante gzip (reversible), el recorte conserva las últimas N líneas (los datos se conservan), no hay eliminaciones en la versión 1.
|
|
171
|
+
- **Dependencias sencillas** — commander, pidusage, archiver, @modelcontextprotocol/sdk. Eso es todo.
|
|
170
172
|
|
|
171
173
|
## Desarrollo
|
|
172
174
|
|
|
173
|
-
```bash
|
|
174
|
-
npm install
|
|
175
|
-
npm run build
|
|
176
|
-
npm test
|
|
177
|
-
```
|
|
175
|
+
```bash
|
|
176
|
+
npm install
|
|
177
|
+
npm run build
|
|
178
|
+
npm test
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Cuadro de evaluación
|
|
182
|
+
|
|
183
|
+
| Categoría | Puntuación | Notas |
|
|
184
|
+
|----------|-------|-------|
|
|
185
|
+
| A. Seguridad | 10/10 | SECURITY.md, solo local, sin telemetría, sin nube. |
|
|
186
|
+
| B. Manejo de errores | 10/10 | GuardianError (código + pista + causa), errores estructurados de MCP, códigos de salida. |
|
|
187
|
+
| C. Documentación para operadores | 10/10 | README, CHANGELOG, HANDBOOK, SHIP_GATE, guía paso a paso. |
|
|
188
|
+
| D. Higiene en la entrega | 9/10 | CI + pruebas (152), publicado en npm, VSIX no disponible. |
|
|
189
|
+
| E. Identidad | 10/10 | Logotipo, traducciones, página de inicio, listado en npm. |
|
|
190
|
+
| **Total** | **49/50** | |
|
|
178
191
|
|
|
179
192
|
## Licencia
|
|
180
193
|
|
|
181
194
|
MIT
|
|
182
195
|
|
|
183
|
-
---
|
|
196
|
+
---
|
|
184
197
|
|
|
185
198
|
Creado por <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a>
|
package/README.fr.md
CHANGED
|
@@ -2,19 +2,21 @@
|
|
|
2
2
|
<a href="README.ja.md">日本語</a> | <a href="README.zh.md">中文</a> | <a href="README.es.md">Español</a> | <a href="README.md">English</a> | <a href="README.hi.md">हिन्दी</a> | <a href="README.it.md">Italiano</a> | <a href="README.pt-BR.md">Português (BR)</a>
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
|
-
<p align="center">
|
|
6
|
-
<img src="https://raw.githubusercontent.com/mcp-tool-shop-org/brand/main/logos/claude-guardian/readme.png" width="400" alt="claude-guardian" />
|
|
7
|
-
</p>
|
|
8
|
-
|
|
9
|
-
<p align="center">
|
|
10
|
-
<a href="https://github.com/mcp-tool-shop-org/claude-guardian/actions"><img src="https://github.com/mcp-tool-shop-org/claude-guardian/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
|
|
11
|
-
<a href="https://
|
|
12
|
-
<a href="https://mcp-tool-shop-org
|
|
13
|
-
|
|
5
|
+
<p align="center">
|
|
6
|
+
<img src="https://raw.githubusercontent.com/mcp-tool-shop-org/brand/main/logos/claude-guardian/readme.png" width="400" alt="claude-guardian" />
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
<p align="center">
|
|
10
|
+
<a href="https://github.com/mcp-tool-shop-org/claude-guardian/actions"><img src="https://github.com/mcp-tool-shop-org/claude-guardian/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
|
|
11
|
+
<a href="https://www.npmjs.com/package/@mcptoolshop/claude-guardian"><img src="https://img.shields.io/npm/v/@mcptoolshop/claude-guardian" alt="npm" /></a>
|
|
12
|
+
<a href="https://codecov.io/gh/mcp-tool-shop-org/claude-guardian"><img src="https://img.shields.io/codecov/c/github/mcp-tool-shop-org/claude-guardian" alt="Coverage" /></a>
|
|
13
|
+
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="MIT License" /></a>
|
|
14
|
+
<a href="https://mcp-tool-shop-org.github.io/claude-guardian/"><img src="https://img.shields.io/badge/Landing_Page-live-blue" alt="Landing Page" /></a>
|
|
15
|
+
</p>
|
|
14
16
|
|
|
15
17
|
Ordinateur de bord pour Claude Code : rotation des journaux, surveillance, regroupement des erreurs, et auto-évaluation de l'environnement d'exécution (MCP).
|
|
16
18
|
|
|
17
|
-
Claude Guardian est une couche de fiabilité locale qui maintient les sessions Claude Code en bon état. Il détecte les problèmes de taille des journaux, la saturation du disque et les blocages avant qu'ils ne causent des problèmes, enregistre les informations pertinentes en cas de problème, et expose un serveur MCP afin que Claude puisse s'auto-surveiller pendant les sessions.
|
|
19
|
+
Claude Guardian est une couche de fiabilité locale qui maintient les sessions Claude Code en bon état. Il détecte les problèmes de taille des journaux, la saturation du disque et les blocages avant qu'ils ne causent des problèmes, il enregistre les informations pertinentes en cas de problème, et il expose un serveur MCP afin que Claude puisse s'auto-surveiller pendant les sessions.
|
|
18
20
|
|
|
19
21
|
## Ce qu'il fait
|
|
20
22
|
|
|
@@ -22,7 +24,7 @@ Claude Guardian est une couche de fiabilité locale qui maintient les sessions C
|
|
|
22
24
|
|---------|---------|
|
|
23
25
|
| `preflight` | Analyse les journaux du projet Claude, signale les répertoires/fichiers trop volumineux, corrige automatiquement (optionnel). |
|
|
24
26
|
| `doctor` | Génère un ensemble de diagnostics (zip) contenant des informations système, les dernières lignes des journaux et un journal. |
|
|
25
|
-
| `run -- <cmd>` | Exécute n'importe quelle commande avec surveillance, crée
|
|
27
|
+
| `run -- <cmd>` | Exécute n'importe quelle commande avec surveillance, crée un regroupement en cas de plantage/blocage. |
|
|
26
28
|
| `status` | Vérification de l'état : espace disque disponible, taille des journaux, avertissements. |
|
|
27
29
|
| `watch` | Démon en arrière-plan : surveillance continue, suivi des incidents, application des limites. |
|
|
28
30
|
| `budget` | Affiche et gère la limite de concurrence (afficher/acquérir/libérer). |
|
|
@@ -30,89 +32,89 @@ Claude Guardian est une couche de fiabilité locale qui maintient les sessions C
|
|
|
30
32
|
|
|
31
33
|
## Installation
|
|
32
34
|
|
|
33
|
-
```bash
|
|
34
|
-
npm install -g claude-guardian
|
|
35
|
-
```
|
|
35
|
+
```bash
|
|
36
|
+
npm install -g claude-guardian
|
|
37
|
+
```
|
|
36
38
|
|
|
37
39
|
Ou exécutez directement :
|
|
38
40
|
|
|
39
|
-
```bash
|
|
40
|
-
npx claude-guardian preflight
|
|
41
|
-
```
|
|
41
|
+
```bash
|
|
42
|
+
npx claude-guardian preflight
|
|
43
|
+
```
|
|
42
44
|
|
|
43
45
|
## Démarrage rapide
|
|
44
46
|
|
|
45
47
|
### Vérifiez votre environnement
|
|
46
48
|
|
|
47
|
-
```bash
|
|
48
|
-
claude-guardian status
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
=== Claude Guardian Preflight ===
|
|
53
|
-
|
|
54
|
-
Disk free: 607.13GB [OK]
|
|
55
|
-
Claude projects: C:\Users\you\.claude\projects
|
|
56
|
-
Total size: 1057.14MB
|
|
57
|
-
|
|
58
|
-
Project directories (by size):
|
|
59
|
-
my-project: 1020.41MB
|
|
60
|
-
|
|
61
|
-
Issues found:
|
|
62
|
-
[WARNING] Project log dir is 1020.41MB (limit: 200MB)
|
|
63
|
-
[WARNING] File is 33.85MB (limit: 25MB)
|
|
64
|
-
|
|
65
|
-
[guardian] disk=607.13GB | logs=1057.14MB | issues=2
|
|
66
|
-
```
|
|
49
|
+
```bash
|
|
50
|
+
claude-guardian status
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
=== Claude Guardian Preflight ===
|
|
55
|
+
|
|
56
|
+
Disk free: 607.13GB [OK]
|
|
57
|
+
Claude projects: C:\Users\you\.claude\projects
|
|
58
|
+
Total size: 1057.14MB
|
|
59
|
+
|
|
60
|
+
Project directories (by size):
|
|
61
|
+
my-project: 1020.41MB
|
|
62
|
+
|
|
63
|
+
Issues found:
|
|
64
|
+
[WARNING] Project log dir is 1020.41MB (limit: 200MB)
|
|
65
|
+
[WARNING] File is 33.85MB (limit: 25MB)
|
|
66
|
+
|
|
67
|
+
[guardian] disk=607.13GB | logs=1057.14MB | issues=2
|
|
68
|
+
```
|
|
67
69
|
|
|
68
70
|
### Corrige automatiquement les problèmes de taille des journaux
|
|
69
71
|
|
|
70
|
-
```bash
|
|
71
|
-
claude-guardian preflight --fix
|
|
72
|
-
```
|
|
72
|
+
```bash
|
|
73
|
+
claude-guardian preflight --fix
|
|
74
|
+
```
|
|
73
75
|
|
|
74
|
-
Effectue la rotation des anciens journaux (gzip), réduit la taille des fichiers `.jsonl` et `.log` trop volumineux en ne conservant que les N dernières lignes. Chaque action est enregistrée dans un fichier journal pour
|
|
76
|
+
Effectue la rotation des anciens journaux (gzip), réduit la taille des fichiers `.jsonl` et `.log` trop volumineux en ne conservant que les N dernières lignes. Chaque action est enregistrée dans un fichier journal pour faciliter le suivi.
|
|
75
77
|
|
|
76
78
|
### Génère un rapport de plantage
|
|
77
79
|
|
|
78
|
-
```bash
|
|
79
|
-
claude-guardian doctor --out ./bundle.zip
|
|
80
|
-
```
|
|
80
|
+
```bash
|
|
81
|
+
claude-guardian doctor --out ./bundle.zip
|
|
82
|
+
```
|
|
81
83
|
|
|
82
84
|
Crée un fichier zip contenant :
|
|
83
|
-
- `summary.json` : informations système, rapport de taille des fichiers, résultats de vérification préliminaire.
|
|
85
|
+
- `summary.json` : informations système, rapport de taille des fichiers, résultats de la vérification préliminaire.
|
|
84
86
|
- `log-tails/` : les 500 dernières lignes de chaque fichier journal.
|
|
85
87
|
- `journal.jsonl` : toutes les actions effectuées par le système de surveillance.
|
|
86
88
|
|
|
87
|
-
###
|
|
89
|
+
### Exécution avec surveillance
|
|
88
90
|
|
|
89
|
-
```bash
|
|
90
|
-
claude-guardian run -- claude
|
|
91
|
-
claude-guardian run --auto-restart --hang-timeout 120 -- node server.js
|
|
92
|
-
```
|
|
91
|
+
```bash
|
|
92
|
+
claude-guardian run -- claude
|
|
93
|
+
claude-guardian run --auto-restart --hang-timeout 120 -- node server.js
|
|
94
|
+
```
|
|
93
95
|
|
|
94
96
|
La surveillance :
|
|
95
97
|
1. Lance votre commande en tant que processus enfant.
|
|
96
|
-
2. Surveille
|
|
97
|
-
3. Si aucune activité pendant `--hang-timeout` secondes
|
|
98
|
-
4. Si le processus plante
|
|
98
|
+
2. Surveille les flux de sortie standard et d'erreur pour détecter l'activité.
|
|
99
|
+
3. Si aucune activité pendant `--hang-timeout` secondes → crée un ensemble de diagnostics.
|
|
100
|
+
4. Si le processus plante → crée un ensemble, redémarre éventuellement avec un délai progressif.
|
|
99
101
|
|
|
100
|
-
## Serveur MCP (la véritable
|
|
102
|
+
## Serveur MCP (la véritable clé)
|
|
101
103
|
|
|
102
104
|
Enregistrez le système de surveillance en tant que serveur MCP local afin que Claude puisse s'auto-surveiller :
|
|
103
105
|
|
|
104
106
|
Ajoutez ceci à `~/.claude.json` :
|
|
105
107
|
|
|
106
|
-
```json
|
|
107
|
-
{
|
|
108
|
-
"mcpServers": {
|
|
109
|
-
"guardian": {
|
|
110
|
-
"command": "npx",
|
|
111
|
-
"args": ["claude-guardian", "mcp"]
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
```
|
|
108
|
+
```json
|
|
109
|
+
{
|
|
110
|
+
"mcpServers": {
|
|
111
|
+
"guardian": {
|
|
112
|
+
"command": "npx",
|
|
113
|
+
"args": ["claude-guardian", "mcp"]
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
```
|
|
116
118
|
|
|
117
119
|
Ensuite, Claude peut appeler :
|
|
118
120
|
|
|
@@ -120,7 +122,7 @@ Ensuite, Claude peut appeler :
|
|
|
120
122
|
|------|----------------|
|
|
121
123
|
| `guardian_status` | Espace disque, journaux, processus, risque de blocage, limite, niveau d'attention. |
|
|
122
124
|
| `guardian_preflight_fix` | Effectue la rotation/réduction des journaux, renvoie un rapport avant/après. |
|
|
123
|
-
| `guardian_doctor` | Crée un ensemble de diagnostics (zip), renvoie le chemin et
|
|
125
|
+
| `guardian_doctor` | Crée un ensemble de diagnostics (zip), renvoie le chemin et le résumé. |
|
|
124
126
|
| `guardian_nudge` | Correction automatique sécurisée : corrige les journaux s'ils sont trop volumineux, crée un ensemble si nécessaire. |
|
|
125
127
|
| `guardian_budget_get` | Limite de concurrence actuelle, emplacements utilisés, licences actives. |
|
|
126
128
|
| `guardian_budget_acquire` | Demande des emplacements de concurrence (renvoie l'ID de la licence). |
|
|
@@ -131,12 +133,12 @@ Cela permet à Claude de dire : "L'attention est à niveau AVERTISSEMENT. Exécu
|
|
|
131
133
|
|
|
132
134
|
## Configuration
|
|
133
135
|
|
|
134
|
-
Trois paramètres (
|
|
136
|
+
Trois paramètres (le reste est codé en dur avec des valeurs par défaut raisonnables) :
|
|
135
137
|
|
|
136
138
|
| Paramètre | Valeur par défaut | Description |
|
|
137
139
|
|------|---------|-------------|
|
|
138
140
|
| `--max-log-mb` | `200` | Taille maximale du répertoire des journaux du projet en Mo. |
|
|
139
|
-
| `--hang-timeout` | `300` | Nombre de secondes d'inactivité avant de
|
|
141
|
+
| `--hang-timeout` | `300` | Nombre de secondes d'inactivité avant de signaler un blocage. |
|
|
140
142
|
| `--auto-restart` | `false` | Redémarrage automatique en cas de plantage/blocage. |
|
|
141
143
|
|
|
142
144
|
Plus une règle de sécurité codée en dur :
|
|
@@ -148,14 +150,14 @@ Claude Guardian est **local uniquement**. Il n'a pas de listener réseau, de té
|
|
|
148
150
|
|
|
149
151
|
**Ce qu'il lit :** `~/.claude/projects/` (fichiers journaux, tailles, dates de modification), liste des processus (utilisation du CPU, mémoire, temps de fonctionnement, nombre de descripteurs pour les processus liés à Claude via `pidusage`).
|
|
150
152
|
|
|
151
|
-
**Ce qu'il écrit :** `~/.claude-guardian/` (state.json, budget.json, journal.jsonl,
|
|
153
|
+
**Ce qu'il écrit :** `~/.claude-guardian/` (state.json, budget.json, journal.jsonl, ensembles de données). Tous les fichiers se trouvent dans le répertoire personnel de l'utilisateur.
|
|
152
154
|
|
|
153
|
-
**Ce qu'il collecte dans les
|
|
155
|
+
**Ce qu'il collecte dans les ensembles de données :** Informations système (OS, CPU, mémoire, disque), extraits de fichiers journaux (les 500 dernières lignes), instantanés de processus et le propre journal de Guardian. Aucune clé API, aucun jeton, aucune identifiant ou aucun contenu utilisateur.
|
|
154
156
|
|
|
155
157
|
**Actions dangereuses — ce que Guardian NE fera PAS :**
|
|
156
158
|
- Terminer des processus ou envoyer des signaux (pas de `SIGKILL`, pas de `SIGTERM`)
|
|
157
159
|
- Redémarrer Claude Code ou tout autre processus
|
|
158
|
-
- Supprimer des fichiers (
|
|
160
|
+
- Supprimer des fichiers (rotation = gzip, suppression = conserver les N dernières lignes)
|
|
159
161
|
- Effectuer des requêtes réseau ou contacter un serveur central
|
|
160
162
|
- Accorder des privilèges supérieurs ou accéder aux données d'autres utilisateurs
|
|
161
163
|
|
|
@@ -163,23 +165,34 @@ Si la terminaison de processus ou le redémarrage automatique étaient un jour a
|
|
|
163
165
|
|
|
164
166
|
## Principes de conception
|
|
165
167
|
|
|
166
|
-
- **Preuves plutôt que suppositions** — chaque action
|
|
168
|
+
- **Preuves plutôt que suppositions** — chaque action enregistre une entrée de journal ; les ensembles de données en cas de crash capturent l'état, et non des hypothèses.
|
|
167
169
|
- **Déterministe** — pas d'apprentissage automatique, pas d'heuristiques au-delà de l'âge et de la taille des fichiers. Tableau de décision que vous pouvez lire en 60 secondes.
|
|
168
|
-
- **Sûr par défaut** —
|
|
170
|
+
- **Sûr par défaut** — rotation = gzip (réversible), suppression = conserver les N dernières lignes (données préservées), aucune suppression dans la version 1.
|
|
169
171
|
- **Dépendances simples** — commander, pidusage, archiver, @modelcontextprotocol/sdk. C'est tout.
|
|
170
172
|
|
|
171
173
|
## Développement
|
|
172
174
|
|
|
173
|
-
```bash
|
|
174
|
-
npm install
|
|
175
|
-
npm run build
|
|
176
|
-
npm test
|
|
177
|
-
```
|
|
175
|
+
```bash
|
|
176
|
+
npm install
|
|
177
|
+
npm run build
|
|
178
|
+
npm test
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Tableau de bord
|
|
182
|
+
|
|
183
|
+
| Catégorie | Score | Notes |
|
|
184
|
+
|----------|-------|-------|
|
|
185
|
+
| A. Sécurité | 10/10 | SECURITY.md, uniquement local, pas de télémétrie, pas de cloud |
|
|
186
|
+
| B. Gestion des erreurs | 10/10 | GuardianError (code + indication + cause), erreurs MCP structurées, codes de sortie |
|
|
187
|
+
| C. Documentation pour les administrateurs | 10/10 | README, CHANGELOG, HANDBOOK, SHIP_GATE, guide pas à pas |
|
|
188
|
+
| D. Qualité du code | 9/10 | CI + tests (152), publié sur npm, VSIX n/a |
|
|
189
|
+
| E. Identité | 10/10 | Logo, traductions, page d'accueil, inscription npm |
|
|
190
|
+
| **Total** | **49/50** | |
|
|
178
191
|
|
|
179
192
|
## Licence
|
|
180
193
|
|
|
181
194
|
MIT
|
|
182
195
|
|
|
183
|
-
---
|
|
196
|
+
---
|
|
184
197
|
|
|
185
198
|
Créé par <a href="https://mcp-tool-shop.github.io/">MCP Tool Shop</a>
|