Passer au contenu principal

Général

FIM One fonctionne avec n’importe quel fournisseur LLM compatible OpenAI. Cela inclut :
  • APIs commerciales — OpenAI, DeepSeek, Anthropic (Claude), Alibaba Qwen, Google Gemini, et tout fournisseur qui expose un point de terminaison /v1/chat/completions.
  • Local/auto-hébergé — Ollama, vLLM, LocalAI, LM Studio, et tout autre runtime qui sert le format API compatible OpenAI.
Vous configurez votre fournisseur via trois variables d’environnement dans .env :
LLM_API_KEY=sk-your-key
LLM_BASE_URL=https://api.openai.com/v1   # change for other providers
LLM_MODEL=gpt-4o                         # change for other models
Consultez le guide Démarrage rapide pour des exemples spécifiques à chaque fournisseur.
Oui. FIM One se connecte à n’importe quel point de terminaison qui implémente le format API compatible OpenAI. Les options auto-hébergées populaires incluent :
RuntimeURL de baseModèle exemple
Ollamahttp://localhost:11434/v1qwen2.5:14b
vLLMhttp://localhost:8000/v1Qwen/Qwen2.5-72B-Instruct
LocalAIhttp://localhost:8080/v1llama3
LM Studiohttp://localhost:1234/v1(ce que vous chargez)
Définissez LLM_API_KEY sur n’importe quelle chaîne non vide (par exemple, ollama) lorsque le fournisseur ne nécessite pas d’authentification. Toutes les fonctionnalités d’agent — raisonnement ReAct, planification DAG, appel d’outils — fonctionnent de manière identique, que le modèle soit local ou hébergé dans le cloud.
FIM One est publié sous une Licence Source Available. Ce n’est pas une licence open source approuvée par l’OSI, mais elle offre de larges libertés pour la plupart des cas d’usage :Autorisé :
  • Utilisation interne au sein de votre organisation
  • Modification et développement personnalisé
  • Distribution avec la licence intacte
  • Intégration dans vos propres applications (non concurrentes)
Restreint :
  • Offres SaaS multi-locataires
  • Plateformes d’agents concurrentes
  • White-labeling ou suppression de la marque
Pour les demandes de licences commerciales, veuillez ouvrir un problème sur GitHub. Consultez la LICENCE complète pour les conditions complètes.
N’ouvrez PAS de problème GitHub public pour les vulnérabilités sensibles.
  • Rapports sensibles (exposition de credentials, contournement d’authentification, injection, etc.) — utilisez GitHub Security Advisories ou envoyez un email à security@fim.ai.
  • Problèmes de faible gravité (en-têtes manquants, divulgations informationnelles) — ouvrez un problème GitHub régulier avec l’étiquette security.
Tous les rapports sont reconnus dans les 48 heures (jours ouvrables). Les problèmes critiques sont corrigés dès que possible ; les autres sont livrés avec la prochaine version.Consultez la Politique de sécurité complète pour la portée, les délais de réponse et les meilleures pratiques d’auto-hébergement.

Déploiement

Exigences minimales :
RessourceExigence
Python3.11+
RAM2 GB minimum
Disque1 GB libre (plus d’espace pour les documents téléchargés et le magasin vectoriel)
Node.js18+ (pour le développement local)
Recommandé pour la production :
RessourceRecommandation
RAM4 GB+ (surtout si vous exécutez des modèles d’embedding localement)
CPU2+ cœurs
Base de donnéesPostgreSQL pour les déploiements multi-workers
Alternative Docker : Docker 20+ et Docker Compose v2. Aucun Python ou Node.js local requis — tout est construit à l’intérieur du conteneur.
Oui. Docker et le développement local fonctionnent tous deux sur les architectures ARM, y compris Apple Silicon (M1/M2/M3/M4) Macs. L’image Docker se construit nativement pour linux/arm64, et toutes les dépendances Python et Node.js disposent de wheels compatibles ARM ou de solutions de secours.
FIM One utilise les bases de données de deux façons distinctes :1. Base de données interne (données propres de FIM One) :
  • SQLite — zéro configuration par défaut, idéal pour le développement et les déploiements single-worker.
  • PostgreSQL — recommandé pour la production, requis pour les configurations multi-workers (WORKERS > 1).
2. Cibles des connecteurs (systèmes auxquels vous vous connectez) :FIM One peut se connecter à des bases de données externes en tant que sources de données via des Connecteurs de Base de Données :
Base de donnéesStatut
PostgreSQLSupportée
MySQLSupportée
OracleSupportée
SQL ServerSupportée
DM (Dameng)Supportée
KingbaseESSupportée
GBaseSupportée
HighgoSupportée
Chaque connecteur de base de données génère automatiquement trois outils : list_tables, describe_table et query. L’introspection de schéma, l’annotation alimentée par l’IA et l’exécution de requêtes en lecture seule sont incluses par défaut.
Oui. FIM One est construit pour les déploiements multi-locataires dès le départ :
  • Authentification JWT — authentification basée sur les jetons avec isolation de session par utilisateur.
  • Isolation organisationnelle — les ressources (agents, connecteurs, bases de connaissances) sont limitées aux organisations.
  • Accès basé sur les rôles — rôles administrateur et utilisateur avec des limites de permissions appropriées.
  • Propriété des ressources — les conversations et configurations sont isolées par utilisateur.
Pour les déploiements multi-utilisateurs en production, utilisez PostgreSQL comme base de données interne et définissez WORKERS pour correspondre à votre concurrence attendue.

Fonctionnalités

FIM One offre deux moteurs d’exécution, chacun adapté à différents types de tâches :
ReAct (Standard)DAG (Planner)
FonctionnementBoucle de raisonnement unique : Raisonner, Agir, Observer, répéterL’LLM décompose l’objectif en un graphe de dépendances ; les étapes indépendantes s’exécutent en parallèle
Idéal pourRequêtes ciblées, recherches sur un seul système, tâches conversationnellesTâches multi-étapes, orchestration inter-systèmes, collecte de données en parallèle
ConcurrenceSéquentielle (un outil à la fois)Concurrente (les étapes indépendantes s’exécutent simultanément via asyncio)
Re-planificationN/AJusqu’à 3 cycles de re-planification automatique si les objectifs ne sont pas atteints
Le mode Auto (par défaut) utilise un classificateur LLM rapide pour analyser chaque requête entrante et l’acheminer automatiquement vers le moteur optimal. Vous pouvez également sélectionner manuellement le mode via le commutateur à trois positions dans l’interface de chat (Auto / Standard / Planner).Pour une analyse approfondie, consultez Modes d’exécution.
FIM One propose trois façons de créer des connecteurs — aucun code Python requis :1. Importer une spécification OpenAPI — Téléchargez un fichier YAML, JSON ou une URL pointant vers une spécification OpenAPI. FIM One analyse la spécification et génère automatiquement des connecteurs avec toutes les actions.2. Générateur de chat IA — Décrivez l’API que vous souhaitez connecter en langage naturel. L’IA génère et itère sur la configuration du connecteur dans la conversation, en utilisant 10 outils de générateur spécialisés pour les paramètres, les actions, les tests et le câblage des agents.3. Protocole MCP — Connectez directement n’importe quel serveur MCP (Model Context Protocol). L’écosystème MCP tiers fonctionne immédiatement.Pour les connecteurs de base de données, configurez les détails de connexion (hôte, port, identifiants) et FIM One génère automatiquement les outils d’introspection de schéma et de requête.Consultez la documentation Générateur IA et le Guide d’extension pour des instructions étape par étape.
Oui. Le mode Copilot de FIM One est spécifiquement conçu pour l’intégration dans des systèmes hôtes. Vous pouvez l’intégrer via :
  • iframe — Intégrez l’interface de chat FIM One directement dans n’importe quelle page web.
  • Widget — Un widget de chat léger qui se superpose à votre interface existante.
  • API — Utilisez directement le backend FastAPI pour des intégrations entièrement personnalisées.
En mode Copilot, l’IA travaille aux côtés des utilisateurs dans leur interface familière — interrogeant les données, générant des rapports et orchestrant les actions sans forcer les utilisateurs à changer d’application.Consultez Modes d’exécution pour les détails de configuration des modes de livraison Standalone, Copilot et Hub.
FIM One prend en charge 6 langues (anglais, chinois, japonais, coréen, allemand, français) avec un pipeline de traduction entièrement automatisé :
  1. Modifiez uniquement les fichiers sources en anglais — Les chaînes d’interface utilisateur dans frontend/messages/en/*.json, la documentation dans docs/*.mdx (au niveau racine) et README.md.
  2. Traduction automatique lors de la validation — Un hook de pré-validation détecte les modifications apportées aux fichiers anglais et les traduit via l’LLM rapide du projet. Les traductions sont incrémentielles : seul le contenu nouveau, modifié ou supprimé est traité.
  3. Ne modifiez jamais manuellement les fichiers traduits — Les fichiers dans messages/zh/, messages/ja/, docs/zh/, docs/ja/, etc. sont tous générés automatiquement et seront écrasés.
Pour configurer le hook de traduction après le clonage :
bash scripts/setup-hooks.sh
Pour forcer une retraduction complète :
uv run scripts/translate.py --all

Contribution

FIM One accueille les contributions de toutes sortes — code, documentation, traductions, rapports de bugs et idées de fonctionnalités.Pour commencer :
  1. Lisez le Guide de contribution pour les instructions de configuration, les conventions de codage et le processus de PR.
  2. Parcourez les Bons premiers problèmes pour trouver des tâches adaptées aux nouveaux contributeurs.
  3. Consultez les Problèmes ouverts pour les bugs et les demandes de fonctionnalités.
Programme Pioneer : Les 100 premiers contributeurs dont la PR est fusionnée sont reconnus comme Contributeurs fondateurs avec des crédits permanents, un badge de profil et un support prioritaire des problèmes.
CoucheTechnologie
BackendPython 3.11+, FastAPI, SQLAlchemy, Alembic, asyncio
FrontendNext.js, React, TypeScript, Tailwind CSS, shadcn/ui
Intégration LLMAPI compatible OpenAI (agnostique du fournisseur)
Recherche vectorielleLanceDB + embeddings Jina
Base de donnéesSQLite (dev) / PostgreSQL (production)
Gestionnaires de paquetsuv (Python), pnpm (Node.js)
DéploiementDocker Compose, script mono-processus
La base de code suit une architecture async-first, protocol-first sans verrouillage fournisseur.
  • Documentation — Vous êtes ici. Parcourez les sections Guides, Concepts et Configuration.
  • Discord — Rejoignez le Discord FIM One pour obtenir de l’aide en temps réel et des discussions communautaires.
  • Problèmes GitHub — Signalez les bugs et demandes de fonctionnalités sur GitHub.
  • Twitter/X — Suivez @FIM_One pour les mises à jour et annonces.