x0ne Harness · Préversion (0.2.0)

Un harness durci pour les agents IA de programmation.

Chaque action est vérifiée avant de s'exécuter. Un instantané des fichiers est pris avant toute modification.

x0ne Harness place une couche de sécurité entre un agent IA et votre machine. Utilisez son propre agent en terminal, ou branchez-le sur Claude Code, Codex et d'autres clients MCP.

Préversion (0.2.0) : utilisable aujourd'hui ; les réglages par défaut et les interfaces peuvent changer avant la 1.0. Apache-2.0.

Un agent qui écrit votre code lance aussi des commandes sur votre machine. x0ne Harness vérifie chaque action avant qu'elle s'exécute, enferme les commandes de l'agent dans un bac à sable, et prend un instantané des fichiers avant qu'ils changent.

  1. 01 / 06

    Chaque action passe par la politique.

    L'agent demande des actions typées : x0ne-runtime en compte 101. Chacune est vérifiée selon votre politique avant de s'exécuter : autorisée, refusée, ou retenue jusqu'à votre réponse.

    docs/policy.md
  2. 02 / 06

    Les commandes tournent en vase clos.

    Sous Linux, les commandes de l'agent tournent sous bubblewrap, avec Landlock à l'intérieur : système en lecture seule, écriture seulement où vous l'autorisez, secrets masqués, loopback seul. Si ce bac à sable ne peut démarrer, la commande est refusée.

    docs/security.md
  3. 03 / 06

    Un instantané avant chaque écriture.

    Avant chaque écriture de fichier, la boucle de l'agent prend un instantané des fichiers visés : en copie sur écriture sur btrfs (APFS : non mesuré), par copie ailleurs. Quand une modification tourne mal, /undo les restaure, fichier par fichier.

    README
  4. 04 / 06

    Simuler avant d'exécuter.

    Passez une action, ou un plan entier, à blanc dans le moteur de politique. Vous obtenez le verdict de chaque étape et tout ce qu'elle lirait, écrirait, lancerait ou contacterait. Rien n'est exécuté, rien n'est écrit.

    docs/primitives.md
  5. 05 / 06

    Parallel Worlds.

    Avec un remote Incus, l'agent crée plusieurs conteneurs à partir d'un seul instantané en copie sur écriture. Chacun essaie une approche différente, tous en même temps : un seul aller-retour au lieu d'un essai après l'autre.

    Nécessite un remote Incus · docs/primitives.md
  6. 06 / 06

    Garder le gagnant.

    Les résultats reviennent ensemble. L'agent choisit le gagnant et recopie ses fichiers dans votre espace de travail. Chaque conteneur est supprimé à la fin de sa tâche, quelle qu'en soit l'issue.

    docs/architecture.md

Des mondes, depuis le prompt.Chacun avec son propre runtime et son propre répertoire.

Dans l'agent en terminal, /spawn N lance N mondes sur la même tâche, chacun soumis à la politique et à la confirmation de la session. Chacun ouvre son propre x0ne-runtime et travaille dans son propre répertoire : un worktree git, ou une copie.

❯ /spawn 3 "make the auth tests pass"
# a diffstat per world
❯ /worlds diff
# applies world 2's diff, checked first with git apply --check
❯ /worlds pick 2
# removes the directories of finished worlds
❯ /worlds drop
Parallel Worlds, dans la documentation

Essayez-le.Depuis les sources.

$ git clone https://github.com/x0ne-labs/x0ne-Harness
$ cd x0ne-Harness
# builds and installs x0ne, x0ne-runtime and x0ne-orchestrator
$ make install
# the first run opens the setup wizard: model and provider
$ x0ne

Depuis Claude Code, make claude-add enregistre le runtime et la passerelle comme serveurs MCP ; Codex et les autres clients MCP se branchent de la même façon. Son propre agent fonctionne avec tout fournisseur compatible OpenAI, Ollama, ou x0ne Engine pour l'inférence confidentielle. La démo d'undo ne demande aucun modèle : make demo-undo-fast.

Sous Linux, les commandes de l'agent exigent bubblewrap, les espaces de noms utilisateur non privilégiés et Landlock (Linux 5.13 ou plus récent) ; sans eux, elles sont refusées. macOS n'a ni l'un ni l'autre : l'isolation par défaut y refuse toute commande de l'agent. La compilation demande Rust 1.98 ou plus récent, un compilateur C, make et git.

Le guide d'installation

Ce qu'il ne fait pas.

Il n'empêche pas l'injection de prompt. Une instruction glissée dans un fichier, une page web ou la sortie d'une commande peut orienter le modèle. Ce qui la borne : la politique est évaluée sur chaque action avant qu'elle s'exécute, quel que soit le demandeur.

Branché sur Claude Code ou Codex, leurs outils natifs ne passent par la politique qu'avec le hook PreToolUse : docs/agent-hooks.md.

Il est conçu pour un seul développeur, sur une machine locale, en session interactive ; pas pour des serveurs de production, des environnements multi-locataires ni des entrées non fiables.

Préversion (0.2.0) : les réglages par défaut et les interfaces peuvent changer avant la 1.0. Les limites connues et les problèmes corrigés sont listés dans SECURITY.md.

Le modèle de menace et ses limites

Open source, Apache-2.0.

Le code, la documentation et la politique de sécurité sont sur GitHub.