Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
텔레그램에 한 줄 보내면 구글 시트 가계부에 기록되고, 웹앱에서 "오늘 남은 돈"을 본다. 스크린샷은 가짜 데이터다. 실제 숫자와 이름은 저장소에 두지 않는다.README 전문 보기 ↗
텔레그램에 한 줄 보내면 구글 시트 가계부에 기록되고, 웹앱에서 "오늘 남은 돈"을 본다.
"코스트코 85.89" → Telegram 봇
↓
Apps Script (파싱 · 분류 · 기록)
↓
Google Sheet (단일 원장)
↓
PWA 웹앱 (GitHub Pages)
스크린샷은 가짜 데이터다. 실제 숫자와 이름은 저장소에 두지 않는다.
코스트코 85.89 한 줄이면 끝이다. 어제, 그제, 9/8, 2026-08-28, 5만원, $85.89, 환불 코스트코 20 을 알아본다.
물 2병 5.99 처럼 숫자가 여럿이어도 확실한 쪽을 고르고, 정말 애매하면 버튼으로 묻는다.(예산 − 오늘 이전 지출) ÷ 남은 일수 가 하루치, 거기서 오늘 쓴 만큼 뺀 것이 "오늘 남은 돈". 쓰면 바로 줄어든다.이동 예비비→식료품 50 으로도 옮긴다.| 계층 | 무엇 | 하지 않는 것 |
|---|---|---|
| Telegram 봇 | 입력 창구. 유동비 잔액과 저축 진행까지만 회신 | 데이터를 갖지 않는다. 고정비 상세·부채·자산은 회신하지 않는다 |
| Apps Script | 유일한 서버. 웹훅, 파싱, 분류, 기록, 시간 트리거 | 금액·날짜 추출에 LLM 을 쓰지 않는다 |
| Google Sheet | 단일 원장과 참조 테이블 | 월별 탭을 만들지 않는다 |
| PWA 웹앱 | 읽기·편집 프런트엔드 | 자체 DB·세션이 없다 |
자세한 내용은 docs/ARCHITECTURE.md, 시트 구조는 docs/SHEET_SCHEMA.md.
설치는 docs/SETUP.md 하나로 끝난다. 순서는 이렇다.
runSetupAll 한 번으로 11개 탭이 생긴다setWebhook → 봇에 코스트코 1.00 보내기installTriggers 로 아침 요약·주간 결산·월 시작·월 마감·웹훅 감시main 에 올릴 때마다 자동 배포비밀값(봇 토큰, 스프레드시트 ID, 개인 텔레그램 ID)과 실제 가계 숫자는 저장소에 절대 넣지 않는다.
Apps Script 의 Script Properties, gitignore 된 PersonalSeed.js, 브라우저의 localStorage 에만 둔다.
| 기능 | 켜는 법 | 끄면 |
|---|---|---|
| 기존 가계부 이관 | MIGRATION_MAP 채우고 migrateAllCommit | 안 쓰면 그만 |
| LLM 분류 보조 | Script Properties 에 ANTHROPIC_API_KEY | 버튼이 원래 순서로 나온다 |
| 영수증 사진 | Drive 고급 서비스 켜기 | 사진을 보내지 않으면 그만 |
| 카드 CSV 대조 | RECONCILE_MAP 열 이름 맞추기 | 안 쓰면 그만 |
# Apps Script 순수 모듈 (파서 · 분류 · 예산 · 원장 규칙 · 이관 · 대조)
cd apps-script && npm test # 107개 (순수 모듈 + GAS 스모크)
node --check src/*.js # GAS 전용 파일은 문법만 확인
# 웹앱
cd webapp && npm install
npm run dev # http://localhost:5173
npm test # 공유 모듈 브리지 검증
npm run build # 타입 검사 + 프로덕션 빌드
PR 을 열면 .github/workflows/ci.yml 이 위 검사와 비밀값 grep 을 돈다. main 에 올리면 웹앱이 배포된다.
계산 코드는 한 벌만 있다. apps-script/src/{Budget,Parser,Classifier,LedgerRules}.js 를 빌드 시 ESM 으로 바꿔
웹앱이 그대로 쓴다. 봇과 웹앱이 같은 금액을 내놓는 것은 그래서다.
CLAUDE.md 에 Golden Rules 가 있다. 특히 이 셋은 코드 리뷰에서 확인한다.
apps-script/
src/*.js Apps Script 코드. 순수 모듈은 module.exports 가드 포함
tests/*.test.js Node 내장 러너로 순수 모듈 검증
webapp/ Vite + React PWA
docs/
ARCHITECTURE.md 계층·데이터 흐름·보안 경계·재무 구조
SHEET_SCHEMA.md 탭과 열 정의
SETUP.md 설치 절차 (P1 ~ P12)
STATUS.md 진행 상태
REVIEW-*.md 리뷰 보고서와 처리 현황
decisions/ ADR
claude/prompts/ 단계별 프롬프트 사본
P0 부터 P12 까지 끝났다. 단계별 내용은 docs/STATUS.md 참고. 리뷰에서 나온 제안과 처리 결과는 docs/REVIEW-2026-09-13.md 에 있다.