- High quality data for financial subjects
- To stay up-to-date for Storj world
- Stock sparklines via Yahoo Finance (AAPL, SPY, GLD, ETFs, indices) - Skeleton loading card + animated bouncing dots during query submission - Shield verification badge with icon+color in response metadata - Keyboard shortcuts modal (press ?), command palette (type /), key hints on buttons - Category pills in query card, removed duplicate mobile tab bar New files: - src/lib/tools/stock-prices.ts - src/components/animated-dots.tsx - src/components/skeleton-card.tsx - src/components/shield-badge.tsx - src/components/keyboard-shortcuts-modal.tsx - src/components/command-palette.tsx |
||
|---|---|---|
| docs | ||
| src | ||
| .env.example | ||
| .eslintrc.json | ||
| .gitignore | ||
| .project_rules.md | ||
| AGENTS.md | ||
| docker-compose.mcp.yml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| Dockerfile.mcp | ||
| Dockerfile.mcp.etherscan | ||
| drizzle.config.ts | ||
| forgejo_tools.py | ||
| gotchas.md | ||
| next.config.js | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.cjs | ||
| README.md | ||
| SESSION_STATE.md | ||
| SPEC.md | ||
| tailwind.config.ts | ||
| test-phase1.ts | ||
| test-phase2.ts | ||
| test-phase4.ts | ||
| test-phases-1-3.ts | ||
| test-stream.ts | ||
| tsconfig.json | ||
Agent Briefing
A personal intelligence briefing hub for finance, blockchain, and decentralized storage news.
Features
- LLM-powered research - Uses MiniMax-Text-01 or GPT-4o-mini for intelligent briefings
- Topics: FED/monetary policy, financial news, blockchain developments, Storj updates
- Web UI: Clean dashboard with category system and query history
- Themes: Dark, Light, Dim, Solarized
- Persistent storage: SQLite database
- Docker ready: ARM-compatible for Raspberry Pi 5
Quick Start
Prerequisites
- Node.js 18+
- npm or pnpm
Installation
# Install dependencies
npm install
# Configure environment
cp .env.example .env
# Edit .env with your API key
Configuration
Edit .env file:
OPENAI_API_KEY=your-api-key
OPENAI_BASE_URL=https://api.minimax.chat/v1 # For MiniMax
OPENAI_MODEL_NAME=MiniMax-Text-01
PORT=8302
HOSTNAME=0.0.0.0
Development
# Push database schema
npm run db:push
# Start development server
npm run dev -- -H 0.0.0.0 -p 8302
Visit http://localhost:8302
Production Build
npm run build
npm start
Docker
docker-compose up -d
API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/query |
Get all queries |
| POST | /api/query |
Create new query |
| GET | /api/queries/:id |
Get single query |
| DELETE | /api/queries/:id |
Delete query |
Example
curl -X POST http://localhost:8302/api/query \
-H "Content-Type: application/json" \
-d '{"question":"What is Bitcoin?","category":"bitcoin"}'
Testing
# Build check
npm run build
# Lint check
npm run lint
Project Structure
├── src/
│ ├── app/
│ │ ├── api/
│ │ │ ├── query/route.ts # POST/GET queries
│ │ │ └── queries/[id]/route.ts
│ │ ├── globals.css
│ │ ├── layout.tsx
│ │ └── page.tsx
│ └── lib/
│ ├── categories.ts
│ └── db/
├── docs/
│ ├── PROJECT_PLAN.md
│ ├── GIT_WORKFLOW.md
│ └── LESSONS_LEARNED_tailwind_debug.md
├── data/ # SQLite database (gitignored)
├── Dockerfile
├── docker-compose.yml
└── SPEC.md
Categories
- 🏛️ FED & Monetary Policy
- 📊 Financial Times & US Economy
- ₿ Bitcoin
- Ξ Ethereum
- ◎ Solana
- 🔺 Avalanche
- ⛓ ChainLink
- 🗄️ Storj
- 💬 General
Tech Stack
- Next.js 14 (App Router)
- React 18
- TypeScript
- Tailwind CSS
- SQLite + Drizzle ORM
- Docker