fim-ai/fim-one
fim-ai/fim-one has 1,587 GitHub stars and 182 forks. GitHot measured 0 stars in 24 hours and +1 in 7 days. Last checked 2026-11-12 22:18 UTC. Last push 2026-11-02.
Comment ces chiffres sont mesurés
Source-available agent platform for Global × China enterprises — wire every system through one agent core. Self-hosted, any LLM.
Progression mesurée des étoiles
- in 24h
- 0
- in 7 days
- +1
- in 15 days
- Historique en cours
- in 1 month
- Historique en cours
Variations nettes sur des périodes qui se chevauchent, pas des totaux quotidiens. Les mesures absentes restent vides. Les étoiles indiquent l’intérêt, pas la qualité.
README.fr.md
Original
🌐 English | 🇨🇳 中文 | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇩🇪 Deutsch | 🇫🇷 Français
Plateforme Agent tout-en-un pour les entreprises internationales et chinoises. Connectez tous les systèmes que vous utilisez déjà — des SaaS internationaux à l’écosystème chinois — via un seul cœur d’agent.
🌐 Site web · 📖 Documentation · 📋 Journal des modifications · 🐛 Signaler un bug · 💬 Discord · 🐦 Twitter · 🏆 Product Hunt
[!TIP] ☁️ Évitez la configuration — essayez FIM One sur le cloud. Une version gérée est disponible sur cloud.fim.ai — sans Docker, sans clés API et sans configuration. Connectez-vous et commencez à connecter vos systèmes en quelques secondes. Accès anticipé, vos retours sont les bienvenus.
https://github.com/user-attachments/assets/8a0e1136-ffbc-4950-86bd-b2f8884214af
。
Aperçu
Les grandes entreprises gèrent un ensemble disparate de systèmes qui ne communiquent pas entre eux — ERP, CRM, OA, HR, finance, bases de données, plateformes de messagerie instantanée dans différentes régions. FIM One est la plateforme d'agents tout-en-un qui intègre chaque système que vous utilisez déjà dans un cœur d'agent unique — SaaS mondial d'un côté, l'ensemble complet de la pile China (Feishu, WeCom, DingTalk, DM, Kingbase, etc.) de l'autre. Un seul cerveau. Chaque système. SaaS mondial × Pile China.
| Mode | Description | Accès |
|---|---|---|
| Standalone | Assistant IA polyvalent — recherche, code, base de connaissances | Portail |
| Copilot | IA intégrée dans l'interface utilisateur d'un système hôte | iframe / widget / embed |
| Hub | Orchestration IA centralisée sur tous les systèmes connectés | Portail / API |
graph LR
ERP <--> Hub["🧠 FIM One Agent Core"]
Database <--> Hub
Lark <--> Hub
Hub <--> CRM
Hub <--> OA
Hub <--> API[Custom API]
Captures d'écran
Tableau de bord — statistiques, tendances d'activité, utilisation des jetons et accès rapide aux agents et conversations.

Chat d'agent — raisonnement ReAct avec appels d'outils multi-étapes contre une base de données connectée.

Planificateur DAG — plan d'exécution généré par LLM avec étapes parallèles et suivi du statut en direct.

Démo
Utilisation d'agents
Utilisation du mode Planificateur
Démarrage rapide
Docker (recommandé)
git clone https://github.com/fim-ai/fim-one.git
cd fim-one
cp example.env .env
# Edit .env: set LLM_API_KEY (and optionally LLM_BASE_URL, LLM_MODEL)
docker compose up --build -d
Ouvrez http://localhost:3000 — au premier lancement, vous créerez un compte administrateur. C'est tout.
docker compose up -d # start
docker compose down # stop
docker compose logs -f # view logs
Développement local
Prérequis : Python 3.11+, uv, Node.js 18+, pnpm.
git clone https://github.com/fim-ai/fim-one.git && cd fim-one
cp example.env .env # Edit: set LLM_API_KEY
uv sync --all-extras
cd frontend && pnpm install && cd ..
./start.sh dev # hot reload: Python --reload + Next.js HMR
| Commande | Ce qui démarre | URL |
|---|---|---|
./start.sh |
Next.js + FastAPI | localhost:3000 (UI) + :8000 |
./start.sh dev |
Identique, avec rechargement à chaud | Identique |
./start.sh dev:api |
API uniquement, mode dev (rechargement à chaud) | localhost:8000 |
./start.sh dev:ui |
Frontend uniquement, mode dev (HMR) | localhost:3000 |
./start.sh api |
FastAPI uniquement (sans interface) | localhost:8000/api |
Pour le déploiement en production (Docker, proxy inverse, mises à jour sans interruption), consultez le Guide de déploiement.
Fonctionnalités principales
Connectivité transfrontalière
- Trois modes de déploiement — Assistant autonome, Copilot intégré ou Hub centralisé ; même noyau d’agent.
- Tout système, un seul modèle — Connectez des API, des bases de données et des serveurs MCP. Les actions sont automatiquement enregistrées comme outils d’agent avec injection de l’authentification. Les méta-outils à divulgation progressive réduisent de plus de 80 % l’utilisation des tokens pour tous les types d’outils.
- Connecteurs de bases de données — PostgreSQL, MySQL et les bases de données d’entreprise courantes en Chine (DM, KingbaseES, HighGo), auxquelles la plupart des plateformes internationales ne peuvent pas accéder. Introspection du schéma et annotation optimisée par l’IA.
- Trois façons de créer — Importer une spécification OpenAPI, utiliser un générateur par chat avec l’IA ou connecter directement des serveurs MCP.
Planification et exécution
- Planification DAG dynamique — L'LLM décompose les objectifs en graphes de dépendances à l'exécution. Aucun workflow codé en dur.
- Exécution concurrente — Les étapes indépendantes s'exécutent en parallèle via asyncio ; replanification automatique jusqu'à 3 tours.
- Agent ReAct — Boucle structurée de raisonnement et d'action avec récupération automatique des erreurs.
- Harnais d'agent — Environnement d'exécution de qualité production : ContextGuard pour la gestion des budgets de tokens sur 5 couches, méta-outils à divulgation progressive pour maintenir la surface des outils traitable, et boucles d'auto-réflexion pour contrer la dérive des objectifs.
- Système de hooks — Application déterministe qui s'exécute en dehors de la boucle LLM. Premier livré :
FeishuGateHookplace les appels d'outils sensibles derrière une carte d'approbation humaine affichée dans un groupe Feishu. Extensible à la journalisation d'audit, aux gardes en mode lecture seule et aux limites de débit (v0.9). - Garde-fous de contenu — Sécurité sur trois couches : hooks de permission d'outils (actions), vérifications de credentials / SSRF / authentification MCP (protocoles), et garde-fous de contenu (texte d'entrée/sortie). Le détecteur de phrases de jailbreak par défaut interrompt le tour avant l'invocation de l'LLM, économisant des tokens et affichant un avis de blocage clair dans le chat. Garde-fous de sortie optionnels via
FIM_GUARDRAILS_OUTPUT. - Routage automatique — Classe les requêtes et les achemine vers le mode optimal (ReAct ou DAG). Configurable via
AUTO_ROUTING. - Réflexion étendue — Chaîne de pensée pour OpenAI o-series, Gemini 2.5+, Claude.
- Observabilité du cache de prompts — Les comptages de tokens
read/createdu cache de prompts Anthropic sont capturés par tour, affichés dans la charge utiledonedu chat et enregistrés pour que les opérateurs puissent vérifier les accès au cache et détecter les relais qui n'honorent pas la réduction.
Flux de travail et outils
- Éditeur de flux visuel — 12 types de nœuds, canevas glisser-déposer (React Flow v12), import/export en JSON.
- Gestion intelligente des fichiers — Les fichiers téléchargés sont automatiquement intégrés au contexte (petits) ou lisibles à la demande via l'outil
read_uploaded_file. Traitement intelligent des documents : les fichiers PDF, DOCX et PPTX bénéficient d'un traitement compatible avec la vision avec extraction d'images intégrées lorsque le modèle supporte la vision. Le mode PDF intelligent extrait le texte des pages riches en texte et affiche les pages numérisées sous forme d'images. - Conversion universelle de documents — L'outil intégré
convert_to_markdownconvertit PDF / Word / Excel / PowerPoint / HTML / images / audio / Outlook.msg/ EPUB / transcriptions YouTube en Markdown propre via Microsoft MarkItDown. Les LLM compatibles avec la vision effectuent la reconnaissance optique de caractères sur les images intégrées et les pages numérisées — fonctionne avec Claude, Gemini, Bedrock et tout fournisseur compatible LiteLLM, sans code d'adaptateur par fournisseur. - Outils enfichables — Exécution Python, Node.js, shell avec bac à sable Docker optionnel (
CODE_EXEC_BACKEND=docker). - Édition de correctifs V4A — Au-delà de
find_replace, les agents peuvent appliquer des correctifs de lignes avec correspondance floue des espaces viafile_ops.apply_patch— robuste pour les modifications multi-lignes où une correspondance de sous-chaîne exacte serait fragile. - Pipeline RAG complet — Intégration Jina + LanceDB + récupération hybride + réclassement + citations intégrées
[N]. L'ingestion compatible avec la vision achemine les PDF numérisés et les images intégrées Office via le LLM de vision par défaut de l'espace de travail pour la reconnaissance optique de caractères. - Artefacts d'outils — Sorties enrichies (aperçus HTML, fichiers) rendus dans le chat.
Canaux de messagerie (v0.8)
- Pont IM étendu à l'organisation — Abstraction
BaseChannelpour la messagerie sortante sur Slack, Microsoft Teams, Discord, Feishu (Lark), WeCom et DingTalk. La première implémentation livrée est Feishu ; Slack / Teams / WeCom / Email sont les prochains sur la feuille de route v0.9. - Identifiants chiffrés avec Fernet — Les secrets d'application et les clés de chiffrement sont chiffrés au repos ; chaque signature de rappel entrant est vérifiée.
- Cartes d'approbation interactives —
GateHooknatif du canal (Feishu aujourd'hui, Slack/Teams ensuite) affiche une carte Approuver / Rejeter à votre groupe quand un appel d'outil sensible se déclenche ; l'outil se bloque jusqu'à ce qu'un membre du groupe appuie sur un verdict. Approbation humaine dans la boucle sans moteur de flux de travail personnalisé. - Routage d'approbation configurable par agent — Trois modes (Auto / Inline uniquement / Canal uniquement) avec un sélecteur de portée approbateur (initiateur / propriétaire de l'agent / tout membre de l'organisation). Un chemin d'audit horodate
approver_user_idetdecided_atque le verdict provienne du chat ou du canal. Le mode Auto revient à inline si aucun canal n'est lié, donc les agents obtiennent toujours une véritable expérience d'approbation. - Notifications de fin de tâche — Les agents ReAct ou DAG de longue durée peuvent envoyer une carte récapitulative au canal de l'organisation quand le travail se termine. Configurable par agent dans Paramètres → Agent → Notifications.
- Interface de navigation et sélection — Pas besoin de copier les ID de canal bruts depuis la console du fournisseur ; le portail appelle l'API de la plateforme IM et affiche un sélecteur de groupe.
Plateforme
- Multi-tenant — Authentification JWT, isolation des organisations, panneau d'administration avec analytique d'utilisation et métriques des connecteurs. Support multi-worker via
WORKERS=Navec un courtier d'interruption Redis pour le relais inter-worker. - Marketplace — Publier et s'abonner à des agents, connecteurs, bases de connaissances, compétences, workflows.
- Compétences globales (SOP) — Procédures d'exploitation réutilisables chargées pour chaque utilisateur ; le mode progressif réduit les tokens d'environ 80 %.
- Facturation Stripe et quotas par utilisateur — Mise à niveau optionnelle du plan Pro via Stripe Checkout + Customer Portal. Chaîne de quotas (remplacement par utilisateur → niveau de plan → défaut système) avec
0pour illimité. Le drapeau de fonctionnalité administrateur contrôle l'ensemble du pipeline ; les déploiements privés sans Stripe restent propres. - Centre d'évaluation — Gestion des ensembles de test, exécutions d'évaluation parallèles avec jugements notés par LLM, visionneuse de résultats par cas (réussite/échec/latence/tokens) avec interrogation automatique.
- Récupération de conversation — Les lignes
tool_resultsynthétiques persistent après les tours interrompus ; les clients se reconnectent automatiquement aux flux SSE abandonnés via/chat/resumeavec backoff exponentiel et un indicateur « Reconnexion en cours… ». - 6 langues — EN, ZH, JA, KO, DE, FR. Les traductions sont entièrement automatisées — un glossaire unique pilote chaque appel de traduction LLM (JSON, MDX, README), le hook de pré-commit refuse les modifications manuelles des fichiers de locale générés.
- Assistant de configuration au premier lancement, thème sombre/clair, palette de commandes, SSE en streaming, visualisation DAG.
Approfondissement : Architecture · Système de hooks · Canaux · Modes d'exécution · Pourquoi FIM One · Paysage concurrentiel
Architecture
graph TB
subgraph app["Application Layer"]
a["Portal · API · iframe · Feishu · Slack · WeCom · DingTalk · Teams · Email · Contract Systems · Custom Webhooks"]
end
subgraph mid["FIM One"]
direction LR
m1["Connectors<br/>+ MCP Hub"] ~~~ m2["Orch Engine<br/>ReAct / DAG"] ~~~ m3["RAG /<br/>Knowledge"] ~~~ m5["Hook System<br/>+ Channels"] ~~~ m4["Auth /<br/>Admin"]
end
subgraph biz["Business Systems"]
b["ERP · CRM · OA · Finance · Databases · Contract Mgmt · Custom APIs"]
end
app --> mid --> biz
Chaque connecteur et canal est un pont standardisé — l'agent ne sait pas et ne se soucie pas de savoir s'il communique avec SAP, un système de contrat personnalisé ou un groupe Feishu. Le système Hook exécute le code de la plateforme en dehors de la boucle LLM pour les approbations, les audits et les limites de débit ; les canaux transmettent les notifications sortantes et les cartes d'approbation aux plateformes de messagerie instantanée externes. Consultez Architecture des connecteurs, Système Hook et Canaux pour plus de détails.
Configuration
FIM One fonctionne avec n'importe quel fournisseur compatible OpenAI :
| Fournisseur | LLM_API_KEY |
LLM_BASE_URL |
LLM_MODEL |
|---|---|---|---|
| OpenAI | sk-... |
(par défaut) | gpt-4o |
| DeepSeek | sk-... |
https://api.deepseek.com/v1 |
deepseek-chat |
| Anthropic | sk-ant-... |
https://api.anthropic.com/v1 |
claude-sonnet-4-6 |
| Ollama (local) | ollama |
http://localhost:11434/v1 |
qwen2.5:14b |
Fichier .env minimal :
LLM_API_KEY=sk-your-key
# LLM_BASE_URL=https://api.openai.com/v1 # default
# LLM_MODEL=gpt-4o # default
JINA_API_KEY=jina_... # unlocks web tools + RAG
Référence complète : Variables d'environnement
Stack Technologique
| Couche | Technologie |
|---|---|
| Backend | Python 3.11+, FastAPI, SQLAlchemy, Alembic, asyncio |
| Frontend | Next.js 14, React 18, Tailwind CSS, shadcn/ui, React Flow v12 |
| IA / RAG | LLMs compatibles OpenAI, Jina AI (embed + search), LanceDB |
| Base de données | SQLite (dev) / PostgreSQL (prod) |
| Messagerie | Abstraction BaseChannel (Slack, Teams, Discord, Feishu/Lark, WeCom, DingTalk), identifiants chiffrés Fernet, vérification de signature HMAC |
| Infrastructure | Docker, uv, pnpm, streaming SSE |
Développement
uv sync --all-extras # install dependencies
pytest # run tests
pytest --cov=fim_one # with coverage
ruff check src/ tests/ # lint
mypy src/ # type check
bash scripts/setup-hooks.sh # install git hooks (enables auto i18n)
Feuille de route
Consultez la Feuille de route complète pour l'historique des versions et les fonctionnalités prévues.
FAQ
Questions fréquemment posées sur le déploiement, les fournisseurs de LLM, la configuration système, et bien d'autres — consultez la FAQ.
Contribution
Nous accueillons les contributions de toutes sortes — code, documentation, traductions, rapports de bugs et idées.
Programme Pioneer : Les 100 premiers contributeurs dont une PR est fusionnée sont reconnus comme Contributeurs Fondateurs avec des crédits permanents, un badge et un support prioritaire des problèmes. En savoir plus →
Liens rapides :
- Guide de Contribution — configuration, conventions, processus de PR
- Conventions de Développement — sécurité des types, tests et normes de qualité du code
- Bons Premiers Problèmes — sélectionnés pour les nouveaux venus
- Problèmes Ouverts — bugs et demandes de fonctionnalités
Sécurité : Pour signaler une vulnérabilité, veuillez ouvrir un problème GitHub avec l'étiquette [SECURITY]. Pour les divulgations sensibles, contactez-nous via Discord DM.
Activité
Contributeurs
Merci à toutes ces merveilleuses personnes (légende des emojis) :
Tao An 💻 🚧 🎨 📖 📆 🤔 🚇 🐛 ⚠️ |
Teo Gonzalez Collazo 💻 ⚠️ |
Houx. 💻 🐛 |
Chenying Wang 💻 |
Joshua Medvinsky 🛡️ |
Aryan singh Bhadoria 🐛 📖 ⚠️ 💻 |
alexcastgonz 🐛 📖 ⚠️ 💻 |
Ce projet suit la spécification all-contributors. Les contributions de toute nature sont les bienvenues !
À propos de FIM
FIM One est développé par FIM. FIM est une marque partagée par deux entreprises indépendantes : FIM Labs Pte. Ltd. (Singapour) et Beijing FIM Network Technology Co., Ltd. (Beijing, fondée en 2013).
Licence
Licence FIM One Source Available. Il ne s'agit pas d'une licence open source approuvée par l'OSI.
Autorisé : utilisation interne, modification, distribution avec licence intacte, intégration dans des applications non concurrentes.
Restreint : SaaS multi-locataire, plateformes d'agents concurrentes, revente de marque blanche, suppression de la marque.
Pour les demandes de licence commerciale, veuillez ouvrir un problème sur GitHub.
Voir LICENSE pour les conditions complètes.
🌐 Site web · 📖 Documentation · 📋 Journal des modifications · 🐛 Signaler un bug · 💬 Discord · 🐦 Twitter · 🏆 Product Hunt
Explorer des projets similaires
affaan-m/ECC
Système d'optimisation des performances du framework d'exécution et de contrôle des agents. Il couvre les skills, les instincts, la mémoire, la sécurité et le développement qui privilégie la recherche, pour Claude Code, Codex, Opencode, Cursor et au-delà.
302,029 étoilesNousResearch/hermes-agent
L'agent qui grandit avec vous
262,976 étoilesmultica-ai/andrej-karpathy-skills
Un seul fichier CLAUDE.md pour améliorer le comportement de Claude Code, dérivé des observations d'Andrej Karpathy sur les pièges du codage avec les LLM.
232,555 étoilesfirecrawl/firecrawl
Boostez vos agents d'IA avec des données issues du web et au-delà. Nous construisons la bibliothèque pour la superintelligence. 🔥
201,294 étoiles