obsidian-vitepress方案
针对“定期生成大量股票分析 Markdown/HTML,未来能按股票名称或代码查询全部历史记录并复盘”这个需求:
- Obsidian 最适合做“日常研究工作台和原始资料库”。
- VitePress 最适合做“只读研究网站和正式展示层”,不适合单独承担日常资料管理。
Obsidian 管理 Markdown 原始资料
- VitePress 自动生成查询与阅读网站
- SQLite/FTS5 后期承担大规模索引
- Git/云盘负责版本和备份
一、与原 Obsidian 方案直接对比
| 维度 | Obsidian方案 | 思源笔记 | VitePress |
|---|---|---|---|
| 系统定位 | 本地知识库、研究工作台 | 块级笔记、个人知识管理 | 静态文档网站生成器 |
| 能否直接管理大量MD | 很适合,文件就是普通MD | 可以导入导出,但内部不是普通MD目录逻辑 | 可以,MD就是网站源文件 |
| 按股票代码查询 | 强,搜索/YAML/Dataview | 强,属性、数据库视图、SQL查询 | 中等,需要搜索或自己开发索引页 |
| 按日期、评级、行业筛选 | Dataview很方便 | 数据库视图更直观 | 需要写Vue组件或生成脚本 |
| 单只股票历史自动汇总 | Dataview自动完成 | 数据库视图、查询可以完成 | 需要构建时自动生成股票档案页 |
| 日常编辑体验 | 强 | 很强,尤其适合块级编辑 | 弱,本质上是在编辑源码 |
| 复盘时修改、补充批注 | 很方便 | 很方便 | 不方便,通常要回源码修改并重新构建 |
| 双向链接 | 强 | 很强,块级引用更细 | 基本没有原生知识图谱能力 |
| HTML展示 | 需要导出或配合其他工具 | 系统内直接阅读,也可发布 | 最强,天然生成正式网站 |
| 移动端使用 | 有客户端,同步方式需配置 | 客户端与网页化体验较完整 | 浏览很方便,编辑不方便 |
| 多人协作 | 一般 | 相对更适合自建和多人访问,但不是完善的企业协作审批系统 | 适合多人通过Git维护,不适合普通人员直接编辑 |
| 数据可迁移性 | 最强,普通MD文件 | 中等,内部采用块数据结构,依赖导出 | 很强,源文件是MD |
| Git版本管理 | 非常适合 | 不建议直接把内部数据当普通MD仓库管理 | 非常适合 |
| AI/脚本自动处理 | 最方便 | 有API和SQL能力,但数据结构更复杂 | 方便处理源MD,网站层不负责分析 |
| 部署维护成本 | 低 | 本地低;自建服务中等 | 中等,需要Node、构建、部署 |
| 适合角色 | 研究者、个人分析师 | 重度笔记用户、希望网页访问的人 | 开发者、文档发布者 |
你可以给每篇股票分析建立字段:
- 股票代码
- 股票名称
- 分析日期
- 分析类型
- 当前价格
- 评级
- 置信度
- 持仓状态
- 行业
- 后续验证结果
然后按股票代码筛选,例如只显示:
text
SH600519再按分析日期倒序排列,就能形成某只股票的历史复盘列表。
这方面思源的可视化操作,比 Obsidian 的 Dataview 查询更容易理解。
- 块级引用能力更强
思源可以引用一篇分析中的具体段落,例如:
- 上次的买入逻辑
- 上次设定的风险条件
- 上次的目标价格
- 上次判断错误的原因
如果你特别重视把历史判断拆成细粒度知识,思源比普通文件级链接更灵活。
- 更接近一个完整应用
思源自带比较完整的编辑、文档树、数据库、反向链接和查询能力,不需要像 Obsidian 那样依赖较多社区插件。
- 自建网页访问更自然
如果希望部署到服务器,然后通过浏览器、手机访问自己的研究库,思源的产品形态比较合适。
思源的核心问题
- 内部并不是“一个笔记对应一个普通MD文件”
这是它与 Obsidian 最大的区别。
Obsidian 的 Vault 本质是:
text
普通文件夹
├── A.md
├── B.md
└── C.md即使以后不用 Obsidian,所有文件依然可以直接被:
- Python读取
- SQLite索引
- Git管理
- VitePress构建
- AI批量分析
- 其他Markdown工具打开
思源内部以块和特定数据结构进行管理。虽然支持Markdown导入导出,但不能完全等同于“原始资料始终是标准MD文件”。
对于需要保存很多年、未来还可能让程序和AI批量分析的股票研究资料,这一点很重要。
- 外部自动生成的MD接入不如Obsidian自然
如果你的股票报告由AI或脚本定期生成:
text
2026-09-04_SH600519_贵州茅台_收盘复盘.mdObsidian只要把文件写进Vault,打开就能看到。
思源通常需要通过导入、API或特定方式写入,自动化链路更复杂。
- Git版本管理不如纯Markdown清晰
股票复盘不仅需要保存结果,还要看:
- 当时原判断是什么
- 后来修改过什么
- 哪一天补充了验证结果
- 是否发生过事后篡改判断
纯Markdown配合Git,可以逐行显示修改记录。思源也可以备份,但不如纯文本Git差异直观。
思源适合什么情况
如果你更看重以下几点,可以选择思源:
- 主要在软件内手工写分析;
- 希望使用数据库视图,不想写Dataview;
- 需要手机、浏览器访问;
- 重视块级引用;
- 不太依赖Git和外部脚本;
- 接受定期导出Markdown做长期备份。
如果选择思源,建议仍然建立自动导出机制:
text
思源数据库
↓ 定期导出
标准Markdown归档
↓
Git + 云盘备份不要让思源内部数据库成为唯一资料源。
三、VitePress能不能替代 Obsidian
VitePress可以很好地“展示和查询”,但不能很好地“管理和编辑”。
它本质上不是笔记系统,也不是资料管理系统,而是:
text
Markdown源文件
↓
VitePress构建
↓
静态HTML研究网站VitePress的优势
- 非常适合展示股票档案
最终可以生成这样的结构:
text
/stocks/SH600519/
/stocks/SZ000858/
/stocks/HK00700/
/stocks/NASDAQ-AAPL/每只股票的页面下面自动列出:
| 日期 | 类型 | 评级 | 价格 | 分析报告 |
|---|---|---|---|---|
| 2026-09-04 | 收盘复盘 | 观察 | 1460 | 查看 |
| 2026-08-20 | 财报复盘 | 买入 | 1410 | 查看 |
| 2026-07-15 | 估值分析 | 观察 | 1495 | 查看 |
对浏览和复盘而言,这比在文件夹中翻找更直观。
- 适合按股票代码和名称搜索
只要页面中有标准化字段:
yaml
stock_id: SH600519
code: "600519"
name: 贵州茅台
aliases:
- 茅台搜索以下任一关键词都能定位:
text
SH600519
600519
贵州茅台
茅台- 可以把大量MD统一生成漂亮HTML
原方案中是:
text
Markdown原件
+ 单独保存HTML文件使用VitePress后,可以改为:
text
只长期保存Markdown
+ VitePress按需生成整个HTML网站这样避免MD和HTML分别维护、内容不一致。
- 非常适合部署为私人研究网站
可以部署到:
- 自己的服务器
- 内网服务器
- GitHub Pages
- Cloudflare Pages
- NAS
- 本机局域网
并通过访问控制限制只有自己或指定人员查看。
- 与Git、自动化和AI配合好
当新增一篇研究报告后,可以自动执行:
text
生成Markdown
→ 更新股票索引
→ Git提交
→ VitePress构建
→ 发布研究网站VitePress的核心问题
- 它不是日常编辑器
VitePress没有思源或Obsidian那种完整的:
- 笔记编辑体验
- 双向链接管理
- 数据库视图
- 块级引用
- 图谱
- 快速批注
复盘工作区
你通常需要在VS Code、Obsidian或其他编辑器中修改Markdown。
- 复杂筛选需要开发
VitePress可以搜索文字,但如果你要查询:
text
行业=白酒
评级=买入
分析日期>=2026-01-01
置信度=高
判断结果=错误默认搜索无法很好地完成。
需要在构建过程中把YAML元数据转成JSON,再写一个Vue查询页面,或者连接SQLite/API。
- 内容更新需要重新构建
每次修改或新增Markdown后,一般都要重新运行构建和部署。虽然可以自动化,但它不是“打开应用直接写”的模式。
- Dataview代码不能直接照搬
Obsidian中的:
dataview
TABLE analysis_date, analysis_type, rating
FROM "分析记录"
WHERE stock_id = "SH600519"
SORT analysis_date DESC放进VitePress不会自动执行。
需要写构建脚本扫描Markdown的YAML,然后自动生成对应列表。
因此,VitePress不是Obsidian的替代品,而是非常合适的补充。
四、按你的实际要求评分
以“股票分析资料长期管理和复盘”为目标,满分10分:
| 项目 | Obsidian | 思源笔记 | VitePress |
|---|---|---|---|
| 日常撰写分析 | 9 | 9 | 4 |
| 大量MD管理 | 10 | 7 | 9 |
| 股票代码检索 | 9 | 9 | 8 |
| 多条件结构化筛选 | 9 | 9 | 6 |
| 单股历史复盘 | 10 | 9 | 9 |
| 双向链接与观点追踪 | 9 | 10 | 4 |
| HTML网站展示 | 6 | 7 | 10 |
| Git版本管理 | 10 | 6 | 10 |
| 脚本与AI批处理 | 10 | 7 | 9 |
| 长期数据可迁移性 | 10 | 7 | 10 |
| 非技术用户使用 | 8 | 9 | 4 |
| 综合适配度 | 9.4 | 8.2 | 7.8 |
这里VitePress综合分不是说它不好,而是它解决的是“发布”,不是完整的“研究管理”。
五、三种可落地方案
方案A:只用Obsidian
适合:个人研究、希望立即开始、不想部署网站。
架构:
text
Obsidian
├── 股票档案
├── 分析记录
├── 行业研究
├── 组合复盘
└── 模板优点:
- 最简单;
- 写作、检索、复盘都能完成;
- 普通Markdown长期安全;
- Dataview可以自动汇总;
- 后续容易接AI和SQLite。
缺点:
- 浏览器展示不如VitePress;
- 移动同步需要配置;
- 分享给别人不够方便。
方案B:只用思源笔记
适合:强调一体化体验、数据库视图、块引用和网页访问。
优点:
- 不需要组合多套工具;
- 数据库视图直观;
- 日常手工编辑体验很好;
- 手机和网页使用方便。
缺点:
- 原始存储不是普通MD文件体系;
- 外部脚本批量生成资料时接入更复杂;
- Git差异和长期开放性弱于Obsidian;
- 必须额外做好Markdown导出备份。
方案C:Obsidian + VitePress
这是我最推荐的方案。
架构:
text
股票研究库
├── docs/
│ ├── stocks/
│ ├── research/
│ ├── industries/
│ └── portfolios/
├── scripts/
│ ├── build-stock-index.py
│ └── build-search-data.py
├── index/
│ └── research-index.sqlite
└── .vitepress/工作流程:
text
1. 在Obsidian中创建或修改分析
2. Markdown写入统一YAML元数据
3. 脚本扫描所有研究报告
4. 自动按股票代码生成历史列表
5. 更新SQLite全文索引
6. VitePress生成研究网站
7. Git保存版本
8. 云盘或服务器异地备份这样各组件职责明确:
- Obsidian:写作、关联、复盘;
- Markdown:唯一真实来源;
- VitePress:阅读和展示;
- SQLite:大规模结构化查询和全文检索;
- Git:保存历史版本;
- 云盘/NAS:防止数据丢失。
六、是否还需要单独保存HTML文件
采用VitePress后,通常不需要长期单独保存每篇HTML。
建议改成:
text
长期保存:
- Markdown
- YAML元数据
- 图片和附件
- 模板
- 生成脚本
- VitePress配置
随时重新生成:
- HTML
- 搜索索引
- SQLite索引原因是HTML属于派生结果,不应该成为第二套需要人工维护的数据。
例外情况是:
- HTML中有Markdown无法表达的交互图表;
- HTML来自外部系统,无法重新生成;
- HTML具有审计、签名或历史留档价值。
这类HTML可以放入:
text
原始附件/SH600519/2026/不要和自动生成的VitePress页面混在一起。
七、最终建议
如果你是个人定期做股票分析:
首选:
text
Obsidian + VitePress具体分工:
text
Obsidian = 后台研究工作台
VitePress = 前台查询阅读网站暂时不必一开始就加入思源,因为思源和Obsidian在“笔记管理层”功能重叠,双系统同时编辑会产生同步和版本冲突。
推荐实施顺序:
第一阶段:先建立标准
- 股票代码规范;
- 文件命名规范;
- YAML字段规范;
- 股票档案页;
- 复盘模板;
- Git和云端备份。
第二阶段:用Obsidian管理
- Dataview汇总单股历史;
- 建立行业、组合、交易逻辑之间的链接;
- 持续积累分析记录。
第三阶段:加入VitePress
- 自动生成股票索引;
- 自动生成单股时间线;
- 提供代码、名称搜索;
- 部署为私人研究网站。
第四阶段:资料达到几千篇后加入SQLite
- 多字段组合查询;
- 全文检索;
- AI提取历次观点;
- 自动判断哪些预测被验证;
- 统计自己的分析正确率和常见错误。
最终判断:
- 如果只选一个:选 Obsidian。
- 如果想要最佳长期方案:选 Obsidian + VitePress。
- 如果更在意块级笔记、网页访问和一体化体验,且不强调纯Markdown与Git:选思源。
- 不建议只用VitePress管理研究资料,它适合作为展示端,不是研究工作台。
- 不建议Obsidian和思源同时作为主编辑系统;必须确定一个唯一原始数据源。
- 无论使用哪个系统,都必须以股票代码、分析日期和结构化元数据为核心。否则换任何软件,资料多了以后仍然会失控。