主题
个人知识站搭建指南:选型、同步、发布与成本
一套能长期用下去的知识站,成本和复杂度都不在技术上,而在三个决定上:内容源头用什么格式、同步和发布要不要分开、托管放在哪里。 本文基于 2026 年 10 月的实测与官方定价,把这三个决定拆开讲清楚。
0. 先分清三件事
大多数人搭知识站失败,不是因为工具选错,而是一开始把三件不同的事混成了一件:
| 层次 | 要解决的问题 | 典型误用 |
|---|---|---|
| 记录 | 快速抓住一闪而过的想法 | 用发布工具做草稿箱,写一半的东西被公开 |
| 沉淀 | 让零散内容逐渐长成体系 | 用云笔记存成品文章,同一主题攒出五份重复 |
| 发布 | 让内容被搜索引擎和别人看到 | 用文档平台发布,SEO 权重归平台 |
这三层对工具的要求是冲突的:记录要轻,沉淀要能生长,发布要可控和可索引。没有哪个产品能同时把三件做好,所以正确做法是分层选工具、用文件格式把它们串起来。
1. 选型:六个平台对照
1.1 它们其实不是同一类东西
把语雀、飞书、Notion、ima、Obsidian、有道云笔记放在一起比,很容易得出“都差不多”的错误结论。按本质分类只有三组:
协作型云文档(语雀、飞书文档、Notion) 数据在别人的服务器上,强项是多人在线协作、权限管理、评论审阅。适合团队一起写,不适合作为你个人内容的永久载体。
本地笔记(Obsidian) 数据是你磁盘上的 Markdown 文件,双链、图谱、插件生态。协作能力几乎为零,但内容的归属权和可迁移性最强。
AI 检索层(ima、Notion AI、有道智能问答) 重点不在“写”,而在“问”。把资料喂进去,用自然语言检索出带出处的答案。
传统云笔记(有道云笔记) 扫描、OCR、语音速记、网页收藏,定位是“随手记”,目录层级浅,不适合长期技术沉淀。
1.2 关键数据对照
| 产品 | 免费额度 | 入门付费 | 能否发布成自己的站 |
|---|---|---|---|
| 语雀 | 100 篇/月、5 个知识库、AI 100 次/天、协作 5 人、月流量 1GB | 专业 ¥99/年(无限文稿、1500 库、协作 50 人) 超级 ¥299/年(协作 500 人、单附件 2GB) | 可公开链接;自定义域名要企业版(¥50~120/人/月) |
| 飞书文档 | 100 人以内团队可用;云文档+IM+邮箱共用 15GB(企业认证后 100GB) | 商业版 ¥50/人/月起 | 基本不能,只有分享链接 |
| Notion | 个人无限 block;一旦有第 2 个成员,掉进 1000 block 试用限制;单文件 5MB;10 位访客;7 天历史 | Plus $10/人/月(年付) Business $20/人/月(含完整 AI) | 能,Sites + 自定义域名 |
| ima(腾讯) | 个人功能基本全免费,空间 30GB 起(新注册 50GB,教育认证最高 100GB),单文件约 150MB,支持 19 种格式 | 团队版 2026/6 上线(第三方口径约 ¥29/人/月,官方未公开价目) 企业版按容量订阅 | 不能,本质是问答库 |
| Obsidian | App 永久免费,2026 年 2 月起商用也不再强制执行授权 | Sync $4/月(1GB 总量、单文件 5MB) Sync Plus $8/月(10GB、单文件 200MB) Publish $8/站/月 | 能,Publish;或自己接静态站 |
| 有道云笔记 | 3GB | 会员 ¥198/年(50GB、OCR、PDF 转 Word) | 只能分享单篇 |
| 自建(VitePress + Pages) | 无限制 | 仅域名 ¥70~300/年 | 能,SEO 完整 |
价格均为 2026 年 10 月官方页面口径,各平台调价频繁,下单前请复核。
1.3 三个平台的两个隐藏成本
Notion 的 AI 是分层卖的。 Plus($10)只给试用额度,真正能用的 Notion Agent、AI 会议纪要、跨应用搜索都在 Business($20)。自定义 Agent 还按 credit 另计(约 $10/1000 credits)。团队用起来,实际单价是 $20 而不是 $10。
语雀的能力锁在会员等级后面。 导出、API、自定义域名、公开花园都跟会员绑定。免费版每月 100 篇文稿配额,写得多很快就顶到。
1.4 一条不可妥协的原则
内容的源头必须是纯 Markdown 文件。
只要源头是 .md,今天放 Obsidian、明天推 Git、后天换任何静态站生成器,都只是复制粘贴。一旦源头是块结构(Notion、语雀、飞书),搬一次就要脱一层皮——导出会丢层级、丢图片链接、丢代码块高亮。
这不是偏好问题,是可迁移性问题。选工具时可以妥协功能,不能妥协这一点。
2. 成本:一年的真实账单
| 项目 | 费用 |
|---|---|
| 域名(.com / .homes) | ¥70~300/年 |
| Cloudflare Pages(构建、带宽、CDN、SSL) | ¥0(500 次构建/月、2 万个文件/站、单文件 25MiB) |
| Cloudflare Workers + D1(若要访问统计) | ¥0(免费额度内) |
| Gitee 私有仓库(个人) | ¥0 |
| GitHub 账号与 Actions | ¥0 |
| Obsidian 本体 | ¥0 |
| 同步(坚果云 / Obsidian Sync) | ¥0~345/年 |
| ICP 备案(仅国内托管需要) | ¥0,耗时 1~2 周 |
不含同步的话,一年的开销就是域名钱。 这就是静态站架构最大的优势:没有服务器要维护,没有数据库要备份,访问量涨十倍也不会多花钱。
免费额度的真实边界值得记住:Cloudflare Pages 免费版给 500 次构建/月,一天能发十几次;站点最多 2 万个文件,单文件 25MiB。个人文档站离这些上限非常远。
3. 架构:四层,且同步与发布分开
3.1 整体结构
┌─────────────────────────────────────────┐
│ 1 写作层 Obsidian + 纯 Markdown 文件 │
└──────────────────┬──────────────────────┘
│ 同步(网盘 / Obsidian Sync)
┌──────────────────▼──────────────────────┐
│ 2 版本层 Gitee 主仓 + GitHub 镜像 │
└──────────────────┬──────────────────────┘
│ push 触发 或 本地直传
┌──────────────────▼──────────────────────┐
│ 3 构建层 VitePress(Node.js) │
└──────────────────┬──────────────────────┘
│
┌──────────────────▼──────────────────────┐
│ 4 托管层 Cloudflare Pages + 自有域名 │
└─────────────────────────────────────────┘每一层都可以单独替换:换同步工具不影响写作,换托管平台不影响 Markdown,换框架不影响内容。这是这套架构能活很久的原因。
3.2 为什么同步和发布要分开
因为两个范围不相等:
笔记库/(全部内容,可能 500 篇)
├── 草稿、私人笔记、客户资料 —— 永远不公开
└── 标记了 publish: true 的 —— 几十篇成品
│
└──→ Git 仓库 → 网站(公开,进搜索引擎)同步管的是整库,发布管的是子集。如果整个笔记库就是一个 Git 仓库并直接连 VitePress,那么草稿、私人资料、半成品想法都会进版本库、推到 Gitee/GitHub 上。虽然可以在构建时排除,但已经推出去了。
分开之后,日常操作反而更轻:写完保存就完事,网盘自动传,不用 commit、不用想提交信息、不用管冲突。只有真要发布时才碰 Git,那时候你本来就该认真写一条 message。
3.3 推荐目录结构
笔记库/ ← 同步盘,不初始化 Git
├── 00-inbox/ 随手记,不分类
├── 10-notes/ 主题笔记,一篇一主题
├── 90-private/ 不公开的
└── 99-assets/ 附件(图片、PDF)
site/ ← Git 仓库(Gitee 主 + GitHub 镜像)
├── docs/ VitePress 源文件
├── package.json
└── .gitignore3.4 什么时候可以不用分开
如果满足三个条件——笔记全是纯文本、没有任何私人内容、总量就几十篇——那一份 Git 全包更简单,别为了架构洁癖多搭一层。用 obsidian-git 插件定时自动 pull/push 即可。
分开的唯一理由是“库里有不该公开的东西”,或者“发布集远小于全库”。
4. 两台电脑怎么同步
4.1 先排除一类方案
常见推荐里的 Syncthing、Resilio 是点对点同步,只在两台设备同时在线时才能传数据。
如果你的情况是“周一下午在 A 机写到关机,周二上午在 B 机接着写”,那 P2P 必然出问题:A 的改动从没到过 B,两边各自基于旧版本继续写,等下次同时在线就是大面积冲突。
所以拓扑必须是星型——两台机器都只跟云端通信,云端是唯一权威版本。
4.2 三个可选方案
| 方案 | 费用 | 自动化 | 主要问题 |
|---|---|---|---|
| Obsidian Sync | Standard $4/月(1GB、单文件 5MB) Plus $8/月(10GB、单文件 200MB) | 全自动,冲突处理优雅 | Standard 容量小,有附件必须上 Plus |
| 坚果云 + Nutstore Sync 插件 | 免费(1GB 上传 / 3GB 下载 每月) 专业版 ¥199/年(30GB、流量不限) | 全自动,国内速度好 | 免费额度按月度流量算,附件多容易爆 |
| Git(obsidian-git 插件) | ¥0 | 定时提交 | 冲突要手动合并;连续自动提交会把版本历史淹掉 |
Obsidian Sync 的设备数不限,两端电脑加手机平板都不额外收费,端到端加密,密钥只在你自己手里。学生、教师、非营利组织打 4 折,购买后 7 天内可全额退款。
要避开一个坑:别让网盘同步和 Git 仓库同时管同一个 .git 目录。OneDrive、iCloud 对“大量小文件 + 高频写入”的处理不好,仓库损坏的案例不少。要么全用 Git,要么让库彻底不初始化 Git。
4.3 三条操作纪律
- 开工前等同步完成再动手。 打开 Obsidian 看同步状态,转完再编辑。这是冲突的头号来源。
- 关机前确认已同步。 写完最后一篇立刻关机,那几分钟的改动会留在本地队列,下次开机才上传。
- 决定
.obsidian目录同步与否。 同步它,插件和主题设置两端一致,但workspace.json会互相覆盖窗口布局。建议同步,但排除workspace.json。
5. ima 怎么接进来
5.1 一个必须先纠正的认知
坊间流传“ima 会自动把相近内容合并到同一篇文章”。实测不是。
它的真实能力是聚类分组:知识库里的「AI 整理」按主题聚类,几秒后给出若干簇、每簇一个建议名称,然后自动打标签、生成同名分组视图。去重也是提示式的——你问“检索标题相似度超过 80% 的文档”,它列个清单给你,删不删、怎么并,你自己动手。
原文一个字都不会被改写。ima 里没有“你那篇文章”这个实体,它存的是文件快照(PDF、公众号、网页、Markdown),只能整份替换,不能续写。
所以它解决的是“找得到”,不解决“不重复”。同一主题丢进去五次,就会老老实实躺五份。
5.2 它能做和不能做
| 能做 | 做不到 |
|---|---|
| 列知识库、列文件、按语义搜索 | 把文本直接写进知识库(接口要求文件先上传成媒体资源) |
| 读任意文件正文、答案带出处 | 修改已有文件内容 |
| 批量导网页链接(每次最多 10 条) | 自动识别“这几篇是同一主题” |
| 把已上传文件挂进指定知识库 | 合并、改写、删除 |
5.3 正确用法
不要在 ima 里存成品文章。 这是重复的根源。成品只存一处,就是 Obsidian 那篇;ima 退回它该待的位置:
- ima 存:PDF、公众号文章、网页、别人的报告、会议录音转写——你没法编辑、只需要查询的东西
- Obsidian 存:你自己写的、会反复修改、要发布的东西,一个主题一篇,持续生长
两者之间是单向的:ima → Obsidian 顺畅(能搜、能读、能批量拉),Obsidian → ima 只能手动上传。
顺带一提,合并时有个容易踩的坑:“重复”不等于“完全重复”。拆分上传的版本里经常藏着主篇没有的细节(比如某个表格多一列、某段展开更细),直接删会丢信息。正确做法是以最长版本为骨架,逐节比对补入独有内容,并在文末留一张合并记录表,写清哪份被吸收了什么。
6. GitHub 不通怎么办
6.1 三个必须先知道的事实
| 事实 | 影响 |
|---|---|
| Gitee Pages 已于 2024 年停服,入口下架、直链失效 | 别指望“Gitee 仓库直接出网站”,这条路已死。网上仍有大量过时教程 |
| Cloudflare Pages 原生只认 GitHub / GitLab,不支持 Gitee | Gitee 仓库没法直接连 Cloudflare 自动构建 |
| Cloudflare 构建时是它去拉 GitHub,不是你的电脑去拉 | 你本地打不开 GitHub,并不影响 Cloudflare 构建 |
第三条是关键。真正被网络卡住的只有两件事:本地 push 不上去、本地 clone 不下来。Cloudflare 从海外机房访问 GitHub,一直是通的。
6.2 按“断的频率”选方案
| 断的频率 | 做法 | 改动量 |
|---|---|---|
| 偶尔(一周几次,等一会儿就好) | GitHub 保持主仓,本地加 Gitee 作第二个 remote,双推;Cloudflare 继续监听 GitHub。急用时 wrangler pages deploy 兜底 | 最小,五分钟 |
| 经常(几乎天天推不上去) | Gitee 作主仓,发布走 wrangler 直传,GitHub 只做代码备份 | 中等,每台电脑配置一次 |
| 完全不通 / 读者主要在国内 | EdgeOne Pages + 自有域名 + ICP 备案 | 最大,备案 1~2 周 |
判断原则:别为偶发故障改架构。 一周断几次的情况,加个第二 remote 就够了;为了偶发的网络抖动把整条构建链路改成手动直传,反而会丢掉“push 即发布”这个最省心的特性。
6.3 直传方案的具体命令
bash
npm run docs:build
npx wrangler pages deploy docs/.vitepress/dist --project-name 你的项目名两条注意:Direct Upload 项目以后不能转成 Git 集成,Cloudflare 明确要求新建项目;拖拽上传限 1000 个文件,命令行支持 2 万个。
6.4 国内托管的门槛
腾讯云 EdgeOne Pages 有长期免费套餐、不限流量、支持 Git/CLI 部署、3200+ 边缘节点。但有两道门槛:
- 免费子域名
*.edgeone.cool强制带时效 token,只能当临时预览,不能作为长期公开链接 - 加速区域一旦包含中国大陆,自定义域名必须完成 ICP 备案,否则返回 403
想免备案,只能选“全球(不含中国大陆)”,代价是国内访问速度打折。而且这个选项一旦选定就不能改,要切换得删项目重建。
6.5 另一个理由:留个镜像
Gitee 对内容的审核比 GitHub 严格。技术文档一般碰不到,但如果内容涉及行业评论、政策解读之类,仓库有被限制的可能。
所以保留 GitHub 镜像不只是防网络故障,更是内容存续的保险。
7. 安装清单
按角色分四组,只装你要用的。
7.1 写作端:Obsidian
Windows
方式一,命令行(推荐,便于以后更新):
powershell
winget install Obsidian.Obsidian方式二,官网下载 Obsidian-x.x.x.exe 安装包,双击安装。
macOS
bash
brew install --cask obsidian或从官网下载 .dmg,拖进「应用程序」。Apple Silicon 与 Intel 都有对应版本。
Linux
官网提供 .AppImage、.deb、.rpm;也可用 snap install obsidian --classic 或 flatpak install flathub md.obsidian.Obsidian。
iOS / iPadOS
App Store 搜索 Obsidian,免费下载。
Android
Google Play 下载;国内网络受限时到官网下载 APK 直接安装。移动端与桌面端用同一个库(vault),靠同步服务保持一致。
首次使用的三件事
- 创建库(Vault):选一个空文件夹,不要放在系统盘的用户目录深处,路径里最好不含中文空格,将来接 Git 更省事
- 设置中文界面:Settings → General → Language
- 装社区插件前先关安全模式:Settings → Community plugins → Turn on community plugins
7.2 构建端:Node.js + Git
VitePress 要求 Node.js 20~24,推荐 22(LTS)。
Windows
powershell
winget install OpenJS.NodeJS.LTS
winget install Git.Git装完重开终端,验证(Windows PowerShell 5.1 不支持 && 串联,请逐行执行):
bash
node -v
npm -v
git --version三个命令都能输出版本号,环境就齐了。
macOS
bash
brew install node git想管理多版本,用 brew install fnm 或 nvm,比直接装全局 Node 灵活。
Linux(Debian/Ubuntu)
bash
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs git必做的两步配置(两台电脑都要):
bash
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"邮箱要与 Gitee/GitHub 账号一致,否则提交记录挂不到你的头像上。
7.3 同步端(选一个)
Obsidian Sync:Obsidian 内 Settings → Sync → 登录 → 创建或连接远程库。A 机「新建远程库」,B 机「连接已有库」,用同一个账号。注意 Standard 只有 1GB 总量、单文件 5MB,有 PDF 和截图就选 Plus。
坚果云:装桌面客户端 → 注册 → 把笔记库文件夹设为同步文件夹 → Obsidian 里装 Nutstore Sync 插件(插件 ID nutstore-sync,坚果云官方维护)→ 登录即可,不用手填 WebDAV 地址。插件里有「路径过滤」和「跳过大文件」,把附件目录排除掉能省很多流量。
7.4 发布端(按需)
bash
npm install -g wrangler # Cloudflare 部署命令行
wrangler login # 浏览器授权一次
winget install GitHub.cli # Windows,可选
brew install gh # macOS,可选8. 发布流程
8.1 首次配置(每台电脑一次)
bash
# 1. 克隆发布仓库
git clone https://gitee.com/你的账号/site.git
cd site
# 2. 装依赖
npm install
# 3. 本地预览
npm run docs:dev.gitignore 至少要有这几行:
gitignore
node_modules/
docs/.vitepress/dist/
docs/.vitepress/cache/
.DS_Store
*.log如果笔记库本身也要进 Git(不推荐,见 3.2),额外加:
gitignore
.obsidian/workspace.json
.obsidian/workspace-mobile.json8.2 日常写作
- 打开 Obsidian,等同步完成
- 在
00-inbox/随手记,或在10-notes/直接写主题笔记 - 保存即完成,网盘自动上传
- 关机前确认同步状态
不需要 commit,不需要 push。 这是分离架构最大的好处。
8.3 发布一篇文章
- 在笔记的 frontmatter 里加
publish: true - 跑同步脚本,把它复制进
site/docs/并修正图片路径 (脚本逻辑很简单:遍历10-notes/,读 frontmatter,筛出publish: true的文件复制过去。写成 Node 脚本后一条命令即可,不必手动拖文件) - 本地预览确认排版
bash
npm run docs:dev- 提交并推送
bash
git add -A
git commit -m "新增:个人知识站搭建指南"
git push origin main # Gitee
git push github main # 镜像,可选- Cloudflare 检测到推送,自动构建上线(1~2 分钟)
8.4 网络不通时的兜底
bash
npm run docs:build
npx wrangler pages deploy docs/.vitepress/dist --project-name 你的项目名产物直接在本地构建,只依赖本机网络,绕开 GitHub。
8.5 双 remote 配置
bash
git remote set-url origin https://gitee.com/你的账号/site.git
git remote add github https://github.com/你的账号/site.git之后 git push origin main 推 Gitee,git push github main 推 GitHub。网络好时两个都推,不好时只推 Gitee,Cloudflare 那边等网络恢复后自然跟上。
9. 常见问题
Q:为什么不用 GitHub Pages? 国内访问不稳定,且它明确不允许商用站点。Cloudflare Pages 带宽不限、构建次数更多、支持自定义域名和边缘函数。
Q:域名要备案吗? 托管在 Cloudflare 不需要。托管在国内平台(EdgeOne、阿里云 OSS、腾讯云 COS)且使用大陆节点时必须备案。备案本身免费,但要 1~2 周。
Q:内容多了怎么加搜索? VitePress 内置本地搜索,零配置,几千页以内够用。再大就接 Algolia DocSearch(开源文档免费)或自建 Meilisearch。
Q:一定要写代码吗? 不用。改内容只需编辑 Markdown,在 GitHub/Gitee 网页上也能直接改。只有在改导航、配色、首页布局时才需要碰配置文件和 Vue 组件。
Q:本地能完全不装环境吗? 能。把仓库托管在 Cloudflare 页面并在网页端编辑 Markdown,构建在 Cloudflare 服务器上跑,你只需要浏览器。代价是没法本地预览,改样式会很痛苦。
Q:附件(PDF、图片)怎么办? 放 99-assets/ 并在同步里排除,或者用对象存储(Cloudflare R2、阿里云 OSS)外链。别让大文件进 Git 仓库,二进制文件会让仓库迅速膨胀且无法有效 diff。
Q:需要备份吗? 需要,而且不止一份。Git 仓库本身就是版本备份,但它是单点的。建议:Gitee + GitHub 双仓、本地保留完整库、重要内容定期导出成 PDF 或 zip 存档。
10. 一页速查
| 决定 | 推荐 | 理由 |
|---|---|---|
| 内容格式 | 纯 Markdown | 唯一可无损迁移的格式 |
| 写作工具 | Obsidian | 数据归你,插件生态强 |
| 同步 | 坚果云(省钱)/ Obsidian Sync(省心) | 星型拓扑,适配交替使用 |
| 版本控制 | Gitee 主 + GitHub 镜像 | 推送稳 + 内容保险 |
| 站点框架 | VitePress | 轻、快、中文资料多 |
| 托管 | Cloudflare Pages | 免费、带宽不限、全球 CDN |
| 检索 | ima(素材)/ 站内搜索(成品) | 各管一段,不混用 |
| 年成本 | ¥70~300(域名) | 其余全在免费额度内 |
最需要记住的一句:技术选型随时可换,内容格式一旦选错就要付迁移代价。所以先把 Markdown 定下来,其余都是可以慢慢替换的配件。