by juanjuandog
AI equity research agent with resilient workflows, Redis Lua single-flight, pgvector RAG, versioned reports, evidence tracing, and RAG evaluation.
# Add to your Claude Code skills
git clone https://github.com/juanjuandog/FinSight-AILast scanned: 5/25/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-25T08:20:48.525Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}FinSight-AI is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by juanjuandog. AI equity research agent with resilient workflows, Redis Lua single-flight, pgvector RAG, versioned reports, evidence tracing, and RAG evaluation. It has 1,027 GitHub stars.
Yes. FinSight-AI passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/juanjuandog/FinSight-AI" and add it to your Claude Code skills directory (see the Installation section above).
FinSight-AI is primarily written in Java. It is open-source under juanjuandog on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh FinSight-AI against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.

FinSight AI is an open-source A-share research workspace and a backend engineering reference for reliable AI agents. It does more than call a model: long-running research tasks are recoverable, duplicate executions are controlled, reports are bound to data snapshots, and generated conclusions retain an inspectable evidence path.
FinSight is a research aid, not an automated trading system. Its output is not investment advice.
The interface separates each research activity into a dedicated workspace instead of placing every diagnostic on one dashboard.
| Workspace | Purpose |
|---|---|
| Company Research | Search an A-share company and inspect its quote, historical close-price curve, and key financial metrics |
| AI Analysis | Generate a structured conclusion with confidence, supporting factors, and risk factors |
| Evidence | Search filings, announcements, and structured metrics for verifiable source material |
| Recent Events | Review disclosures, metric changes, and risk signals on a company timeline |
| Watchlist | Keep a concise list of companies for continued research |
| Engineering problem | FinSight approach | Implementation |
|---|---|---|
| Long-running AI tasks fail halfway | Recoverable stages, explicit task states, retries, timeout takeover, and dead-letter handling | WorkflowOrchestrator |
| Identical requests amplify expensive work | Idempotency keys plus a Redis Lua single-flight lease and fencing token | RedisBackedWorkflowLeaseService |
| A cached report becomes stale when data changes | dataSnapshotHash, contextHash, and reportVersion bind a report to its source state |
StockAiAnalysisService |
| RAG answers are difficult to verify | Full-text and vector recall, reciprocal-rank fusion, reranking, evidence trace, and regression evaluation | HybridRetrievalGateway |
| Model infrastructure changes independently | Embedding, reranking, and generation run behind a FastAPI sidecar with deterministic fallbacks | ai-service |

Use this path to inspect the product and core flow with Java 17 and Maven. It runs with local in-memory adapters and does not require infrastructure services.
git clone https://github.com/juanjuandog/FinSight-AI.git
cd FinSight-AI/backend
mvn spring-boot:run
Open http://localhost:8080.
Use Docker Compose to run PostgreSQL/pgvector, Redis, RabbitMQ, the Spring Boot backend, and the FastAPI AI sidecar together.
git clone https://github.com/juanjuandog/FinSight-AI.git
cd FinSight-AI
docker compose up -d --build
./scripts/quick-demo.sh
The default demo requires no API key. Ollama is the default local provider, while the sidecar also has adapters for OpenAI-compatible APIs and Anthropic. If a selected model is unavailable or unconfigured, deterministic fallbacks keep the flow runnable. Allow roughly 8 GB of free memory for the complete Compose stack.
| Mode | Best for | Runtime |
|---|---|---|
| Lightweight | UI review, code reading, and interview demos | Java 17, Maven |
| Full stack | Workflow recovery, Redis coordination, pgvector retrieval, and AI sidecar integration | Docker Compose |
For profiles, environment variables, service URLs, and recovery steps, see Troubleshooting.
flowchart LR
UI["Research Workspaces"] --> API["Spring Boot API"]
API --> WF["Workflow Orchestrator"]
WF --> MQ["RabbitMQ"]
WF --> Lease["Redis Lease & Cache"]
WF --> DB["PostgreSQL / pgvector"]
API --> Retrieval["FTS + Vector + RRF"]
Retrieval --> DB
Retrieval --> Sidecar["FastAPI: Embed · Rerank · Generate"]
Sidecar --> Providers["Provider adapters"]
Providers -. default .-> Ollama["Ollama"]
Providers -. optional .-> OpenAI["OpenAI-compatible"]
Providers -. optional .-> Anthropic["Anthropic"]
Sidecar --> Report["Snapshot-bound Report"]
Report --> DB
API --> Eval["RAG Evaluation"]
Eval --> Retrieval
The Spring Boot service owns domain state and orchestration. The Python sidecar owns model-facing operations. This boundary keeps workflow recovery and report consistency independent from the chosen model runtime.
Read the architecture notes for the complete request, state, and data flows.
| Layer | Stack |
|---|---|
| Core API | Java 17, Spring Boot 3.3.5, JDBC, Flyway |
| Workflow | RabbitMQ, task state machine, retry and dead-letter recovery |
| Coordination | Redis, Lua leases, fencing tokens, snapshot-aware cache |
| Retrieval | PostgreSQL JSONB, full-text search, pgvector, RRF, reranking |
| AI runtime | FastAPI, sentence embeddings, cross-encoder reranking, Ollama/OpenAI-compatible/Anthropic adapters |
| Product UI | Responsive HTML, CSS, and JavaScript served by Spring Boot |
| Operations | Docker Compose, Actuator, Prometheus, GitHub Actions |
backend/ Spring Boot API, workflow, retrieval, metrics, and static UI
ai-service/ FastAPI embedding, reranking, and generation sidecar
scripts/ Demo, verification, benchmark, and screenshot workflows
docs/ Architecture, API, benchmark, product, and interview notes
docker-compose.yml
CI protects the main branch with:
Run the backend suite locally:
cd backend
mvn test
FinSight currently targets A-share research and local, production-like demonstrations, with email accounts, server-side sessions, and private watchlists. Team workspaces, regulated research workflows, trade execution, portfolio advice, and multi-market coverage remain outside the current scope.
Released under the MIT License.