À propos du projet
MyAgents est un espace de travail Agent personnel open source pour ordinateur de bureau. Sa vocation n'est pas d'être une fenêtre de chat, mais de réunir conversation, espace de travail, fichiers, outils, modèles, tâches et mémoire à long terme dans un même système de bureau. Le projet est sous licence AGPL-3.0-only ; le site officiel et les téléchargements se trouvent sur myagents.io.
Expérience principale
- Priorité à l'espace de travail : chaque Agent est lié à un espace de travail réel, avec arborescence de fichiers, aperçu de fichiers, branches Git, Skills et points d'entrée de commandes ; prise en charge de la référence de fichiers via @, de l'appel de compétences via /, de l'appel d'outils MCP et de la sélection de modèle.
- Agents multi-onglets : onglets multiples de style Chrome, chaque onglet exécutant indépendamment un Agent et un Sidecar, adapté au travail en parallèle.
- Terminal et navigateur intégrés : le panneau divisé de droite fournit un terminal xterm.js + portable-pty et un navigateur Tauri multi-Webview, facilitant l'exécution et la vérification simultanées.
- Idées et centre de tâches : possibilité de noter d'abord des idées, de les étiqueter et de les archiver, puis d'en discuter avec l'IA et de les transformer en tâches ; prise en charge des tâches ponctuelles, des tâches périodiques, des expressions Cron, d'un capteur de commandes locales optionnel, de l'état des tâches, du nombre d'exécutions, des journaux d'exécution et de la reprise après anomalie.
- Fournisseurs multi-modèles : prise en charge de l'abonnement ou de l'API Anthropic, ainsi que DeepSeek, Moonshot, 智谱, MiniMax, Google Gemini, 火山方舟, 硅基流动, ZenMux, OpenRouter, 小米 MiMo, 阿里云百炼, etc. ; la liste réelle dépend de la page dans l'application.
- Capacités ouvertes : MCP prend en charge STDIO / HTTP / SSE ; les Skills sont répartis entre intégrés, au niveau utilisateur et au niveau espace de travail ; il est possible de configurer le Prompt, le modèle, les outils et les permissions d'Agents personnalisés pour différents espaces de travail ; les fonctionnalités de laboratoire prennent en charge Claude Code CLI, OpenAI Codex CLI et Google Gemini CLI comme Runtime externe.
- Entrées multiples : IM Bot Telegram et 钉钉 intégrés, d'autres plateformes pouvant être connectées via le plugin OpenClaw ; il existe aussi un petit assistant, un animal de compagnie/fenêtre flottante de bureau et des tâches planifiées.
- Priorité au local : sessions, tâches, configurations et artefacts générés sont enregistrés par défaut sur la machine locale ; la recherche plein texte locale repose sur Tantivy + jieba et permet de rechercher l'historique des sessions et les fichiers de l'espace de travail.
Stack technique et architecture
La couche bureau utilise Tauri v2 + Rust, le frontend React 19 + TypeScript + Vite + TailwindCSS, le backend Sidecar Node.js v24 + Claude Agent SDK, la communication passe par un proxy Rust HTTP/SSE, et le frontend accède au Sidecar via Tauri invoke. La recherche utilise Tantivy + tantivy-jieba, le terminal utilise portable-pty + xterm.js.
Les principes d'architecture clés incluent : Session et Sidecar en 1:1 ; Tab, CronTask, BackgroundCompletion et Agent partagent leur cycle de vie via le modèle Owner ; les Chat Tab utilisent une API tab-scoped, Settings et Launcher utilisent un Global Sidecar ; le plan de contrôle HTTP/SSE passe par le proxy Rust, seuls /refs/:id et /attachment/* pour les données de plan de grande taille utilisent fetch natif sous contraintes CORS/CSP/sécurité des chemins ; les E/S de fichiers de l'espace de travail passent par Tauri/Rust ; l'écriture de configuration sur disque est disk-first ; les opérations de Session passent uniformément par la facade src/server/session-engine/, avec un selector choisissant l'adaptateur builtin ou external.
Développement et compilation
Les utilisateurs finaux sont pris en charge sur macOS 13.0+ (Apple Silicon et Intel) et Windows 10+. Les développeurs ont besoin de Node.js >=22 (24 recommandé), npm, Rust installé via rustup (toolchain fixée par rust-toolchain.toml) ; une compilation à froid des ressources d'inférence natives nécessite CMake 3.28+ et une chaîne d'outils C/C++ de la plateforme ; sous macOS, Git, Python 3.10+ et Apple Clang sont également requis.
Sous macOS / Linux, utiliser ./setup.sh et ./start_dev.sh ; sous Windows, utiliser .\setup_windows.ps1 et .\build_windows.ps1. Les commandes courantes incluent npm run typecheck, npm run lint (avec vérification des frontières d'architecture dependency-cruiser), les tests par couches test:classification / test:unit / test:dom / test:integration, ainsi que test:credentialed qui doit être exécuté explicitement en local ; les scripts de compilation incluent build_dev.sh, build_macos.sh, build_linux.sh. Les machines de compilation Linux doivent installer les dépendances système liées à Tauri/WebKit.
La structure du projet se divise en src/renderer (frontend React), src/server (Node Sidecar), src/server/plugin-bridge (OpenClaw Plugin Bridge), src/cli (myagents CLI), src/shared (types partagés), src-tauri (couche Rust), bundled-agents, bundled-skills et specs (documents d'architecture et de conception). Les messages de commit suivent Conventional Commits.
Licence et usage commercial
Le projet utilise la GNU Affero General Public License v3.0 (AGPL-3.0-only). Les particuliers et les entreprises peuvent l'utiliser gratuitement, y compris commercialement ; la distribution d'une version modifiée ou la mise à disposition d'une version modifiée aux utilisateurs via un réseau, entre autres cas, exige le respect complet de l'AGPL. Pour modifier, intégrer, OEM, distribuer ou héberger en code fermé sans respecter les obligations d'ouverture de l'AGPL, une licence commerciale distincte est nécessaire. Les composants tiers restent soumis à leurs propres licences.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.