From fe049e37d14fa12a23aa4b740d39e2a1db350ca1 Mon Sep 17 00:00:00 2001 From: dttb Date: Sat, 18 Apr 2026 20:48:57 +0300 Subject: [PATCH] =?UTF-8?q?kb-agent-loop:=2030-=D0=BC=D0=B8=D0=BD=20timeou?= =?UTF-8?q?t=20safety=20=D0=BD=D0=B0=20claude=20=D0=B2=D1=8B=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/kb-agent-loop.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/scripts/kb-agent-loop.sh b/scripts/kb-agent-loop.sh index bb5f033..f1f7ed8 100755 --- a/scripts/kb-agent-loop.sh +++ b/scripts/kb-agent-loop.sh @@ -86,10 +86,12 @@ EOF ) log "calling claude -p (Opus)..." -# --permission-mode acceptEdits — Claude Code сам применяет Edit без спроса -# Bash-команды всё равно будут просить или быть ограниченными policy -if ! claude -p --permission-mode acceptEdits "$PROMPT" >> "$LOG" 2>&1; then - log "claude exit non-zero" +# --permission-mode acceptEdits — Claude Code сам применяет Edit без спроса. +# Timeout 30 мин: если Opus зациклится / утечёт в Max-лимит — жёсткий kill. +# --model sonnet если хочется дешевле (но качество правок ниже). +if ! timeout 1800 claude -p --permission-mode acceptEdits "$PROMPT" >> "$LOG" 2>&1; then + rc=$? + log "claude exit rc=$rc (124 = timeout)" fi # ──────────────── measure ────────────────