S’exécute surDesktop
Sur cette page
Tout le moteur, sur votre ordinateur.
Writ exécute des workflows d’actions web appelables et des moniteurs entièrement sur votre machine. Le moteur est embarqué en side-car limité au loopback ; rien ne quitte votre ordinateur tant que vous ne reliez pas explicitement un compte cloud.
install ▸ plateformes
Installez-le.
Une app par plateforme, chacune embarquant le moteur. Choisissez le format attendu par votre machine ; la page de téléchargement propose le bon par défaut.
| Plateforme | Installeur | Builds |
|---|---|---|
| macOS | .dmg · .app | arm64 · x86_64 — macOS 11.0 ou ultérieur |
| Windows | .msi · installeur NSIS | x86_64 — installé pour toute la machine |
| Linux | .deb · AppImage | x86_64 · aarch64 |
Les téléchargements vivent sur la page Writ Desktop — cette page ne pointe jamais un build directement, donc un lien de doc périmé ne peut pas vous en donner un mauvais.
enregistrer ▸ éditer ▸ exécuter
Enregistrez une fois, rejouez toujours.
Vous pilotez un vrai navigateur et l’app écrit le workflow au fur et à mesure. Rien n’est deviné après coup depuis une capture d’écran : chaque action que vous faites devient une étape que vous pouvez ouvrir et modifier.
| Chaque action devient une étape modifiable | Clics, saisies, navigations, attentes et extractions sont capturés en une liste ordonnée que vous pouvez réordonner, retemporiser ou supprimer. |
| L’assistant IA est dans l’enregistreur | Il lit la page en direct et écrit l’extracteur à votre place : vous désignez ce que vous voulez au lieu d’écrire un sélecteur à la main. |
| Le mode Assist demande d’abord | Avant tout ce qui modifie la page — un clic, un envoi, une étape d’achat — l’assistant s’arrête et vous attend. |
| Runs, planifications et moniteurs restent locaux | Le même workflow tourne à l’heure dite ou en moniteur sans aller-retour vers le serveur de qui que ce soit. |
Un run local n’entraîne aucun coût de calcul, sur aucun plan, quelle que soit la façon dont vous le lancez — depuis l’app, une planification, un SDK ou un client MCP.
mcp ▸ serveur local
Vos workflows comme outils, en local.
Le desktop enregistre un serveur MCP nommé writ. Ce nom est délibéré : un coordinateur auto-hébergé s’enregistre comme writ-selfhost et Writ Cloud comme writ-cloud, si bien que les trois cohabitent dans la même configuration client sans collision.
Installation en un clic
La page Connect de l’app écrit le serveur dans le fichier de configuration du client pour claude_code, claude_desktop, codex, cursor, windsurf et vscode. Vous pouvez aussi coller la configuration vous-même :
connect.sh
# The app's Connect page prints this with the absolute path to the
# bundled engine already filled in.
claude mcp add writ -- writ-agentd mcp claude_desktop_config.json
{
"mcpServers": {
"writ": {
"command": "writ-agentd",
"args": ["mcp"]
}
}
} | Transport | Ce dont le client a besoin |
|---|---|
| stdio (recommandé) | Le client lance le moteur embarqué comme processus enfant. Aucune information d’authentification ne figure dans la configuration. |
| HTTP direct | Un client qui parle HTTP fabrique plutôt une clé wlk_ restreinte au run et l’envoie en Bearer. |
Trois serveurs, trois noms
Celui que vous connectez décide de l’endroit où le travail s’exécute :
| Où ça s’exécute | Nom du serveur MCP |
|---|---|
| Writ Desktop (cette page) | writ |
| Coordinateur auto-hébergé | writ-selfhost |
| Writ Cloud | writ-cloud |
Le serveur local expose 31 outils. Deux d’entre eux — writ_search_api et writ_install_api, qui atteignent la marketplace — n’apparaissent qu’une fois un compte cloud relié. S’y ajoute un outil run_<name> par workflow que vous choisissez d’exposer.
verrous ▸ deux choses distinctes
Le verrou d’app n’est pas la 2FA persona.
On les confond sans arrêt, alors gardez-les séparés : le verrou d’app protège le coffre de Writ sur cette machine. La 2FA persona est le second facteur des sites que vous automatisez. Activer l’un ne change rien à l’autre.
Verrou d’app — votre coffre sur cette machine
Une phrase secrète sur les secrets stockés, avec une temporisation d’inactivité pour que s’éloigner reverrouille.
| Verrouiller | Scelle le coffre immédiatement. |
| Déverrouiller | Votre phrase secrète, saisie dans l’app. |
| Temporisation d’inactivité | Reverrouille après une période sans activité, en secondes. |
| Codes de récupération | Émis quand le coffre est déverrouillé — un coffre verrouillé n’en délivre aucun. |
Tant que le coffre est verrouillé, tout ce qui a besoin d’un secret stocké échoue en 423 plutôt que de s’exécuter sans lui. Déverrouillez, puis relancez.
2FA persona — les sites que vous automatisez
Une persona porte un identifiant pour un site. Quand ce site demande un second facteur, la persona y répond :
| Méthode | Ce qui se passe à l’étape |
|---|---|
none | Le site ne demande aucun second facteur. |
totp | Le code est fabriqué sur l’appareil au moment où l’étape s’exécute, et n’est jamais journalisé. |
email_otp | Le code reçu par e-mail est récupéré et soumis pour vous. |
sms | Le code reçu par SMS est récupéré et soumis pour vous. |
Vous pouvez valider un secret TOTP sans le stocker — collez-le, vérifiez que le code correspond, puis passez à autre chose. L’import depuis une application d’authentification fonctionne pareil. Les secrets que vous saisissez ne sont jamais renvoyés par l’API.
mises à jour ▸ trois canaux
Des mises à jour prévisibles.
Chaque installation est sur exactement un canal, et n’applique que des mises à jour construites pour ce même canal. Le canal ne s’élargit jamais tout seul : une installation stable ne se met pas à tirer de la beta en douce.
| Canal | Pour qui |
|---|---|
stable | Par défaut. Versions publiées uniquement. |
beta | Sur inscription. Builds de préversion, en avance sur stable. |
managed | Fixé par la politique de l’entreprise, pointant un flux de mise à jour interne. |
Ce qui est vérifié avant d’appliquer une mise à jour
Une mise à jour est d’abord vérifiée, appliquée ensuite. Le déploiement est progressif : une version atteint les machines par vagues, pas toutes d’un coup.
| Signature | La version doit être signée par une clé que ce build accepte. |
| Canal | Le canal de la version doit être celui de cette installation. |
| Expiration | Une version périmée ou rejouée est refusée. |
| Protection anti-retour | Une version plus ancienne ne peut pas écraser une plus récente. |
| Version minimale supportée | Une version peut exiger un plancher avant de s’installer. |
| Somme de contrôle | Les octets téléchargés doivent correspondre à l’empreinte approuvée avec la version. |
Ces mêmes contrôles tournent sans aucun réseau : une mise à jour appliquée depuis un fichier sur une machine cloisonnée ou coupée d’Internet est vérifiée tout aussi strictement. Une politique gérée peut fixer le canal ou le flux de mise à jour, et l’utilisateur ne peut pas la remplacer.
référence ▸ suite
Continuer
Enregistrez et exécutez votre premier workflow.
→ Où ça s’exécuteDesktop, vos propres machines, ou un serveur à vous.
→ Personas et secretsIdentifiants, TOTP et sessions chaudes.
→ MCPLes mêmes workflows comme outils pour tout client MCP.
→ SDKsTypeScript, Python, Go et Rust face au moteur local.
→ Canaux de notificationOù part une alerte issue d’un run local.
→faq
Questions desktop, répondues.
Faut-il un compte pour utiliser Writ Desktop ?
Les runs locaux coûtent-ils quelque chose ?
Quelle différence entre le verrou d’app et la 2FA persona ?
Quel nom de serveur MCP le desktop utilise-t-il ?
Une installation stable peut-elle tirer un build beta ?
L’app peut-elle se mettre à jour sans accès réseau ?
fin ▸ installer
Mettez le moteur sur votre propre machine.
Enregistrez un workflow dans un vrai navigateur, puis exécutez-le autant que vous voulez, gratuitement.