|
| 1 | +<div align="center"> |
| 2 | + |
| 3 | +# OpenConnector |
| 4 | + |
| 5 | +[English](../README.md) | [简体中文](README.zh-CN.md) | [日本語](README.ja.md) | [Русский](README.ru.md) | [Français](README.fr.md) |
| 6 | + |
| 7 | +[](../LICENSE.txt) |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | +[](https://oomol.com/apps) |
| 14 | +[](https://oomol.com/apps) |
| 15 | + |
| 16 | +</div> |
| 17 | + |
| 18 | +OpenConnector est une alternative open source à Composio pour l'authentification SaaS, les outils |
| 19 | +et les intégrations prêts pour les agents. C'est une couche connector pour les agents qui ont |
| 20 | +besoin d'un accès fiable aux comptes utilisateurs dans des applications externes. Elle gère |
| 21 | +l'authentification, l'exécution des outils et les intégrations orientées agents. Le catalog open |
| 22 | +source couvre actuellement 840+ providers et 8 300+ Actions prêtes à l'emploi, s'exécute en local |
| 23 | +ou sur une infrastructure compatible Cloudflare, et expose les mêmes outils via le |
| 24 | +[Connector SDK](https://github.com/oomol-lab/connector-sdk), MCP, HTTP, OpenAPI et la Web Console |
| 25 | +locale. |
| 26 | + |
| 27 | +OpenConnector donne aux agents un chemin contrôlé vers de vrais produits tout en gardant les |
| 28 | +credentials, scopes, schemas, policies et journaux d'exécution dans un runtime inspectable. Le |
| 29 | +gateway, le provider catalog et les Action executors sont open source, afin que les équipes puissent |
| 30 | +examiner les contrats, étendre les providers et contrôler la frontière de déploiement. |
| 31 | + |
| 32 | +Le catalog open source correspond à la partie du connector catalog d'OOMOL dont la migration vers |
| 33 | +des définitions et executors de providers maintenables est terminée. Le produit OOMOL hébergé |
| 34 | +couvre aujourd'hui 1 000+ providers. Les deux surfaces utilisent des connector interfaces et des |
| 35 | +Action contracts compatibles, afin que les équipes puissent commencer vite avec l'offre hébergée, |
| 36 | +puis déplacer la même couche connector vers une infrastructure runtime privée ou self-hosted. |
| 37 | + |
| 38 | +La prise en charge du runtime open source dans [oo CLI](https://github.com/oomol-lab/oo-cli) est en |
| 39 | +cours d'ajout et vise mi-juillet 2026. En attendant, utilisez les chemins SDK, MCP, HTTP API, |
| 40 | +OpenAPI et Web Console locale ci-dessous. |
| 41 | + |
| 42 | +## Ce Que Fournit OpenConnector |
| 43 | + |
| 44 | +- Un connector catalog prêt à l'emploi : [840+ providers et 8 300+ Actions prêtes à l'emploi](providers.md), |
| 45 | + couvrant GitHub, Gmail, Notion, BigQuery, Google Analytics, Supabase, Airtable, Slack et d'autres |
| 46 | + produits. |
| 47 | +- Une gestion centralisée des credentials dans un seul runtime : API keys, OAuth2, custom |
| 48 | + credentials et providers sans authentification. |
| 49 | +- Des Action contracts inspectables : request/response schemas, required scopes et executors chargés |
| 50 | + à la demande vivent dans le code source. |
| 51 | +- Des options de déploiement adaptées à différentes frontières runtime : Docker ou Node.js en local |
| 52 | + pour le développement, plus un déploiement compatible Cloudflare sur Workers, D1, R2 et Static |
| 53 | + Assets. |
| 54 | +- Des interfaces pour agents : [Connector SDK](https://github.com/oomol-lab/connector-sdk), MCP, |
| 55 | + HTTP API, OpenAPI et Web Console locale, avec |
| 56 | + [oo CLI](https://github.com/oomol-lab/oo-cli) en cours d'adaptation au runtime open source. |
| 57 | +- Des garde-fous runtime pour la production : connection identity, scopes, runtime tokens, action |
| 58 | + allow/block policies, transit temporaire de fichiers et journaux d'exécution masqués. |
| 59 | + |
| 60 | +## Où L'utiliser |
| 61 | + |
| 62 | +OpenConnector convient aux produits où les agents doivent travailler dans les outils déjà utilisés |
| 63 | +par les utilisateurs, avec une frontière opérationnelle claire pour les credentials, scopes, schemas |
| 64 | +et journaux d'exécution. Les versions hébergée et open source restent compatibles au niveau des |
| 65 | +interfaces, afin que la même couche connector puisse passer du service hébergé OOMOL à une |
| 66 | +infrastructure privée ou self-hosted selon les exigences de déploiement. |
| 67 | + |
| 68 | +- Produits d'agents qui nécessitent un accès réutilisable aux apps de travail, outils développeur, |
| 69 | + systèmes de données, plateformes de communication et services d'IA. |
| 70 | +- Produits ajoutant des workflows d'agents et ayant besoin d'Action contracts stables et |
| 71 | + inspectables pour accéder aux applications des utilisateurs. |
| 72 | +- Équipes qui veulent commencer avec l'hébergé pour aller vite tout en gardant une voie vers le |
| 73 | + contrôle d'un runtime privé ou self-hosted. |
| 74 | + |
| 75 | +## Outils Développeur |
| 76 | + |
| 77 | +| Outil | Rôle | |
| 78 | +| ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | |
| 79 | +| [Connector SDK](https://github.com/oomol-lab/connector-sdk) | Appeler des connector Actions, proxy des upstream APIs et inspecter le catalog depuis des apps TypeScript et runtimes d'agent. | |
| 80 | +| [oo CLI](https://github.com/oomol-lab/oo-cli) | La prise en charge du runtime open source est en cours d'ajout et vise mi-juillet 2026. | |
| 81 | +| MCP | Exposer les Actions d'app à des hosts d'agents compatibles MCP via `http://localhost:3000/mcp`. | |
| 82 | +| HTTP / OpenAPI | Appeler directement `/v1/actions/*` ou inspecter le document `/openapi.json` généré. | |
| 83 | + |
| 84 | +## Aperçu De La Couverture Provider |
| 85 | + |
| 86 | +Pour planifier la couverture, la liste complète des providers est disponible dans |
| 87 | +[providers.md](providers.md). Cet aperçu met en avant des apps de productivité, outils développeur, |
| 88 | +produits d'analytics et services d'IA reconnaissables dans le catalog. |
| 89 | + |
| 90 | + |
| 91 | + |
| 92 | +Les noms et marques des providers appartiennent à leurs propriétaires respectifs et sont utilisés |
| 93 | +uniquement à des fins d'identification et d'interopérabilité. |
| 94 | + |
| 95 | +## Fonctionnement |
| 96 | + |
| 97 | +```mermaid |
| 98 | +flowchart LR |
| 99 | + Agent["AI Agent / App"] -->|"SDK / MCP / HTTP"| Gateway["OpenConnector Gateway"] |
| 100 | + Gateway --> Auth["Credential & OAuth Boundary"] |
| 101 | + Gateway --> Catalog["Provider Catalog"] |
| 102 | + Gateway --> Actions["Open-source Action Executors"] |
| 103 | + Gateway --> Policy["Tokens, Scopes, Allow/Block Policy"] |
| 104 | + Gateway --> Logs["Run Logs"] |
| 105 | + Actions --> Providers["840+ Providers"] |
| 106 | + Console["Web Console"] --> Gateway |
| 107 | + Cloudflare["Cloudflare Workers, D1, R2"] -. deploy .-> Gateway |
| 108 | +``` |
| 109 | + |
| 110 | +Les apps et agents découvrent les Actions, inspectent les schemas et scopes, sélectionnent un |
| 111 | +connection alias et exécutent via le gateway. Les provider secrets restent derrière la frontière du |
| 112 | +runtime ; les agents reçoivent les metadata, labels de compte sûrs et résultats d'exécution |
| 113 | +nécessaires à la run. |
| 114 | + |
| 115 | +## Parcours D'utilisation |
| 116 | + |
| 117 | +| Parcours | Idéal pour | Inclus | |
| 118 | +| --------------------------------- | ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | |
| 119 | +| Open source self-host | Développeurs et équipes qui veulent un contrôle total | Runtime Docker ou Node local, stockage SQLite, MCP, HTTP, OpenAPI et Web Console | |
| 120 | +| Déploiement compatible Cloudflare | Équipes qui veulent un runtime hébergé léger | Workers runtime, état D1, fichiers de transit R2 et Static Assets pour la console | |
| 121 | +| [OOMOL](https://oomol.com/) | Équipes bloquées par l'approbation OAuth ou les délais de lancement | Auth hébergée, runtime et catalog de 1 000+ providers ; compatible avec l'interface open source pour un déploiement privé ou self-hosted ultérieur | |
| 122 | + |
| 123 | +## Vidéo De Démarrage Rapide Cloudflare |
| 124 | + |
| 125 | +[](https://www.youtube.com/watch?v=R0V1ZdCuTgc) |
| 126 | + |
| 127 | +Le |
| 128 | +[guide vidéo de déploiement Cloudflare Workers](https://www.youtube.com/watch?v=R0V1ZdCuTgc) |
| 129 | +montre comment lancer OpenConnector sur Cloudflare avec Workers, D1, R2 et la Web Console. La vidéo |
| 130 | +suit le même flux que [cloudflare.md](cloudflare.md) : créer les ressources Cloudflare, copier |
| 131 | +`wrangler.example.jsonc` vers `wrangler.local.jsonc`, appliquer les migrations D1, définir les |
| 132 | +secrets requis et exécuter `npm run deploy:cloudflare`. |
| 133 | + |
| 134 | +## Démarrage Rapide |
| 135 | + |
| 136 | +Démarrez le runtime avec Docker Compose : |
| 137 | + |
| 138 | +```bash |
| 139 | +docker compose up --build |
| 140 | +``` |
| 141 | + |
| 142 | +Ouvrez la console locale et la référence API générée : |
| 143 | + |
| 144 | +```text |
| 145 | +http://localhost:3000 |
| 146 | +http://localhost:3000/docs |
| 147 | +``` |
| 148 | + |
| 149 | +Exécutez une Action sans authentification pour vérifier le runtime : |
| 150 | + |
| 151 | +```bash |
| 152 | +curl -s -X POST http://localhost:3000/v1/actions/hackernews.get_top_stories \ |
| 153 | + -H 'content-type: application/json' \ |
| 154 | + -d '{"input":{}}' |
| 155 | +``` |
| 156 | + |
| 157 | +Consultez [quickstart.md](quickstart.md) pour la configuration locale complète, la première |
| 158 | +connexion provider, le flux OAuth et les paramètres runtime. |
| 159 | + |
| 160 | +## Connecter Un Provider |
| 161 | + |
| 162 | +GitHub est l'exemple authentifié le plus simple, car il peut utiliser un personal access token : |
| 163 | + |
| 164 | +```bash |
| 165 | +curl -s -X PUT http://localhost:3000/api/connections/github \ |
| 166 | + -H 'content-type: application/json' \ |
| 167 | + -d '{"authType":"api_key","values":{"apiKey":"github_pat_..."}}' |
| 168 | + |
| 169 | +curl -s -X POST http://localhost:3000/v1/actions/github.get_current_user \ |
| 170 | + -H 'content-type: application/json' \ |
| 171 | + -d '{"input":{}}' |
| 172 | +``` |
| 173 | + |
| 174 | +Pour les apps OAuth2, named connections, credential encryption, token refresh et action policies, |
| 175 | +consultez [credentials.md](credentials.md) et [configuration.md](configuration.md). |
| 176 | + |
| 177 | +## Interfaces D'outils Pour Agents |
| 178 | + |
| 179 | +OpenConnector expose le même Action catalog via plusieurs interfaces orientées agents : |
| 180 | + |
| 181 | +- MCP : `http://localhost:3000/mcp` |
| 182 | +- HTTP runtime API : `/v1/actions` |
| 183 | +- Document OpenAPI : `/openapi.json` |
| 184 | +- Action guides : `/api/actions/:actionId/agent.md` |
| 185 | +- Exemples Web Console : snippets cURL, TypeScript et agent prompt pour chaque Action |
| 186 | + |
| 187 | +Consultez [runtime-api.md](runtime-api.md) pour les endpoints, response envelopes, auth headers, |
| 188 | +outils MCP et exemples d'Action guide. |
| 189 | + |
| 190 | +## Web Console |
| 191 | + |
| 192 | +Ouvrez `http://localhost:3000` après le démarrage du runtime. La console permet de parcourir les |
| 193 | +providers, configurer les API keys et OAuth clients, créer des runtime tokens, inspecter les Action |
| 194 | +schemas, déboguer les Actions, revoir les exécutions récentes et accéder aux metadata OpenAPI et MCP |
| 195 | +générées. |
| 196 | + |
| 197 | +## Déploiement Cloudflare |
| 198 | + |
| 199 | +OpenConnector prend en charge Cloudflare Workers comme cible de déploiement pour les metadata et |
| 200 | +l'état runtime avec Workers, D1, R2 et Static Assets. |
| 201 | + |
| 202 | +Consultez [cloudflare.md](cloudflare.md) pour la création des ressources, les migrations, les |
| 203 | +secrets, la preview Worker locale et le déploiement distant. |
| 204 | + |
| 205 | +## OOMOL Et Wanta |
| 206 | + |
| 207 | +Les équipes peuvent choisir le parcours produit correspondant au niveau de propriété runtime |
| 208 | +souhaité. [OpenConnector](https://github.com/oomol-lab/open-connector) fournit le self-hosting open |
| 209 | +source et le contrôle du déploiement. [OOMOL](https://oomol.com/) fournit l'auth hébergée, |
| 210 | +l'infrastructure runtime et le catalog plus large de 1 000+ providers tout en conservant des |
| 211 | +connector interfaces et Action contracts compatibles. |
| 212 | + |
| 213 | +Pour les petites équipes ou les individus utilisant directement un Agent desktop, |
| 214 | +[Wanta](https://wanta.ai/) connecte les apps via une expérience produit desktop avec team app |
| 215 | +sharing, permission control, multiple connected accounts et workspace-specific connections. |
| 216 | + |
| 217 | +## Documentation |
| 218 | + |
| 219 | +- [Démarrage rapide](quickstart.md) |
| 220 | +- [Outils développeur](sdk-cli.md) |
| 221 | +- [Couverture provider](providers.md) |
| 222 | +- [Runtime API et MCP](runtime-api.md) |
| 223 | +- [Déploiement Cloudflare](cloudflare.md) |
| 224 | +- [Configuration](configuration.md) |
| 225 | +- [Credentials et OAuth](credentials.md) |
| 226 | +- [Format du catalog](catalog-format.md) |
| 227 | +- [Langage de verification](verification.md) |
| 228 | +- [Contribution](../CONTRIBUTING.md) |
| 229 | +- [Code de conduite](../CODE_OF_CONDUCT.md) |
| 230 | +- [Sécurité](../SECURITY.md) |
| 231 | + |
| 232 | +## Développement |
| 233 | + |
| 234 | +Utilisez Node.js 22 ou plus récent : |
| 235 | + |
| 236 | +```bash |
| 237 | +npm install |
| 238 | +npm run build:web |
| 239 | +npm run dev |
| 240 | +``` |
| 241 | + |
| 242 | +Avant d'ouvrir une pull request : |
| 243 | + |
| 244 | +```bash |
| 245 | +npm run fix-check |
| 246 | +npm test |
| 247 | +``` |
| 248 | + |
| 249 | +Le code provider se trouve dans `src/providers/<service>`. Consultez |
| 250 | +[CONTRIBUTING.md](../CONTRIBUTING.md#adding-providers) pour les règles de contribution des |
| 251 | +providers. |
| 252 | + |
| 253 | +## Portée De La Licence |
| 254 | + |
| 255 | +Sauf indication contraire, le code source, les scripts, les échafaudages de projet générés, les |
| 256 | +tests et la documentation rédigés pour ce repository sont sous Apache License, Version 2.0. Consultez |
| 257 | +[LICENSE.txt](../LICENSE.txt). |
| 258 | + |
| 259 | +La licence Apache-2.0 de ce repository n'accorde aucun droit sur les produits, providers, apps, |
| 260 | +APIs, trademarks, service marks, trade names, logos, icons, brand assets, documentation, |
| 261 | +screenshots ou autres contenus protégés appartenant à leurs détenteurs respectifs. |
| 262 | + |
| 263 | +Les noms de providers et d'apps, metadata, liens, scopes, permissions et logos/icons optionnels sont |
| 264 | +inclus uniquement pour identifier les services et permettre l'interopérabilité. Tous les droits sur |
| 265 | +les marques et produits tiers restent la propriété de leurs détenteurs respectifs. Leur présence |
| 266 | +dans ce catalog n'implique aucune approbation, sponsorisation, partenariat, certification ou |
| 267 | +vérification par ces détenteurs. |
| 268 | + |
| 269 | +Si vous contribuez des provider metadata ou assets, soumettez uniquement des éléments pour lesquels |
| 270 | +vous avez les droits nécessaires. Préférez les liens vers les assets publics officiels plutôt que de |
| 271 | +copier des fichiers de marque dans ce repository. |
| 272 | + |
| 273 | +## Communauté |
| 274 | + |
| 275 | +Gardez les issues et pull requests ciblées, respectueuses et actionnables. La participation à ce |
| 276 | +projet est régie par [CODE_OF_CONDUCT.md](../CODE_OF_CONDUCT.md). |
0 commit comments