Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A daily training tool that helps beginner investors build real decision-making intuition through reps, AI feedback, and structured reflection. Not a course, not a simulator — a training + feedback system.
Train like an investor in 10 minutes.README 전문 보기 ↗A daily training tool that helps beginner investors build real decision-making intuition through reps, AI feedback, and structured reflection. Not a course, not a simulator — a training + feedback system.
Train like an investor in 10 minutes.
Investing App/
├─ app/
│ ├─ layout.tsx # Global shell + nav
│ ├─ page.tsx # Landing
│ ├─ globals.css # Tailwind + transitions + progress bar
│ ├─ challenge/page.tsx # The full daily flow (state machine)
│ ├─ journal/page.tsx # Past reflections
│ ├─ progress/page.tsx # Skill score, accuracy, calibration, trend
│ ├─ history/page.tsx # [BONUS] Review past decisions, expandable
│ └─ api/evaluate/route.ts # AI evaluation endpoint (Anthropic or OpenAI)
├─ components/
│ ├─ Nav.tsx
│ ├─ ScenarioCard.tsx
│ ├─ DecisionInput.tsx # Buy/Hold/Pass + confidence slider + reasoning
│ ├─ FeedbackPanel.tsx # Scores + did-well / missed / tip / tags
│ ├─ OutcomePanel.tsx # Outcome %, verdict, insight line, ideal answer
│ └─ ReflectionPrompt.tsx # 3-field structured journal entry
├─ data/
│ └─ scenarios.ts # 8 hardcoded scenarios (growth vs value, good vs bad)
├─ lib/
│ ├─ types.ts # Shared TS types
│ ├─ storage.ts # localStorage wrapper (single-key array)
│ ├─ scoring.ts # Verdict + progression math
│ └─ evaluationPrompt.ts # THE CORE PROMPT (see below)
├─ .env.local.example
├─ package.json
├─ tsconfig.json
├─ tailwind.config.ts
├─ postcss.config.js
└─ next.config.js
cd "Investing App"
npm install
Copy .env.local.example to .env.local and fill in ONE provider:
cp .env.local.example .env.local
Anthropic (default):
ANTHROPIC_API_KEY=sk-ant-...
AI_PROVIDER=anthropic
AI_MODEL=claude-sonnet-4-5
OpenAI:
OPENAI_API_KEY=sk-...
AI_PROVIDER=openai
AI_MODEL=gpt-4o-mini
No API key? The app still works —
/api/evaluatefalls back to a deterministic local rubric so the full flow remains usable offline. Feedback quality is worse; that's the point of using a real model.
npm run dev
# http://localhost:3000
npm run build
npm start
| Variable | Required | Description |
|---|---|---|
AI_PROVIDER | No | anthropic (default) or openai. |
AI_MODEL | No | Model name. Defaults: claude-sonnet-4-5 / gpt-4o-mini. |
ANTHROPIC_API_KEY | If anthropic | Anthropic API key. |
OPENAI_API_KEY | If openai | OpenAI API key. |
Nothing is ever sent to any third party besides the chosen AI provider. API keys stay server-side in app/api/evaluate/route.ts; do not expose them as NEXT_PUBLIC_* variables. All decisions, reflections, and progress live in the browser's localStorage under the key ait.decisions.v1. localStorage is readable by any script running on this origin, so XSS prevention remains critical and this data should not be treated as secret storage.
The prompt (in lib/evaluationPrompt.ts) is the most load-bearing part of the product. It:
If you want to tune the product's feel, tune this file.
Keep it focused. Reps + feedback is the product.