Skip to content

セットアップ

実装前に用意するもの。詳細設計は他ドキュメントを参照。

このセクションの手順書:

ページ 内容
PostgreSQL DB 導入(学習用)
Bot 開発 Discord Bot 骨格の起動方法
systemd Bot の常駐

1. Gemini API(運用用・Cursor とは別)

  1. Google AI Studio で API キー作成
  2. Proxmox の環境変数へ保存

推奨モデル(MVP): gemini-3.5-flash(安定 Flash)。安さ重視なら gemini-3.1-flash-lite、新しさなら gemini-3.6-flash。 環境変数 GEMINI_MODEL で切り替え(未設定時のデフォルトも gemini-3.5-flash)。

個人の支払い数回/日なら無料枠で足りる想定。
家計データの学習利用が気になる場合は従量課金へ。

2. Discord

詳細は Discord

MVP から Bot を使う(手動テキスト / 画像受信があるため)。
厳し目通知だけなら Webhook でも足りるが、入口も Discord にするなら Bot が必要。

  1. Discord Application / Bot 作成
  2. Message Content Intent を有効化
  3. チャンネル例: #finance(必要なら #finance-inbox
  4. Bot トークンを env へ

3. Android / Cloudflare

  1. Tasker + AutoNotification を用意 → Tasker
  2. ingest.finance.nkjm.dev の Tunnel / Access / Bearer → Cloudflare

4. メール / CSV / Grafana

5. 環境変数(予定)

DATABASE_URL=postgresql://USER:PASSWORD@HOST:5432/finance_manager
INGEST_BEARER_TOKEN=
# Cloudflare Access Service Token は主に Tasker 側
# CF_ACCESS_CLIENT_ID=
# CF_ACCESS_CLIENT_SECRET=
GEMINI_API_KEY=
DISCORD_BOT_TOKEN=
DISCORD_GUILD_ID=
DISCORD_CHANNEL_ID=
# 互換・通知専用に残す場合
# DISCORD_WEBHOOK_URL=
IMAP_HOST=
IMAP_USER=
IMAP_PASSWORD=

インフラ作成手順の目安は インフラ

実装順(合意済み)

自宅インフラを整えたうえで、次の順で進める。

  1. Discord Bot + Gemini + PostgreSQL(手動テキスト/画像 → 厳し目返信)
  2. Grafana ← PostgreSQL(最低限の可視化)
  3. Cloudflare Tunnel + ingest API + Tasker(PayPay 自動)
  4. メール / CSV
  5. 予算ルールなど高度化

Tip

最初から Tunnel / Tasker は必須ではない。 Discord → 自宅は Bot Gateway で先に成立させられる。