gbrussich52/neuron
GitHub: gbrussich52/neuron
Neuron 是一个基于 LLM 的本地优先知识库工具,能将各类原始素材自动编译、交叉链接为动态 wiki,并提供自主研究、语义搜索和自我改进能力。
Stars: 2 | Forks: 0
# Neuron
由 LLM 驱动的你的第二大脑。把任何东西丢进来——LLM 会进行编译、交叉链接,并维护一个活的知识库 wiki。你的每一个提问都在丰富它。你的每一次编程会话都在滋养它。它会主动挑战你的假设,并揭示你未知的盲区。它可以自主研究主题、自我改进,并完全在本地运行,无需任何 API 成本。
本项目基于 [Karpathy 模式](https://x.com/karpathy/status/2039805659525644595) 构建,并融入了 [Allie Miller](https://x.com/alliekmiller/status/2040884878229565816)、[Nick Spisak](https://x.com/NickSpisak_/status/2041012360668750229)、[CyrilXBT](https://x.com/cyrilXBT/status/2040988306154901742)、[Michael Chomsky](https://x.com/michael_chomsky/status/2040946855148929499) 和 [Geoffrey Huntley](https://ghuntley.com/) 的思想。
## 工具 vs. 知识库
本仓库包含 **Neuron 工具**以及一个模板知识库。你的个人
知识存放在一个独立的知识库目录中(例如 `~/knowledge-base/`)。
`neuron` 命令会进行全局安装,并在你运行它的任何知识库中
执行操作。不要将 `brain-cli/*.js` 复制到你的知识库中——只需在此仓库中
全局安装该工具一次即可。
## 它能做什么
```
You → Inbox/ Drop anything: URLs, files, YouTube links, brain dumps
↓
Neuron CLI Auto-detects type, processes, routes to raw/
↓
compile.sh LLM compiles raw → wiki (concepts, summaries, wikilinks)
↓
wiki/ Living knowledge base with typed relationships
↓
connections.js Semantic search finds related articles, suggests wikilinks
↓
insights / research Proactive insights, autonomous web research, gap detection
↓
deep-research Karpathy auto-research loop: research → compile → find gaps → repeat
↓
improve Self-improvement loop: compile → lint → research → recompile
↓
metrics Brain Score (A-F) tracks if the system is making you smarter
↓
Obsidian Browse everything with Dataview dashboards + classification badges
```
## 功能
**收集**
- **零摩擦收件箱** — 将任何内容放入 `Inbox/` 目录,Neuron CLI 会自动处理(URL、YouTube、文本、PDF、图像、思维倾倒)
- **YouTube 内容提取** — 使用 yt-dlp 自动提取视频转录文本
- **思维倾倒模式** — `neuron braindump` 接受任何非结构化文本,自动分类并存档
- **统一入口** — 使用 `capture.sh` 一条命令路由所有内容
**知识**
- **动态 wiki** — LLM 将原始素材编译为带有 `[[wikilinks]]` 和反向链接的概念文章
- **类型化关系** — 文章之间通过 `supports`(支持)、`contradicts`(矛盾)、`supersedes`(取代)建立链接,让知识图谱更清晰
- **增量编译** — 仅处理新的/未编译的素材(节省 token)
- **全文搜索** — 使用 `neuron search` 通过 ripgrep 在整个知识库中进行搜索
- **语义搜索** — `neuron semantic-search` 通过 embedding 查找概念匹配(基于 Ollama + nomic-embed-text)
- **关联发现器** — `neuron connections` 使用语义搜索 + LLM 建议 wikilink 和知识盲区问题
**智能**
- **主动洞察** — `neuron insights` 挑战你的假设,识别知识盲区,发现隐藏的关联
- **每日简报** — `neuron daily` 生成包含当前活跃内容、开放性问题和待探索关联的晨间笔记
- **会话提取** — Claude Code hook 自动从每次编程对话中捕获学习成果
- **自主研究** — `neuron research "topic"` 分解主题,通过 Tavily 搜索网络,提取结果,并编译进 wiki
- **Karpathy 深度研究** — `neuron deep-research "topic"` 迭代执行研究、编译、寻找盲区、研究盲区、重新编译,直到彻底完成
- **自我改进循环** — `neuron improve` 循环执行 编译→lint→研究盲区→重新编译,直到 Brain Score 达到目标等级
- **Brain Score** — `neuron metrics` 计算综合的 A-F 等级:内容量、链接密度、每周活跃度、编译延迟、lint 健康
- **Dataview 仪表板** — 知识演化、思维变化、思维倾倒追踪器、Brain Score
**模型不可知**
- **Provider 抽象** — `providers.js` 通过 Claude CLI、Anthropic API 或任何 OpenAI 兼容的 endpoint(Ollama、Grok、LM Studio)路由 LLM 调用
- **分层路由** — classify(分类,最便宜)、compile(编译,中等)、synthesize(综合,最好)、embed(embedding 模型)——每个层级映射到不同的模型
- **完全本地运行** — 在 `neuron.config.json` 中切换到 Ollama + Gemma 4,实现零 API 成本运行
- **零改动默认** — 默认使用 `claude-cli`,逐字节保留现有行为
**信任阶梯 (v2)**
- **默认隔离** — agent/LLM 写入的内容初始状态为 `trust: unverified`;只有你亲自写入的内容初始状态才为 `verified`。搜索仅提供已验证的笔记(故障关闭),因此 AI 永远不会将其自身未经审查的输出作为事实引用
- **REVIEW.md** — 位于知识库根目录的唯一自动生成的审批界面:包含机械性失败、软标记、重新验证通道,以及等待您批准的干净草稿。勾选复选框并同步,或者使用 `neuron approve|reject|reverify `
- **哈希绑定审批** — 批准操作会将笔记正文的 sha256 哈希值记录在仅追加的 `approvals.log` 中;后续对已批准正文的任何修改都会自动将其重新隔离
- **扫描** — `neuron validate --sweep` 为任何未经扫描的写入操作标记信任级别/分类/哈希(适用于 Obsidian 保存、写入后即退出的 agent)
- **权威检查点** — `scripts/neuron-sync.sh` 负责所有的 commit:扫描 → 应用你的复选框 → 白名单暂存(从不使用 `git add -A`) → 树状态 CONFIDENTIAL + 凭据扫描 → commit;发生泄漏时会暂停 push,绝不影响你的安全文件
**安全性**
- **分类系统** — 每个文件都会标记为 PUBLIC/PRIVATE/CONFIDENTIAL
- **凭据扫描** — 检测 API 密钥、JWT、token、密码(pre-commit hook + pre-push 目录树扫描)
- **`.gitignore` 强制执行** — 私有/机密文件永远不会被提交;如果 CONFIDENTIAL 文件被暂存,会自动隔离
- **Obsidian CSS 徽章** — 绿色/橙色/红色视觉指示器
**自动化**
- **文件监听器** — `neuron watch` 监听 Inbox/ 目录并自动处理新文件
- **每周定时任务 (crons)** — 周一进行汇总,周三进行 编译+lint(通过 LaunchAgents/cron 执行)
- **GitHub Actions CI** — 在每个 PR 上进行分类审计
- **智能 git 自动提交** — `auto-commit.sh` 生成由 LLM 驱动的 commit 消息
- **跨设备同步** — 使用带有 git-crypt 加密的 `sync.sh` 处理 PRIVATE/CONFIDENTIAL 文件
- **迭代改进** — `neuron improve` 循环执行 编译 → lint → 研究盲区 → 重新编译,逐步收敛至目标 Brain Score 等级
## 快速开始
```
git clone https://github.com/gbrussich52/neuron.git
cd neuron
chmod +x setup.sh
./setup.sh # Install to ~/knowledge-base/
./setup.sh /custom/path # Or install to custom location
```
## 使用说明
```
# 捕获任何内容
capture.sh url https://example.com ai,research # Web article
capture.sh youtube https://youtube.com/watch?v=abc # YouTube transcript
capture.sh file ~/Downloads/paper.pdf ml # Local file
capture.sh thought "Rate limiting needs quotas" pap # Quick thought
capture.sh decision "Haiku for free, Sonnet for pro" # Decision
capture.sh gotcha "PostgREST drops schemas" pap # Gotcha
capture.sh braindump # Interactive brain dump
# 或者只需将文件放入 ~/knowledge-base/Inbox/ — Neuron CLI 会处理剩下的事情
# Core
neuron watch # Watch Inbox/ and auto-process
neuron process # Process all pending Inbox/ files
neuron braindump # Interactive brain dump
neuron status # KB stats and health
neuron daily # Generate today's daily note
# 搜索
neuron search "query" # Full-text search (ripgrep)
neuron smart-search "query" # Combined semantic + keyword (best results)
neuron semantic-search "query" # Pure semantic/vector search
neuron reindex # Build or update semantic search index
# Intelligence
neuron insights # Proactive insight generation
neuron connections # Find related articles, suggest wikilinks
neuron metrics # Show Brain Score (A-F grade)
neuron metrics --history # Show score trends over time
neuron research "topic" # Autonomous web research (single pass)
neuron deep-research "topic" # Karpathy auto-research loop (iterative)
neuron improve # Self-improvement loop (compile→lint→research→repeat)
# Config
neuron config # Show current provider, models, features
neuron config provider openai-compatible # Switch to local Ollama
neuron config feature semantic_search on # Toggle features
neuron config model compile gemma4:e4b # Set tier model
# Pipeline
capture.sh compile # Compile raw → wiki
capture.sh lint # Health checks
capture.sh audit # Security scan
# Sync
scripts/sync.sh init # Initialize git + git-crypt
scripts/sync.sh push # Commit and push to remote
scripts/sync.sh pull # Pull latest from remote
```
### 研究层级
| 命令 | 范围 | 迭代次数 | 退出条件 |
|---------|-------|------------|----------------|
| `neuron research "topic"` | 单一主题,单次执行 | 1 | 完成一个周期后结束 |
| `neuron deep-research "topic"` | 单一主题,迭代执行 | 1-5 | 主题中没有剩余盲区 |
| `neuron improve` | 整个知识库 | 1-5 | Brain Score >= 目标等级 |
### 切换至本地模型(零 API 成本)
```
# 安装 Ollama + models
brew install ollama && brew services start ollama
ollama pull gemma4:e2b # Classify tier (fast, tiny)
ollama pull gemma4:e4b # Compile + synthesize tier
ollama pull nomic-embed-text # Embedding model for semantic search
# 切换 neuron 到本地 — 编辑 neuron.config.json:
# "provider": "openai-compatible"
# 就是这样。所有 LLM 调用现在都将通过 Ollama 路由。
```
## 分类系统
每个 `.md` 文件必须在其 YAML frontmatter 中包含 `classification:`:
| 等级 | 含义 | 规则 |
|-------|---------|-------|
| `PUBLIC` | 通用知识 | 可安全分享、发布博客、开源 |
| `PRIVATE` | 个人/项目上下文 | 仅限本地,绝不发布 |
| `CONFIDENTIAL` | 凭据、PII、客户数据 | 绝不分享,绝不提交 |
`.gitignore` 会阻止 PRIVATE 和 CONFIDENTIAL 文件。`classify-check.sh` 会审计缺失的标签,并扫描泄露的凭据(API 密钥、JWT、Stripe 密钥、GitHub token 等)。
## 架构
```
~/knowledge-base/
├── Inbox/ # Drop anything here — auto-processed
├── Daily/ # Daily notes (Templater template)
├── Dashboards/ # Dataview dashboards
│ ├── Knowledge-Evolution # Track KB growth over time
│ ├── Thinking-Changes # How your thinking evolved
│ ├── Brain-Dump-Tracker # Capture history and processing stats
│ └── Brain-Score # Thinking quality score + trends
├── Brain-Index/ # Semantic search index (auto-generated)
│ ├── embeddings.json # File-backed vector embeddings
│ └── metrics.json # Weekly Brain Score snapshots
├── memory/ # Working memory
│ ├── context.md # Current focus + roadmap [PRIVATE]
│ ├── preferences.md # Workflow prefs [PUBLIC]
│ ├── projects.md # Project facts [PRIVATE]
│ └── people.md # Stakeholders [CONFIDENTIAL]
├── raw/ # Processed source material
├── wiki/
│ ├── index.md # Auto-maintained master index
│ ├── concepts/ # Compiled articles with [[wikilinks]]
│ ├── summaries/ # Per-source summaries
│ ├── queries/ # Filed Q&A, research reports, gap questions
│ └── sessions/ # Auto-extracted session learnings [PRIVATE]
├── Notes/ # Unstructured brain dumps (swept to Inbox nightly)
├── Archive/ # Processed inbox items, retired content
├── brain-cli/ # Node.js Neuron CLI
│ ├── brain.js # Main CLI (16 commands)
│ ├── providers.js # LLM provider abstraction (Claude/Anthropic/Ollama)
│ ├── llm-run.js # Shell bridge for bash scripts → providers
│ ├── neuron.config.json # Provider routing, feature flags, research config
│ ├── semantic.js # File-backed vector search + incremental indexing
│ ├── connections.js # Cross-linker + gap detector
│ ├── metrics.js # Brain Score (A-F grade) + weekly snapshots
│ ├── research.js # Autonomous web research + Karpathy deep research
│ └── improve.js # Self-improvement loop (compile → lint → research → recompile)
├── scripts/ # Shell automation
│ ├── capture.sh # Universal entry point (18 subcommands)
│ ├── compile.sh # raw → wiki compilation
│ ├── lint.sh # Wiki health checks
│ ├── query.sh # Q&A against wiki
│ ├── ingest.sh # URL/file ingestion (firecrawl preferred)
│ ├── session-extract.sh # Claude Code session → learnings
│ ├── consolidate.sh # Memory pruning + session promotion
│ ├── classify-check.sh # Classification + credential audit
│ ├── auto-commit.sh # Smart git commits with LLM messages
│ ├── sync.sh # Cross-device git + git-crypt sync
│ └── notes-sweep.sh # Nightly sweep: Notes/ → Inbox/
├── templates/ # Obsidian Templater templates
└── CLAUDE.md # Vault rules for LLM agents
```
## 自动化
| 触发器 | 执行操作 |
|---------|-------------|
| 每次会话结束 | 提取学习成果 → `wiki/sessions/` |
| 每晚 10:00 | 清理 `Notes/` → 移至 `Inbox/` 等待处理 |
| 周一早 9:00 | 记忆汇总 + 会话提升 |
| 周三早 9:00 | 知识库 编译 + lint + 分类审计 |
### Claude Code 会话 Hook(可选)
从每次 Claude Code 对话中自动提取学习成果:
```
claude settings set hooks.Stop '[{"command": "~/knowledge-base/scripts/session-hook.sh"}]'
```
### 卸载自动化
```
./setup.sh --uninstall # Removes LaunchAgents, keeps your data
```
## 环境要求
**必需(以下之一):**
- **Claude Code CLI** (`claude`) — 默认 LLM 引擎,零配置(推荐)
- **Anthropic API key** — 用于在没有 Claude CLI 的情况下直接访问 API
**可选 — 本地模型:**
- **Ollama** (`ollama`) — 适用于使用 Gemma 4、Llama 等进行完全本地、零 API 成本的运行。如果你使用 Claude CLI 或 Anthropic API,则不需要。
**平台:**
- **macOS** — 使用 LaunchAgents 进行自动化
- **Linux** — 使用 cron 进行自动化(由安装程序自动检测)
**可选:**
- **Obsidian** — 用于浏览 wiki,查看可视化分类徽章和 Dataview 仪表板
- **firecrawl-cli** — 提供更好的 URL 提取时的 Web 转 Markdown 转换
- **Tavily API key** — 启用 `neuron research` 和 `neuron deep-research` 的网络研究功能
- **git-crypt** — 加密 PRIVATE/CONFIDENTIAL 文件,以便安全地进行远程同步
## 设计原则
1. **是 LLM 在维护 wiki,而不是你** — 你只需投入素材,由它进行编译
2. **每次查询都在复利增长** — Q&A 结果会回流到 wiki 中
3. **模型不可知** — 在一行配置中切换 Provider;在本地或云端运行
4. **设计上的成本优化** — 分层路由将廉价任务分配给廉价模型,困难任务分配给优质模型
5. **自我改进** — 系统自主研究自身盲区并重新编译
6. **在此规模下无需 RAG** — LLM 上下文窗口 + 自动维护的索引即可处理;针对概念查询提供可选的语义搜索
7. **默认安全** — 每个文件都进行分类、凭据扫描,并强制执行 .gitignore
8. **记忆只是提示,而非真相** — 在根据记忆采取行动之前,务必对照当前状态进行验证
### 最初的蓝图
- **[Andrej Karpathy — LLM 知识库](https://x.com/karpathy/status/2039805659525644595)**(2026年4月2日)— 核心模式:原始数据 → LLM 编译的 wiki → Q&A + lint 循环。*"我最近的 token 吞吐量中很大一部分不再用于操作代码,而是更多地用于操作知识。"* 另请参阅他的 [GitHub Gist](https://gist.github.com/karpathy) 获取实现说明。这是其他一切构建的基础。
### 直接影响(塑造 Neuron 的讨论线索)
- **[Allie Miller — Claudeopedia](https://x.com/alliekmiller/status/2040884878229565816)** — 扩展了 Karpathy 模式,引入了 `/wiki` 技能(可捕获屏幕截图和下载文件)、Dataview 可视化仪表板,以及一个能主动挑战你信念的、用于质疑假设的 cron 任务。Neuron 的 `neuron insights` 和 Dataview 仪表板正源于此。
- **[Nick Spisak — LLM 知识 Pipeline](https://x.com/NickSpisak_/status/2041012360668750229)** — 构建了一个 pipeline,使用 yt-dlp 获取 YouTube 转录文本,使用 [steipete 的 summarize CLI](https://github.com/steipete/summarize) 进行内容压缩,使用 [tobi/qmd](https://github.com/tobi/qmd) 进行极快的本地 Markdown 搜索,以及一个用于索引 YouTube 存档、X 导出数据和 AI agent JSONL 日志的 brain CLI。Neuron 的 YouTube 提取、brain CLI 架构和文件监听器概念正源于此。
- **[CyrilXBT — 第二大脑系统](https://x.com/cyrilXBT/status/2040988306154901742)** — 一个完整的基于 Obsidian 的第二大脑,拥有 4 文件夹的 PARA 结构(Inbox/Notes/Projects/Archive),集成了 Dataview + Templater + Canvas,包含每日笔记模板、CLAUDE.md 知识库配置,以及 4 个 Claude 工作流:晨间简报、想法开发、关联发现写作加速器。Neuron 的文件夹结构、每日笔记模板和 4 个工作流部分直接来源于此。
- **[Michael Chomsky — 自我更新的知识库愿景](https://x.com/michael_chomsky/status/2040946855148929499)** — 一种将来自 iMessage、邮件、X 和 AI 聊天记录中的知识自动同步到纯文本可观察 Markdown 文件中的愿景,具备 MCP 风格的访问方式、基于规则的自动组织,以及主动的生活改善建议。Neuron 的主动洞察生成和“系统应该主动让你变得更聪明”的哲学正源于此。
### 架构影响
- **[Claude Code 记忆系统](https://docs.anthropic.com/en/docs/claude-code)** — Anthropic 基于文件的记忆架构(MEMORY.md 指针索引 + 主题文件)启发了记忆层。Neuron 在此基础上扩展了分类、会话提取、类型化关系和编译 pipeline。
- **[Obsidian](https://obsidian.md/)** — “思维 IDE”。本地优先、原生 Markdown、可扩展插件。Neuron 被设计为原生的 Obsidian 知识库,包含 `[[wikilinks]]`、frontmatter 元数据和 Dataview 查询。关键插件:[Dataview](https://github.com/blacksmithgu/obsidian-dataview)、[Templater](https://github.com/SilentVoid13/Templater) 和内置的 Canvas。
- **[Tiago Forte — 构建第二大脑](https://www.buildingasecondbrain.com/)** — PARA 方法(Projects、Areas、Resources、Archive)影响了目录结构。Neuron 对此进行了调整:Inbox(收集)→ raw(处理过的素材)→ wiki(编译后的知识)→ Archive(已完成的资料)。
### 相关工具参考
| 工具 | 功能 | 在 Neuron 中的用途 |
|------|-------------|----------------|
| [yt-dlp](https://github.com/yt-dlp/yt-dlp) | YouTube 视频/音频/字幕下载器 | YouTube 转录文本提取 |
| [firecrawl](https://github.com/mendableai/firecrawl) | 网页抓取 → 干净的 Markdown | URL 提取(优于 curl) |
| [ripgrep (rg)](https://github.com/BurntSushi/ripgrep) | 极速正则表达式搜索 | `neuron search` 全文搜索 |
| [tobi/qmd](https://github.com/tobi/qmd) | 快速的本地 Markdown 搜索 | 推荐用于大型知识库(未内置) |
| [steipete/summarize](https://github.com/steipete/summarize) | CLI 内容摘要工具 | 推荐用于长文本内容(未内置) |
### 安全模式
- **数据分类(NIST SP 800-60)** — PUBLIC/PRIVATE/CONFIDENTIAL 分级系统是联邦信息分类标准的简化版。在此应用是因为无论你是否察觉,你的笔记中都不可避免地会包含 API 密钥、项目机密和利益相关者信息。
### 延伸阅读
- [Simon Willison — LLM 增强的个人数据管理](https://simonwillison.net/) — 关于使用 LLM 管理个人知识的开创性工作
- [Karpathy — 关于临时 wiki 的后续讨论](https://x.com/karpathy/status/2039805659525644595) — *"对前沿级 LLM 提出的每一个问题都可以生成一个 LLM 团队:迭代构建整个临时 wiki,对其进行 lint,循环几次,然后撰写一份完整的报告。"*
## 快速入门指南
**刚开始接触 Neuron?**从这里开始:**[QUICKSTART.md](QUICKSTART.md)**
涵盖安装、Obsidian 设置、你的第一段内容、搜索、研究和日常工作流的分步指南。无需任何前期经验。
## 贡献
欢迎提交 Issue 和 PR。一些想法:
- **Obsidian 插件** — 文件浏览器中的分类徽章,从命令面板触发“编译选中项”,Brain Score 小部件
- **额外的搜索 Provider** — Brave Search、SearXNG、Perplexity 作为 Tavily 的替代方案
- **更好的 Web 转 Markdown** — pandoc、readability、Jina Reader
- **移动端快速捕获** — 集成 Shortcuts/Tasker 以实现 iOS/Android → Inbox/
- **MCP 服务器** — 将 neuron 作为 MCP 工具暴露给其他 AI agent
- **Fine-tuning pipeline** — Karpathy 的愿景:从 wiki 生成合成数据,进行 fine-tune,让 LLM 在其权重中“掌握”这些数据
## 许可证
MIT
标签:AI风险缓解, Cutter, LLM, Obsidian, Petitpotam, Unmanaged PE, 个人知识管理, 人工智能, 数据可视化, 用户模式Hook绕过, 知识库管理, 笔记软件, 网络调试, 自动化, 自定义脚本