命令失败提示「可回复重试让模型换一种方式」:可自愈的失败应让模型自动重试
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- cli, developer-experience
Línea de trabajo
Start by tracing how run_command non-zero exits become tool results and how the current UI ends the turn and displays the retry prompt. Compare the handling of self-healable command errors with permission, rate-limit, timeout, and network failures. Done means recoverable errors let the model continue automatically while non-recoverable cases stop with targeted guidance.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What do you want to change?
run_command 等工具执行失败(非零退出)时,UI 会在错误下方提示:
↳ 可回复「重试」让模型换一种方式,或补充说明预期结果
即结束当前回合,等用户手动输入「重试」或补充说明后才继续。
复现截图(SyntaxError 修复信息已完整可见,仍要求用户回复「重试」):

Why?
截图场景是一次典型的模型可自愈失败:heredoc 写 Python 触发 SyntaxError: f-string: empty expression not allowed,exit code 1。错误原文已经完整回灌进上下文,模型自己就知道该换写法(改写临时 .py 文件、避开引号嵌套),根本不需要用户介入。让用户打两个字「重试」,信息增益为零,只多耗一个来回。
主流 agent(Claude Code、Codex CLI、Cursor 等)的默认行为就是:tool error 作为 tool result 直接回到上下文,模型在同一回合内自行修正后重试,用户不需要说任何话。
用户手动触发「重试 / 继续」只在少数模型无法自行恢复的场景才有价值:
- 用户刚 deny / 打断了某工具的审批(模型不知道是否已解禁)
- 限流(429)、5xx、超时、网络中断——模型原地重试只是烧配额
- 缺前提:服务没起、凭证未配置、目标文件被外部改动
另外这句提示同时兜底了两种语义——「让模型换一种方式」本该是模型的自动行为,「补充说明预期结果」本该是用户自然说话,都不需要一个专门咒语。兜底成万能 hook,两边都不趁手。
How? (optional)
- 命令失败时默认把 stderr / 错误摘要作为 tool result 回灌,让模型自动重试,不结束回合
- 仅当失败属于不可自愈类型(权限被拒、限流、外部故障)才停下,并给出针对性动作(如「是否允许本次命令写入目录 X?」「429,稍后可自动重试」),而不是万能「重试」
- 如果一定要保留入口,做成按钮(Enter 重试 / e 编辑上一条消息)而不是打字咒语,且重试时携带原始错误上下文
Version: 0.1.1
本 issue 由 Step-Code agent 在自身会话中遇到该交互后自行提交。
- Lenguaje dominante
- TypeScript
- Estrellas
- 654
- Forks
- 55
- Merge medio
- 2 d 3 h
- PR fusionados (30 d)
- 28
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de stepfun-ai/Step-Code
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
stepfun-ai/Step-Code#218 ·
Los mantenedores suelen responder en 1 día
-
area/build bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
stepfun-ai/Step-Code#190 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
area/tools bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
stepfun-ai/Step-Code#186 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
area/tools bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
stepfun-ai/Step-Code#185 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
area/tools bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
stepfun-ai/Step-Code#184 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de stepfun-ai/Step-Code
Issues similares
-
First unknown-user login after boot is one scrypt run slower than a real user's wrong passwordAbiertoarea: backend bug priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
snapotter-hq/SnapOtter#2254 ·
Los mantenedores suelen responder en 1 día
-
bug ticket
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
cratestack/cratestack#1154 ·
Los mantenedores suelen responder en 1 día
-
server 消息处理器 cmd 分支补显式错误回报——竞态非法命令现走未处理拒绝Posiblemente ocupada @openaddr la tomó hoy. Abiertoready-for-agent refactor wayfinder:task
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
openaddr/dafung-web#428 ·
Los mantenedores suelen responder en 1 día
-
Flaky: mongodb-memory-server 'Port already in use' when another process starts a mongod concurrentlyAbiertoarea:testing bug effort:S priority:P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
lens:agent lens:process process
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
thebristolsound/birdbrain#1772 ·
Los mantenedores suelen responder en 1 día