Skip to content
Projets

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

Bannière FIM One

Python 3.11+ CI License Discord Follow on X

🌐 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.

Dashboard

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

Agent Chat

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

DAG Planner

Démo

Utilisation d'agents

Using Agents

Utilisation du mode Planificateur

Using Planner Mode

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é : FeishuGateHook place 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/create du cache de prompts Anthropic sont capturés par tour, affichés dans la charge utile done du 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_markdown convertit 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 via file_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 BaseChannel pour 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 — GateHook natif 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_id et decided_at que 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=N avec 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 0 pour 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_result synthétiques persistent après les tours interrompus ; les clients se reconnectent automatiquement aux flux SSE abandonnés via /chat/resume avec 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 :

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
Tao An

💻 🚧 🎨 📖 📆 🤔 🚇 🐛 ⚠️
Teo Gonzalez Collazo
Teo Gonzalez Collazo

💻 ⚠️
Houx.
Houx.

💻 🐛
Chenying Wang
Chenying Wang

💻
Joshua Medvinsky
Joshua Medvinsky

🛡️
Aryan singh Bhadoria
Aryan singh Bhadoria

🐛 📖 ⚠️ 💻
alexcastgonz
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