FinPilot

agent
Security Audit
Warn
Health Warn
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 9 GitHub stars
Code Pass
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

FinPilot - open-source finance AI copilot. Ask in plain language, get real computed numbers, real SQL, real AI reports. FastAPI + LangGraph + React. NL2SQL, RAG, ABAC, 2FA, run-log

README.md
FinPilot

FinPilot

AI-Powered Financial Analysis Platform

License
Python
FastAPI
React
TypeScript
LangGraph
PRs Welcome

Your virtual finance department — bookkeeping, budgeting, treasury, tax, reporting and audit, in one conversation with your boss.

Quick Start · Core Capabilities · Product Showcase · Key Differentiators · Technology Stack · Roadmap · Contributing


English · 中文 · 日本語


Overview

FinPilot is an open-source, enterprise-ready virtual finance department — a multi-agent system that replaces the finance function of a company (management accounting, bookkeeping, budgeting, treasury, reporting, audit). It is built for business owners and decision makers: you speak business language, the department (led by a virtual CFO coordinating specialist agents) does the accounting and reports back with computed, traceable, and auditable results. FinPilot enables you to:

  • Query data in plain language — natural-language questions are translated into SQL and executed against your database.
  • Automate report generation — template-based report generation with subscription push and approval workflows.
  • Ask questions over documents — RAG-based Q&A over Excel, PDF, CSV, and DOCX files.
  • Run financial modeling — DCF, DDM, LBO, WACC, comparables, and Monte Carlo simulations on deterministic code.

Every output is computed by code and narrated by the model, with a complete run-log for traceability and audit.


Core Capabilities

Area Capability
🤖 Conversational Q&A Upload Excel/PDF/CSV/DOCX in chat; SSE streaming with live reasoning steps
📊 Financial Modeling DCF · DDM · LBO · WACC · comparables · Monte Carlo — deterministic, pure-Python calculators
📑 Report Center Template-based reports, subscription push, approval workflow
🔍 RAG Document Q&A BM25 + vector + RRF fusion retrieval; multi-format document parsers
🛡 Security & Compliance ABAC access control, TOTP 2FA, PII masking, SQL-injection guard, audit log, role tiers
📡 Run-Log Live monitoring: logs, Q&A replay, module status, statistics
🧰 Extensibility Tools · Skills · MCP servers · code sandbox · prompt management
💬 Chat-as-Control Slash commands, role-filtered; full system administration from the chat interface
📱 Mobile-First UI Responsive mobile shell; desktop pages degrade gracefully
🚨 Precise Error Handling Layered error system (network / auth / client / server) with actionable diagnostics

Product Showcase

Product demo (5:21, silent): recorded on a live session — real login, real LLM calls, and real SQL executed against a real database.

⬇ Download mp4 if inline playback is not supported

Login Dashboard
login dashboard
Conversational Q&A NL2SQL query result
agent queries
AI-generated report Document management
reports documents
Security — 2FA setup System settings
security settings
LLM providers (e.g. Aliyun Bailian) MCP servers
providers mcp

Key Differentiators

  1. Computed, not generated. Financial calculations (DCF, WACC, backtesting, ratios, …) run on deterministic code. The model explains results — it does not fabricate numbers.
  2. Fully traceable. Every API call, Q&A turn, and module operation is recorded in the run-log, enabling step-by-step replay and audit.
  3. Chat as a control plane. A role-filtered command palette (/) lets administrators operate the entire system from the conversation; regular users only see what their permissions allow.

Additional enterprise features: RAG document Q&A (BM25 + vector + RRF fusion), Excel/PDF/DOCX parsing, ABAC access control, TOTP 2FA, mobile-responsive UI, and a layered error system that identifies the exact layer of failure.


Quick Start

git clone https://github.com/weed33834/FinPilot.git   # or any mirror below
cd FinPilot

# backend
python3 -m venv venv && source venv/bin/activate
pip install -e .
cp .env.example .env        # configure your LLM API key
uvicorn finpilot.api.router:app --host 0.0.0.0 --port 8001

# frontend
cd frontend && npm install && npm run dev

Open http://localhost:5173, sign in with the auto-created admin account (FINPILOT_ADMIN_EMAIL / FINPILOT_ADMIN_PASSWORD in .env), and start querying.

LLM providers are configured in Admin → LLM Providers (stored in the database, with env-var fallback). Any OpenAI-compatible endpoint is supported — Aliyun Bailian, DeepSeek, Zhipu, and others.

Docker deployment: docker compose up -d (Redis + PostgreSQL + backend + frontend). See docs/DEPLOYMENT.md for details.


Technology Stack

Python 3.10–3.13 · FastAPI · LangGraph · SQLAlchemy · Pydantic · React 19 · Vite · TypeScript · Tailwind 4 · Zustand · Recharts · i18next · pdfplumber · openpyxl · BM25 · SQLite/PostgreSQL · Redis · Docker


Roadmap

  • v1/v2 — conversational Q&A, RAG, run-log, reports & approvals, security baseline, slash commands, financial validation engine, multi-agent debate, backtesting & factor mining, MCP/skill/tool management, i18n (en/zh), mobile-first
  • 🚧 v2.1 — real-time market data, knowledge-graph fusion, enterprise SSO

Full history in CHANGELOG.md.


Contributing

Issues and pull requests are welcome — see CONTRIBUTING.md. Report security issues via SECURITY.md; do not disclose them in public issues.


Mirrors

The same codebase is synchronized across three platforms — choose the one that works best for you.

Platform URL
GitHub https://github.com/weed33834/FinPilot
GitCode https://gitcode.com/badhope/FinPilot
Gitee https://gitee.com/badhope/FinPilot

License

MIT — see LICENSE.

Disclaimer: for learning and research purposes only; not financial advice.

Reviews (0)

No results found