Firefly III CLI
Interface de linha de comando para Firefly III baseada na especificação CLI-Anything. Converte modo MCP para modo CLI sem estado para evitar problemas de processos residuais do Node.
Instalação
pip install cli-anything-firefly-iii
Pré-requisitos
- Python 3.10+
- Instância do Firefly III em execução
- Token de Acesso Pessoal (PAT)
Configuração
Variáveis de Ambiente (Recomendado)
export FIREFLY_III_BASE_URL="https://firefly.seudominio.com"
export FIREFLY_III_PAT="seu-token-de-acesso-pessoal"
Argumentos de Linha de Comando
cli-anything-firefly-iii --base-url https://firefly.seudominio.com --pat seu-token
Grupos de Comandos
| Grupo de Comandos | Descrição | API Correspondente |
|---|---|---|
accounts | Gerenciamento de contas (CRUD) | /api/v1/accounts |
transactions | Gerenciamento de transações (CRUD) | /api/v1/transactions |
budgets | Gerenciamento de orçamentos (CRUD + limites) | /api/v1/budgets |
categories | Gerenciamento de categorias (CRUD) | /api/v1/categories |
tags | Gerenciamento de tags (CRUD) | /api/v1/tags |
bills | Gerenciamento de faturas (CRUD) | /api/v1/bills |
piggy-banks | Gerenciamento de cofrinhos (CRUD + eventos) | /api/v1/piggy-banks |
autocomplete | Autocomplete para várias entidades | /api/v1/autocomplete/* |
currencies | Gerenciamento de moedas (CRUD) | /api/v1/currencies |
recurrences | Gerenciamento de transações recorrentes (CRUD) | /api/v1/recurrences |
rules | Gerenciamento de regras (CRUD + testar/executar) | /api/v1/rules |
rule-groups | Gerenciamento de grupos de regras (CRUD + executar) | /api/v1/rule-groups |
summary | Resumos financeiros | /api/v1/summary/* |
webhooks | Gerenciamento de webhooks (CRUD + acionar) | /api/v1/webhooks |
insights | Insights e relatórios | /api/v1/insight/* |
search | Pesquisa | /api/v1/search/* |
export | Exportação de dados | /api/v1/data/export/* |
info | Informações do sistema | /api/v1/about |
Exemplos de Uso
Gerenciamento de Contas
# Listar todas as contas
cli-anything-firefly-iii --json accounts list
# Listar contas de ativos
cli-anything-firefly-iii --json accounts list --type asset
# Obter detalhes da conta
cli-anything-firefly-iii --json accounts get --id 123
# Criar conta
cli-anything-firefly-iii --json accounts create --name "Dinheiro" --type asset --currency-code BRL
# Atualizar conta
cli-anything-firefly-iii --json accounts update --id 123 --name "Novo Nome"
# Excluir conta
cli-anything-firefly-iii accounts delete --id 123
Gerenciamento de Transações
# Listar transações
cli-anything-firefly-iii --json transactions list --limit 10
# Listar transações com intervalo de datas
cli-anything-firefly-iii --json transactions list --start 2024-01-01 --end 2024-01-31
# Criar transação
cli-anything-firefly-iii --json transactions create \
--description "Supermercado" \
--amount 50.00 \
--source-account 1 \
--category "Alimentação"
# Atualizar transação
cli-anything-firefly-iii --json transactions update --id 456 --description "Atualizado"
# Excluir transação
cli-anything-firefly-iii transactions delete --id 456
Gerenciamento de Orçamentos
# Listar orçamentos
cli-anything-firefly-iii --json budgets list
# Obter detalhes do orçamento
cli-anything-firefly-iii --json budgets get --id 1
# Criar orçamento
cli-anything-firefly-iii --json budgets create --name "Orçamento Mensal"
# Atualizar orçamento
cli-anything-firefly-iii --json budgets update --id 1 --name "Novo Nome do Orçamento"
# Excluir orçamento
cli-anything-firefly-iii budgets delete --id 1
# Listar limites do orçamento
cli-anything-firefly-iii --json budgets limits --budget-id 1
# Criar limite de orçamento
cli-anything-firefly-iii --json budgets limit-create --budget-id 1 --amount 1000 --start 2024-01-01 --end 2024-01-31
# Atualizar limite de orçamento
cli-anything-firefly-iii --json budgets limit-update --id 1 --amount 1500
# Excluir limite de orçamento
cli-anything-firefly-iii budgets limit-delete --id 1
Gerenciamento de Categorias
# Listar categorias
cli-anything-firefly-iii --json categories list
# Obter categoria
cli-anything-firefly-iii --json categories get --id 1
# Criar categoria
cli-anything-firefly-iii --json categories create --name "Alimentação"
# Atualizar categoria
cli-anything-firefly-iii --json categories update --id 1 --name "Alimentação & Refeições"
# Excluir categoria
cli-anything-firefly-iii categories delete --id 1
Gerenciamento de Tags
# Listar tags
cli-anything-firefly-iii --json tags list
# Obter tag
cli-anything-firefly-iii --json tags get --id "uuid-aqui"
# Criar tag
cli-anything-firefly-iii --json tags create --tag "importante"
# Atualizar tag
cli-anything-firefly-iii --json tags update --id "uuid-aqui" --tag "importante-atualizado"
# Excluir tag
cli-anything-firefly-iii tags delete --id "uuid-aqui"
Gerenciamento de Faturas
# Listar faturas
cli-anything-firefly-iii --json bills list
# Obter fatura
cli-anything-firefly-iii --json bills get --id 1
# Criar fatura
cli-anything-firefly-iii --json bills create \
--name "Netflix" \
--amount-min 15.99 \
--amount-max 15.99 \
--frequency monthly
# Atualizar fatura
cli-anything-firefly-iii --json bills update --id 1 --amount-min 19.99
# Excluir fatura
cli-anything-firefly-iii bills delete --id 1
Gerenciamento de Cofrinhos
# Listar cofrinhos
cli-anything-firefly-iii --json piggy-banks list
# Obter cofrinho
cli-anything-firefly-iii --json piggy-banks get --id 1
# Criar cofrinho
cli-anything-firefly-iii --json piggy-banks create \
--name "Fundo de Férias" \
--account-id 1 \
--target-amount 5000
# Atualizar cofrinho
cli-anything-firefly-iii --json piggy-banks update --id 1 --name "Novo Nome"
# Excluir cofrinho
cli-anything-firefly-iii piggy-banks delete --id 1
# Listar eventos do cofrinho
cli-anything-firefly-iii --json piggy-banks events --id 1
# Adicionar dinheiro ao cofrinho
cli-anything-firefly-iii --json piggy-banks add-money --id 1 --amount 100
Autocomplete
# Autocomplete contas
cli-anything-firefly-iii --json autocomplete accounts --query "banco"
# Autocomplete categorias
cli-anything-firefly-iii --json autocomplete categories --query "comida"
# Autocomplete tags
cli-anything-firefly-iii --json autocomplete tags --query "importante"
# Autocomplete transações
cli-anything-firefly-iii --json autocomplete transactions --query "mercado"
# Autocomplete orçamentos
cli-anything-firefly-iii --json autocomplete budgets --query "mensal"
# Autocomplete faturas
cli-anything-firefly-iii --json autocomplete bills --query "netflix"
# Autocomplete cofrinhos
cli-anything-firefly-iii --json autocomplete piggy-banks --query "viagem"
# Autocomplete moedas
cli-anything-firefly-iii --json autocomplete currencies --query "dolar"
# Autocomplete regras
cli-anything-firefly-iii --json autocomplete rules --query "auto"
# Autocomplete grupos de regras
cli-anything-firefly-iii --json autocomplete rule-groups --query "financas"
# Autocomplete transações recorrentes
cli-anything-firefly-iii --json autocomplete recurring --query "aluguel"
# Autocomplete grupos de objetos
cli-anything-firefly-iii --json autocomplete object-groups --query "grupo"
# Autocomplete tipos de transação
cli-anything-firefly-iii --json autocomplete transaction-types --query "retir"
Gerenciamento de Moedas
# Listar moedas
cli-anything-firefly-iii --json currencies list
# Obter moeda
cli-anything-firefly-iii --json currencies get --id 1
# Criar moeda
cli-anything-firefly-iii --json currencies create \
--code "BRL" \
--name "Real Brasileiro" \
--symbol "R$"
# Atualizar moeda
cli-anything-firefly-iii --json currencies update --id 1 --symbol "R$"
# Excluir moeda
cli-anything-firefly-iii currencies delete --id 1
# Obter taxas de câmbio
cli-anything-firefly-iii --json currencies exchange-rates --from USD --to EUR
Gerenciamento de Transações Recorrentes
# Listar transações recorrentes
cli-anything-firefly-iii --json recurrences list
# Obter transação recorrente
cli-anything-firefly-iii --json recurrences get --id 1
# Criar transação recorrente
cli-anything-firefly-iii --json recurrences create \
--title "Pagamento de Aluguel" \
--type withdrawal \
--amount 1500 \
--source-account 1 \
--destination-account 2 \
--frequency monthly
# Atualizar transação recorrente
cli-anything-firefly-iii --json recurrences update --id 1 --amount 1600
# Excluir transação recorrente
cli-anything-firefly-iii recurrences delete --id 1
Gerenciamento de Regras
# Listar regras
cli-anything-firefly-iii --json rules list
# Obter regra
cli-anything-firefly-iii --json rules get --id 1
# Criar regra
cli-anything-firefly-iii --json rules create \
--title "Auto-tag supermercado" \
--trigger "description_contains" \
--value "mercado" \
--action set_category \
--action-value "Alimentação"
# Atualizar regra
cli-anything-firefly-iii --json rules update --id 1 --title "Novo Título"
# Excluir regra
cli-anything-firefly-iii rules delete --id 1
# Testar regra
cli-anything-firefly-iii --json rules test --id 1
# Executar regra
cli-anything-firefly-iii --json rules execute --id 1
Gerenciamento de Grupos de Regras
# Listar grupos de regras
cli-anything-firefly-iii --json rule-groups list
# Obter grupo de regras
cli-anything-firefly-iii --json rule-groups get --id 1
# Criar grupo de regras
cli-anything-firefly-iii --json rule-groups create --title "Regras Financeiras"
# Atualizar grupo de regras
cli-anything-firefly-iii --json rule-groups update --id 1 --title "Novo Título"
# Excluir grupo de regras
cli-anything-firefly-iii rule-groups delete --id 1
# Executar grupo de regras
cli-anything-firefly-iii --json rule-groups execute --id 1
Relatórios de Resumo
# Conjunto de resumo padrão
cli-anything-firefly-iii --json summary default-set --start 2024-01-01 --end 2024-01-31
# Resumo por conta
cli-anything-firefly-iii --json summary account-summary --start 2024-01-01 --end 2024-01-31
# Resumo do orçamento disponível
cli-anything-firefly-iii --json summary available-budget --start 2024-01-01 --end 2024-01-31
# Resumo de faturas
cli-anything-firefly-iii --json summary bill-summary --start 2024-01-01 --end 2024-01-31
# Resumo de orçamento
cli-anything-firefly-iii --json summary budget-summary --start 2024-01-01 --end 2024-01-31
# Resumo por categoria
cli-anything-firefly-iii --json summary category-summary --start 2024-01-01 --end 2024-01-31
# Resumo por tag
cli-anything-firefly-iii --json summary tag-summary --start 2024-01-01 --end 2024-01-31
# Resumo de transferências
cli-anything-firefly-iii --json summary transfer-summary --start 2024-01-01 --end 2024-01-31
Gerenciamento de Webhooks
# Listar webhooks
cli-anything-firefly-iii --json webhooks list
# Obter webhook
cli-anything-firefly-iii --json webhooks get --id 1
# Criar webhook
cli-anything-firefly-iii --json webhooks create \
--title "Meu Webhook" \
--trigger create \
--url "https://exemplo.com/webhook" \
--secret "meu-segredo"
# Atualizar webhook
cli-anything-firefly-iii --json webhooks update --id 1 --title "Novo Título"
# Excluir webhook
cli-anything-firefly-iii webhooks delete --id 1
# Acionar webhook manualmente
cli-anything-firefly-iii --json webhooks trigger --id 1
Insights e Relatórios
# Relatório de despesas (por categoria)
cli-anything-firefly-iii --json insights expense \
--start 2024-01-01 \
--end 2024-01-31 \
--group-by category
# Relatório de receitas
cli-anything-firefly-iii --json insights income \
--start 2024-01-01 \
--end 2024-01-31
# Insights de transferências
cli-anything-firefly-iii --json insights transfer \
--start 2024-01-01 \
--end 2024-01-31
# Visão geral da conta
cli-anything-firefly-iii --json insights overview \
--start 2024-01-01 \
--end 2024-01-31
Pesquisa
# Pesquisar transações
cli-anything-firefly-iii --json search transactions --query "mercado"
Exportação de Dados
# Exportar transações
cli-anything-firefly-iii --json export transactions \
--start 2024-01-01 \
--end 2024-01-31
# Exportar contas
cli-anything-firefly-iii --json export accounts
# Exportar orçamentos
cli-anything-firefly-iii --json export budgets
# Exportar categorias
cli-anything-firefly-iii --json export categories
Informações do Sistema
# Informações do sistema
cli-anything-firefly-iii --json info about
# Status da conexão
cli-anything-firefly-iii info status
Filtragem por Preset
Use o parâmetro --preset para filtrar comandos disponíveis:
# Preset padrão
cli-anything-firefly-iii --preset default accounts list
# Preset completo
cli-anything-firefly-iii --preset full accounts list
# Preset de orçamento
cli-anything-firefly-iii --preset budget budgets list
# Preset de relatórios
cli-anything-firefly-iii --preset reporting insights expense --start 2024-01-01 --end 2024-01-31
Presets disponíveis:
default: Funcionalidades principais (contas, transações, categorias, tags, faturas, pesquisa)full: Todas as funcionalidadesbasic: Funcionalidades básicas (contas, transações, categorias, tags, pesquisa)budget: Relacionado a orçamentos (contas, orçamentos, transações, resumo, insight)reporting: Relacionado a relatórios (contas, transações, categorias, insight, resumo, pesquisa)admin: Funcionalidades administrativas (sobre, configuração, moedas, usuários, preferências)automation: Automação (regras, recorrências, webhooks, transações)
Diretrizes para Agentes
Uso Básico
- Use
--jsonpara saída estruturada: Todos os comandos suportam a flag--json, retornando dados em formato JSON - Chame
info statusprimeiro para verificar conexão: Confirme se a conexão com o Firefly III está normal antes de executar operações - Use presets para reduzir a quantidade de comandos: Filtre comandos desnecessários através de
--preset
Fluxos de Trabalho Comuns
Visualizar Saldos de Contas
# 1. Verificar conexão
cli-anything-firefly-iii info status
# 2. Listar contas de ativos
cli-anything-firefly-iii --json accounts list --type asset
# 3. Visualizar detalhes da conta (obter saldo)
cli-anything-firefly-iii --json accounts get --id <account_id>
Registrar Despesa
# 1. Encontre contas de despesa
cli-anything-firefly-iii --json accounts list --type expense
# 2. Criar transação
cli-anything-firefly-iii --json transactions create \
--description "Supermercado" \
--amount 120.50 \
--source-account <conta_ativo_id> \
--destination-account <conta_despesa_id> \
--category "Alimentação"
Pesquisar e Categorizar Transações
# 1. Pesquisar transações por descrição
cli-anything-firefly-iii --json search transactions --query "aluguel"
# 2. Obter detalhes da transação
cli-anything-firefly-iii --json transactions get --id <transaction_id>
# 3. Atualizar categoria
cli-anything-firefly-iii --json transactions update --id <transaction_id> --category "Moradia"
Gerenciar Orçamento Mensal
# 1. Listar orçamentos existentes
cli-anything-firefly-iii --json budgets list
# 2. Ver limites do orçamento
cli-anything-firefly-iii --json budgets limits --budget-id <budget_id>
# 3. Criar novo limite de orçamento
cli-anything-firefly-iii --json budgets limit-create \
--budget-id <budget_id> \
--amount 2000 \
--start 2024-01-01 \
--end 2024-01-31
Relatório de Despesas por Categoria
# 1. Relatório de despesas
cli-anything-firefly-iii --json insights expense \
--start 2024-01-01 \
--end 2024-01-31 \
--group-by category
# 2. Resumo por categoria
cli-anything-firefly-iii --json summary category-summary \
--start 2024-01-01 \
--end 2024-01-31
# 3. Exportar dados para análise avançada
cli-anything-firefly-iii --json export categories
Manipulação de Erros
- Erro de Conexão: Verifique
FIREFLY_III_BASE_URLe conectividade de rede - Erro de Autenticação: Verifique se
FIREFLY_III_PATestá correto e se o token não expirou - Erro de Requisição: Verifique formato dos argumentos e ids
- Erro de Timeout: Considere reduzir o tamanho do lote ou intervalo de datas
- Erro de Parse de JSON: Verifique se a flag
--jsonfoi adicionada