Shioaji Pro
에이전트를 위한 거래 터미널: 코딩 에이전트가 전부 구축, UI 100% 오픈소스, 데스크톱에 AI 에이전트와 전문 주문 패널 내장
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Personal finance workspace where every number is checkable: statement/receipt ingest, OCR, explainable alerts, and plain-English questions answered by SQL. Live demo, synthetic data.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A personal finance workspace where every number it shows you can be checked: upload a bank statement or a receipt, and ask questions in plain English that are answered by SQL, not by a language model's guess.
Live demo: app.use-ledger-ai.com → Try the demo (no signup)
The demo button provisions a private, temporary account with three synthetic accounts and ~250 transactions; it is deleted automatically when it expires. Demo runs on synthetic data — Ledger AI connects to no real bank.
user_id.main.Works fully with no API key: rules plan the question and templates write the answer. An OpenAI key changes who proposes a plan, never who does the arithmetic.
Stack: Python 3.12 · FastAPI · PostgreSQL 16 · Redis · RQ · Tesseract · Next.js 15 · TypeScript · Docker · GitHub Actions.
cp .env.example .env && cp apps/web/.env.example apps/web/.env.local
# set the same AUTH_SECRET (openssl rand -base64 32) in both files
make setup && make up && make migrate && make seed && make dev
Open http://localhost:3000 and press Try the demo. Full steps are below.
1,402 tests — 1,092 backend (pytest, against real Postgres and Redis) and
310 frontend (vitest) — plus ruff, mypy, eslint and tsc, migration round-trips
and Docker image builds, all in CI on every push.
make test # needs `make up` for Postgres and Redis
make lint # ruff · mypy · eslint · tsc --noEmit
| Document | Contents |
|---|---|
| docs/design.md | Why it is built this way: plans not SQL, verified narration, demo isolation, rate limiting, testing strategy |
| docs/screens.md | Every screen, with what it shows and why |
| docs/architecture.md | System, processing, analysis, demo and deletion lifecycles |
| docs/data-model.md | Tables, constraints, indexes |
| docs/api.md | Every operation, what is public, and error semantics |
| docs/ai-usage.md | What the model sees, what it never sees, and every fallback |
| docs/security.md | Isolation, auth, demo expiry, OAuth linking, rate limiting, lifecycle |
| docs/deployment.md | Railway shape, variables, storage, proxy trust, health checks, rollback, backups |
| railway/README.md | Per-service deployment configuration and the settings that cannot live in it |
Docker · Node 22+ · Python 3.12 · uv · Tesseract
(brew install tesseract)
git clone https://github.com/yds233013/ledger-ai.git && cd ledger-ai
# 1. Set the SAME secret in BOTH files — the API verifies the token the web app
# mints, so a mismatch means sign-in works and every API call then 401s.
# .env AUTH_SECRET=...
# apps/web/.env.local AUTH_SECRET=...
cp .env.example .env
cp apps/web/.env.example apps/web/.env.local
openssl rand -base64 32 # paste into both
make setup # install backend + frontend dependencies
make up # Postgres (5433), Redis (6379), MinIO (9000/9001)
make migrate # apply migrations
make seed # generate the synthetic development dataset
make dev # api :8000 · worker · web :3000
Open http://localhost:3000 and press Try the demo — no credentials needed.
To use the seeded development account instead, sign in with DEMO_USER_EMAIL /
DEMO_USER_PASSWORD from your .env.
Neither GitHub OAuth nor an OpenAI key is required. The app is fully functional without both.
# .env
AI_ENABLED=true
OPENAI_API_KEY=sk-...
This changes who proposes a plan and who words an explanation. Numbers stay SQL-computed and verified either way. Every response is Pydantic-validated with a deterministic fallback on timeout, rate limit, malformed JSON, schema violation, or a fabricated figure.
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗