El comando aicippy-code serve ejecuta un servidor HTTP sin cabeza que expone un punto final OpenAPI que un cliente aicippy-code puede usar.
aicippy-code serve [--port <number>] [--hostname <string>] [--cors <origin>]
Bandera Descripción Predeterminado --portPuerto para escuchar 4096--hostnameNombre de host para escuchar 127.0.0.1--mdnsHabilitar el descubrimiento de mDNS false--mdns-domainNombre de dominio personalizado para el servicio mDNS aicippy-code.local--corsOrígenes de navegador adicionales para permitir []
--cors se puede pasar varias veces:
aicippy-code serve --cors http://localhost:5173 --cors https://app.example.com
Configure AICIPPY_CODE_SERVER_PASSWORD para proteger el servidor con autenticación básica HTTP. El nombre de usuario predeterminado es aicippy-code, o configure AICIPPY_CODE_SERVER_USERNAME para anularlo. Esto se aplica tanto a aicippy-code serve como a aicippy-code web.
AICIPPY_CODE_SERVER_PASSWORD = your-password aicippy-code serve
Cuando ejecuta aicippy-code, inicia un TUI y un servidor. Donde el TUI es el
Cliente que habla con el servidor. El servidor expone una especificación OpenAPI 3.1
punto final. Este punto final también se utiliza para generar un SDK .
Esta arquitectura permite que aicippy-code admita múltiples clientes y le permite interactuar con aicippy-code mediante programación.
Puede ejecutar aicippy-code serve para iniciar un servidor independiente. Si tienes el
aicippy-code TUI ejecutándose, aicippy-code serve iniciará un nuevo servidor.
Cuando inicia el TUI, asigna aleatoriamente un puerto y un nombre de host. En su lugar, puede pasar --hostname y --port banderas . Luego use esto para conectarse a su servidor.
El punto final /tui se puede utilizar para conducir el TUI a través del servidor. Por ejemplo, puede completar previamente o ejecutar un mensaje. Esta configuración es utilizada por los complementos AicippY IDE .
El servidor publica una especificación OpenAPI 3.1 que se puede ver en:
http://<hostname>:<port>/doc
Por ejemplo, http://localhost:4096/doc. Utilice la especificación para generar clientes o inspeccionar tipos de solicitudes y respuestas. O verlo en un explorador Swagger.
El servidor aicippy-code expone las siguientes API.
Método Ruta Descripción Respuesta GET/global/healthObtener el estado y la versión del servidor { healthy: true, version: string }GET/global/eventObtenga eventos globales (transmisión SSE) Flujo de eventos
Método Ruta Descripción Respuesta GET/projectListar todos los proyectos Project[]GET/project/currentObtener el proyecto actual Project
Método Ruta Descripción Respuesta GET/pathObtener la ruta actual PathGET/vcsObtenga información de VCS para el proyecto actual VcsInfo
Método Ruta Descripción Respuesta POST/instance/disposeEliminar la instancia actual boolean
Método Ruta Descripción Respuesta GET/configObtener información de configuración ConfigPATCH/configActualizar configuración ConfigGET/config/providersLista de proveedores y modelos predeterminados { providers: Proveedor[] , default: { [key: string]: string } }
Método Ruta Descripción Respuesta GET/providerListar todos los proveedores { all: Proveedor[] , default: {...}, connected: string[] }GET/provider/authObtener métodos de autenticación de proveedores { [providerID: string]: ProviderAuthMethod[] }POST/provider/{id}/oauth/authorizeAutorizar a un proveedor usando OAuth ProviderAuthAuthorizationPOST/provider/{id}/oauth/callbackManejar la devolución de llamada OAuth para un proveedor boolean
Método Ruta Descripción Notas GET/sessionListar todas las sesiones Devuelve Session[] POST/sessionCrear una nueva sesión cuerpo: { parentID?, title? }, devuelve Session GET/session/statusObtener el estado de la sesión para todas las sesiones Devuelve { [sessionID: string]: SessionStatus } GET/session/:idObtener detalles de la sesión Devuelve Session DELETE/session/:idEliminar una sesión y todos sus datos Devuelve boolean PATCH/session/:idActualizar propiedades de sesión cuerpo: { title? }, devuelve Session GET/session/:id/childrenObtener las sesiones secundarias de una sesión Devuelve Session[] GET/session/:id/todoObtener la lista de tareas pendientes para una sesión Devuelve Todo[] POST/session/:id/initAnalizar aplicación y crear AGENTS.md cuerpo: { messageID, providerID, modelID }, devuelve boolean POST/session/:id/forkBifurca una sesión existente en un mensaje cuerpo: { messageID? }, devuelve Session POST/session/:id/abortCancelar una sesión en ejecución Devuelve boolean POST/session/:id/shareCompartir una sesión Devuelve Session DELETE/session/:id/shareDejar de compartir una sesión Devuelve Session GET/session/:id/diffObtenga la diferencia para esta sesión consulta: messageID?, devuelve FileDiff[] POST/session/:id/summarizeResumir la sesión cuerpo: { providerID, modelID }, devuelve boolean POST/session/:id/revertRevertir un mensaje cuerpo: { messageID, partID? }, devuelve boolean POST/session/:id/unrevertRestaurar todos los mensajes revertidos Devuelve boolean POST/session/:id/permissions/:permissionIDResponder a una solicitud de permiso cuerpo: { response, remember? }, devuelve boolean
Método Ruta Descripción Notas GET/session/:id/messageListar mensajes en una sesión consulta: limit?, devuelve { info: Mensaje , parts: Parte[] }[] POST/session/:id/messageEnvía un mensaje y espera respuesta cuerpo: { messageID?, model?, agent?, noReply?, system?, tools?, parts }, devuelve { info: Mensaje , parts: Parte[] } GET/session/:id/message/:messageIDObtener detalles del mensaje Devuelve { info: Mensaje , parts: Parte[] } POST/session/:id/prompt_asyncEnviar un mensaje de forma asincrónica (sin espera) cuerpo: igual que /session/:id/message, devuelve 204 No Content POST/session/:id/commandEjecutar un comando de barra diagonal cuerpo: { messageID?, agent?, model?, command, arguments }, devuelve { info: Mensaje , parts: Parte[] } POST/session/:id/shellEjecute un comando de shell cuerpo: { agent, model?, command }, devuelve { info: Mensaje , parts: Parte[] }
Método Ruta Descripción Respuesta GET/commandListar todos los comandos Command[]
Método Ruta Descripción Respuesta GET/find?pattern=<pat>Buscar texto en archivos Matriz de objetos coincidentes con path, lines, line_number, absolute_offset, submatches GET/find/file?query=<q>Buscar archivos y directorios por nombre string[] (caminos)GET/find/symbol?query=<q>Buscar símbolos del espacio de trabajo Symbol[]GET/file?path=<path>Listar archivos y directorios FileNode[]GET/file/content?path=<p>Leer un archivo FileContentGET/file/statusObtener el estado de los archivos rastreados File[]
query (obligatorio) — cadena de búsqueda (coincidencia aproximada)
type (opcional): limita los resultados a "file" o "directory"
directory (opcional): anula la raíz del proyecto para la búsqueda.
limit (opcional) — resultados máximos (1–200)
dirs (opcional): indicador heredado ("false" devuelve solo archivos)
Método Ruta Descripción Respuesta GET/experimental/tool/idsListar todos los ID de herramientas ToolIDsGET/experimental/tool?provider=<p>&model=<m>Listar herramientas con esquemas JSON para un modelo ToolList
Método Ruta Descripción Respuesta GET/lspObtener el estado del servidor LSP LSPStatus[]GET/formatterObtener estado del formateador FormatterStatus[]GET/mcpObtener el estado del servidor MCP { [name: string]: MCPStatus }POST/mcpAgregue el servidor MCP dinámicamente cuerpo: { name, config }, devuelve MCP objeto de estado
Método Ruta Descripción Respuesta GET/agentListar todos los agentes disponibles Agent[]
Método Ruta Descripción Respuesta POST/logEscribir entrada de registro. Cuerpo: { service, level, message, extra? } boolean
Método Ruta Descripción Respuesta POST/tui/append-promptAgregar texto al mensaje booleanPOST/tui/open-helpAbra el cuadro de diálogo de ayuda booleanPOST/tui/open-sessionsAbrir el selector de sesiones booleanPOST/tui/open-themesAbra el selector de temas booleanPOST/tui/open-modelsAbrir el selector de modelo booleanPOST/tui/submit-promptEnviar el mensaje actual booleanPOST/tui/clear-promptBorrar el mensaje booleanPOST/tui/execute-commandEjecutar un comando ({ command }) booleanPOST/tui/show-toastMostrar brindis ({ title?, message, variant }) booleanGET/tui/control/nextEspere la próxima solicitud de control Objeto de solicitud de control POST/tui/control/responseResponder a una solicitud de control ({ body }) boolean
Método Ruta Descripción Respuesta PUT/auth/:idEstablecer credenciales de autenticación. El cuerpo debe coincidir con el esquema del proveedor boolean
Método Ruta Descripción Respuesta GET/eventTransmisión de eventos enviados por el servidor. El primer evento es server.connected, luego eventos de bus Transmisión de eventos enviados por el servidor
Método Ruta Descripción Respuesta GET/docEspecificación OpenAPI 3.1 Página HTML con especificación OpenAPI