Saltar al contenido principal
Versión: Next (sin publicar)

Intervención manual

Hay pasos que un agente no puede o no debe dar: iniciar sesión con credenciales que no tiene, resolver un captcha, aprobar un aviso de doble factor en un móvil. El punto de control de intervención manual le permite detenerse hasta que una persona lo haya hecho a mano en la interfaz que maneja el agente (una ventana del navegador, por ejemplo), y después continuar.

Activarla​

No hay textos predeterminados: qué cuenta como intervención manual depende por completo de tu dominio. Definir manualInterventionTexts en el spec es lo que registra la herramienta (fuera del modo autonomous):

const spec: AgentSpec<Config> = {
// …
manualInterventionTexts: {
toolDescription:
"Call this when you need to log in and can't: no credentials, a failed login, a captcha or a second factor. " +
"A person will log in by hand in the browser window you're driving. Call it, wait, then check the page.",
confirmedMessage: "The person says they're done. Reload the page and check you're logged in before continuing.",
checkpointTitle: "Log in by hand",
checkpointLines: [
"The agent needs you to log in in the browser window it opened.",
"Log in there, then confirm here.",
],
checkpointQuestion: "Press Enter once you've logged in: ",
},
};
CampoSe muestra aPropósito
toolDescriptionel modeloCuándo llamar a request_manual_login.
confirmedMessageel modeloLo que devuelve la herramienta cuando la persona confirma.
checkpointTitle, checkpointLinesla personaEl título y los detalles del punto de control.
checkpointQuestionla personaLa pregunta en el terminal sencillo (opcional).

La herramienta es mcp__manualLogin__request_manual_login, sin parámetros.

Qué ve la persona​

En el chat de Ink, un panel con tu título y tus líneas y una única opción, 1. Done, continue. En el terminal sencillo, las líneas y tu pregunta. El fichero de respuesta también lo responde: cualquier contenido cuenta como hecho.

Construirla tú mismo​

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

mcpServers: { manualLogin: createManualLoginServer(runDir, texts) },

Y desde tu propio código, askForManualIntervention(runDir, { title, lines, question }) espera de la misma forma.