2026年4月19日 · 阅读 —
用Obsidian做一套自驾旅行攻略管理系统
用Obsidian做一套自驾旅行攻略管理系统
上周在规划五一烟台自驾的时候,突发奇想:能不能在Obsidian里搞一套简单的旅行管理系统?不用第三方工具,就用原生功能,把行程、费用、里程这些数据自动统计起来。
折腾了一个下午,成品还算能用。今天就把这套东西的搭建过程分享出来。
核心思路
其实很简单,就是「模板 + 属性 + 数据库」三件套:
- 用模板保证每天的行程笔记格式统一
- 用YAML属性记录所有结构化数据(日期、里程、费用、酒店等)
- 用Database插件把这些数据聚合起来,自动统计
这套东西的好处是所有数据都在本地,都是纯文本,换设备、迁移都方便,而且完全免费。
目录结构
我是这么组织文件的:
.
├── 98-Templates/ # 模板文件夹
│ └── 旅行单日.md # 单日行程模板
├── 30-Travel/ # 旅行总目录
│ ├── travel_DB.md # 数据库视图
│ └── 2026-05-烟台/ # 具体某次旅行
│ ├── 2026-05-01.md
│ ├── 2026-05-02.md
│ └── ...
└── 01-Articles/ # 文章(就是这篇)
第一步:做模板
先搞一个单日行程的模板,保证每次新建笔记时,属性字段都是统一的。
模板的核心就是前面的YAML Frontmatter:
---
travel_名称: 2026-05-烟台
travel_Day: Day1
travel_日期: 2026-05-01
travel_类型: drive
travel_行程: 石家庄->烟台
travel_时长: 7.5 h
travel_里程: 741
travel_油费: 300
travel_高速费: 0
travel_酒店: 维也纳酒店(烟台万达广场所城里店)
travel_住宿: 413
travel_景点:
travel_备注:
created: 2026-04-19 10:18
updated: 2026-04-19 10:18
type: travel-plan
status: 计划中
tags:
- 旅行
- 烟台
- 自驾
---
字段解释一下:
travel_名称:用来标识这次旅行,数据库筛选的时候用travel_Day:第几天,排序用travel_类型:drive(自驾)/ play(游玩)/ rest(休整)- 其他都是字面意思,里程、费用这些都是数字,方便统计
模板后面可以留空,或者加上一些固定的章节,比如「行程安排」、「景点备忘」、「费用明细」之类的,看个人习惯。
第二步:建数据库
这里用的是Obsidian的Database插件,社区插件里搜一下就能找到。
数据库文件其实就是一个普通的Markdown文件,我命名为travel_DB.md,内容大概是这样:
formulas:
未命名: ""
properties:
note.Day:
displayName: travel_Day
note.行程:
displayName: travel_行程
note.里程:
displayName: travel_里程
note.油费:
displayName: travel_油费
note.高速费:
displayName: travel_高速费
note.酒店:
displayName: travel_酒店
note.景点:
displayName: travel_景点
note.行程日期:
displayName: travel_日期
note.备注:
displayName: travel_备注
note.名称:
displayName: travel_名称
views:
- type: table
name: 表格
filters:
and:
- file.folder == "30-Travel/2026-05-烟台"
order:
- file.name
- travel_名称
- travel_Day
- travel_日期
- travel_类型
- travel_行程
- travel_里程
- travel_时长
- travel_油费
- travel_高速费
- travel_住宿
- travel_酒店
- travel_景点
- travel_备注
- tags
- formula.未命名
sort:
- property: travel_Day
direction: ASC
summaries:
travel_油费: Sum
travel_住宿: Sum
columnSize:
file.name: 100
note.travel_名称: 125
note.travel_Day: 67
note.travel_日期: 131
note.travel_类型: 114
note.travel_行程: 116
note.travel_里程: 116
note.travel_时长: 117
note.travel_油费: 108
note.travel_高速费: 119
note.travel_住宿: 113
note.travel_酒店: 249
note.travel_景点: 168
note.travel_备注: 178
footer:
note.travel_里程: sum
note.travel_油费: sum
note.travel_高速费: sum
note.travel_住宿: sum
关键点:
filters:这里用文件夹来筛选,只显示某一次旅行的笔记sort:按travel_Day升序排列,保证日期顺序正确footer:开启里程、油费、高速费、住宿的自动求和
配置好之后,打开这个文件,就能看到一个表格视图,所有数据自动聚合,底部自动计算总和。
第三步:实际使用
用的时候很简单:
- 新建一个文件夹,比如
2026-05-烟台 - 用模板创建每日笔记,比如
2026-05-01.md、2026-05-02.md - 填好属性里的各项数据
- 在正文里写详细的行程安排、景点攻略、注意事项
- 打开数据库文件,就能看到自动统计的结果
如果想再进一步,可以写一个简单的Python脚本,读取所有笔记的属性,生成一个更漂亮的统计汇总Markdown文件,就像我在烟台文件夹里做的那个统计汇总.md一样。
总结
这套东西不算复杂,核心就是「结构化数据 + 自动聚合」。Obsidian的好处就是足够灵活,你可以根据自己的需求随意调整字段、调整视图。
如果你也在规划自驾旅行,不妨试试这个思路。当然,如果你不想自己折腾,也可以直接拿我这套结构去用,改改字段名称就行。
下次旅行回来,我打算再优化一下,比如加个预算对比、实际费用记录之类的功能,到时候再分享。
变更摘要(改了什么)
这是第一版,主要完成了:
- 模板字段设计
- 数据库视图配置
- 目录结构规范
- 实际使用验证(烟台自驾攻略)
风险点(哪里可能翻车)
- Database插件的filters路径如果写错,会导致显示不出数据
- 属性字段名如果不统一(比如有的写
travel_里程有的写里程),统计会出问题 - 费用字段如果填了非数字内容,求和会失败
回滚方案(怎么撤)
- Database插件的配置都在Markdown文件里,删了重新建就行
- 每日笔记都是纯文本,随时可以手动修改属性
- 实在不行,把数据库文件删掉,回到普通文件夹的方式也能用
行动清单(读完怎么做)
- 安装Obsidian Database插件(如果还没装)
- 复制本文的模板,根据自己的需求调整字段
- 创建数据库文件,配置filters、sort和footer
- 用一次短途旅行试试水,有问题再调整
推荐标签
#Obsidian , #旅行攻略 , #效率工具 , #自驾旅行 , #数据库 , #模板 , #个人知识管理