1.7 KiB
1.7 KiB
Fiscal Clone 3.0
Turbopack-first rebuild of a fiscal.ai-style terminal with OpenClaw integration.
Stack
- Next.js 16 App Router
- Turbopack for
devandbuild - Internal API routes (
app/api/*) - Durable local task engine and JSON data store
- OpenClaw/ZeroClaw analysis via OpenAI-compatible chat endpoint
Run locally
npm install
npm run dev
Open http://localhost:3000.
Production build
npm run build
npm run start
Docker deployment
cp .env.example .env
docker compose up --build -d
For local Docker, host port mapping comes from docker-compose.override.yml (default http://localhost:3000, configurable via APP_PORT).
For Coolify/remote Docker Compose, only container port 3000 is exposed internally (no fixed host port bind), avoiding host port collisions.
Runtime data persists in the app_data volume (/app/data in container).
Environment
Use root .env or root .env.local:
# leave blank for same-origin API
NEXT_PUBLIC_API_URL=
OPENCLAW_BASE_URL=http://localhost:4000
OPENCLAW_API_KEY=your_key
OPENCLAW_MODEL=zeroclaw
SEC_USER_AGENT=Fiscal Clone <support@fiscal.local>
If OpenClaw is unset, the app uses local fallback analysis so task workflows still run.
API surface
GET /api/healthGET /api/meGET|POST /api/watchlistDELETE /api/watchlist/:idGET|POST /api/portfolio/holdingsPATCH|DELETE /api/portfolio/holdings/:idGET /api/portfolio/summaryPOST /api/portfolio/refresh-pricesPOST /api/portfolio/insights/generateGET /api/portfolio/insights/latestGET /api/filingsPOST /api/filings/syncPOST /api/filings/:accessionNumber/analyzeGET /api/tasksGET /api/tasks/:taskId