Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
三井住友カード(Vpass)の利用通知メール(Gmail経由)を自動取得し、カテゴリ分け・グラフ表示・月次集計を行う個人用家計簿Webアプリ。 • 取り込み: GitHub Actions (cron) が1時間毎にGmailからVpass通知メールを取得し、解析・分類してSupabaseに保存 • 表示: Next.js製フロントエンドがSupabaseから読み取り専用で取得し、グラフ・一覧を表示(Vercelでホスティング) • 無料運用: GitHub Actions + Supabase + Vercelの無料枠のみで完結 初回セットアップの手順は docs/SETUP.md を参照してください。 • 書き込みができるのはGitHub Actionsの取り込みジョブのみ(Supabase service role key使用) • フロントエンドはSupabaseのanonキー(読み取り専用、Row Level Securityで制御)を使う • transactions.gmail_message_id の一意制約により、取り込みジョブは何度再実行しても安全(冪等) .env.local には最低限 NEXT_PUBLIC_SUPABASE_URL と NEXT_PUBLIC_SUPABASE_ANON_KEY が必要です(docs/SETUP.md 参照)。README 전문 보기 ↗
三井住友カード(Vpass)の利用通知メール(Gmail経由)を自動取得し、カテゴリ分け・グラフ表示・月次集計を行う個人用家計簿Webアプリ。
初回セットアップの手順は docs/SETUP.md を参照してください。
Gmail ([email protected]) → GitHub Actions (cron) → Supabase (Postgres) → Next.js (Vercel)
transactions.gmail_message_id の一意制約により、取り込みジョブは何度再実行しても安全(冪等)npm install
cp .env.example .env.local # Supabaseの値を入力
npm run dev
.env.local には最低限 NEXT_PUBLIC_SUPABASE_URL と NEXT_PUBLIC_SUPABASE_ANON_KEY が必要です(docs/SETUP.md 参照)。
GMAIL_CLIENT_ID=xxx \
GMAIL_CLIENT_SECRET=yyy \
GMAIL_REFRESH_TOKEN=zzz \
SUPABASE_URL=https://xxxx.supabase.co \
SUPABASE_SERVICE_ROLE_KEY=xxxx \
npm run ingest
実行するとGmailから直近2日分のVpass通知メールを検索し、新規分だけをSupabaseに登録します。既存のメールはgmail_message_idで重複排除されるため、何度実行しても安全です。
Gmail検索の対象期間(直近2日分)より前の古いVpass通知メールをまとめて取り込みたい場合:
.emlをまとめられる)SELF_FORWARD_SENDER を追加し、転送元のメールアドレスを設定する.emlも自動的に解析・登録される添付メール1件ごとに元のメールのMessage-IDで重複判定するため、同じ転送メールを何度処理しても二重登録されません。
ingest/parsers/types.ts の EmailParser インターフェースを実装した新しいファイルを ingest/parsers/ に追加する(例: rakuten.ts)。参考: ingest/parsers/smbc-vpass.tsingest/parsers/index.ts の parsers 配列に追加したパーサーを1行足すsupabase/schema.sql の cards テーブルに新しいカードの行を追加する(任意)これだけで、Gmail検索クエリ(buildSearchQuery)・解析・分類の全パイプラインが自動的に新しいカードにも対応します。
app/ — Next.js App Router のページ(ダッシュボード・取引一覧)components/ — チャート・UIコンポーネントingest/ — Gmail取り込みスクリプト(GitHub Actionsから実行)lib/ — Supabaseクライアント・型定義・データ取得関数scripts/mint-gmail-refresh-token.ts — 初回のみローカルで実行するGmail認可スクリプトsupabase/schema.sql — SupabaseのSQL Editorに貼り付けるスキーマ定義budgets テーブルと monthly_category_totals ビューを使った予算対比UI