wdc 王东超 Evanwangdongchao.cloud ← 返回博客
Blog · 2026-10-12

个人知识库:从 Obsidian 到线上私有站点

以 Obsidian 为唯一数据源,本地用 Python 预览、bash 一键同步上云——零后端、零数据库的纯静态私有知识库。

它是怎么工作的

整条链路只有两类脚本:本地生成 + 推送同步,服务器上不需要跑任何应用进程。

01
Obsidian vault(唯一数据源)

所有笔记用 Obsidian 本地撰写,Markdown + 附件,项目目录内置 _meta.json 描述名称、进度、待办与技术栈。

02
bash sync-notes.sh — 生成索引与镜像

脚本调用 gen-manifest.py:自动发现顶层项目目录、扫描全部笔记,生成 manifest.json 并把笔记镜像到发布目录,不写死任何清单。

03
python serve.py — 本地预览

轻量本地服务器(默认 127.0.0.1:8011):修复了 Windows 下中文文件名 404 与 MIME 误判问题,改完 vault 刷新即见,所见即所得。

04
bash deploy.sh — 一键同步上云

确认无误后推送到服务器静态目录,由 Caddy 托管并整站基础认证(basicauth)保护;同步时自动排除密钥类文件,隐私不出内网。

它有什么

前端是一个纯静态 SPA,所有能力库均已本地化(vendor),不依赖任何 CDN。

全文搜索

MiniSearch 驱动的毫秒级全文检索,标题、正文、项目一框直达。

关系图谱

vis-network 把笔记与项目之间的引用关系画成可交互的图谱。

项目看板

每个项目一张卡:进度百分比、待办计数、技术栈标签,一屏总览。

多格式渲染

Markdown、docx、内嵌 HTML、PDF 均可直接在线阅读,无需下载。

纯静态零后端

无应用进程、无数据库,任意静态托管即可部署,维护成本趋近于零。

私有化保护

整站 basicauth 访问控制,密钥类文件不参与同步,私人笔记安心存放。

长什么样

左侧项目导航,中间项目看板;搜索与图谱随点随用。

个人知识库界面截图:左侧项目导航,中间项目看板
kb-system · 全部项目看板视图(演示数据)
ObsidianMarkdownPythonBashVanilla JS SPAMiniSearchvis-networkCaddybasicauth