Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

lora-sys/second-brain

Open more actions menu

Repository files navigation

第二大脑 · Second Brain

一个本地运行的网页看板 + 知识库,所有数据以 Markdown 文件形式直接存放在你的 Obsidian 仓库里 —— Obsidian 是 source of truth, 网页只是更好的输入和呈现层。

Dashboard

✨ 它能做什么

模块 干什么
人物 记录认识的人、联系方式、社交账号、状态、标签
任务 看板视图(待办 / 进行中 / 已完成 / 已取消),优先级、截止日期、所属项目
项目 把人物 / 任务 / 链接聚合到一个项目里
链接 粘贴 URL 抓取标题 / 封面 / 描述,或深度抓取全文转 Markdown 入库
搜索 跨人物 / 任务 / 项目 / 链接的全文搜索
双向同步 网页和 Obsidian 编辑同一份 Markdown 文件

🎬 演示视频

也可在 Releases 页面 下载原始 .webm

📸 截图

仪表盘 — 统计卡片、即将到期、最近编辑、标签云
Dashboard
人物列表 — 头像、状态、标签
People
人物详情 — 字段卡 + Markdown 正文
Person detail
任务看板 — 四列状态自动归类
Tasks kanban
项目 + Wikilink[[人物/张三]] 双向引用,点击跳转
Project wikilink
链接详情 — link card 预览 + 抓取的正文
Link detail
暗色模式 — 右上角一键切换
Dark mode
移动端 — 390px 视口自适应
Mobile

🚀 快速开始

需要 Node.js 20+。

git clone https://github.com/lora-sys/second-brain.git
cd second-brain
npm install
npm start

打开浏览器访问 **http://127.0.0.1:3939**。

首次启动会在仓库根目录生成 config.json,里面默认指向 /home/lora/文档/Obsidian Vault。你可以直接在网页的「设置」页面修改 Vault 路径、端口、目录命名。

数据结构

每个实体 = 一个 Markdown 文件,路径在 Vault 下:

Obsidian Vault/
├── 10-People/    ← 人物
├── 20-Tasks/     ← 任务
├── 30-Projects/  ← 项目
└── 40-Links/     ← 链接

你可以直接在 Obsidian 里编辑任何文件 → 刷新网页就同步。

人物示例:

---
type: person
name: 张三
status: active
company: Acme
role: CTO
contact:
  email: zhang@example.com
social:
  github: zhangsan
tags:
  - 朋友
  - 技术
created: 2026-07-11T02:56:23.303Z
updated: 2026-07-11T02:56:23.303Z
---

张三是我大学同学,现在是 CTO。
相关:[[30-Projects/my-second-brain]]

更多 schema 示例见 docs/data-model.md

🧠 设计原则

  • 本地优先:所有数据在你硬盘上的 Obsidian Vault 里,没有任何云同步
  • Obsidian 是 source of truth:网页只是输入层,文件可读可改
  • Git 友好:Markdown + YAML,纯文本,可以放进任何版本控制
  • 零依赖构建:原生 HTML/CSS/JS + Node HTTP,没有 webpack / vite 那一套
  • 可移植:Vault 用 Syncthing / iCloud / Dropbox 同步,多台机器无缝衔接

🛠 技术栈

技术
后端 Node.js (vanilla HTTP) · js-yaml · jsdom
前端 原生 HTML / CSS / JavaScript · marked
数据 Markdown + YAML frontmatter
端口 127.0.0.1:3939(仅本地)

整个项目没有框架(React / Vue 都没用),单文件服务 + 单文件前端, 理解起来 5 分钟,改起来 5 分钟。

📂 项目结构

second-brain/
├── server.mjs              # 入口
├── config.json             # 配置(vault 路径 / 端口 / 目录命名)
├── package.json
├── lib/
│   ├── server.mjs          # HTTP 路由 + 静态文件服务
│   ├── vault.mjs           # Markdown 文件 I/O + frontmatter
│   ├── frontmatter.mjs     # YAML 解析 / 序列化(带容错)
│   └── linkfetch.mjs       # 轻量 / 深度抓取,HTML → Markdown
├── public/
│   ├── index.html
│   ├── style.css
│   ├── app.js              # 单页应用(hash 路由)
│   └── lib/marked.min.js
├── docs/
│   ├── assets/demo.webm
│   ├── screenshots/
│   ├── architecture.md
│   └── data-model.md
├── recordings/             # 录制脚本(git-ignore 了产物)
│   └── e2e-demo.mjs
├── CHANGELOG.md
├── CONTRIBUTING.md
└── LICENSE

🧭 路线图

按优先级递减:

  • 任务卡片拖拽切换看板列
  • 浏览器扩展(一键剪藏网页到 Vault)
  • PDF / Office 文档预览
  • 提醒 / 循环任务 / 任务依赖
  • 全文搜索升级到 SQLite FTS5
  • 多用户 / 多 Vault 支持
  • 主题系统(用户自定义色板 / 字体)
  • 移动端手势(滑动切换看板列等)

🤝 贡献

欢迎 PR / Issue!详细流程见 CONTRIBUTING.md

📝 更新日志

CHANGELOG.md

📄 协议

MIT — 随便用。

About

Personal second-brain dashboard — Obsidian vault sync, knowledge graph, daily notes, and task tracking in one local-first UI.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.