Пресет personal-finance: личные финансы с агентом

Личные финансы: счета, долги, бюджет, цели, инвестиции, отчёты, решения

Готовый пресет для блокнота, в котором вы и агент в роли финансового помощника ведёте деньги одного домохозяйства: счета и долги, доходы и бюджет, цели, инвестиции, отчёты за период, решения и рыночные вводные, на которых они построены. Файл: presets/personal-finance.yaml.

Подключение

В config.yaml укажите каталог с пресетами (в Docker он лежит рядом с конфигом, например /config/presets):

presets_dir: ./presets

Создайте блокнот:

uv run okf-notebooks notebook create family-finance \
  --description "Финансы семьи: счета, долги, доходы, бюджет, цели, инвестиции, месячные отчёты и решения" \
  --scope "Остатки, долги, лимиты бюджета, цели, позиции, итоги периодов, решения. Без номеров счетов и карт, без отдельных транзакций" \
  --preset personal-finance

Типы

ТипКаталогЧто хранитОбязательные поляstale_after
Accountaccounts/где лежат деньги или актив: остаток на дату, ставка, ликвидность, назначениеkind, currency90d
Liabilityliabilities/долг: ставка, платёж, остаток на дату, срок, условия досрочного погашенияkind90d
IncomeSourceincome-sources/источник дохода, активный или пассивныйnature180d
BudgetCategorybudget/категория расходов и её месячный лимитkind365d
FinGoalgoals/цель: сумма, срок, взнос, приоритетtarget_amount, deadline90d
Holdingholdings/инвестиционная позиция: роль, тезис и условие выходаthesis90d
Policypolicies/инвестиционная политика: структура, лимиты риска, ребалансировка, предусловия—365d
Reportreports/итоги месяца, квартала или года: доходы, расходы, норма сбережений, капиталperiod, period_kind—
Decisiondecisions/вопрос, варианты, выбор и кто его предложилquestion, state—
Assumptionassumptions/рыночная вводная (ставки, инфляция, курсы) с датой и источникомvalue, as_of30d
AdvisorRuleadvisor-rules/как агент работает в блокноте: границы, проверки, красные линии——

Значения, которые ждут типы:

  • BudgetCategory.kind: essential, variable, wants, goal-contribution;
  • IncomeSource.nature: active или passive;
  • FinGoal.state: planned, active, reached, dropped;
  • Decision.state: open, proposed, accepted, rejected, superseded; proposed_by — кто предложил (агент или человек).

Как это работает с агентами

  • Остатки, долги и вводные быстро устаревают (stale_after 30–90 дней). Поиск помечает старые как stale, и агент видит, что число надо обновить, прежде чем на нём считать.
  • Предложения агента отделены от ваших решений: агент пишет Decision с state: proposed и proposed_by, вы меняете на accepted или rejected. status и verified, как и везде, ставит человек.
  • Report собирается из итогов по категориям, а не из отдельных транзакций; выгрузку, из которой он собран (CSV банка или приложения учёта), укажите в sources.
  • Роль и границы консультанта запишите заметками AdvisorRule и попросите агента в CLAUDE.md / AGENTS.md читать их перед советами по этому блокноту.
  • Цель, которая служит жизненной цели из другого блокнота, ссылается на неё в serves.
  • Не пишите в заметки номера счетов и карт, логины и пароли брокеров. Похожее на секрет отклоняется при записи, но номер карты в тексте всё равно остаётся номером карты.

Свой вариант

Скопируйте presets/personal-finance.yaml, переименуйте и поправьте типы: правила, лимит в 12 типов и формат описаны в presets.md.

Этот пресет — один из примеров формата, а не обязательная схема. Если ваша задача другая, придумайте свои типы или попросите агента их предложить.