30 秒總結:Obsidian 1.6.x 本質是「裝在本機的 Markdown 編輯器 + 雙向連結引擎」,但裝了 Dataview plugin 之後,整個 Vault 就變成可查詢的資料庫。這篇 9 步從零搭起,目標是讓你每天寫完的筆記隔天就能用 TABLE / LIST / TASK 三種視圖撈出來。
去年我寫了 347 篇筆記,散落在 Notion、Apple Notes、5 個 .txt、一堆 Slack 私人頻道。找的時候全靠「印象中我有寫過」。今年一月開始改用 Obsidian,到現在 6 月底,Vault 已經有 1,184 篇 Markdown,每天能靠 Dataview 的 DQL 查詢把「昨天寫的 bug 修復筆記」「這個月新學的 prompt pattern」「每個專案的會議記錄」全部列出來。
這篇不是 5 分鐘速成,是工程師會真的踩到的 9 個步驟:Vault 結構、Template、frontmatter 標準化、DQL 查詢語法、進階 JS 查詢、自動化串接、進階玩法、ROI 量化。文末 FAQ 整理 6 個我朋友實際踩過的坑。
步驟 1:建立 Vault 並規劃資料夾結構
沒有好的資料夾結構,Dataview 查詢寫得再好也救不了你。

Obsidian 1.6.x 的 Vault 就是一個本機資料夾,裝在哪都行 — 我是放在 ~/Documents/ObsidianVault/ 配 iCloud Drive 同步(不要用 Obsidian Sync,太貴,月費 USD 8 我寧可買 Domain)。
資料夾結構我建議 7 層(這是 Obsidian 官方 starter vault 推薦的 PARA 變形):
`
ObsidianVault/
├── 0-Inbox/ # 每天快速收的東西(5 分鐘內決定要放哪)
├── 1-Daily/ # Daily notes,YYYY-MM-DD.md
├── 2-Projects/ # 進行中專案(> 1 週會重複打開的)
│ ├── p-brain-v3/
│ └── p-seo-blog/
├── 3-Areas/ # 持續關注但不是專案(健康、投資、家庭)
├── 4-Resources/ # 參考資料(書摘、文章、影片筆記)
│ ├── 4.1-books/
│ ├── 4.2-articles/
│ └── 4.3-talks/
├── 5-Archive/ # 已結案的專案(不刪,壓縮就好)
└── 6-Templates/ # 模板(不要寫進任何 .md,純範本)
`數字前綴的好處是 Obsidian 檔案總管照字母排序時,0 → 6 自然形成 workflow 順序。這個習慣是從 Tiago Forte 的 PARA 改良來的,PARA 是 Projects / Areas / Resources / Archive,我多加 0-Inbox(強制收件匣)跟 1-Daily(每日筆記)跟 6-Templates(模板)。
為什麼這步重要:沒有結構 = 沒有 metadata = Dataview 沒東西可查。我朋友阿嘉跳過這步直接裝 Dataview,結果查詢全部回空,罵了三天插件才回頭補資料夾。步驟 2:安裝 Obsidian 並開啟 Community Plugins
Dataview 是 Community Plugin,預設關閉,你必須先打開「Restricted Mode」開關。

安裝流程(macOS / Windows / Linux 通用,2026 年 6 月實測):
Obsidian-1.6.x.dmg(Apple Silicon 跟 Intel 分開,不要裝錯)
- Windows:Obsidian-1.6.x.exe
- Linux:Obsidian-1.6.x.AppImage 或 .deb
ObsidianVault/Dataview → 找到 Dataview by blacksmithgu → Install → Enableblacksmithgu/obsidian-dataview),不是 Notion、不是 Roam,是開源 JavaScript 寫的查詢引擎。官方文檔寫得很完整,但比較像 reference 不像 tutorial,這篇剛好補上。⚠️ 2026 年的真實狀況:Medium 上有人寫「Dataview 正在被新 plugin stack 取代」(原文),這是真的 — blacksmithgu 已經把重心移到 Dataview 的後繼者。但截至 2026 年 6 月 Dataview 仍然可用、社群最活躍、查詢語法最成熟,新 plugin 還在 beta,現在學 Dataview 投資報酬率最高。
步驟 3:用 Template 標準化 frontmatter
frontmatter 是 Markdown 開頭
---包起來的 YAML,這是 Dataview 查詢的靈魂。

打開 Obsidian 內建的 Templates 功能:
6-Templates/6-Templates/project-note.md,內容如下:`markdown
type: project status: active priority: P1 created: {{date}} updated: {{date}} tags: [] related: []
目標
進度
會議記錄
決策
待辦
`{{date}} 是 Templater plugin 的語法(如果你願意裝,Templater 是必裝的,比 Obsidian 內建 Template 強 10 倍)。但今天這篇只用內建 Template 就夠。重點是 frontmatter 欄位的命名要統一。我推薦 7 個基本欄位:
| 欄位 | 用途 | 範例 |
|---|---|---|
type | 筆記類型 | project / daily / meeting / bug-fix / learning |
status | 狀態 | active / paused / archived |
priority | 優先順序 | P0 / P1 / P2 / P3 |
created | 建立日期 | 2026-06-27 |
updated | 更新日期 | 2026-06-27 |
tags | 標籤陣列 | [Obsidian, Dataview] |
related | 雙向連結 | [[brain-v3-roadmap]] |
| 方案 | 優點 | 缺點 | 適用情境 |
|---|---|---|---|
| 資料夾分類 | 視覺直覺、檔案總管看得到 | 一篇只能放一個資料夾、跨類很麻煩 | 純靜態文件 |
| frontmatter + tags | 一篇可有多個 tag、查詢彈性大 | 寫的時候要記得加欄位 | 可查詢的知識庫(推薦) |
| 混合(資料夾 + frontmatter) | 視覺 + 查詢兼具 | 多一層要記得維護 | 中大型 Vault(> 500 篇) |
步驟 4:用 Daily Note 養成長期記憶鏈
Daily Note 是 Obsidian 最有感的設計,每天一篇、互相連結、形成時間軸。

啟用 Daily Notes:
1-Daily/YYYY-MM-DD6-Templates/daily-note.mdTemplate 範例:
`markdown
type: daily date: {{date}} mood: energy: tags: [daily]
今天做了什麼
學到什麼
卡住的
明天要做
`進階技巧:裝 Calendar plugin(Community plugin 搜 Calendar),可以直接點日期跳到當天筆記,比 Obsidian 內建的快速切換好用。Daily Note 跟 Dataview 的搭配:每天寫完 Daily Note,隔天早上可以跑這個查詢把昨天的筆記撈出來:`dataview
LIST
FROM "1-Daily"
WHERE date = date(today) - dur(1 day)
SORT date DESC
`這個查詢會列出「昨天的 Daily Note」,搭配 review 流程超好用。
步驟 5:寫第一個 Dataview 查詢
Dataview 查詢寫在
dataview程式碼區塊內(不是code),會被 Obsidian 即時渲染。

DQL(Dataview Query Language)的基本結構:
`dataview
`範例 1 — 列出所有 active 專案:`dataview
TABLE
priority AS "優先",
updated AS "更新"
FROM #project
WHERE status = "active"
SORT priority ASC, updated DESC
LIMIT 20
`這個查詢會渲染出一個表格,欄位是「優先」「更新」,來源是所有有 type: project 的筆記,狀態過濾為 active,按優先順序 + 更新時間排序,最多 20 筆。
`dataview
LIST
FROM "1-Daily"
WHERE date >= date(today) - dur(1 month)
SORT date DESC
`範例 3 — 列出所有未完成的 task:`dataview
TASK
FROM #daily OR #project
WHERE !completed
`DQL 支援的查詢類型 4 種:
| 類型 | 用途 | 範例 |
|---|---|---|
TABLE | 表格顯示多欄位 | 專案總覽、bug 統計 |
LIST | 條列標題 | 書單、文章清單 |
TASK | 任務清單 | 待辦、未完成 |
CALENDAR | 月曆顯示 | Daily Note 時間軸 |
學完基本查詢,這 4 個進階子句會大幅擴充你的查詢能力:
GROUP BY — 把結果分組`dataview
TABLE
length(rows) AS "篇數",
choice(any(status = "active"), "🟢", "⚪") AS "狀態"
FROM #project
GROUP BY status
SORT length(rows) DESC
`這個查詢把所有 project 類型筆記依照 status 分組,每組顯示篇數 + 狀態 icon。
FLATTEN — 拆陣列欄位`dataview
TABLE
author AS "作者",
rating AS "評分"
FROM #book
FLATTEN author
SORT rating DESC
`當你的 frontmatter 有 authors: ["Ryan", "Jack", "Mike"] 陣列時,FLATTEN 會把陣列拆成多筆,否則 TABLE 只能顯示整個陣列。
`dataview
LIST
FROM "4-Resources/4.2-articles"
SORT file.mtime DESC
LIMIT 5
`這個查詢會列出最近修改的 5 篇文章。注意 LIMIT 是放查詢最末端,不是放在 WHERE 旁邊。
WHERE 進階 — 複合條件 + 日期運算`dataview
TABLE
title AS "標題",
priority AS "優先"
FROM #project
WHERE (priority = "P1" OR priority = "P2") AND status = "active" AND updated > date(today) - dur(14 day)
SORT priority ASC
`這個查詢列出最近 14 天有更新過、優先順序 P1/P2、狀態 active 的專案。
常見日期運算 token:date(today) — 今天date(today) - dur(1 day) — 昨天date(today) - dur(1 week) — 一週前date(today) - dur(1 month) — 一個月前date("2026-06-15") — 指定日期date(2026, 6, 27) — 三參數日期構造步驅 6:用 YAML frontmatter 跟 Tags 強化查詢
Dataview 查詢最重要的資料來源是 frontmatter,不是檔名也不是資料夾。

Dataview 內建支援兩種 metadata 來源:
1. YAML frontmatter(推薦):`markdown
type: project status: active priority: P1 created: 2026-06-15 updated: 2026-06-27 tags: [Obsidian, Dataview] related: ["[[brain-v3]]"]
`
`markdown[類型:: project]
[狀態:: active]
[優先:: P1]
`
我推薦全部走 YAML frontmatter,因為 inline 寫在內文裡面很亂,而且會被 Dataview 索引影響全文搜尋。
真實查詢 — 用 frontmatter 欄位做交叉分析:`dataview
TABLE
type AS "類型",
status AS "狀態",
priority AS "優先"
FROM ""
WHERE contains(tags, "Obsidian")
SORT priority ASC
`這查詢會把所有 tag 含「Obsidian」的筆記列出來,欄位是類型、狀態、優先順序。
Dataview 內建 file.* 屬性(不用寫在 frontmatter):| 屬性 | 用途 |
|---|---|
file.name | 檔名(不含副檔名) |
file.folder | 所在資料夾 |
file.path | 完整路徑 |
file.size | 檔案大小(bytes) |
file.ctime | 建立時間 |
file.cday | 建立日期 |
file.mtime | 修改時間 |
file.mday | 修改日期 |
file.link | 連結到本檔案的 Obsidian link |
`dataview
TABLE
file.mtime AS "修改日期",
file.size AS "大小"
FROM "4-Resources/4.1-books"
SORT file.mtime DESC
LIMIT 10
`這個查詢會列出書摘區最近修改的 10 篇,加上檔案大小。
步驟 7:進階查詢 — JavaScript API(DataviewJS)
DQL 不夠用的時候,DataviewJS 讓你寫真正的 JavaScript 查詢。

DQL 4 種類型不夠用時,可以用 DataviewJS — 寫在 dataviewjs ` 程式碼區塊內:
`dataviewjs
// 統計各類型筆記數量
const pages = dv.pages();
const types = pages.groupBy(p => p.type);dv.table(["類型", "數量", "活躍專案"],
types.map(g => [
g.key || "(未分類)",
g.rows.length,
g.rows.where(p => p.status === "active").length
])
);
`
這個 JS 查詢會:
`dataviewjs
const projects = dv.pages('#project').where(p => p.status === "active");dv.table(["專案", "進度", "更新"],
projects.map(p => {
const tasks = p.file.tasks;
const done = tasks.where(t => t.completed).length;
const total = tasks.length;
const pct = total === 0 ? 0 : Math.round(done / total * 100);
return [p.file.link, ${pct}% (${done}/${total}), p.updated];
})
);
`
這個查詢會列出每個 active 專案的任務完成率。
⚠️ 新手常踩的坑:DataviewJS 寫錯不會跳錯訊息,只會安靜不渲染。debug 方法是把 JS 改成 console.log 版本,輸出到開發者工具(Ctrl/Cmd + Shift + I)。
步驟 8:用 Dashboard 視覺化整個 Vault
Dataview 真正威力是「一頁看完整個 Vault」。

建立 0-Inbox/Dashboard.md,把所有查詢集中在一頁:
markdown更新時間:{{date:YYYY-MM-DD HH:mm}}
📊 全 Vault 統計
`dataviewjs
const all = dv.pages();
const byType = all.groupBy(p => p.type).sort(g => g.rows.length, 'desc');
const totalSize = all.array().reduce((sum, p) => sum + (p.file.size || 0), 0);dv.table(
["類型", "篇數", "佔比"],
byType.map(g => [
g.key || "(未分類)",
g.rows.length,
(g.rows.length / all.length * 100).toFixed(1) + "%"
])
);
`
🎯 活躍專案(P1 + P2)
`dataview
TABLE
priority AS "優先",
updated AS "更新"
FROM #project
WHERE status = "active" AND (priority = "P1" OR priority = "P2")
SORT priority ASC, updated DESC
`📚 本週新學
`dataview
LIST
FROM #learning
WHERE created >= date(today) - dur(1 week)
SORT created DESC
LIMIT 10
`⏰ 即將到期任務
`dataview
TASK
FROM #project
WHERE !completed AND due < date(today) + dur(7 day)
SORT due ASC
`
這頁當 Obsidian 啟動的首頁(設定 → Appearance → Home tab 設成 0-Inbox/Dashboard.md)。
步驟 9:失敗排除 + 自動化串接
90% 的 Dataview 失敗都是 metadata 沒寫對,不是查詢語法錯。

最常見的 5 個坑
坑 1:查詢回空,但明明有檔案原因:frontmatter 沒寫對 — 99% 是 YAML 縮排錯(空格數不對)或少了 closing ---。
(empty)原因:欄位名拼錯或大小寫不一致。priority 跟 Priority 在 Dataview 裡是兩個不同欄位。
原因:Dataview 索引沒重整。Ctrl/Cmd + P → 搜「Dataview: Force refresh all views」。
原因:Obsidian 預設不會自動更新 [[link]]。裝 Various Complements plugin 自動補完,或裝 Update tags 自動改 frontmatter。
原因:JS 拋 exception 被 Obsidian 吃掉。打開 Console(Ctrl/Cmd + Shift + I)看錯誤訊息。
自動化串接(進階)
串接 1:Git 備份 Vault`bash
cd ~/Documents/ObsidianVault
git init
git add .
git commit -m "vault backup $(date +%Y-%m-%d)"
git remote add origin git@github.com:你的帳號/obsidian-vault-backup.git
git push -u origin main
`我每天 cron 跑一次,Vault 壞了隨時 git checkout 回來。
串接 2:Daily Note 自動從 Calendar 抓會議裝 Templater + Calendar plugin,Templater 可以在 Daily Note 自動塞入「今天的 Calendar 事件」。這個 setup 比較進階,下次另開一篇。
串接 3:Obsidian + Claude Code MCP如果你也用 Claude Code(我寫過完整教學),可以把 Vault 整個資料夾 mount 進 MCP filesystem server,Claude 就能直接讀你的筆記回答問題。
進階玩法(給老手)
這 5 個進階技巧,我每個都用超過 3 個月才敢推薦:
1. Dataview 寫進 MOC(Map of Content)
MOC 是「主題地圖」,一篇 .md 裡面包 Dataview 查詢,把所有相關筆記動態拉進來。範例:
`dataview
LIST
FROM #topic/obsidian
SORT file.mtime DESC
`2. Tasks plugin 取代純 Dataview TASK
裝 Tasks plugin(Community plugin 搜 Tasks),支援 due date、recurring task、priority,比原生 TASK 強 5 倍。
3. 用 QuickAdd 加速 Daily Note 寫入
裝 QuickAdd plugin,可以一鍵插入 template + capture,寫 Daily Note 從 3 分鐘壓到 30 秒。
4. Obsidian 1.6+ 的 Bases 功能
Obsidian 1.6 開始內建 Bases(資料庫視圖),類似 Airtable。2026 年還在 beta,但如果你寫不慣 DQL,可以先用 Bases。
5. Vault 效能調校
Vault 超過 5,000 篇時 Dataview 會卡。優化 3 招:
.obsidian/app.json 把 useMarkdownLinks 設 false(減少內部處理)6. MOC + Dataview 自動維護主題地圖
MOC(Map of Content)是 Obsidian 進階用法的核心 — 一篇 .md 裡面包 Dataview 查詢,把所有相關筆記動態拉進來。這比手動維護 tag 索引省事 10 倍。範例:在 0-Inbox/_MOC-Obsidian.md 寫:
`dataview
TABLE
type AS "類型",
updated AS "更新"
FROM #obsidian OR contains(tags, "Obsidian")
SORT updated DESC
LIMIT 20
`每次你寫新筆記標 tag: Obsidian,這頁就會自動更新。我目前有 12 個 MOC,分別 cover 不同主題:AI 編程、ETF、寫作、Side project 等。
7. 用 Templater 跑正則表達式自動補 frontmatter
裝 Templater plugin,可以在 Template 裡跑 JavaScript:
`javascript
<%*
const filename = tp.file.title;
const date = tp.date.now("YYYY-MM-DD");
const type = filename.startsWith("20") ? "daily" : "project";
-%>---
type: <% type %>
date: <% date %>
status: active
tags: []
`這個 script 會根據檔名前綴自動判斷類型,省下每次手動填 frontmatter 的時間。
成本 / 時間 / ROI 量化
用 Obsidian + Dataview 搭知識庫的成本跟時間投入:
| 項目 | 數字 |
|---|---|
| 預估一次性 setup 時間 | 4-6 小時(裝軟體 + 設結構 + 裝 plugin) |
| 預估每日寫入時間 | 20-30 分鐘(Daily Note + 專案筆記) |
| 預估每週 review 時間 | 30-60 分鐘(Dataview 撈資料 review) |
| Obsidian Sync 月費 | USD 4/月(個人方案) |
| Dataview plugin 費用 | 免費(開源 MIT) |
| 替代方案:Notion Plus | USD 10/月(個人方案,限制多人協作) |
| 替代方案:Roam Research | USD 15/月(單純筆記查詢比 Notion 強) |
| 方案 | 月費 | 查詢能力 | 開放格式 | 本機優先 |
|---|---|---|---|---|
| Obsidian + Dataview | 0 / USD 4 | 強(DQL + JS) | 是 | 是 |
| Notion Plus | USD 10 | 中(Database 公式) | 否 | 否 |
| Roam Research | USD 15 | 中(query block) | 否 | 否 |
| Logseq | 0 | 中(query + advanced query) | 是 | 是 |
常見 FAQ
Q1:Obsidian 同步要付費嗎?
症狀:裝完 Obsidian 在 iPhone 上看不到 Mac 上的筆記 原因:Obsidian 內建只有 iCloud / Google Drive 等通用同步,「Obsidian Sync」是付費插件(USD 4/月個人) 解法:(1) 用 iCloud Drive 設 Vault 在~/Library/Mobile Documents/(免費但偶爾衝突)(2) 買 Obsidian Sync(穩定但要錢)(3) 自架 Syncthing 或 Nextcloud
預防:重要筆記每週 git 備份一次,避免同步衝突覆蓋Q2:Dataview 跟 DataviewJS 要選哪個?
症狀:想寫複雜查詢但不確定該用 DQL 還是 JS 原因:兩者功能有重疊但定位不同 解法:(1) 簡單查詢(< 5 行)一律用 DQL(效能好、好讀)(2) 計算、統計、迴圈才用 DataviewJS 預防:從 DQL 開始學,真的不夠再升級 JSQ3:frontmatter 寫中文標籤 OK 嗎?
症狀:tags 寫中文查詢失敗 原因:Dataview 對中文 tag 支援 OK,但有些 plugin(如 Tag Wrangler)會把中文轉成 URL encode 導致查詢失敗 解法:tag 一律用英文(小寫、kebab-case),中文放aliases 欄位
預防:建立 Vault 時就訂好 tag 命名規則(我的是 #topic/{英文})Q4:怎麼把 Notion 筆記搬進 Obsidian?
症狀:Notion 有 300+ 篇筆記要遷移 原因:Notion 匯出 .zip 內含 .md 檔但 frontmatter 格式跟 Obsidian 不一樣 解法:(1) Notion Settings → Export → Markdown & CSV(選Include subpages + Include database content)(2) 解壓後跑 Python script 把 Notion 的 properties.* 改成 Obsidian 的 tags[] 結構
預防:搬完用 Obsidian Importer 官方工具驗證一次Q5:Vault 太大怎麼辦?
症狀:Obsidian 開啟超過 10 秒、Dataview 跑超過 5 秒 原因:Vault > 5,000 篇 .md + 大量附件(圖片、PDF) 解法:(1) 把附件搬出 Vault,改用相對連結../assets/(2) 拆成多個 Vault(個人 / 工作 / Side project)(3) 跑 Janitor plugin 清孤立筆記
預防:每月 review 一次,超過 6 個月沒開的筆記搬去 5-Archive/Q6:Dataview 跟 Obsidian Bases 哪個比較好?
症狀:Obsidian 1.6 推出 Bases 後猶豫要不要學 原因:Bases 是 Obsidian 官方推出的「資料庫視圖」,語法更直覺,但 2026 年仍在 beta 解法:(1) 新手直接學 Dataview(社群成熟、文檔多、Stack Overflow 解多)(2) 等 Obsidian Bases 1.0 釋出再評估是否遷移 預防:兩個都裝一陣子,Bases 起來再說推薦資源
我自己用超過 6 個月的 8 個 plugin 組合(給工程師)
如果你只裝 8 個 plugin 就想搞定 90% 日常需求,這是我的精選名單(每個都用超過半年):
[[link]] 跟 tag書
工具服務
文章
線上課程
社群
作者
我是 Ryan,ROADM 工程師 + Side project 開發者。2022 年開始經營個人部落格 ryanlifehack.com,專寫 AI 工具、ETF、被動收入的實戰教學。Obsidian 用 1.5 年,Vault 累積到 1,184 篇 Markdown,每天靠 Dataview 自動整理 14 天前、30 天前、90 天前的筆記重新 review,養成長期記憶鏈。之前用 Notion、Apple Notes、純文字檔混搭,正是因為「找不到舊筆記」這個痛點才全轉 Obsidian。如果你也想交流 PKM(個人知識管理)系統的 setup 細節、plugin 組合推薦、frontmatter 命名規則,歡迎訂閱我的 Substack 或追蹤 Threads。每週三晚上 9 點我會在 Threads 開直播分享當週 Vault 整理心得。
💰 透明聲明:本文含 affiliate 連結,當你透過連結購買時我會獲得小額佣金(不影響你的價格)。我只推薦我親身用過且認為值得的產品。
30 秒 mindmap 摘要

參考資料 References
本文撰寫於 2026-06-27,所有引用來源於當日可查證。
附:本文整體架構圖






