尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Portfolio risk in plain language, stress-tested through 2008/2020/2022, with in-browser ZK identity.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Portfolio risk and diversification analysis, explained in plain language.
Enter your holdings and RiskLens measures volatility, concentration and
correlation, shows which holdings carry the most risk, replays past crises,
and writes a short explanation. An optional identity check uses a
zero-knowledge proof made in your browser, so your details never leave your
device.
Educational tool, not investment advice.查看完整 README ↗Portfolio risk and diversification analysis, explained in plain language. Enter your holdings and RiskLens measures volatility, concentration and correlation, shows which holdings carry the most risk, replays past crises, and writes a short explanation. An optional identity check uses a zero-knowledge proof made in your browser, so your details never leave your device.
Educational tool, not investment advice.
Live: https://risklens.hemeshkanyal.com · Code guide: docs/CODEBASE.md
| Part | Technology |
|---|---|
| Frontend | Next.js 16, React 19, Tailwind CSS 4, Recharts, noir_js + bb.js |
| Backend | FastAPI, Motor (MongoDB), pandas/numpy, yfinance |
| Language model | Google Gemini (production) or Ollama (local) |
| Proofs | Noir 1.0.0-beta.22, Barretenberg 5.0.0-nightly.20260522 |
| Hosting | Vercel (frontend), Render (backend), MongoDB Atlas (database) |
Prerequisites: Node.js 20+, Python 3.12+, Docker (for MongoDB), and either
a Gemini API key or Ollama. For the identity check you
also need Barretenberg (noirup -v 1.0.0-beta.22 && bbup).
# MongoDB (MongoDB 8 can't start on Linux kernel 6.19+, so use 7.0)
docker run -d --name risklens-mongo -p 127.0.0.1:27017:27017 \
-v risklens-mongo:/data/db --restart unless-stopped mongo:7.0
# Backend
cd backend
python3 -m venv .venv && ./.venv/bin/pip install -r requirements.txt
cp .env.example .env # set SECRET_KEY, and LLM_PROVIDER + its settings
# Frontend
cd ../risklens-frontend
npm ci
echo "NEXT_PUBLIC_API_URL=http://localhost:8000" > .env.local
# Start both (Ctrl+C stops them)
cd .. && scripts/dev.sh
The app runs on http://localhost:3000 and the API on http://localhost:8000.
With Ollama, pull a model first (ollama pull llama3.2:3b, and moondream for
screenshot import).
Create a free M0 cluster, a database user, and allow access from anywhere
(Network Access → 0.0.0.0/0, since Render's IPs change). Copy the
mongodb+srv://… connection string.
render.yaml.MONGODB_URL: the Atlas connection stringGEMINI_API_KEY: from Google AI StudioCORS_ORIGINS: your frontend URL(s), comma-separated, e.g. https://risklens.hemeshkanyal.comSECRET_KEY is generated automatically. The image installs bb for
identity proofs. Check https://<service>.onrender.com/ returns
{"message": "RiskLens backend running"}.The free plan sleeps after about 15 minutes without traffic; the first request afterwards takes up to a minute.
Set the project's root directory to risklens-frontend and add the
environment variable NEXT_PUBLIC_API_URL=https://<service>.onrender.com.
Pushing to main redeploys.
backend/ FastAPI app, auth, LLM/OCR, proof verification, Dockerfile
ai_phase1/ asset-class risk rules and rebalancing
ai_phase2/ market data, risk metrics, insights, stress tests
ai_phase3/ behavioural personalisation of explanations
zk/ Noir identity circuit and its verification key
risklens-frontend/ Next.js app (landing page, dashboard, in-browser prover)
scripts/ dev.sh (run locally), build-circuit.sh (rebuild the circuit)
docs/ CODEBASE.md: how the code fits together