Obtenir AX Code · GratuitDocumentation

Cette page est traduite de la documentation anglaise. Les commandes, identifiants et exemples sont inchangés. Runtime 7.24.4 · SDK 2.6.7. Source anglaise

Intégration du moteur local (AX Code)

Statut : actif Portée : état actuel Dernière revue : 2026-09-19 Responsable : runtime AX Code Voir aussi : document ax-engine LOCAL-ENGINE-CLIENTS

Préparation du runtime local

Sélectionnez runtime AX-Engine dans /connect, puis Choisir un modèle. AX Code configure le runtime local et le démarre lorsque le modèle choisi est nécessaire. Il n’y a ni formulaire d’URL de point de terminaison ni de clé d’API. Voir le statut, Arrêter le runtime local (lorsqu’il tourne) et Désactiver gèrent le processus local.

AX Code utilise le backend HTTP en sidecar pour AX Engine. Il démarre ax-engine serve, suit le processus dont il a la charge et résout automatiquement l’adresse de boucle locale et le port. L’utilisateur choisit un modèle ; AX Code gère la configuration du transport.

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

Choisir un modèle explicitement enregistre le cycle de vie géré et efface les anciens réglages de point de terminaison et de clé d’attache. Cela remplace aussi une valeur AX_ENGINE_HOST persistante. Les clients SDK plus anciens conservent l’API d’attache héritée, limitée à la boucle locale, et sa validation d’authentifiants. Ce chemin de compatibilité ne fait pas partie du menu des fournisseurs.

AX Code ne lie pas le SDK d’AX Engine dans le processus. AX Engine possède l’exécution du modèle, et AX Code possède le cycle de vie du processus côté client. L’éligibilité de l’hôte, la préparation du modèle et les contrôles d’appel d’outils en direct s’appliquent toujours.

Le démarrage à froid a une limite de disponibilité de 600 secondes. Le temps de démarrage dépend de la taille du modèle, du débit de stockage et de la mémoire disponible. Un démarrage épuisé arrête le tour avec le journal du serveur et le chemin du modèle ; AX Code ne relance pas automatiquement un autre chargement à froid et ne change pas de fournisseur. Résolvez le problème signalé avant de réessayer explicitement. L’enveloppe de préparation du modèle, y compris l’attente du verrou de cycle de vie et la découverte des capacités, est limitée à 660 secondes. L’expiration annule la préparation en attente et arrête les nouveaux essais automatiques. Annuler une requête arrête aussi l’attente immédiatement, même si une dépendance de préparation n’a pas encore répondu. Les réponses de santé qui arrivent après l’échéance de disponibilité, ou après la sortie du processus possédé, ne peuvent pas établir la disponibilité.

Une fois prêt, le moteur reste résident d’un tour de conversation à l’autre. Terminer ou annuler le tour initiateur n’arrête pas le moteur prêt. Annuler pendant que le démarrage est encore en cours met fin à cette tentative et retire son enregistrement de processus. Utilisez Arrêter le runtime local pour arrêter explicitement un moteur résident.

AX Code suit l’emplacement de cache Hugging Face standard et respecte le choix de stockage de l’utilisateur, y compris les disques locaux et les montages SMB et NFS. La résolution du cache est HF_HUB_CACHE, puis HF_HOME/hub, puis XDG_CACHE_HOME/huggingface/hub, puis ~/.cache/huggingface/hub. Un chemin de modèle configuré explicitement ou déjà préparé l’emporte sur la découverte de cache. AX Code ne déplace pas les poids et ne remplace pas ces choix selon le type de stockage. Les diagnostics de démarrage indiquent le chemin réel du modèle, afin que les utilisateurs puissent examiner la disponibilité et la performance de lecture dans le stockage choisi.

Pour un moteur déjà présent, AX Code fait jusqu’à trois sondes de santé, chacune limitée à deux secondes et séparée de 250 millisecondes, avant de redémarrer un processus qui ne répond pas. Annuler la requête conserve le processus existant.

Pourquoi un sidecar

Facteur Choix du sidecar
Langage hôte Runtime d’agent Node/Bun, avec une frontière de processus natif explicite
Isolation Les modèles de plusieurs Go et les plantages natifs restent hors du processus de l’agent
Mise à niveau Plancher fourni borné par version, plus une surcouche gérée facultative, sans reconstruire ax-code
Modèle de fournisseur Même chemin compatible OpenAI que les autres fournisseurs locaux ou cloud
Multi-client Un serveur peut être contrôlé en santé et arrêté via server.json

Phases du cycle de vie

Implémentation : packages/ax-code/src/provider/ax-engine/lifecycle.ts

Phase Moment (correspondance AX Code)
unavailable L’éligibilité de la plateforme échoue
missing_dependency Binaire absent / version trop ancienne / non exécutable
missing_model Chemin du modèle non préparé
starting Processus serveur enregistré, mais pas encore prêt
ready server.ready et santé du processus OK
degraded Prêt, mais l’inspection des capacités indique un appel d’outils non pris en charge
error Blocages d’échec de santé ou de démarrage sur une tentative en cours

L’ordre de gravité correspond à ax-engine docs/LOCAL-ENGINE-CLIENTS.md.

Domaine Chemin
Lancement du serveur / santé packages/ax-code/src/provider/ax-engine/server.ts
Chargeur de fournisseur (géré + attache) packages/ax-code/src/provider/ax-engine/provider-loader.ts
Runtime local du TUI packages/ax-code/src/cli/tui/component/dialog-provider.tsx
Assistants d’actions locales packages/ax-code/src/cli/tui/component/dialog-provider-options.ts
Statut agrégé packages/ax-code/src/provider/ax-engine/status.ts
Correspondance des phases packages/ax-code/src/provider/ax-engine/lifecycle.ts
Politique de modèles Sélection de modèles AX Engine

Le provisionnement géré d’un sidecar épinglé n’est pas une intégration dans le processus. Les versions Darwin-arm64 placent engine/<version>/ à côté de la CLI ; ax-code providers ax-engine install est la surcouche ou le metteur à jour lorsqu’une épingle plus récente est publiée.

Hors objectifs

  • Remplacer le sidecar par une intégration du SDK dans le processus, dans AX Code
  • Adopter gRPC comme transport de conversation principal
  • Un cadrage de conversation par socket Unix personnalisé, ou non OpenAI, pour les clients de première partie
  • Intégrer les poids des modèles dans l’installateur AX Code