Firefly III CLI
Interfaz de línea de comandos de Firefly III basada en la especificación CLI-Anything. Convierte el modo MCP a un modo CLI sin estado para evitar problemas de procesos residuales de Node.
Instalación
pip install cli-anything-firefly-iii
Prerrequisitos
- Python 3.10+
- Instancia de Firefly III en ejecución
- Token de Acceso Personal (PAT)
Configuración
Variables de entorno (Recomendado)
export FIREFLY_III_BASE_URL="https://firefly.yourdomain.com"
export FIREFLY_III_PAT="su-token-de-acceso-personal"
Argumentos de línea de comandos
cli-anything-firefly-iii --base-url https://firefly.yourdomain.com --pat su-token
Grupos de comandos
| Grupo de comandos | Descripción | API correspondiente |
|---|---|---|
accounts | Gestión de cuentas (CRUD) | /api/v1/accounts |
transactions | Gestión de transacciones (CRUD) | /api/v1/transactions |
budgets | Gestión de presupuestos (CRUD + límites) | /api/v1/budgets |
categories | Gestión de categorías (CRUD) | /api/v1/categories |
tags | Gestión de etiquetas (CRUD) | /api/v1/tags |
bills | Gestión de facturas (CRUD) | /api/v1/bills |
piggy-banks | Gestión de alcancías (CRUD + eventos) | /api/v1/piggy-banks |
autocomplete | Autocompletado para varias entidades | /api/v1/autocomplete/* |
currencies | Gestión de monedas (CRUD) | /api/v1/currencies |
recurrences | Gestión de transacciones recurrentes (CRUD) | /api/v1/recurrences |
rules | Gestión de reglas (CRUD + prueba/ejecución) | /api/v1/rules |
rule-groups | Gestión de grupos de reglas (CRUD + ejecución) | /api/v1/rule-groups |
summary | Resúmenes financieros | /api/v1/summary/* |
webhooks | Gestión de webhooks (CRUD + disparo) | /api/v1/webhooks |
insights | Información y reportes | /api/v1/insight/* |
search | Búsqueda | /api/v1/search/* |
export | Exportación de datos | /api/v1/data/export/* |
info | Información del sistema | /api/v1/about |
Ejemplos de uso
Gestión de cuentas
# Listar todas las cuentas
cli-anything-firefly-iii --json accounts list
# Listar cuentas de activos
cli-anything-firefly-iii --json accounts list --type asset
# Obtener detalles de una cuenta
cli-anything-firefly-iii --json accounts get --id 123
# Crear cuenta
cli-anything-firefly-iii --json accounts create --name "Efectivo" --type asset --currency-code USD
# Actualizar cuenta
cli-anything-firefly-iii --json accounts update --id 123 --name "Nuevo nombre"
# Eliminar cuenta
cli-anything-firefly-iii accounts delete --id 123
Gestión de transacciones
# Listar transacciones
cli-anything-firefly-iii --json transactions list --limit 10
# Listar transacciones por rango de fechas
cli-anything-firefly-iii --json transactions list --start 2024-01-01 --end 2024-01-31
# Crear transacción
cli-anything-firefly-iii --json transactions create \
--description "Supermercado" \
--amount 50.00 \
--source-account 1 \
--category "Alimentación"
# Actualizar transacción
cli-anything-firefly-iii --json transactions update --id 456 --description "Actualizada"
# Eliminar transacción
cli-anything-firefly-iii transactions delete --id 456
Gestión de presupuestos
# Listar presupuestos
cli-anything-firefly-iii --json budgets list
# Obtener detalles de presupuesto
cli-anything-firefly-iii --json budgets get --id 1
# Crear presupuesto
cli-anything-firefly-iii --json budgets create --name "Presupuesto mensual"
# Actualizar presupuesto
cli-anything-firefly-iii --json budgets update --id 1 --name "Nuevo nombre de presupuesto"
# Eliminar presupuesto
cli-anything-firefly-iii budgets delete --id 1
# Listar límites de presupuesto
cli-anything-firefly-iii --json budgets limits --budget-id 1
# Crear límite de presupuesto
cli-anything-firefly-iii --json budgets limit-create --budget-id 1 --amount 1000 --start 2024-01-01 --end 2024-01-31
# Actualizar límite de presupuesto
cli-anything-firefly-iii --json budgets limit-update --id 1 --amount 1500
# Eliminar límite de presupuesto
cli-anything-firefly-iii budgets limit-delete --id 1
Gestión de categorías
# Listar categorías
cli-anything-firefly-iii --json categories list
# Obtener categoría
cli-anything-firefly-iii --json categories get --id 1
# Crear categoría
cli-anything-firefly-iii --json categories create --name "Alimentación"
# Actualizar categoría
cli-anything-firefly-iii --json categories update --id 1 --name "Alimentación y restaurantes"
# Eliminar categoría
cli-anything-firefly-iii categories delete --id 1
Gestión de etiquetas
# Listar etiquetas
cli-anything-firefly-iii --json tags list
# Obtener etiqueta
cli-anything-firefly-iii --json tags get --id "uuid-here"
# Crear etiqueta
cli-anything-firefly-iii --json tags create --tag "importante"
# Actualizar etiqueta
cli-anything-firefly-iii --json tags update --id "uuid-here" --tag "importante-actualizado"
# Eliminar etiqueta
cli-anything-firefly-iii tags delete --id "uuid-here"
Gestión de facturas
# Listar facturas
cli-anything-firefly-iii --json bills list
# Obtener factura
cli-anything-firefly-iii --json bills get --id 1
# Crear factura
cli-anything-firefly-iii --json bills create \
--name "Netflix" \
--amount-min 15.99 \
--amount-max 15.99 \
--frequency monthly
# Actualizar factura
cli-anything-firefly-iii --json bills update --id 1 --amount-min 19.99
# Eliminar factura
cli-anything-firefly-iii bills delete --id 1
Gestión de alcancías
# Listar alcancías
cli-anything-firefly-iii --json piggy-banks list
# Obtener alcancía
cli-anything-firefly-iii --json piggy-banks get --id 1
# Crear alcancía
cli-anything-firefly-iii --json piggy-banks create \
--name "Fondo de vacaciones" \
--account-id 1 \
--target-amount 5000
# Actualizar alcancía
cli-anything-firefly-iii --json piggy-banks update --id 1 --name "Nuevo nombre"
# Eliminar alcancía
cli-anything-firefly-iii piggy-banks delete --id 1
# Listar eventos de alcancía
cli-anything-firefly-iii --json piggy-banks events --id 1
# Agregar dinero a la alcancía
cli-anything-firefly-iii --json piggy-banks add-money --id 1 --amount 100
Autocompletado
# Autocompletar cuentas
cli-anything-firefly-iii --json autocomplete accounts --query "banco"
# Autocompletar categorías
cli-anything-firefly-iii --json autocomplete categories --query "alimentación"
# Autocompletar etiquetas
cli-anything-firefly-iii --json autocomplete tags --query "importante"
# Autocompletar transacciones
cli-anything-firefly-iii --json autocomplete transactions --query "supermercado"
# Autocompletar presupuestos
cli-anything-firefly-iii --json autocomplete budgets --query "mensual"
# Autocompletar facturas
cli-anything-firefly-iii --json autocomplete bills --query "netflix"
# Autocompletar alcancías
cli-anything-firefly-iii --json autocomplete piggy-banks --query "vacaciones"
# Autocompletar monedas
cli-anything-firefly-iii --json autocomplete currencies --query "dólar"
# Autocompletar reglas
cli-anything-firefly-iii --json autocomplete rules --query "auto"
# Autocompletar grupos de reglas
cli-anything-firefly-iii --json autocomplete rule-groups --query "finanzas"
# Autocompletar transacciones recurrentes
cli-anything-firefly-iii --json autocomplete recurring --query "alquiler"
# Autocompletar grupos de objetos
cli-anything-firefly-iii --json autocomplete object-groups --query "grupo"
# Autocompletar tipos de transacción
cli-anything-firefly-iii --json autocomplete transaction-types --query "retiro"
Gestión de monedas
# Listar monedas
cli-anything-firefly-iii --json currencies list
# Obtener moneda
cli-anything-firefly-iii --json currencies get --id 1
# Crear moneda
cli-anything-firefly-iii --json currencies create \
--code "CNY" \
--name "Yuan chino" \
--symbol "¥"
# Actualizar moneda
cli-anything-firefly-iii --json currencies update --id 1 --symbol "元"
# Eliminar moneda
cli-anything-firefly-iii currencies delete --id 1
# Obtener tasas de cambio
cli-anything-firefly-iii --json currencies exchange-rates --from USD --to EUR
Gestión de transacciones recurrentes
# Listar transacciones recurrentes
cli-anything-firefly-iii --json recurrences list
# Obtener transacción recurrente
cli-anything-firefly-iii --json recurrences get --id 1
# Crear transacción recurrente
cli-anything-firefly-iii --json recurrences create \
--title "Pago de alquiler" \
--type withdrawal \
--amount 1500 \
--source-account 1 \
--destination-account 2 \
--frequency monthly
# Actualizar transacción recurrente
cli-anything-firefly-iii --json recurrences update --id 1 --amount 1600
# Eliminar transacción recurrente
cli-anything-firefly-iii recurrences delete --id 1
Gestión de reglas
# Listar reglas
cli-anything-firefly-iii --json rules list
# Obtener regla
cli-anything-firefly-iii --json rules get --id 1
# Crear regla
cli-anything-firefly-iii --json rules create \
--title "Etiquetar automáticamente compras de supermercado" \
--trigger "description_contains" \
--value "supermercado" \
--action set_category \
--action-value "Alimentación"
# Actualizar regla
cli-anything-firefly-iii --json rules update --id 1 --title "Nuevo título"
# Eliminar regla
cli-anything-firefly-iii rules delete --id 1
# Probar regla
cli-anything-firefly-iii --json rules test --id 1
# Ejecutar regla
cli-anything-firefly-iii --json rules execute --id 1
Gestión de grupos de reglas
# Listar grupos de reglas
cli-anything-firefly-iii --json rule-groups list
# Obtener grupo de reglas
cli-anything-firefly-iii --json rule-groups get --id 1
# Crear grupo de reglas
cli-anything-firefly-iii --json rule-groups create --title "Reglas financieras"
# Actualizar grupo de reglas
cli-anything-firefly-iii --json rule-groups update --id 1 --title "Nuevo título"
# Eliminar grupo de reglas
cli-anything-firefly-iii rule-groups delete --id 1
# Ejecutar grupo de reglas
cli-anything-firefly-iii --json rule-groups execute --id 1
Reportes de resumen
# Conjunto de resumen predeterminado
cli-anything-firefly-iii --json summary default-set --start 2024-01-01 --end 2024-01-31
# Resumen de cuentas
cli-anything-firefly-iii --json summary account-summary --start 2024-01-01 --end 2024-01-31
# Resumen de presupuesto disponible
cli-anything-firefly-iii --json summary available-budget --start 2024-01-01 --end 2024-01-31
# Resumen de facturas
cli-anything-firefly-iii --json summary bill-summary --start 2024-01-01 --end 2024-01-31
# Resumen de presupuestos
cli-anything-firefly-iii --json summary budget-summary --start 2024-01-01 --end 2024-01-31
# Resumen de categorías
cli-anything-firefly-iii --json summary category-summary --start 2024-01-01 --end 2024-01-31
# Resumen de etiquetas
cli-anything-firefly-iii --json summary tag-summary --start 2024-01-01 --end 2024-01-31
# Resumen de transferencias
cli-anything-firefly-iii --json summary transfer-summary --start 2024-01-01 --end 2024-01-31
Gestión de webhooks
# Listar webhooks
cli-anything-firefly-iii --json webhooks list
# Obtener webhook
cli-anything-firefly-iii --json webhooks get --id 1
# Crear webhook
cli-anything-firefly-iii --json webhooks create \
--title "Mi webhook" \
--trigger create \
--url "https://example.com/webhook" \
--secret "mi-secreto"
# Actualizar webhook
cli-anything-firefly-iii --json webhooks update --id 1 --title "Nuevo título"
# Eliminar webhook
cli-anything-firefly-iii webhooks delete --id 1
# Disparar webhook manualmente
cli-anything-firefly-iii --json webhooks trigger --id 1
Información y reportes
# Reporte de gastos (por categoría)
cli-anything-firefly-iii --json insights expense \
--start 2024-01-01 \
--end 2024-01-31 \
--group-by category
# Reporte de ingresos
cli-anything-firefly-iii --json insights income \
--start 2024-01-01 \
--end 2024-01-31
# Información de transferencias
cli-anything-firefly-iii --json insights transfer \
--start 2024-01-01 \
--end 2024-01-31
# Resumen de cuentas
cli-anything-firefly-iii --json insights overview \
--start 2024-01-01 \
--end 2024-01-31
Búsqueda
# Buscar transacciones
cli-anything-firefly-iii --json search transactions --query "supermercado"
Exportación de datos
# Exportar transacciones
cli-anything-firefly-iii --json export transactions \
--start 2024-01-01 \
--end 2024-01-31
# Exportar cuentas
cli-anything-firefly-iii --json export accounts
# Exportar presupuestos
cli-anything-firefly-iii --json export budgets
# Exportar categorías
cli-anything-firefly-iii --json export categories
Información del sistema
# Información del sistema
cli-anything-firefly-iii --json info about
# Estado de conexión
cli-anything-firefly-iii info status
Filtrado preestablecido
Use el parámetro --preset para filtrar los comandos disponibles:
# Preestablecido predeterminado
cli-anything-firefly-iii --preset default accounts list
# Preestablecido completo
cli-anything-firefly-iii --preset full accounts list
# Preestablecido de presupuesto
cli-anything-firefly-iii --preset budget budgets list
# Preestablecido de reportes
cli-anything-firefly-iii --preset reporting insights expense --start 2024-01-01 --end 2024-01-31
Preestablecidos disponibles:
default: Funciones principales (cuentas, transacciones, categorías, etiquetas, facturas, búsqueda)full: Todas las funcionesbasic: Funciones básicas (cuentas, transacciones, categorías, etiquetas, búsqueda)budget: Relacionado con presupuestos (cuentas, presupuestos, transacciones, resumen, información)reporting: Relacionado con reportes (cuentas, transacciones, categorías, información, resumen, búsqueda)admin: Funciones de administración (acerca de, configuración, monedas, usuarios, preferencias)automation: Automatización (reglas, recurrencias, webhooks, transacciones)
Pautas para agentes
Uso básico
- Use
--jsonpara salida estructurada: Todos los comandos admiten la bandera--json, que devuelve datos en formato JSON - Llame a
info statusprimero para verificar la conexión: Confirme que la conexión a Firefly III sea normal antes de ejecutar operaciones - Use preestablecidos para reducir la cantidad de comandos: Filtre comandos innecesarios mediante
--preset
Flujos de trabajo comunes
Ver saldos de cuentas
# 1. Verificar conexión
cli-anything-firefly-iii info status
# 2. Listar cuentas de activos
cli-anything-firefly-iii --json accounts list --type asset
# 3. Ver detalles de la cuenta (obtener saldo)
cli-anything-firefly-iii --json accounts get --id <account_id>
Registrar un gasto
# 1. Encontrar cuentas de gastos
cli-anything-firefly-iii --json accounts list --type expense
# 2. Crear transacción
cli-anything-firefly-iii --json transactions create \
--description "Compra en supermercado" \
--amount 50.00 \
--source-account <cuenta_origen_id> \
--destination-account <cuenta_destino_id> \
--category "Alimentación"
Gestión de presupuesto
# 1. Listar presupuestos disponibles
cli-anything-firefly-iii --json budgets list
# 2. Crear un nuevo presupuesto
cli-anything-firefly-iii --json budgets create --name "Presupuesto mensual"
# 3. Establecer límite de presupuesto
cli-anything-firefly-iii --json budgets limit-create \
--budget-id 1 \
--amount 1000 \
--start 2024-01-01 \
--end 2024-01-31
Solución de problemas
Errores comunes
- Conexión rechazada: Verifique que la URL base de Firefly III sea correcta y que la instancia esté en ejecución
- Token no autorizado: Asegúrese de que el Token de Accceso Personal (PAT) tenga los permisos adecuados
- Comando no encontrado: Verifique la instalación y que el paquete
cli-anything-firefly-iiiesté correctamente instalado - Error de exportación de datos: Asegúrese de que los parámetros de inicio y fin estén en formato
YYYY-MM-DD
Soporte
- Documentación de Firefly III: https://docs.firefly-iii.org/
- Repositorio de CLI-Anything: https://github.com/your-repo/cli-anything-firefly-iii
- Issues: https://github.com/your-repo/cli-anything-firefly-iii/issues