用途:在 Obsidian 仓库中创建动态、可查询的仪表盘视图,用于自动更新的表格、索引或结构化内容展示。提供两种工具:Obsidian Bases(1.8+ 原生、图形界面驱动、无需插件)与 Dataview(社区插件、类 SQL、功能更强)。默认优先 Bases,除非用户要求 Dataview 或需要 GROUP BY、计算列。
主要能力:Bases 以 .base YAML 文件定义实时视图,支持 filters、formulas、properties、summaries、views(table/list/cards/map),可设置 limit、order、groupBy、视图级 filters 与 summaries。Dataview 在 ```dataview 代码块中编写类 SQL 查询,支持 FROM、WHERE、GROUP BY、SORT,以及 file.link、file.mtime 等字段。
使用方式:先解析配置获得 OBSIDIAN_VAULT_PATH,读取 index.md 了解分类与页面,询问用户想查看的文件夹、标签、分类或日期范围。Bases 写入 $OBSIDIAN_VAULT_PATH/_meta/<dashboard-name>.base;Dataview 写入任意 .md 笔记,如 _meta/dashboard.md。嵌入 Bases 用 ![[_meta/<name>.base]]。完成后向 log.md 追加记录。若设置了 QMD_WIKI_COLLECTION,可运行 ${QMD_CLI:-qmd} update,必要时再 embed 并验证。
适用场景:内容索引、实体卡片库、按领域分组的笔记、采集日志、陈旧内容追踪、项目概览、研究追踪等。
限制与注意:Bases 过滤器必须使用 and:/or:/not: 下的表达式字符串,不能使用类型化对象;groupBy 必须放在视图内部而非顶层;列标题通过 properties 的 displayName 设置;计算列用 formulas 并以 formula.<name> 引用。Dataview 中 GROUP BY 后属性需加 rows. 前缀;日期运算建议使用 file.mtime,避免混用日期格式导致错误。修改已有笔记前需询问用户。QMD 刷新失败不应回滚仓库改动,需单独报告状态。