@cyrilXBT: https://x.com/cyrilXBT/status/2056555832805089310

X AI KOLs Timeline 工具

摘要

一份全面指南,介绍如何使用 Dataview 和 YAML 属性在 Obsidian 中构建自动更新的仪表板,以便从整个知识库中展示每日优先事项、活跃项目和客户健康状态。

https://t.co/U3KMTT6fVu
查看原文
查看缓存全文

缓存时间: 2026/05/20 06:27

如何构建一个Obsidian仪表板,让它展示今天最重要的一切

大多数人开始工作日的方式都一样。打开邮件。查看Slack。浏览项目文件夹,努力回忆事情进展到哪一步了。调出日历。查看任务清单。尝试在脑海中拼凑出今天真正需要完成的事情。四十五分钟后,你对自己的优先事项有了大致了解,而上午已经荒废了。

问题不在于信息不存在。信息存在于你的项目笔记、客户文件、每日笔记、任务清单和日历中。问题在于,获取这些信息需要你成为所有信息之间的集成层。你成了连接信息的系统。

Obsidian仪表板将你从那个角色中解放出来。它从你的整个知识库中提取每一块相关信息,在你打开单个项目文件之前,就将它们呈现在一个地方。你打开一个笔记。你看到今天所有重要的事情。你开始工作。

本指南将从头到尾完整构建一个全功能的仪表板,它会自动更新,并连接Claude Code以实现智能晨间简报。

核心原则:读取而非存储

在编写任何查询之前,先理解Obsidian仪表板是什么、不是什么。

仪表板不是另一个存放信息的地方。它是一个单一的笔记,从知识库其他所有地方读取信息,并显示当前相关的内容。

这个区别正是仪表板的价值所在。因为仪表板从你的其他笔记中读取信息,而不是存储自己的信息,所以你永远不需要手动维护它。你像往常一样更新项目文件、客户笔记和每日笔记。每次打开时,仪表板都会自动反映这些更新。

仪表板本身没有内容。它有的是查询。每个查询根据你定义的规则,从知识库的特定部分提取特定信息。当底层笔记发生变化时,仪表板也随之变化。你只在一个地方做一次更新。仪表板在引用该信息的所有地方都保持最新。

仪表板展示什么

一个完整的商务仪表板会展示六类信息。

今日优先事项 —— 今天到期或已逾期的任务,按优先级排序。当前需要立即处理的十件最重要的事情。

活跃项目状态 —— 每个活跃项目及其当前完成百分比、截止日期和推动项目前进的具体下一步行动。

即将到来的截止日期 —— 未来七天内所有笔记类型中带截止日期的内容。项目、任务和客户交付物放在一个视图中。

客户健康度 —— 每个活跃客户及其关系健康状态、上次联系日期和下一次计划接触点。高风险客户自动排在顶部。

未结事项 —— 昨日每日笔记中尚未关闭的未完成项目。大多数系统里会被遗漏的事情。

收入脉搏 —— 按月收入贡献排序的每个活跃客户,并显示实时总计。

六个部分。一个笔记。一切重要的事情。

技术基础

Obsidian的两个功能使实时仪表板成为可能。

Dataview 是一个社区插件,充当知识库的查询引擎。它允许你在任何笔记中编写查询,根据笔记的属性、标签或内容从其他笔记中提取信息。每次打开笔记时,结果都会实时渲染。

属性 是每个笔记顶部用YAML格式编写的结构化元数据字段。一个任务笔记有截止日期属性、状态属性和优先级属性。Dataview读取这些属性,仪表板就会显示它们。

设置需要一个插件和一个一致的方法来组织知识库中每个笔记的结构。

在Obsidian设置 → 社区插件 → 浏览中安装Dataview。搜索Dataview。安装并启用它。这是核心仪表板所需的唯一插件。

为仪表板查询组织笔记结构

在构建仪表板之前,每种笔记类型都需要一致的属性,以便Dataview能够读取。不一致的属性会导致不完整的查询结果。在每种类型的每个笔记中保持一致结构的原则,是保证仪表板可靠的关键。

项目笔记 —— 存放在 01 - PROJECTS:

---
type: project
status: active
client: ClientName
deadline: 2026-06-15
priority: high
next_action: Write the campaign brief
completion: 40
---

任务笔记 —— 存放在 02 - TASKS:

---
type: task
status: in-progress
project: ProjectName
due: 2026-05-20
priority: high
energy: deep
---

客户笔记 —— 存放在 03 - CLIENTS:

---
type: client
status: active
mrr: 3000
last_contact: 2026-05-15
next_touchpoint: 2026-05-22
health: healthy
---

每日笔记 —— 存放在 04 - DAILY:

---
type: daily
date: 2026-05-18
energy: high
focus: Launch campaign review
---

属性名称必须在笔记和查询之间完全匹配。Type、status、priority、due、deadline —— 这些确切的字符串要同时出现在两个地方。属性名中的一个拼写错误就意味着该笔记对查询不可见。

从最小可用属性集开始。当你确定希望仪表板展示哪些信息时,再添加更多属性。

逐个部分构建仪表板

在知识库根目录下创建一个名为 Dashboard.md 的新笔记。这个笔记在初始构建后永远不会包含手动输入的内容。里面的所有内容都是标题或从知识库其他部分提取实时信息的Dataview查询。

第一部分:今日优先事项

TABLE WITHOUT ID file.link as "Task", due as "Due", project as "Project", priority as "Priority"
FROM "02 - TASKS"
WHERE type = "task" AND status != "complete" AND (due = date(today) OR due < date(today))
SORT priority DESC, due ASC
LIMIT 10

这个查询提取所有今天或更早到期且未完成的任务。它先按优先级排序,因此最高杠杆事项出现在顶部。LIMIT 10 是有意的。显示40个过期任务的仪表板会制造焦虑而非清晰度。限制为十个会迫使你在属性级别进行优先级排序。如果今天有超过十个任务到期,未能出现在仪表板上的任务需要调整其截止日期或重新评估优先级。仪表板成为诚实的优先级排序的推动力。

第二部分:活跃项目

TABLE WITHOUT ID file.link as "Project", client as "Client", completion + "%" as "Done", deadline as "Deadline", next_action as "Next Action", priority as "Priority"
FROM "01 - PROJECTS"
WHERE type = "project" AND status = "active"
SORT priority DESC, deadline ASC

每个活跃项目都会出现在这里,显示完成百分比、截止日期和具体的下一步行动。next_action 属性是这个表格中最有价值的列。它展示了每个项目当前需要什么,而无需你打开任何项目文件。结合截止日期和完成列,你可以在两分钟内评估所有活跃项目的完整状态。当你在项目文件中更新 next_action 属性时,仪表板会立即反映变化。

第三部分:未来七天

TABLE WITHOUT ID file.link as "Item", type as "Type", deadline as "Deadline", status as "Status", client as "Client"
FROM ""
WHERE (deadline >= date(today) AND deadline <= date(today) + dur(7 days)) AND status != "complete"
SORT deadline ASC

这部分查询知识库中所有在未来七天内具有截止日期且未完成的笔记,无论笔记类型。项目、任务和客户交付物都按日期排序显示在一起。七天窗口足够短,列表中的内容都与近期规划真正相关;也足够长,使你能够在截止日期之前采取行动,而不仅仅是应对截止日期。

第四部分:客户健康监视器

TABLE WITHOUT ID file.link as "Client", health as "Health", mrr as "MRR ($)", last_contact as "Last Contact", next_touchpoint as "Next Touchpoint"
FROM "03 - CLIENTS"
WHERE type = "client" AND status = "active"
SORT health ASC, last_contact ASC

按健康度升序排序意味着高风险客户出现在顶部。在每个健康度层级内按 last_contact 升序排序,意味着你最近没联系过的客户在其组内排在最前面。这种组合使操作显而易见,无需额外思考。红色健康度加上三周前的联系日期需要立即行动。绿色健康度加上昨天的联系日期则不需要。

health 属性使用三个值:healthy、attention 和 atrisk。保持一致地使用,仪表板就自动排序成一份CRM审查,否则手动检查需要20分钟。

第五部分:未结事项 这部分需要每日笔记中的一个简单约定。任何你希望在第二天仪表板上呈现的条目,在写入每日笔记时都加上前缀 OPEN:。

OPEN: Follow up on revised proposal from client
OPEN: Decision on Q3 content pillars
OPEN: Review contract terms before Thursday call

查询:

LIST
FROM "04 - DAILY"
WHERE type = "daily" AND date = date(today) - dur(1 day)
FLATTEN file.lists AS item
WHERE contains(string(item), "OPEN:")

昨天每日笔记中所有以 OPEN: 为前缀的条目都会自动出现在今天的仪表板上。未结事项部分捕获了那些重要到需要记录、但又不够正式成为任务的事项。这些东西在只跟踪正式任务的系统里往往会被遗漏。OPEN: 约定在正确的时机将它们呈现出来,无需单独的追踪系统。

第六部分:收入脉搏

TABLE WITHOUT ID file.link as "Client", mrr as "MRR ($)", health as "Health", status as "Status"
FROM "03 - CLIENTS"
WHERE type = "client" AND status = "active"
SORT mrr DESC

在表格下方添加这个内联查询以显示总计:

**Total MRR:** `$= dv.pages('"03 - CLIENTS"').where(p => p.type === "client" && p.status === "active").map(p => p.mrr).array().reduce((a,b) => a + b, 0)`

这个表格和总金额让你在15秒内了解当前的收入情况。每个活跃客户、他们的月贡献、健康状态以及运行总数。没有电子表格,没有手动计算。每次你更改客户属性时,数字都会更新。

完整仪表板模板

# Dashboard

> `$= dv.date("today").toFormat("EEEE, MMMM d, yyyy")`

---

## Today's Priorities

[DATAVIEW QUERY — SECTION 1]

---

## Active Projects

[DATAVIEW QUERY — SECTION 2]

---

## Next 7 Days

[DATAVIEW QUERY — SECTION 3]

---

## Client Health

[DATAVIEW QUERY — SECTION 4]

---

## Open Loops

[DATAVIEW QUERY — SECTION 5]

---

## Revenue Pulse

[DATAVIEW QUERY — SECTION 6]

**Total MRR:** [INLINE QUERY]

将每个方括号占位符替换为上述各部分对应的查询。顶部的内联日期会自动渲染今天的日期,这样你始终知道仪表板显示的是哪一天,无需查看日历。

通过MCP连接Claude Code

上述构建的仪表板已经比大多数业务管理设置更有用了。通过文件系统MCP连接到Claude Code后,它获得了两种能力,将完全改变早晨的体验。

智能晨间简报。 不再是阅读六个原始数据表格,Claude会读取仪表板,综合所有六个部分的信息,并生成一份自然语言的简报。不是显示数据是什么,而是数据对今天意味着什么。

晨间简报提示词:

Read my Obsidian dashboard note and every file it references. Synthesize a morning briefing that tells me:
1. The single most important thing to accomplish today
2. What requires my attention before noon and why
3. What is at risk if I do not act on it today
4. The client relationship that most needs attention right now
5. One decision sitting open that I should make before I start

Do not describe the tables. Tell me what they mean. Keep the briefing under 300 words. Start with the most urgent thing.

这份简报通过N8N每天早上6点自动运行。它读取实时仪表板数据,并在你打开笔记本电脑之前将简报存入你的每日笔记。

自动属性更新。 当你完成工作后,Claude会自动更新项目文件和任务文件中的相应属性。每日笔记中的完成约定:

DONE: [project name] — [specific deliverable]
UPDATE: [project name] — completion: 65

Claude读取这些条目,在知识库中找到对应文件,更新属性,并记录更改。仪表板会立即反映更新。

使用仪表板的日常工作流

以下是你的日常开始的十分钟。

6:00 AM:你的手机收到Telegram通知。晨间简报已准备就绪,放在你的每日笔记中。

6:02 AM:你阅读简报。它告诉你今天最重要的一件事,以及最需要关注的一个客户关系。大约180字。

6:05 AM:你打开仪表板。你确认简报中提出的优先事项与表格显示的一致。你添加任何带有正确属性的新任务。

6:10 AM:你开始工作。先不看邮件,先不看Slack,不花45分钟在五个工具之间定位。你开始工作,因为你已经知道什么最重要。

仪表板每天都在早晨交付这些,无需你维护、编译或手动更新。

让仪表板保持准确

仪表板的准确性完全取决于底层数据。三个习惯能使数据可靠。

一旦有变化立即更新属性。 当项目从active变为complete时,立即更新status属性。当客户健康度变化时,当天更新health属性。过时的属性会产生过时的仪表板数据。

始终如一地使用OPEN:约定。 每当有事情需要延续到明天时,就在你的每日笔记中加上OPEN:前缀。不要依赖记忆手动延续。

在一天结束时以及开始时都检查仪表板。 下班前花3分钟回顾仪表板,确定在明天的晨间简报运行之前需要更新什么。下午5点进行五次属性更新,比早上已经阅读简报时再做五次更新,能产生更准确的6点简报。

故障排除

查询返回空结果: 笔记中的属性名称与查询中的属性名称不完全匹配。检查拼写错误、大小写差异和缺少引号。

属性不显示: YAML frontmatter 块必须出现在笔记的最顶部,在任何其他内容之前。--- 前的单个字符会破坏整个属性块。

日期查询不工作: 属性中的日期必须严格遵循 YYYY-MM-DD 格式。2026-5-18 会破坏查询。2026-05-18 有效。

仪表板加载缓慢: 太多笔记符合查询条件。添加文件夹筛选器以缩小范围。查询 FROM "01 - PROJECTS" 比查询整个知识库的 FROM "" 快。

内联计算显示错误: MRR 属性必须包含数字而非字符串。mrr: 3000 有效。mrr: "$3,000" 无效。

30天后会发生什么

从你使用仪表板的第一个早晨开始,它就能立即带来价值。复利效应在第二个月显现。你做的每一次属性更新都在训练一种保持知识库数据最新的纪律。这种纪律会复合成一个系统,使仪表板真正准确,而非部分准确。

你捕获的每一个 OPEN: 条目都在缩小你打算做的事情和你实际记录的事情之间的差距。30天后,你不再丢失那些重要但不紧急、过去常常被遗漏的事项。

Claude根据仪表板数据生成的每一份晨间简报,随着底层数据的丰富,也会越来越贴近你的实际工作模式。

到第二个月,你会不记得在仪表板出现之前你是如何开始新一天的。到第三个月,你甚至不会再以其他方式开始新的一天。

相似文章