OpenWork : l’alternative open‑source à Claude Cowork

OpenWork – Une alternative open‑source à Claude Cowork

OpenWork est une application de bureau moderne écrite en TypeScript et Rust (via Tauri) qui encapsule le moteur OpenCode dans un flux de travail propre, guidé et ressemblant à un produit. Le projet est une réponse directe à la frustration des développeurs face aux outils centrés sur le CLI d'OpenCode et propose une interface intuitive pour les scénarios typiques des travailleurs du savoir.

Pourquoi OpenWork ?

  • Extensible – Installez et gérez les plugins OpenCode, les compétences personnalisées et les flux de travail modèles via un gestionnaire de compétences natif.
  • Traçable – Chaque exécution affiche un plan d'exécution, des mises à jour via SSE et des demandes de permission, afin que vous puissiez voir exactement ce que fait l'IA.
  • Gestion des permissions – Prompté une seule fois ou à chaque accès à des actions privilégiées, ce qui garde vos données en sécurité.
  • Local et distant – Exécutez OpenCode localement (opencode serve) ou pointez vers un serveur distant. Tous les modes exposent la même UI.
  • Ressemblant à un produit – Une application pleine fonctionnalité avec des sélecteurs de dossiers, des barres de progression et des modèles réutilisables supprime le besoin d'apprendre les chaînes d'outils en ligne de commande.

Vue d'ensemble du projet

Gestionnaire de compétences OpenWork

Les fichiers et concepts clés du dépôt :

Répertoire Utilité
src-tauri/ Côté Rust de l'application Tauri (plugins de dialogue, capacités)
src/ Front‑end construit avec Vite, React et Tailwind
public/ Shell HTML et assets
opencode.json Configuration globale et au niveau du projet des plugins

Guide de démarrage rapide

Prérequis

  1. Node & pnpmnpm i -g pnpm
  2. Toolchain Rustcurl https://sh.rustup.rs -sSf | sh
  3. CLI OpenCode installé (opencode dans le PATH)

Installation et exécution

# Cloner le dépôt
git clone https://github.com/different-ai/openwork
cd openwork

# Installer les dépendances
pnpm install

# Démarrer localement (bureau)
pnpm dev

# Ou démarrer uniquement l'UI web (utile pour les sessions à distance)
pnpm dev:web

Vous pouvez télécharger les releases pré‑construites .dmg depuis la page des releases ou compiler votre propre build avec pnpm build:web.

Architecture – Comment les pièces s'assemblent

  1. Mode Hôte – OpenWork lance un serveur OpenCode local (opencode serve --hostname 127.0.0.1). L'UI se connecte via le @opencode‑ai/sdk/v2/client.
  2. Mode Client – Pointez vers une URL de serveur OpenCode existant pour exposer la même session, invite et APIs SSE.
  3. Couche UI – Les composants React gèrent la sélection d'espace de travail, la soumission d'invite et affichent la chronologie d'exécution.
  4. Gestion des compétences – L'onglet Compétences liste tous les dossiers .opencode/skill/, permet l'installation depuis le registre OpenPackage ou l'importation manuelle.
  5. Flux de permission – OpenWork intercepte les demandes de permission OpenCode et affiche des boîtes de dialogue modales à l'utilisateur.

Parcours des fonctionnalités clés

  • Sélecteur d'espace de travail : Ouvrez un dossier qui devient le répertoire de travail pour OpenCode.
  • Plan d'exécution : Chronologie visuelle de la liste des tâches de l'IA.
  • Streaming en direct : Mises à jour en temps réel via Server‑Sent Events.
  • Modèles : Enregistrez des workflows communs pour une réexécution rapide.
  • Gestionnaire de compétences : Installez ou désinstallez des plugins OpenCode en un clic.
  • Traçabilité : Chaque exécution consigne l'invite, le plan et le résultat dans un log JSON.

Étendre OpenWork

OpenWork adopte le modèle de plug‑in d'OpenCode. Ajoutez une nouvelle compétence en créant un dossier dans opencode/skill/ ou en utilisant opkg install <paquet>. Le fichier opencode.json dans le répertoire racine du projet ou le dossier de configuration global détermine quels plugins sont actifs.

{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["opencode-wakatime"]
}

Éditez ce fichier manuellement ou utilisez l'UI pour activer/désactiver les plugins. Le changement prend effet au prochain démarrage du serveur.

Sécurité et confidentialité

  • Ouvre uniquement en local (127.0.0.1) par défaut, protégeant contre l'ingérence distante.
  • Masque les logs bruts du modèle et les métadonnées d'outils sensibles à moins que non explicitement demandés.
  • Les invites de permission permettent un contrôle granulaire sur ce que l'IA peut accéder dans votre environnement.

Licence et communauté

OpenWork est sous licence MIT. Les contributions sont les bienvenues — n'hésitez pas à ouvrir des issues ou des pull requests sur GitHub. Le projet compte une communauté active de développeurs et de travailleurs du savoir qui construisent des outils IA productifs.

Synthèse

OpenWork transforme le puissant moteur OpenCode, axé développeur, en un flux de travail de bureau accessible et traçable. Pour les travailleurs du savoir qui préfèrent une interface graphique à un terminal, ce projet open‑source comble un besoin indispensable : offrir une interface propre, une réutilisation de modèles, la sécurité des permissions, tout en gardant la logique IA sous‑contrôlable et modifiable.

Prêt à donner au travail agentique une touche produit ? Clonez le dépôt, installez les dépendances et lancez votre première session dès aujourd'hui!

Original Article: Voir l’original

Partager cet article