by xianjianlf2
An AI agent that reads your PDFs and draws editable mind maps — visible tool-calling loop, built-in RAG, bring-your-own-key, multi-provider (OpenAI / Claude / DeepSeek / Kimi). Self-hostable.
# Add to your Claude Code skills
git clone https://github.com/xianjianlf2/MindGeniusAILast scanned: 6/11/2026
{
"issues": [
{
"type": "npm-audit",
"message": "@typescript-eslint/eslint-plugin: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@typescript-eslint/parser: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@typescript-eslint/type-utils: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@typescript-eslint/typescript-estree: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "@typescript-eslint/utils: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "esbuild: esbuild enables any website to send any requests to the development server and read the response",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "lint-staged: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "micromatch: Regular Expression Denial of Service (ReDoS) in micromatch",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "minimatch: minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
"severity": "high"
},
{
"type": "npm-audit",
"message": "vite: Vite Vulnerable to Path Traversal in Optimized Deps `.map` Handling",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "vite-node: Vulnerability found",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "vitest: When Vitest UI server is listening, arbitrary file can be read and executed",
"severity": "critical"
},
{
"type": "npm-audit",
"message": "yaml: yaml is vulnerable to Stack Overflow via deeply nested YAML collections",
"severity": "medium"
}
],
"status": "FAILED",
"scannedAt": "2026-06-11T08:49:18.528Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}MindGeniusAI is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by xianjianlf2. An AI agent that reads your PDFs and draws editable mind maps — visible tool-calling loop, built-in RAG, bring-your-own-key, multi-provider (OpenAI / Claude / DeepSeek / Kimi). Self-hostable. It has 278 GitHub stars.
MindGeniusAI failed SkillsLLM's automated security scan, which flagged one or more high-severity issues. Review the Security Report section carefully before using it.
Clone the repository with "git clone https://github.com/xianjianlf2/MindGeniusAI" and add it to your Claude Code skills directory (see the Installation section above).
MindGeniusAI is primarily written in TypeScript. It is open-source under xianjianlf2 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 MindGeniusAI against similar tools.
No comments yet. Be the first to share your thoughts!
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
A self-hostable AI agent that turns your documents into editable mind maps — your files and API keys never leave your machine.
English · 简体中文
Chat with Hermas, an AI agent that plans, reads your PDFs, and draws editable mind maps live — every tool call visible as it works.
Most AI mind-map tools are cloud SaaS — your documents get uploaded to their servers and your model key lives in their backend. MindGenius runs entirely on infrastructure you control: one Docker image, bring-your-own-key, nothing stored server-side. Built for privacy-conscious knowledge workers, self-hosters, and teams with sensitive documents (legal, research, internal specs) that can't be pasted into a third-party cloud.
🔗 Try the live demo → · bring your own API key (stays in your browser). First load may take ~30s to wake. · ⭐ Star it if it's useful — it helps others find it.

| MindGenius | Typical cloud AI mind-map tools | |
|---|---|---|
| Runs on your own machine | ✅ one Docker image | ❌ their cloud only |
| Your documents stay local | ✅ never leave your box | ❌ uploaded to their servers |
| Model API key | ✅ in your browser only | ❌ held in their backend |
| Bring your own model | ✅ OpenAI · Claude · DeepSeek · Kimi · any compatible endpoint | ❌ locked to their pick |
| Real multi-step agent | ✅ visible tool calls (plan → retrieve → draw → edit) | ❌ one-shot prompt → static tree |
| Edits the existing map | ✅ surgical, by node id | ❌ regenerates the whole thing |
| Source-available & hackable | ✅ BSL 1.1, RAG in ~100 lines | ❌ closed SaaS |
pnpm install
pnpm setup # pick a provider, paste a key → writes apps/server/.env
pnpm dev # web on :5173, api on :3000
No key at setup? Skip it and paste one later in the app's Settings (top-right) — it stays in your browser only.
rag_query searches across all attached docs at once.Tab child · Enter sibling · F2 rename · Del delete · ⌘Z undo · drag a node onto another to re-parent it.↵ opens a map or attaches a doc.pnpm setup writes apps/server/.env for you. To edit by hand, copy apps/server/.env.example → apps/server/.env.
| Provider | Embeddings (RAG) |
|---|---|
| OpenAI · Claude | ✅ full RAG |
| DeepSeek · Kimi | ⚠️ no embeddings — RAG auto-degrades; set EMBEDDING_API_KEY to any OpenAI-compatible endpoint to keep it on |
The whole app ships as one image (server serves the web bundle + API):
docker run -p 3000:3000 -e OPENAI_API_KEY=sk-... ghcr.io/xianjianlf2/mindgeniusai
# open http://localhost:3000
Or build locally: cp apps/server/.env.example apps/server/.env && docker compose up --build.
Omit the key to let each visitor bring their own from Settings. To run a public demo, set a server key and DEMO_DAILY_LIMIT=5 — visitors get a few free runs per day (per IP) before being nudged to add their own key; BYO-key users are never limited.
— free on Hugging Face Spaces (Docker). Keep
sdk: docker / app_port: 3000; set OPENAI_API_KEY as a secret or leave it empty.
| Command | What it does |
|---|---|
pnpm setup |
first-run config wizard |
pnpm dev |
web + server in parallel |
pnpm build |
typecheck & build all packages |
pnpm test |
run vitest workspace |
pnpm lint |
eslint |
apps/web/ React 18 + Vite + Zustand + AntV X6 (custom design system)
apps/server/ Hono + Vercel AI SDK v5 (Hermas agent, RAG, SSE streaming)
packages/shared/ SSE / agent-event protocol shared by both ends
streamText + stopWhen: stepCountIs(8), four zod-typed tools (mindmap_generate / node_expand / rag_query / mindmap_edit).mindmap_edit returns add/update/remove ops applied to the tree by node id.recentEdits so the agent knows what you changed since its last turn, not just the current outline.embedMany → cosine retrieval, in-process.Full design: docs/REFACTOR_PLAN.md.
Cookieless, count-only (page views + an agent_run event) via Umami / GoatCounter / Cloudflare. Never sends chat, PDFs, or keys. See apps/web/.env.example.
Business Source License 1.1. Free for personal, academic, research, and non-profit use. Commercial use requires a license — contact mark-xian@foxmail.com. Each version converts to Apache-2.0 four years after release (Change Date: 2030-06-29).