S’exécute surWrit CloudAuto-hébergé
Sur cette page
Votre matériel, sur le même compte.
Un agent est le travailleur de Writ. Reliez une machine que vous possédez déjà avec un simple code d’appairage : elle enregistre et rejoue des workflows de navigateur, exécute des fragments de crawl et fait tourner des moniteurs — une connexion sortante, aucun port entrant, aucune IP publique, sans problème derrière un NAT.
agent ▸ ce que c’est
Un travailleur, trois métiers.
L’agent est un seul programme que vous lancez sur une machine que vous contrôlez. Il appelle le coordinateur vers l’extérieur et attend du travail ; personne ne l’appelle en entrée.
| Enregistre et rejoue des workflows | Un vrai navigateur sur votre machine, sur vos propres comptes connectés. |
| Exécute des fragments de crawl | Un crawl distribué se répartit sur les machines que vous avez reliées. |
| Fait tourner des moniteurs | Les contrôles planifiés s’exécutent sur votre matériel, à votre rythme. |
Il peut utiliser votre propre clé de fournisseur IA — OpenAI, Anthropic, Gemini, tout endpoint compatible OpenAI, ou Ollama. Le travail fait sur votre clé n’est pas facturé comme IA gérée, et la clé reste sur la machine.
relier ▸ deux commandes
Relier une machine.
Deux étapes : fabriquez un code dans le tableau de bord, puis lancez une ligne sur la machine. Vous ne collez jamais de token dans un shell, donc rien de durable n’atterrit dans votre historique.
1 · Fabriquer un code d’appairage
Dans l’app : Fleet → Connect a new agent. Via l’API : POST /api/user-recorder/pair-code, qui répond avec le code, sa durée de vie, des commandes d’installation prêtes à l’emploi par plateforme, et l’URL du coordinateur que la machine doit appeler.
pair-code.sh
curl -X POST https://api.usewrit.app/api/user-recorder/pair-code \
-H "Authorization: Bearer $WRIT_API_KEY" response
{
"code": "WRIT-4K2P-9XQ",
"expires_in": 900,
"install_commands": {
"windows": "& ([scriptblock]::Create((irm https://api.usewrit.app/agent.ps1))) WRIT-4K2P-9XQ",
"macos": "curl -fsSL https://api.usewrit.app/agent.sh | sh -s -- WRIT-4K2P-9XQ",
"linux": "curl -fsSL https://api.usewrit.app/agent.sh | sh -s -- WRIT-4K2P-9XQ"
},
"coordinator_url": "https://api.usewrit.app"
} | Propriété | Valeur |
|---|---|
| Format | WRIT-4K2P-9XQ — quatre caractères, puis trois, sans lettres ambiguës. |
| Usages | À usage unique — consommé dès qu’il est échangé. |
| Durée de vie | Expire au bout de 15 minutes. |
| Limite de tentatives | 20 tentatives par heure, par IP. |
2 · Lancer une ligne sur la machine
Remplacez l’exemple par votre propre code. L’installeur récupère l’agent, échange le code contre ses identifiants, et se connecte :
macOS / Linux
curl -fsSL https://api.usewrit.app/agent.sh | sh -s -- WRIT-4K2P-9XQ Windows
& ([scriptblock]::Create((irm https://api.usewrit.app/agent.ps1))) WRIT-4K2P-9XQ Télécharger sans enrôler
Ajoutez --download-only pour récupérer le binaire et s’arrêter là — pratique pour préparer une image de machine, inspecter ce que vous allez lancer, ou préparer un hôte qui sera enrôlé plus tard. L’installeur Windows prend le code en argument positionnel et n’a pas d’option équivalente.
macOS / Linux
curl -fsSL https://api.usewrit.app/agent.sh | sh -s -- --download-only Si vous êtes déjà à la limite de machines de votre plan, la fabrication refuse en 402 et vous dit combien sont connectées. Déconnectez-en une, ou changez de plan.
limites ▸ par plan
Combien de machines, combien de portes.
Deux plafonds différents, souvent confondus. Les machines reliées, c’est combien de vos ordinateurs peuvent être rattachés en même temps. Les endpoints publiés et outils MCP, c’est combien de portes vous pouvez ouvrir dessus.
| Plan | Machines reliées | Endpoints publiés · outils MCP |
|---|---|---|
| Free | 1 | 2 · 2 |
| Starter | 1 | 5 · 5 |
| Pro | 1 | 15 · 15 |
| Growth | 5 | 40 · 40 |
| Scale | 20 | 100 · 100 |
| Enterprise | Illimité | Illimité |
Writ Desktop sur votre propre ordinateur est encore autre chose : il n’est jamais compté ni plafonné ici, et ses runs locaux sont gratuits sur tous les plans.
fleet ▸ la surface
Voir et gérer ce que vous avez relié.
Tout ce que fait la page Fleet est disponible via l’API, sous /api/user-recorder :
| Appel | Ce qu’il fait |
|---|---|
GET /agents | Liste vos machines et leur état en direct. |
PATCH /agents/{agent_id} | En renommer une. |
DELETE /agents/{agent_id} | En déconnecter une. |
GET /capability | Ce que ce plan autorise à cet instant (ci-dessous). |
GET /byo-ai · PUT /byo-ai | Lire ou définir la configuration du fournisseur IA de vos agents. |
Ce que l’appel capability vous dit
Un seul appel, pour qu’un assistant puisse choisir une cible et expliquer un blocage au lieu d’échouer sur une erreur de connexion obscure :
cloud_recording_allowed | Si l’enregistrement dans le cloud est autorisé sur ce plan. |
cloud_quota_limit · cloud_quota_used · cloud_quota_remaining | Le quota mensuel d’enregistrement cloud et ce qu’il en reste. |
requires_local_agent_when_exhausted | Si une machine reliée devient nécessaire une fois ce quota épuisé. |
max_user_recorders | La limite de machines de ce plan. |
online_local_agents | Combien de vos machines sont en ligne à l’instant. |
Une machine est en ligne quand elle tient une connexion vivante, ou quand son dernier battement est arrivé dans les 2 dernières minutes. Chaque ligne porte aussi son nom, sa plateforme, le nom de l’appareil, ses capacités, son statut, ses sessions actives et maximales, et le fournisseur IA utilisé.
dispatch ▸ où atterrit le travail
Où le travail s’exécute réellement.
Deux chemins, facturés différemment :
| Dispatché depuis le cloud | Un run lancé dans le cloud part vers votre flotte et s’exécute sur l’une de vos machines. |
| Lancé en local | Une machine reliée peut exécuter elle-même une installation de la marketplace, sous un contrat autoriser → exécuter → finaliser. |
Sur le chemin local, la décision de facturation reste toujours côté serveur — la machine demande, le serveur décide, la machine rend compte. Un run local n’entraîne aucun coût de calcul, sur aucun plan, quelle qu’en soit l’origine.
uplink ▸ la forme
Uplink : un appel qui atteint une machine sans port ouvert.
« Uplink » est le nom de cette forme, pas un produit à part ni une API que l’on appelle. Il décrit ce qui se passe quand quelqu’un appelle un endpoint publié dont le workflow appartient à votre machine.
- 1 · Votre agent tient une connexion sortante — C’est lui qui a appelé le coordinateur ; jamais l’inverse.
- 2 · Un appel arrive sur votre endpoint publié — Une requête HTTPS ordinaire, depuis votre code, un partenaire ou un client MCP.
- 3 · L’appel descend par la connexion déjà en place — Aucune nouvelle socket n’est ouverte vers vous.
- 4 · Le workflow s’exécute sur votre machine — Et le résultat repart par le même chemin.
Aucun port entrant, aucune exception pare-feu, aucune IP publique. Les seuls chiffres qui appartiennent à Uplink sont les plafonds d’endpoints publiés et d’outils MCP du tableau ci-dessus — il n’a ni quota, ni tarif, ni réglages propres.
machine ▸ ce qu’il lui faut
Ce dont la machine a besoin.
Un pilote de navigateur Chromium, puisque l’agent pilote un vrai navigateur. À la première utilisation du navigateur, l’agent l’installe lui-même ; vous pouvez aussi le pré-installer sur une machine sans accès sortant vers le téléchargement, ou si vous préférez le faire au moment de préparer l’image.
prepare-browser.sh
patchright install chromium
# or, if you already run Playwright on this machine:
playwright install chromium Lancez au choix patchright install chromium ou playwright install chromium — celui qui est déjà présent sur la machine.
référence ▸ suite
Continuer
Desktop, vos propres machines, ou un serveur à vous.
→ Auto-hébergementFaites tourner le coordinateur vous-même, avec Docker.
→ Managed endpoints/v1/{slug}/{path} — les portes par où arrive un appel.
→ MCPLes mêmes workflows comme outils pour tout client MCP.
→ MoniteursDes contrôles planifiés qui tournent sur votre flotte.
→ FacturationCe qui est décompté, et ce qui ne l’est jamais.
→faq
Questions flotte, répondues.
Dois-je ouvrir un port ou donner une IP publique à la machine ?
Combien de temps dure un code d’appairage, et puis-je le réutiliser ?
Que se passe-t-il si je suis déjà à ma limite de machines ?
Exécuter sur ma propre machine consomme-t-il des crédits ?
L’agent peut-il utiliser ma propre clé de fournisseur IA ?
Pourquoi une machine apparaît-elle hors ligne alors qu’elle tourne ?
fin ▸ connecter
Reliez la première machine.
Fabriquez un code, lancez une ligne, et la machine rejoint votre flotte avant l’expiration du code.