Record and query personal financial data stored in PostgreSQL via the assistant CLI.
All commands: assistant <command> [json-args]
Output: JSON to stdout on success, error to stderr with exit code 1.
CommandArgumentsDescriptioncreate-expenseamount, walletId, currencyCode, categoryId, description?Record an expensecreate-incomeamount, walletId, currencyCode, description?Record incomecreate-transferamount, walletId, currencyCode, toWalletId, toCurrencyCode, toAmount, description?Transfer between walletslist-transactionswalletId?, categoryId?, type?, limit?, offset?, dateFrom?, dateTo?List transactionsdelete-transactionidDelete a transactionget-wallets—Get all wallets with balancesget-wallet-balancewalletIdGet wallet balancecreate-walletnameCreate a walletget-categories—Get all categoriescreate-categorynameCreate a categorydelete-categoryidDelete a categoryspending-reportgroupBy, walletId?, dateFrom?, dateTo?Spending report
assistant create-expense '{"amount":"100","walletId":"...","currencyCode":"ARS","categoryId":"..."}'assistant create-income '{"amount":"5000","walletId":"...","currencyCode":"ARS"}'assistant create-transfer '{"amount":"100","walletId":"...","currencyCode":"USD","toWalletId":"...","toCurrencyCode":"USD","toAmount":"100"}'toAmount equals amountExtract from the user's message:
Before creating a transaction:
assistant get-wallets to find the correct wallet IDassistant get-categories to find the correct category IDassistant create-category '{"name":"..."}'If any required field is unclear or missing, ask the user one concise clarifying question. Common cases:
Do NOT guess — ask. But do NOT over-ask if the context is obvious.
Run the appropriate command ( assistant create-expense, assistant create-income, or assistant create-transfer) with the resolved data as a JSON argument.
After creating the transaction, run assistant get-wallet-balance '{"walletId":"..."}' and reply with a concise confirmation including:
Example reply format for an expense:
text
Записал: Булочка -200 ARS (Наличка ARS, Продукты)
Баланс Наличка ARS: 15 300 $
Example reply format for a transfer:
text
Перевод: 100 USD Tinkoff → Наличка
Баланс Tinkoff: 500 $
Баланс Наличка: 300 $