Obtener AX Code · GratisDocumentación

Esta página es una traducción de la documentación en inglés. Los comandos, identificadores y ejemplos no cambian. Runtime 7.24.4 · SDK 2.6.7. Original en inglés

Integración del motor local (AX Code)

Estado: Activo Alcance: estado actual Última revisión: 2026-09-19 Responsable: runtime de ax-code Relacionado: LOCAL-ENGINE-CLIENTS de ax-engine

Configuración del entorno de ejecución local

Elige Entorno de ejecución AX-Engine en /connect y luego Seleccionar un modelo. AX Code configura el entorno de ejecución local y lo inicia cuando hace falta el modelo elegido. No hay formulario de URL de endpoint ni de clave de API. Ver estado, Detener el entorno de ejecución local (cuando está en marcha) y Desactivar gestionan el proceso local.

AX Code usa el backend HTTP de sidecar para AX Engine. Arranca ax-engine serve, sigue el proceso del que es dueño y resuelve la dirección loopback y el puerto de forma automática. El usuario elige un modelo; AX Code se encarga de la configuración del transporte.

AX Code (TypeScript)
  -> select local model -> ensure/prepare -> spawn ax-engine serve
  -> managed loopback /v1 -> @ai-sdk/openai-compatible language model

Elegir un modelo guarda de forma explícita el ciclo de vida gestionado y borra los ajustes heredados de endpoint y clave de conexión. Esto también anula un valor persistente de AX_ENGINE_HOST. Los clientes SDK más antiguos conservan la API heredada de conexión solo loopback y su validación de credenciales. Ese camino de compatibilidad no forma parte del menú de proveedores.

AX Code no enlaza el SDK de AX Engine en el proceso. AX Engine es dueño de la ejecución del modelo, y AX Code es dueño del ciclo de vida del proceso en el cliente. Siguen aplicándose la aptitud del host, la preparación del modelo y las comprobaciones en vivo de llamadas a herramientas.

El arranque en frío tiene un límite de preparación de 600 segundos. El tiempo de arranque depende del tamaño del modelo, del rendimiento del almacenamiento y de la memoria disponible. Un arranque agotado detiene el turno con el registro del servidor y la ruta del modelo; AX Code no reinicia de forma automática otra carga en frío ni cambia de proveedor. Resuelve el problema informado antes de reintentar de forma explícita. El sobre de configuración del modelo, incluida la espera del bloqueo de ciclo de vida y el descubrimiento de capacidades, se limita a 660 segundos. La caducidad cancela la configuración pendiente y detiene los reintentos automáticos. Cancelar una solicitud también detiene la espera de inmediato, aunque una dependencia de la configuración aún no haya respondido. Las respuestas de salud que llegan después del plazo de preparación, o después de que salga el proceso del que se es dueño, no pueden establecer la preparación.

Una vez listo, el motor permanece residente entre los turnos de la conversación. Completar o cancelar el turno que lo inició no detiene el motor listo. Cancelar mientras el arranque sigue en curso termina ese intento y quita su registro de proceso. Usa Detener el entorno de ejecución local para detener de forma explícita un motor residente.

AX Code sigue la ubicación estándar de la caché de Hugging Face y respeta la elección de almacenamiento del usuario, incluidos discos locales y montajes SMB y NFS. La resolución de la caché es HF_HUB_CACHE, luego HF_HOME/hub, luego XDG_CACHE_HOME/huggingface/hub y luego ~/.cache/huggingface/hub. Una ruta de modelo configurada de forma explícita o ya preparada tiene prioridad sobre el descubrimiento de caché. AX Code no reubica los pesos ni anula estas elecciones según el tipo de almacenamiento. Los diagnósticos de arranque informan de la ruta real del modelo para que los usuarios puedan investigar la disponibilidad y el rendimiento de lectura en el almacenamiento elegido.

Para un motor existente, AX Code hace hasta tres sondas de salud, cada una limitada a dos segundos y separadas por 250 milisegundos, antes de reiniciar un proceso que no responde. Cancelar la solicitud conserva el proceso existente.

Por qué un sidecar

Factor Elección de sidecar
Lenguaje del host Entorno de agente Node/Bun con un límite explícito de proceso nativo
Aislamiento Los modelos de varios GB y los fallos nativos quedan fuera del proceso del agente
Actualización Suelo empaquetado condicionado por versión más una superposición gestionada opcional, sin recompilar ax-code
Modelo de proveedor El mismo camino compatible con OpenAI que otros proveedores locales o de nube
Varios clientes Un servidor se puede sondear y detener mediante server.json

Fases del ciclo de vida

Implementación: packages/ax-code/src/provider/ax-engine/lifecycle.ts

Fase Cuándo (correspondencia de AX Code)
unavailable Falla la aptitud de la plataforma
missing_dependency Falta el binario, la versión es demasiado antigua o no es ejecutable
missing_model La ruta del modelo no está preparada
starting El proceso del servidor está registrado, pero aún no está listo
ready server.ready y la salud del proceso correctas
degraded Listo, pero la inspección de capacidades dice que toolcall no se admite
error Bloqueos de fallo de salud o de arranque en un intento en curso

El orden de gravedad coincide con docs/LOCAL-ENGINE-CLIENTS.md de ax-engine.

Área Ruta
Arranque y salud del servidor packages/ax-code/src/provider/ax-engine/server.ts
Cargador de proveedor (gestionado y conexión) packages/ax-code/src/provider/ax-engine/provider-loader.ts
Entorno de ejecución local de la TUI packages/ax-code/src/cli/tui/component/dialog-provider.tsx
Ayudantes de acciones locales packages/ax-code/src/cli/tui/component/dialog-provider-options.ts
Estado agregado packages/ax-code/src/provider/ax-engine/status.ts
Correspondencia de fases packages/ax-code/src/provider/ax-engine/lifecycle.ts
Política de modelos Selección de modelos de AX Engine

El aprovisionamiento gestionado de un sidecar fijado no es una integración en el proceso. Las versiones Darwin-arm64 colocan engine/<version>/ junto a la CLI; ax-code providers ax-engine install es la superposición o el actualizador cuando se publica un pin más nuevo.

Lo que no se busca

  • Sustituir el sidecar por una integración en el proceso del SDK dentro de AX Code
  • Adoptar gRPC como transporte principal de chat
  • Un socket Unix personalizado o un encuadre de chat que no sea OpenAI para los clientes de primera parte
  • Hornear los pesos del modelo en el instalador de AX Code