Geodi, personnage officiel de GEODE en pixel art
Retour à la salle

GEODE

Autonomous Agent Harness

De l’observation à l’action suivante.

Un harnais local d’agent autonome auquel confier recherche, travail sur fichiers et tâches planifiées.

2026.02.21 — present

Conception, jugement, vérification : Author · implémentation : Claude · revue : Codex

  • CLIPublié · PyPI
  • Serveur MCPImplémenté

GEODE runtime vocabulary

Lens
Agent Harness
ReAct
Runtime
External Loop
Data System
Improvement Mechanism
  1. reasoning
  2. action
  3. observation
  1. plan
  2. memory
  3. tools
  4. hook
  5. reflexion
  1. rollouts
  2. data curation
  3. data governance
  1. evaluation
  2. scaffold search
  3. promotion

Reasoning: SYSTEM PROMPT · CONVERSATION · RUNTIME HINTS · MODEL · ADAPTER CALL · NEXT ACTION · TOOL SCHEMA · TEXT-ONLY TURN · CURRENT STEP · PROJECT MEMORY · RUNTIME RULES · EFFORT · thinking_budget · reasoning_effort · adaptive_thinking · effort_values · default_effort · binds_thinking · none · minimal · low · medium · high · xhigh · max · MODEL ROUTEAction: ACT · TOOL_USE · TOOLCALLPROCESSOR · DISPATCH · RESEARCH · BASH · COMPUTER USE · FILE · GIT · PROCESS · EFFECT RECEIPT · TOOLEXECUTORObservation: NEXT ACTION · RESEARCH · OBSERVE · TOOL_RESULT · RESULT · ERROR · CODE · DOCUMENT · SOURCE · EVIDENCE · EXCERPTPlan: CURRENT STEP · OBJECTIVE · PLANSTEP · EXPECTED OUTCOME · REMAINING STEPS · COMPLETED · ABANDONED · REVISION · UPDATE_PLAN · /PLAN · REPLAN · VERIFY FAILED · LOW CONFIDENCEMemory: SYSTEM PROMPT · CONVERSATION · PROJECT MEMORY · RUNTIME RULES · TOOL_RESULT · CONVERSATIONCONTEXT · MESSAGES · CONTEXT WINDOW · COMPACTION · CHECKPOINT · SESSION · RECOVERY · SQLITE · STATE.JSON · PreCompact · PostCompact · SessionStart · SessionEndTools: TOOL SCHEMA · TOOL_USE · TOOLCALLPROCESSOR · DISPATCH · BASH · COMPUTER USE · EFFECT RECEIPT · TOOL_RESULT · BOUNDTOOLPLAN · GENERATION · HASH · TOOLEXECUTOR · SCOPE · POLICY · HOOK · APPROVAL · HITL · PreToolUse · PostToolUse · MCP CLIENT · PermissionRequestHook: DISPATCH · HOOK · PreToolUse · PostToolUse · UserPromptSubmit · PermissionRequest · PreCompact · PostCompact · SessionStart · SessionEnd · SubagentStart · SubagentStop · PreVerify · tool_request · tool_execution · llm_request · llm_execution · REQUEST TRANSFORM · next_call · WRAPPER · REGISTRY · PostVerify · StopReflexion: NEXT ACTION · EVIDENCE · REPLAN · VERIFY FAILED · LOW CONFIDENCE · HOOK · PreVerify · HYPOTHESES · CONFIDENCE · NEXT_ACTION_HINT · RECORD_REFLECTION · CONTRADICTION · REPAIR · VERIFY · PostVerify · Stop · COMPLETION · CONTINUE · TIME · TOKEN BUDGET · CANCELLATIONRollouts: SESSION · ROLLOUT · EXAMPLE · SEED · REPETITION · ATTEMPT · TRAJECTORY · REWARD · OUTCOME · TRACE · RUN IDData Curation: TASK SYNTHESIS · SEED GENERATION · PROXIMITY · RANKING · META-REVIEW · ELO TOURNAMENT · PILOT · DEDUPLICATION · SURVIVOR SELECTION · FROZEN POOLData Governance: PROVENANCE · LINEAGE · SCHEMA VERSION · SOURCE DIGEST · PRIVACY REVIEW · ALLOWLIST · IMMUTABLE RELEASE · SPLIT ISOLATION · SEALED HOLDOUTEvaluation: TRAJECTORY · OUTCOME · TRACE · EVALUATION HARNESS · TASK · RUBRIC · GRADER · VERIFIER · VALIDITY · FITNESS · REPLICATION · TASK COVERAGEScaffold Search: RECOVERY · FITNESS · CANDIDATE · HYPOTHESIS · MUTATION POLICY · BASELINE · FROZEN EVALUATOR · POLICY INJECTION · SEARCH SPACE · PROMOTION GATEPromotion: SEALED HOLDOUT · PROMOTION GATE · CRUCIBLE · PAIRED TRIALS · BOOTSTRAP BOUND · FROZEN CONTRACT · TASK-PACK HASH · TRAIN · SEALED TEST · SAFETY VETO · KEEP · REJECT · INVALID

Recorded evaluation · MCPMark PostgreSQL · 2026-07-04

Avant de modifier quoi que ce soit, il a trouvé ce qui existait déjà.

La tâche : la sécurité au niveau des lignes pour un service social à cinq tables.

  1. RechercheAppels 1–12 · list_objects, get_object_details, execute_sqlA lu les cinq tables, quatre fonctions d’aide déjà en place, RLS désactivé sur les cinq, ainsi que les politiques, privilèges et rôles.
  2. ActionAppel 13 · execute_sqlUne seule transaction : 20 politiques et RLS activé, en réutilisant 3 fonctions d’aide existantes et en ajoutant 3 fonctions.
  3. VérificationHarnais d’évaluation · pas un appel de l’agent18 réussis, 0 échec. Les 13 réponses d’outils sur 9 tours sont toutes revenues sans erreur.
Sortie du vérificateur, 18 lignes (texte exact)
  1. RLS enabled on users
  2. RLS enabled on channels
  3. RLS enabled on channel_moderators
  4. RLS enabled on posts
  5. RLS enabled on comments
  6. Users can update their own profile
  7. Users blocked from updating other users' profiles
  8. Channel owners can update their channels
  9. Non-owners blocked from updating channels
  10. Post authors can update their posts
  11. Channel moderators can update posts in their channels
  12. Unauthorized users blocked from updating posts
  13. Comment authors can update their comments
  14. Post authors can moderate comments on their posts
  15. Channel owners can add moderators
  16. Non-owners blocked from adding moderators
  17. Content visibility varies correctly based on user context
  18. Anonymous users can see 3 public user profiles (correct)

Une exécution passée dans un bac à sable d’évaluation configuré, pas une base de données en production ni un véritable incident de sécurité. Le nombre de lignes avant les politiques ne figure pas dans l’enregistrement ; aucun n’est donc affiché. Enregistrement public de l’exécution (meta.json, commit 23e3428)

Examiner un résultat et le réparer (inspiré de Reflexion, au sein de la même tâche) est une capacité du runtime GEODE actuel. Aucune réparation de ce type n’apparaît dans cet enregistrement : toutes les réponses d’outils sont revenues sans erreur. Documentation du runtime (hook-system.md)

Le modèle choisit l’action suivante ; l’hôte tient la frontière d’exécution.

Le runtime, de l’entrée d’une requête dans une session jusqu’à l’exécution, aux résultats et aux enregistrements, en passant par l’appel du modèle et les contrôles d’autorité sur chaque appel d’outil proposé. Choisir un flux met en évidence son seul chemin, avec des étapes numérotées.

Le modèle choisit l’action suivante ; le runtime vérifie les permissions des outils et décide quand le travail est achevé.

Expériences externes Scaffold Search / SIL lancées le May 15, 2026

S’installe à partir du paquet geode-agent sur PyPI ou du dépôt public et s’exécute dans un terminal local. Également accessible comme serveur MCP.

Architecture du runtime · tracée d’après les chemins de code au commit fixé 9e2c041
Architecture du runtime GEODEComposants et connexions du processus runtime GEODE. Les requêtes arrivent par l’IPC du terminal, des messageries ou un hôte MCP externe et deviennent une session ; AgenticLoop appelle le modèle avec le prompt système, la conversation et les schémas d’outils. Un appel d’outil proposé par le modèle ne s’exécute qu’après avoir passé les contrôles de périmètre, de politique, de schéma, de hook et d’approbation de ToolExecutor, et son résultat devient l’entrée suivante du modèle. Le checkpoint, la timeline et les lignes de preuve sont des stockages distincts.Utilisateur du terminalREPL · thin CLICanal de messagerieSlack · Discord · TelegramHôte MCP externeoutil run_agentFournisseurs LLMHTTPS · API des modèlesFichiers · git · processusétat hors des checkpointsServeurs MCPglobal + projet de confiancecore/serverCLIPoller · socket IPCpollers de messageriecore/mcp_server.pyrun_agent · exécution uniquesupervised/services.pySharedServices.create_sessionLaneQueue · session · globalcore/agent/loopAgenticLoop · 6 phasesprompt système · sources déclaréesmessages de conversation · ConversationContextcore/llm/adaptersadapter.acomplete · classes d’erreurstool_executor/processor.pyToolCallProcessorcore/tools/plan.pyBoundToolPlan · immuabletool_executor/executor.pypérimètre · politique · schémaPreToolUse · PostToolUseapprobation · HITLeffect receiptverrou de ressource · dispatchcore/toolshandlers d’outils · bash · computercore/mcp/manager.pyMCPServerManagermemory/session_checkpoint.pySQLite messages · state.jsonmemory/effect_receipts.pyEffectReceiptStoreobservability/session_timeline.pySessionTimeline · append-onlyagent/evidence_ledger.pyEvidenceLedger · JSONLcore/agent/verify.pyverify_turn_asynccore/hooksHookRegistry · décisionsHookSystem · observationProcessus runtime GEODEdémon serve · REPL · exécution uniqueEntrée · composition de sessionBoucle d’exécution · appel du modèleAutorité des outils · effetsEnregistrements · reprise · achèvement1 prompt · cli.sock · Utilisateur du terminal → CLIPoller · socket IPC12 create_session(IPC) · CLIPoller · socket IPC → SharedServices.create_session23 couloir par requête · CLIPoller · socket IPC → LaneQueue · session · global34ToolExecutor · AgenticLoop5arun(prompt)6prompt système7messages de conversation8schémas d’outils9StepSnapshot · requête10HTTPS11 réponse · tool_use · adapter.acomplete · classes d’erreurs → AgenticLoop · 6 phases111lot en attente · sauvegarde par round2blocs tool_use3 aexecute · ToolCallProcessor → périmètre · politique · schéma34autorisé · niveau de sûreté5PreToolUse · PostToolUse6demande d’approbation7 refusé avant exécution · tool_executor/executor.py → ToolCallProcessor78admission de l’effet · validation9appel du handler10 appel MCP · verrou de ressource · dispatch → MCPServerManager1011 tools/call · MCPServerManager → Serveurs MCP1112 modifications de fichiers · git · processus · handlers d’outils · bash · computer → Fichiers · git · processus1213 résultat · erreur après dispatch · tool_executor/executor.py → ToolCallProcessor1314tool_result15observation appel · résultat1lot en attente · sauvegarde par round2restauration à la reprise3enregistrement du tour4contrôle d’achèvement5PostVerify · Stop6lignes de preuve · best-effort7événements cognitifs · de cycle de vie1message de canal2 create_session(DAEMON) · pollers de messagerie → SharedServices.create_session23arun(message)4run_agent(prompt)5boucle sans interface à exécution unique

Requête → appel du modèle

Une requête du terminal arrive par IPC, une session est composée, et la boucle appelle le modèle avec le prompt système, la conversation et les schémas d’outils.

  1. Utilisateur du terminalflux de données: prompt · cli.sockCLIPoller · socket IPCcore/server

    La CLI légère envoie la requête au socket IPC du démon serve (~/.geode/cli.sock). Le REPL exécute la même composition de session dans le processus.

  2. CLIPoller · socket IPCcore/serverautorité · composition: create_session(IPC)SharedServices.create_sessionsupervised/services.py

    Chaque connexion compose une session. Le mode fixe le niveau HITL, le budget de temps et les outils refusés, et projette le BoundToolPlan sur le fournisseur choisi.

  3. CLIPoller · socket IPCcore/serverautorité · composition: couloir par requêteLaneQueue · session · globalsupervised/services.py

    Avant d’exécuter une requête, le couloir de session et le couloir global sont tous deux réservés, ce qui limite les exécutions concurrentes.

  4. SharedServices.create_sessionsupervised/services.pyautorité · composition: ToolExecutor · AgenticLoopAgenticLoop · 6 phasescore/agent/loop

    Construit l’exécuteur et la boucle comme une paire qui partage les hooks, le MCP, les skills et les verrous de ressources.

  5. LaneQueue · session · globalsupervised/services.pyflux de données: arun(prompt)AgenticLoop · 6 phasescore/agent/loop

    Exécute un tour utilisateur en six phases : préparer l’entrée, préparer l’appel, appeler le fournisseur, traiter les outils, observer et compacter, terminer.

  6. prompt système · sources déclaréescore/agent/loopflux de données: prompt systèmeadapter.acomplete · classes d’erreurscore/llm/adapters

    Construit à chaque tour à partir de sources déclarées, comme des sections choisies de GEODE.md et des règles. La façade à cinq niveaux de ContextAssembler n’est utilisée que sur appel explicite ; ce n’est pas l’entrée de la boucle par défaut.

  7. messages de conversation · ConversationContextcore/agent/loopflux de données: messages de conversationadapter.acomplete · classes d’erreurscore/llm/adapters

    La conversation et les résultats d’outils antérieurs circulent séparément du prompt système.

  8. BoundToolPlan · immuablecore/tools/plan.pyautorité · composition: schémas d’outilsadapter.acomplete · classes d’erreurscore/llm/adapters

    Seuls les outils du BoundToolPlan lié à cette étape sont visibles par le modèle. C’est un instantané immuable doté d’une génération et d’un hash de contenu.

  9. AgenticLoop · 6 phasescore/agent/loopflux de données: StepSnapshot · requêteadapter.acomplete · classes d’erreurscore/llm/adapters

    Le StepSnapshot fige le modèle, les outils et les identifiants de corrélation de cet appel. Un middleware LLM ne peut pas remplacer un adaptateur lié.

  10. adapter.acomplete · classes d’erreurscore/llm/adaptersflux de données: HTTPSFournisseurs LLM

    Un adaptateur propre à chaque fournisseur effectue l’appel. Les échecs sont classés et retentés seulement dans une limite fixée, ou terminent le tour avec un motif d’arrêt.

  11. adapter.acomplete · classes d’erreurscore/llm/adaptersflux de données: réponse · tool_useAgenticLoop · 6 phasescore/agent/loop

    Un texte seul va vers l’arrêt ; tool_use va vers le traitement des outils.

Autorité de l’outil → effet → résultat

Une proposition tool_use ne s’exécute qu’une fois tous les contrôles passés ; refus, résultats et erreurs reviennent tous de l’exécuteur et deviennent l’entrée suivante du modèle.

  1. AgenticLoop · 6 phasescore/agent/loopflux de données: lot en attente · sauvegarde par roundSQLite messages · state.jsonmemory/session_checkpoint.py

    Dans une session où le checkpointing est configuré (un checkpoint et un session id), le lot proposé est sauvegardé avant l’exécution de tout outil, et le lot ne s’exécute pas s’il ne peut pas être sauvegardé. Le lot achevé est sauvegardé à nouveau. Les appelants sans checkpoint n’ont pas cette garantie.

  2. AgenticLoop · 6 phasescore/agent/loopflux de données: blocs tool_useToolCallProcessortool_executor/processor.py

    Une proposition du modèle n’est pas une permission. Chaque appel reçoit un ToolContext portant l’identité du modèle et de l’adaptateur de la boucle.

  3. ToolCallProcessortool_executor/processor.pyflux de données: aexecutepérimètre · politique · schématool_executor/executor.py

    Contrôle tour à tour le périmètre de session, les réécritures du middleware de requête, la politique et le schéma. Une réécriture qui abaisse le niveau de sûreté ou la classe de données personnelles est refusée.

  4. BoundToolPlan · immuablecore/tools/plan.pyautorité · composition: autorisé · niveau de sûretépérimètre · politique · schématool_executor/executor.py

    Les handlers exécutables et les niveaux de sûreté viennent du BoundToolPlan projeté pour la session.

  5. PreToolUse · PostToolUsetool_executor/executor.pyautorité · composition: PreToolUse · PostToolUseHookRegistry · décisionscore/hooks

    Les hooks publics décident d’un blocage, d’une réécriture d’arguments ou d’une demande de permission, et une réécriture est suivie de nouveaux contrôles de périmètre, de politique et de schéma. Après l’exécution, un hook peut ajouter du contexte ou retenir le résultat.

  6. approbation · HITLtool_executor/executor.pyautorité · composition: demande d’approbationUtilisateur du terminal

    Dans une session IPC, la demande d’approbation est relayée à la CLI légère. Les modes sans personne appliquent par défaut la politique de refus ; la seule exception est le computer use en DAEMON, lorsqu’un opérateur l’active séparément (bloqué sinon).

  7. tool_executor/executor.pyrefus avant exécution: refusé avant exécutionToolCallProcessortool_executor/processor.py

    Un rejet de périmètre, de politique ou de schéma, un blocage PreToolUse ou une approbation refusée revient comme résultat d’erreur sans dispatch. Dans ce cas, aucun effet de cet appel n’a commencé.

  8. effect receipttool_executor/executor.pyflux de données: admission de l’effet · validationEffectReceiptStorememory/effect_receipts.py

    Les effets tels que modifications de fichiers, messages sortants ou actions d’administration sont admis avant leur exécution. Un résultat incertain n’est pas réexécuté ; il appelle un rapprochement.

  9. verrou de ressource · dispatchtool_executor/executor.pyflux de données: appel du handlerhandlers d’outils · bash · computercore/tools

    Transmet au handler lié après avoir verrouillé ses clés de ressource. Un appel interrompu à son échéance peut encore s’exécuter à l’extérieur.

  10. verrou de ressource · dispatchtool_executor/executor.pyflux de données: appel MCPMCPServerManagercore/mcp/manager.py

    Seuls les outils MCP dotés d’une politique de ressources déclarée sont appelés.

  11. MCPServerManagercore/mcp/manager.pyflux de données: tools/callServeurs MCP

    Le catalogue de serveurs provient des paramètres globaux et des paramètres de projet qui ont passé le contrôle de confiance ; ce contrôle ne s’applique qu’aux entrées de projet. Le gestionnaire MCP applique sa politique d’extensions et de ressources.

  12. handlers d’outils · bash · computercore/toolsflux de données: modifications de fichiers · git · processusFichiers · git · processus

    Les modifications exécutées restent un état extérieur. Le checkpoint ne restaure que la conversation et ne les annule pas.

  13. tool_executor/executor.pyflux de données: résultat · erreur après dispatchToolCallProcessortool_executor/processor.py

    Après le dispatch, résultats normaux et erreurs (délais dépassés et résultats incertains compris) reviennent par PostToolUse. Une erreur ou un délai dépassé ne signifie pas que le travail extérieur s’est arrêté ou a été annulé.

  14. ToolCallProcessortool_executor/processor.pyflux de données: tool_resultmessages de conversation · ConversationContextcore/agent/loop

    Résultats, refus et erreurs sont tous sérialisés en tool_result et deviennent des messages de l’entrée suivante du modèle.

  15. ToolCallProcessortool_executor/processor.pyenregistrement · observation: observation appel · résultatSessionTimeline · append-onlyobservability/session_timeline.py

    Inscrit l’appel et son résultat (ok ou erreur) dans la timeline, y compris les appels refusés avant exécution. L’enregistrement est une observation ; il ne prouve pas qu’un effet extérieur a commencé ou réussi.

Enregistrements · reprise · achèvement

Le checkpoint, la timeline et les lignes de preuve sont écrits séparément. Il n’y a pas de transaction commune, et le checkpoint ne restaure que la conversation.

  1. AgenticLoop · 6 phasescore/agent/loopflux de données: lot en attente · sauvegarde par roundSQLite messages · state.jsonmemory/session_checkpoint.py

    Dans une session où le checkpointing est configuré (un checkpoint et un session id), le lot proposé est sauvegardé avant l’exécution de tout outil, et le lot ne s’exécute pas s’il ne peut pas être sauvegardé. Le lot achevé est sauvegardé à nouveau. Les appelants sans checkpoint n’ont pas cette garantie.

  2. SQLite messages · state.jsonmemory/session_checkpoint.pyflux de données: restauration à la repriseAgenticLoop · 6 phasescore/agent/loop

    Un seul chemin de restauration ramène les messages, l’état cognitif et les compteurs de garde. Le TaskGraph local au processus n’est pas restauré.

  3. AgenticLoop · 6 phasescore/agent/loopenregistrement · observation: enregistrement du tourSessionTimeline · append-onlyobservability/session_timeline.py

    Un historique d’exécution en ajout seul, jamais rejoué comme état.

  4. AgenticLoop · 6 phasescore/agent/loopautorité · composition: contrôle d’achèvementverify_turn_asynccore/agent/verify.py

    La proposition d’arrêt du modèle ne devient un achèvement qu’en passant par Verify.

  5. verify_turn_asynccore/agent/verify.pyautorité · composition: PostVerify · StopHookRegistry · décisionscore/hooks

    Les décisions des hooks publics indiquent s’il faut poursuivre par une réparation, et les réparations n’ont lieu que dans un budget fixé (deux par défaut).

  6. AgenticLoop · 6 phasescore/agent/loopenregistrement · observation: lignes de preuve · best-effortEvidenceLedger · JSONLagent/evidence_ledger.py

    Lignes de diagnostic caviardées. Les hashes servent à la corrélation ; une ligne ne prouve pas qu’un effet a eu lieu, et elle n’est pas écrite dans la même transaction que la timeline ou le checkpoint.

  7. AgenticLoop · 6 phasescore/agent/loopenregistrement · observation: événements cognitifs · de cycle de vieHookSystem · observationcore/hooks

    Les hooks d’observation reçoivent et enregistrent les événements ; ils ne décident pas de l’exécution.

Autres chemins d’entrée

Les messageries entrent comme sessions DAEMON du démon serve ; le run_agent d’un hôte MCP externe entre dans une boucle sans interface à exécution unique construite à part.

  1. Canal de messagerieflux de données: message de canalpollers de messageriecore/server

    Les pollers du démon serve ne traitent que les messages des canaux liés.

  2. pollers de messageriecore/serverautorité · composition: create_session(DAEMON)SharedServices.create_sessionsupervised/services.py

    Mode sans personne pour approuver : la politique de refus par défaut et un budget de temps s’appliquent. Seul le computer use peut être activé séparément par un opérateur ; sinon il reste bloqué.

  3. pollers de messageriecore/serverflux de données: arun(message)AgenticLoop · 6 phasescore/agent/loop

    Un fil garde un session id fixe et prolonge une seule chaîne de checkpoints.

  4. Hôte MCP externeflux de données: run_agent(prompt)run_agent · exécution uniquecore/mcp_server.py

    Un hôte MCP externe appelle GEODE comme outil.

  5. run_agent · exécution uniquecore/mcp_server.pyflux de données: boucle sans interface à exécution uniqueAgenticLoop · 6 phasescore/agent/loop

    Un exécuteur et une boucle sans interface construits à part, qui contournent SharedServices. La liste de refus par défaut s’applique telle quelle : des outils comme run_bash, delegate_task et computer sont retirés ; l’exception de computer use du DAEMON n’existe pas ici.

Toutes les connexions avec la même épaisseur. Choisissez un flux pour ne mettre en évidence que son chemin, avec des étapes numérotées.

  • Trait plein · sens de circulation des requêtes, messages et résultats d’outils
  • Tirets · composition de session, autorité ou verdict ; pas un chemin de données
  • Trait mixte long · enregistrements et observation ; jamais rejoués comme état
  • Tiret court · refus avant exécution, sans effet
  • Trait noir épais · le flux sélectionné ; les numéros donnent l’ordre
  • Cadre · frontière propriétaire du code, chemin source dans l’en-tête
  • Pastille intérieure · composant de cette frontière
  • Cadre en tirets · hors du processus runtime
  • Contour orange · là où un modèle décide
  • Boucle d’exécution
  • Autorité · verdicts
  • Stockages d’enregistrements
  • Entrée · connexion · exécution

Seules les connexions dont les appels ont été confirmés sont tracées. La façade à cinq niveaux de ContextAssembler, le TaskGraph et les expériences de recherche comme Jev, SIL et Crucible ne sont pas sur ce chemin du runtime. Une annulation asynchrone n’arrête pas un travail synchrone déjà lancé et n’annule pas les effets survenus.

Modèles pris en charge · par fournisseur

Les choix du catalogue du code et les valeurs par défaut livrées, pas une liste où chaque modèle aurait passé un appel d’API réel. Les chaînes de repli configurées sont vides par défaut, et les identifiants exacts ne sont jamais mis à niveau automatiquement vers des versions plus récentes.

  • Anthropic

    API

    • PrincipalClaude Opus 5.5claude-opus-5-5Par défaut
    • SecondaireClaude Sonnet 5claude-sonnet-5Par défaut
    • ÉconomiqueClaude Haiku 4.5claude-haiku-4-5-20251001Par défaut
    Afficher les 12 ID du catalogue

    API

    • claude-fable-5-1
    • claude-opus-5-5par défaut
    • claude-opus-5
    • claude-sonnet-5par défaut
    • claude-haiku-4-5-20251001par défaut
    • claude-fable-5
    • claude-opus-4-8
    • claude-opus-4-7
    • claude-opus-4-6
    • claude-opus-4-5
    • claude-sonnet-4-6
    • claude-sonnet-4-5-20250929

    Le code rejette la voie OAuth par abonnement.

  • OpenAI

    API · abonnement Codex

    • Défaut API et CodexGPT-6 Solgpt-6-solPar défaut
    Afficher les 11 ID du catalogue

    API · abonnement Codex

    • gpt-6-astra
    • gpt-6-solpar défaut
    • gpt-6-luna
    • gpt-5.6-sol
    • gpt-5.6-terra
    • gpt-5.6-luna

    API uniquement

    • gpt-5.5
    • gpt-5.3-codex
    • gpt-5.4
    • gpt-5.4-mini
    • gpt-5.4-nano

    Deux voies d’accès à un même fournisseur ; le catalogue fixe les voies autorisées pour chaque modèle.

  • Z.ai / GLM

    PAYG

    • Par défautGLM-5.3glm-5.3Par défaut
    Afficher les 9 ID du catalogue

    PAYG

    • glm-5.3par défaut
    • glm-5.3-flash
    • glm-5.3-flashx
    • glm-5.2
    • glm-5.1
    • glm-5
    • glm-4.7
    • glm-4.7-flashx
    • glm-4.7-flash

    Le code n’admet pas la voie GLM Coding Plan.

  • OpenRouter

    Service de routage

    • SélecteurFree (smoke)openrouter/openrouter/freeRouteur
    • SélecteurAuto (variable)openrouter/openrouter/autoRouteur

    Des sélections du routeur, pas un modèle fixe. Les identifiants configurés explicitement peuvent aussi être conservés.

  • TypeSafe / Jev

    Décision seulement · distinct de la génération de texte

    • En directjev-1.13.0Décision uniquement
    • Via OpenRoutertypesafe/jev-1.13Décision uniquement

    Un adaptateur optionnel qui ne fait que juger ; ce n’est pas un modèle racine de génération de texte. Le moteur de jugement par défaut est llm, et Jev doit être sélectionné. Les configurations propres à l’étude Jev suivent les enregistrements de la vue Jev.

Expériences

Modèles et voies tels qu’enregistrés à l’époque, et non valeurs par défaut actuelles ni liste complète de compatibilité.

  • Rapport de benchmark GEODE

    July 31, 2026

    • GEODEGPT-5.6 Solgpt-5.6-solAbonnement OpenAI · high
  • Terminal-Bench 2.1 · spécification appariée Harbor 0.22.0

    August 27, 2026

    • GEODE · native CodexGPT-5.6 Solgpt-5.6-solabonnement · max

    Une spécification figée ; tous les essais prévus ne sont pas devenus des résultats valides.

  • Exécution SIL archivée run-2606-broken-tool-use

    • Échafaudage cibleGPT-5.5gpt-5.5openai-codex
    • Auditeur · jugeClaude Opus 4.8claude-opus-4-8PAYG

    Un enregistrement de rôles distincts, et non deux valeurs par défaut interchangeables.