Saltar al contenido principal
Versión: 0.25.0

Puerta de pasos

La puerta de pasos (step gate) es un hook PreToolUse que detiene cada llamada a una herramienta (las del agente principal y las de sus subagentes) hasta que una persona responde. Es lo que significa el modo interactive. Las herramientas que ya preguntan a la persona por sí mismas (ask_human, present_plan, las herramientas de aprobación y de intervención manual, request_file, retire_source) y la lista de tareas (TodoWrite) pasan sin preguntar antes.

Cuándo está activa​

buildSessionOptions() la registra en las sesiones guided e interactive y comprueba el modo actual en cada llamada: mientras el modo es interactive pregunta; si no, no da ninguna decisión y la llamada sigue como si no estuviera. Eso es lo que permite a una sesión guiada pasar a interactiva y volver (Modos). Una sesión autonomous no la tiene.

Qué pregunta​

Un punto de control de decisión titulado Proposed action, con el nombre de la herramienta y sus parámetros como JSON formateado:

Proposed action
Tool: WebFetch
Parameters: {
"url": "https://example.com/news",
"prompt": "Summarize the headlines"
}

Qué hace cada respuesta​

RespuestaValoresEfecto
Síy, yes, Enter ("")La llamada sigue adelante.
Non, cualquier otra cosaLa llamada se deniega. Al modelo se le dice "Action rejected by the user in step-by-step mode." y decide qué hacer a continuación.
PararqLa llamada se deniega y el turno se detiene (continue: false): "Execution stopped manually by the user."

Los textos para el modelo están siempre en inglés, sea cual sea el idioma del kit; el panel está en el idioma del kit.

Usarla en tu propia cadena de hooks​

createStepGate(runDir, isActive?) se exporta para construir tú mismo el mismo hook, por ejemplo en una sesión que montas a mano:

import { createStepGate } from "@falkenslab/agent-kit";

const stepGate = createStepGate(runDir, () => supervised); // asks only while `supervised` is true

const options: Options = {
// …
hooks: { PreToolUse: [{ hooks: [stepGate] }] },
};