Améliorations robustesse MCP et script de mise à jour
- Augmente MAX_TOOL_ITERATIONS à 20 et timeout HTTP à 300s pour tolérer les erreurs/temps d'attente - Ajoute des directives de gestion d'erreurs dans CLAUDE.md pour les appels MCP - Introduit un mode bootstrap (`CRAZYCLAUDE_BOOTSTRAP=1`) pour éviter les git pull en boucle - Découpe les tâches longues et préconise des corrections ciblées pour les artefacts mineurs
This commit is contained in:
@@ -54,6 +54,15 @@ Traite toi-même **uniquement si** :
|
||||
|
||||
En cas de doute : délègue.
|
||||
|
||||
Si `mcp__qwen3__task` retourne une erreur ou timeout :
|
||||
1. Lire les fichiers concernés — vérifier si le travail a quand même été effectué.
|
||||
2. Ne reprendre soi-même que si le fichier est absent ou manifestement incorrect.
|
||||
3. Ne jamais supposer l'échec sans vérification.
|
||||
4. Les artefacts mineurs (ligne parasite, commentaire résiduel) se corrigent avec
|
||||
un second appel ciblé — pas besoin de tout réécrire.
|
||||
|
||||
Pour les tâches longues : découper en plusieurs appels successifs plutôt qu'un seul gros appel.
|
||||
|
||||
## Garde-fous absolus
|
||||
- Ne jamais passer `rm -rf` sans confirmation explicite
|
||||
- Ne jamais committer sans que les tests passent
|
||||
|
||||
@@ -19,7 +19,7 @@ from pathlib import Path
|
||||
import requests
|
||||
|
||||
QWEN3_MODEL = "LMStudio:qwen/qwen3-coder-next"
|
||||
MAX_TOOL_ITERATIONS = 10
|
||||
MAX_TOOL_ITERATIONS = 20
|
||||
|
||||
# Répertoire llm-functions relatif à ce script
|
||||
_HERE = Path(__file__).parent
|
||||
@@ -192,7 +192,7 @@ def call_qwen3(task: str, files: list[str]) -> str:
|
||||
resp = requests.post(
|
||||
f"{_aichat_url}/v1/chat/completions",
|
||||
json=payload,
|
||||
timeout=120,
|
||||
timeout=300,
|
||||
)
|
||||
resp.raise_for_status()
|
||||
data = resp.json()
|
||||
|
||||
@@ -17,7 +17,7 @@ if [[ "$(basename "$CLAUDE_DIR")" != ".claude" ]]; then
|
||||
rsync -a --exclude='.git' --exclude='llm-functions' --exclude='venv' \
|
||||
"$CLAUDE_DIR/" "$TARGET/"
|
||||
echo "==> Rebuild des outils"
|
||||
exec bash "$TARGET/update_crazyclaude.sh" "${@:2}"
|
||||
exec env CRAZYCLAUDE_BOOTSTRAP=1 bash "$TARGET/update_crazyclaude.sh" "${@:2}"
|
||||
fi
|
||||
|
||||
# On est maintenant dans .claude/, on peut continuer normalement
|
||||
@@ -43,12 +43,16 @@ require git
|
||||
require argc
|
||||
require jq
|
||||
|
||||
if [[ "${CRAZYCLAUDE_BOOTSTRAP:-0}" == "1" ]]; then
|
||||
echo "=== Mode bootstrap — git pull ignoré ==="
|
||||
else
|
||||
echo "=== Mise à jour de .claude (CrazyClaude) ==="
|
||||
run git -C "$CLAUDE_DIR" pull --ff-only
|
||||
|
||||
echo ""
|
||||
echo "=== Mise à jour de .claude/llm-functions ==="
|
||||
run git -C "$LLM_DIR" pull --ff-only
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=== Reconstruction des outils llm-functions ==="
|
||||
|
||||
Reference in New Issue
Block a user