Interface en ligne de commande Firefly III
Interface en ligne de commande pour Firefly III basée sur la spécification CLI-Anything. Convertit le mode MCP en mode CLI sans état pour éviter les problèmes de processus résiduels Node.js.
Installation
pip install cli-anything-firefly-iii
Prérequis
- Python 3.10+
- Instance Firefly III en cours d'exécution
- Jeton d'accès personnel (PAT)
Configuration
Variables d'environnement (recommandé)
export FIREFLY_III_BASE_URL="https://firefly.yourdomain.com"
export FIREFLY_III_PAT="votre-jeton-d-acces-personnel"
Arguments de ligne de commande
cli-anything-firefly-iii --base-url https://firefly.yourdomain.com --pat votre-jeton
Groupes de commandes
| Groupe de commandes | Description | API correspondante |
|---|---|---|
accounts | Gestion des comptes (CRUD) | /api/v1/accounts |
transactions | Gestion des transactions (CRUD) | /api/v1/transactions |
budgets | Gestion des budgets (CRUD + limites) | /api/v1/budgets |
categories | Gestion des catégories (CRUD) | /api/v1/categories |
tags | Gestion des étiquettes (CRUD) | /api/v1/tags |
bills | Gestion des factures (CRUD) | /api/v1/bills |
piggy-banks | Gestion des tirelires (CRUD + événements) | /api/v1/piggy-banks |
autocomplete | Saisie automatique pour diverses entités | /api/v1/autocomplete/* |
currencies | Gestion des devises (CRUD) | /api/v1/currencies |
recurrences | Gestion des transactions récurrentes (CRUD) | /api/v1/recurrences |
rules | Gestion des règles (CRUD + test/exécution) | /api/v1/rules |
rule-groups | Gestion des groupes de règles (CRUD + exécution) | /api/v1/rule-groups |
summary | Résumés financiers | /api/v1/summary/* |
webhooks | Gestion des webhooks (CRUD + déclenchement) | /api/v1/webhooks |
insights | Informations et rapports | /api/v1/insight/* |
search | Recherche | /api/v1/search/* |
export | Exportation de données | /api/v1/data/export/* |
info | Informations système | /api/v1/about |
Exemples d'utilisation
Gestion des comptes
# Lister tous les comptes
cli-anything-firefly-iii --json accounts list
# Lister les comptes d'actifs
cli-anything-firefly-iii --json accounts list --type asset
# Obtenir les détails d'un compte
cli-anything-firefly-iii --json accounts get --id 123
# Créer un compte
cli-anything-firefly-iii --json accounts create --name "Espèces" --type asset --currency-code EUR
# Mettre à jour un compte
cli-anything-firefly-iii --json accounts update --id 123 --name "Nouveau nom"
# Supprimer un compte
cli-anything-firefly-iii accounts delete --id 123
Gestion des transactions
# Lister les transactions
cli-anything-firefly-iii --json transactions list --limit 10
# Lister les transactions avec une plage de dates
cli-anything-firefly-iii --json transactions list --start 2024-01-01 --end 2024-01-31
# Créer une transaction
cli-anything-firefly-iii --json transactions create \
--description "Courses" \
--amount 50.00 \
--source-account 1 \
--category "Alimentation"
# Mettre à jour une transaction
cli-anything-firefly-iii --json transactions update --id 456 --description "Mis à jour"
# Supprimer une transaction
cli-anything-firefly-iii transactions delete --id 456
Gestion des budgets
# Lister les budgets
cli-anything-firefly-iii --json budgets list
# Obtenir les détails d'un budget
cli-anything-firefly-iii --json budgets get --id 1
# Créer un budget
cli-anything-firefly-iii --json budgets create --name "Budget mensuel"
# Mettre à jour un budget
cli-anything-firefly-iii --json budgets update --id 1 --name "Nouveau nom de budget"
# Supprimer un budget
cli-anything-firefly-iii budgets delete --id 1
# Lister les limites d'un budget
cli-anything-firefly-iii --json budgets limits --budget-id 1
# Créer une limite de budget
cli-anything-firefly-iii --json budgets limit-create --budget-id 1 --amount 1000 --start 2024-01-01 --end 2024-01-31
# Mettre à jour une limite de budget
cli-anything-firefly-iii --json budgets limit-update --id 1 --amount 1500
# Supprimer une limite de budget
cli-anything-firefly-iii budgets limit-delete --id 1
Gestion des catégories
# Lister les catégories
cli-anything-firefly-iii --json categories list
# Obtenir une catégorie
cli-anything-firefly-iii --json categories get --id 1
# Créer une catégorie
cli-anything-firefly-iii --json categories create --name "Alimentation"
# Mettre à jour une catégorie
cli-anything-firefly-iii --json categories update --id 1 --name "Alimentation & Restaurant"
# Supprimer une catégorie
cli-anything-firefly-iii categories delete --id 1
Gestion des étiquettes
# Lister les étiquettes
cli-anything-firefly-iii --json tags list
# Obtenir une étiquette
cli-anything-firefly-iii --json tags get --id "uuid-ici"
# Créer une étiquette
cli-anything-firefly-iii --json tags create --tag "important"
# Mettre à jour une étiquette
cli-anything-firefly-iii --json tags update --id "uuid-ici" --tag "important-mis-a-jour"
# Supprimer une étiquette
cli-anything-firefly-iii tags delete --id "uuid-ici"
Gestion des factures
# Lister les factures
cli-anything-firefly-iii --json bills list
# Obtenir une facture
cli-anything-firefly-iii --json bills get --id 1
# Créer une facture
cli-anything-firefly-iii --json bills create \
--name "Netflix" \
--amount-min 15.99 \
--amount-max 15.99 \
--frequency monthly
# Mettre à jour une facture
cli-anything-firefly-iii --json bills update --id 1 --amount-min 19.99
# Supprimer une facture
cli-anything-firefly-iii bills delete --id 1
Gestion des tirelires
# Lister les tirelires
cli-anything-firefly-iii --json piggy-banks list
# Obtenir une tirelire
cli-anything-firefly-iii --json piggy-banks get --id 1
# Créer une tirelire
cli-anything-firefly-iii --json piggy-banks create \
--name "Fonds vacances" \
--account-id 1 \
--target-amount 5000
# Mettre à jour une tirelire
cli-anything-firefly-iii --json piggy-banks update --id 1 --name "Nouveau nom"
# Supprimer une tirelire
cli-anything-firefly-iii piggy-banks delete --id 1
# Lister les événements d'une tirelire
cli-anything-firefly-iii --json piggy-banks events --id 1
# Ajouter de l'argent à une tirelire
cli-anything-firefly-iii --json piggy-banks add-money --id 1 --amount 100
Saisie automatique (Autocomplete)
# Saisie automatique pour les comptes
cli-anything-firefly-iii --json autocomplete accounts --query "banque"
# Saisie automatique pour les catégories
cli-anything-firefly-iii --json autocomplete categories --query "alimentation"
# Saisie automatique pour les étiquettes
cli-anything-firefly-iii --json autocomplete tags --query "important"
# Saisie automatique pour les transactions
cli-anything-firefly-iii --json autocomplete transactions --query "courses"
# Saisie automatique pour les budgets
cli-anything-firefly-iii --json autocomplete budgets --query "mensuel"
# Saisie automatique pour les factures
cli-anything-firefly-iii --json autocomplete bills --query "netflix"
# Saisie automatique pour les tirelires
cli-anything-firefly-iii --json autocomplete piggy-banks --query "vacances"
# Saisie automatique pour les devises
cli-anything-firefly-iii --json autocomplete currencies --query "dollar"
# Saisie automatique pour les règles
cli-anything-firefly-iii --json autocomplete rules --query "auto"
# Saisie automatique pour les groupes de règles
cli-anything-firefly-iii --json autocomplete rule-groups --query "finances"
# Saisie automatique pour les récurrentes
cli-anything-firefly-iii --json autocomplete recurring --query "loyer"
# Saisie automatique pour les groupes d'objets
cli-anything-firefly-iii --json autocomplete object-groups --query "groupe"
# Saisie automatique pour les types de transactions
cli-anything-firefly-iii --json autocomplete transaction-types --query "retrait"
Gestion des devises
# Lister les devises
cli-anything-firefly-iii --json currencies list
# Obtenir une devise
cli-anything-firefly-iii --json currencies get --id 1
# Créer une devise
cli-anything-firefly-iii --json currencies create \
--code "CNY" \
--name "Yuan chinois" \
--symbol "¥"
# Mettre à jour une devise
cli-anything-firefly-iii --json currencies update --id 1 --symbol "元"
# Supprimer une devise
cli-anything-firefly-iii currencies delete --id 1
# Obtenir les taux de change
cli-anything-firefly-iii --json currencies exchange-rates --from USD --to EUR
Gestion des transactions récurrentes
# Lister les transactions récurrentes
cli-anything-firefly-iii --json recurrences list
# Obtenir une transaction récurrente
cli-anything-firefly-iii --json recurrences get --id 1
# Créer une transaction récurrente
cli-anything-firefly-iii --json recurrences create \
--title "Paiement loyer" \
--type withdrawal \
--amount 1500 \
--source-account 1 \
--destination-account 2 \
--frequency monthly
# Mettre à jour une transaction récurrente
cli-anything-firefly-iii --json recurrences update --id 1 --amount 1600
# Supprimer une transaction récurrente
cli-anything-firefly-iii recurrences delete --id 1
Gestion des règles
# Lister les règles
cli-anything-firefly-iii --json rules list
# Obtenir une règle
cli-anything-firefly-iii --json rules get --id 1
# Créer une règle
cli-anything-firefly-iii --json rules create \
--title "Étiquetage auto des courses" \
--trigger "description_contains" \
--value "courses" \
--action set_category \
--action-value "Alimentation"
# Mettre à jour une règle
cli-anything-firefly-iii --json rules update --id 1 --title "Nouveau titre"
# Supprimer une règle
cli-anything-firefly-iii rules delete --id 1
# Tester une règle
cli-anything-firefly-iii --json rules test --id 1
# Exécuter une règle
cli-anything-firefly-iii --json rules execute --id 1
Gestion des groupes de règles
# Lister les groupes de règles
cli-anything-firefly-iii --json rule-groups list
# Obtenir un groupe de règles
cli-anything-firefly-iii --json rule-groups get --id 1
# Créer un groupe de règles
cli-anything-firefly-iii --json rule-groups create --title "Règles financières"
# Mettre à jour un groupe de règles
cli-anything-firefly-iii --json rule-groups update --id 1 --title "Nouveau titre"
# Supprimer un groupe de règles
cli-anything-firefly-iii rule-groups delete --id 1
# Exécuter un groupe de règles
cli-anything-firefly-iii --json rule-groups execute --id 1
Rapports de synthèse
# Ensemble de synthèse par défaut
cli-anything-firefly-iii --json summary default-set --start 2024-01-01 --end 2024-01-31
# Synthèse des comptes
cli-anything-firefly-iii --json summary account-summary --start 2024-01-01 --end 2024-01-31
# Synthèse des budgets disponibles
cli-anything-firefly-iii --json summary available-budget --start 2024-01-01 --end 2024-01-31
# Synthèse des factures
cli-anything-firefly-iii --json summary bill-summary --start 2024-01-01 --end 2024-01-31
# Synthèse des budgets
cli-anything-firefly-iii --json summary budget-summary --start 2024-01-01 --end 2024-01-31
# Synthèse des catégories
cli-anything-firefly-iii --json summary category-summary --start 2024-01-01 --end 2024-01-31
# Synthèse des étiquettes
cli-anything-firefly-iii --json summary tag-summary --start 2024-01-01 --end 2024-01-31
# Synthèse des transferts
cli-anything-firefly-iii --json summary transfer-summary --start 2024-01-01 --end 2024-01-31
Gestion des webhooks
# Lister les webhooks
cli-anything-firefly-iii --json webhooks list
# Obtenir un webhook
cli-anything-firefly-iii --json webhooks get --id 1
# Créer un webhook
cli-anything-firefly-iii --json webhooks create \
--title "Mon Webhook" \
--trigger create \
--url "https://example.com/webhook" \
--secret "mon-secret"
# Mettre à jour un webhook
cli-anything-firefly-iii --json webhooks update --id 1 --title "Nouveau titre"
# Supprimer un webhook
cli-anything-firefly-iii webhooks delete --id 1
# Déclencher manuellement un webhook
cli-anything-firefly-iii --json webhooks trigger --id 1
Informations et rapports (Insights)
# Rapport de dépenses (par catégorie)
cli-anything-firefly-iii --json insights expense \
--start 2024-01-01 \
--end 2024-01-31 \
--group-by category
# Rapport de revenus
cli-anything-firefly-iii --json insights income \
--start 2024-01-01 \
--end 2024-01-31
# Informations sur les transferts
cli-anything-firefly-iii --json insights transfer \
--start 2024-01-01 \
--end 2024-01-31
# Aperçu des comptes
cli-anything-firefly-iii --json insights overview \
--start 2024-01-01 \
--end 2024-01-31
Recherche
# Rechercher dans les transactions
cli-anything-firefly-iii --json search transactions --query "courses"
Exportation de données
# Exporter les transactions
cli-anything-firefly-iii --json export transactions \
--start 2024-01-01 \
--end 2024-01-31
# Exporter les comptes
cli-anything-firefly-iii --json export accounts
# Exporter les budgets
cli-anything-firefly-iii --json export budgets
# Exporter les catégories
cli-anything-firefly-iii --json export categories
Informations système
# Informations système
cli-anything-firefly-iii --json info about
# État de la connexion
cli-anything-firefly-iii info status
Filtrage par préréglage (Preset)
Utilisez le paramètre --preset pour filtrer les commandes disponibles :
# Préréglage par défaut
cli-anything-firefly-iii --preset default accounts list
# Préréglage complet
cli-anything-firefly-iii --preset full accounts list
# Préréglage budget
cli-anything-firefly-iii --preset budget budgets list
# Préréglage reporting
cli-anything-firefly-iii --preset reporting insights expense --start 2024-01-01 --end 2024-01-31
Préréglages disponibles :
default: Fonctionnalités de base (comptes, transactions, catégories, étiquettes, factures, recherche)full: Toutes les fonctionnalitésbasic: Fonctionnalités basiques (comptes, transactions, catégories, étiquettes, recherche)budget: Lié au budget (comptes, budgets, transactions, synthèse, insights)reporting: Lié au reporting (comptes, transactions, catégories, insights, synthèse, recherche)admin: Fonctionnalités d'administration (à propos, configuration, devises, utilisateurs, préférences)automation: Automatisation (règles, récurrences, webhooks, transactions)
Directives pour l'agent
Utilisation de base
- Utilisez
--jsonpour une sortie structurée : Toutes les commandes prennent en charge le drapeau--json, retournant des données au format JSON - Appelez
info statusen premier pour vérifier la connexion : Confirmez que la connexion à Firefly III est normale avant d'exécuter des opérations - Utilisez les préréglages pour réduire le nombre de commandes : Filtrez les commandes inutiles via
--preset
Flux de travail courants
Consulter les soldes des comptes
# 1. Vérifier la connexion
cli-anything-firefly-iii info status
# 2. Lister les comptes d'actifs
cli-anything-firefly-iii --json accounts list --type asset
# 3. Voir les détails d'un compte (obtenir le solde)
cli-anything-firefly-iii --json accounts get --id <id_du_compte>
Enregistrer une dépense
# 1. Trouver les comptes de dépenses
cli-anything-firefly-iii --json accounts list --type expense
# 2. Créer une transaction
cli-anything-firefly-iii --json transactions create \
--description "Courses au supermarché" \
--amount 75.50 \
--source-account <id_du_compte_source> \
--destination-account <id_du_compte_destination> \
--category "Alimentation"
Gérer les budgets
# 1. Consulter les budgets
cli-anything-firefly-iii --json budgets list
# 2. Voir les limites d'un budget
cli-anything-firefly-iii --json budgets limits --budget-id <id_du_budget>
# 3. Créer une nouvelle limite
cli-anything-firefly-iii --json budgets limit-create \
--budget-id <id_du_budget> \
--amount <montant> \
--start <date_debut> \
--end <date_fin>
Générer des rapports
# Synthèse des dépenses par catégorie
cli-anything-firefly-iii --json insights expense \
--start <date_debut> \
--end <date_fin> \
--group-by category
# Synthèse des comptes
cli-anything-firefly-iii --json summary account-summary \
--start <date_debut> \
--end <date_fin>