PRISM-INSIGHT
13개의 특화 AI 에이전트가 한국·미국 주식을 실시간 분석합니다. 오픈소스, 무료
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Household finance for multi-currency household. Currently only USD and ILS (Plaid + Israeli Banks), self-hosted on Supabase + Vercel.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Household finance for people whose money lives in multiple countries and currencies.
Peanut is a Monarch-style personal finance app that holds dollars and shekels side by side. Every amount is stored in its own currency and converted at the day's rate only for display.
It is a personal project I use every day. It is free and open source (MIT) and built to be self-hosted on a free Supabase project plus Vercel.
Open the live demo. One click, no sign-up. It is a shared household with made-up data (two people, shekel and dollar accounts, two years of history), so click around and change whatever you like. It resets every couple of hours. Bank connections and uploads are switched off in the demo; run Peanut yourself to use it with your own accounts.
Every screenshot is the live demo household.
| Dashboard | Accounts |
|---|---|
| Transactions | Reports |
|---|---|
| Budget | Recurring |
|---|---|
| Investments | Forecasting |
|---|---|
| Source | What | How |
|---|---|---|
| Plaid | US banks, cards, brokerage (txns, balances, holdings) | /transactions/sync + /investments/holdings/get, access tokens in Supabase Vault |
| RiseUp | Israeli accounts: transactions with RiseUp's Hebrew categories | Official PAT API (input.riseup.co.il/api/external), token expires every 30 days, the UI warns at day 25. No balances endpoint yet (balances stay manual until RiseUp ships it) |
| data.gov.il | Pension/hishtalmut track yields (Gemelnet/Pensianet) | "Anchor + drift": statement balance rolled forward by published monthly yield minus fee, plus deposits |
| Financy (open-finance.ai) | Israeli banks, cards, loans and savings: accounts, balances and transactions with Financy's categories | Official REST API (api.open-finance.ai) with your own client id / secret / user id, stored in Supabase Vault. Banks are linked inside the Financy app; the API needs a paid Financy plan |
| frankfurter.dev | Daily USD/ILS (ECB) | fx_rates table, backfilled to 2019 |
RiseUp and Financy both cover Israeli accounts, so use either or both. RiseUp needs a personal token renewed every 30 days and has no balances; Financy needs a paid plan and returns balances and a year of daily history straight from the bank. Peanut keeps only the API credentials; the bank consent lives with the provider.
supabase/migrations,
in file order (supabase link then supabase db push, or paste each file
into the SQL editor). The first file is the full schema; the later ones add
small pieces on top of it..env.example to .env.local and fill it in. Plaid needs a client id
and secret for the environment you pick; CRON_SECRET is any long random string.pnpm install then pnpm dev.SEED_USERS (and optionally
SEED_SPACE_NAME, SEED_PRIMARY_CURRENCY) in .env.local, then run
node scripts/seed.mjs. It creates the users, the shared space, Monarch-style
categories plus the Israeli ones, Plaid category aliases and FX history, and
prints a first password for each new user.vercel.json schedules the daily
sync at 03:00 UTC; Vercel calls it with Authorization: Bearer $CRON_SECRET.Set DEMO_MODE=1 plus NEXT_PUBLIC_DEMO_EMAIL and NEXT_PUBLIC_DEMO_PASSWORD
on a deployment and it serves only the demo household: /demo signs visitors
in with that account, /login is never offered, unknown URLs land on the
about page, and bank connections, syncing, uploads and password changes are
off. The household is generated by src/lib/demo/seed.ts (same data on every
rebuild, dates relative to today) and rebuilt by the server when the last
rebuild is older than two hours. The demo login is public by design: the
account is a member of the demo household only, and row-level security keeps
it out of everything else. Keep the demo on its own Supabase project unless
you have read the policies yourself.
isIncome decides the sign.kind='transfer' is excluded from cash flow, budget, and reports. No pair matching.(connection_id, external_id) with upserts, so re-syncs are idempotent.peanut_vault_* RPCs (service-role only).GET /api/cron/daily at 03:00 UTC with
Authorization: Bearer $CRON_SECRET (fx → every bank connection: RiseUp,
Plaid, Financy → pensions → snapshots).Peanut is built for one household at a time: one Supabase project per household, every listed user an owner. It has not been reviewed for hosting strangers' data on a shared instance. The only hosted instance is the demo.
MIT. See LICENSE.