用途
obsidian-bases 技能用于在 Obsidian 中创建和编辑 .base 文件,即 Obsidian Bases。它面向的是为笔记构建类似数据库的视图,支持过滤器、公式、汇总以及卡片或表格等呈现形式。当任务涉及 .base 文件,或用户明确询问 Obsidian Bases 时,适合使用该技能。
主要能力
该技能围绕 .base 文件的几个核心部分展开:
- 过滤器(filters):支持 and、or、not 组合的逻辑条件,可按标签(file.hasTag)、文件类型(file.ext)、文件夹(file.inFolder)、文件名正则匹配(如 /^\d{4}-\d{2}-\d{2}$/.matches(file.basename))以及普通属性值进行筛选。
- 公式(formulas):可基于已有属性计算派生值,例如用 if、date、today 计算距到期天数与是否逾期,用 toString、round、year、format 生成文本、年份或星期几,以及根据优先级或状态生成带图标的标签。
- 属性显示名(properties):可为普通属性或 formula.* 指定 displayName,以自定义在视图中显示的列名。
- 视图(views):支持 table 和 cards 两种类型,可配置 name、filters、order(列顺序)、groupBy(分组属性与方向)、summaries(汇总方式如 Average)、limit(条目数量上限)。
使用方式
根据资料,使用该技能前应先阅读详细的指南(Detailed Guide),其中保留了完整流程与参考资料;其安全、前置条件与校验要求应视为强制项。对于聚焦任务可只加载相关章节,对于端到端任务应完整阅读指南。技能本身通过编写和组织 .base 文件的内容来实现,包含 filters、formulas、properties、views 等顶层结构。
资料给出的三个完整示例如下:
-
任务追踪(Task Tracker):以 file.hasTag("task") 和 file.ext == "md" 作为过滤条件,定义 days_until_due、is_overdue、priority_label 公式,并为 status、formula.days_until_due、formula.priority_label 设置显示名;包含“Active Tasks”表格视图(按 status 过滤与分组、显示优先级与到期天数、对 days_until_due 求 Average)和“Completed”表格视图。
-
阅读清单(Reading List):以 file.hasTag("book") 或 file.hasTag("article") 过滤,定义 reading_time、status_icon、year_read 公式;包含 cards 类型的“Library”视图和 table 类型的“Reading List”视图。
-
日记索引(Daily Notes):以 file.inFolder("Daily Notes") 和文件名日期正则匹配过滤,定义 word_estimate、day_of_week 公式;包含带 limit: 30 的“Recent Notes”表格视图。
适用场景
适合需要将 Obsidian 笔记以数据库方式组织和查看的场景,例如任务追踪、阅读或文章清单管理、按日期组织的日记索引,以及需要筛选、派生字段、分组和汇总的表格或卡片视图。
限制
资料明确说明:仅当任务与上述范围清晰匹配时才使用该技能;不应将输出视为环境特定验证、测试或专家评审的替代;若缺少必需的输入、权限、安全边界或成功标准,应停止并请求澄清。此外,关于安装方式、收费与价格、支持平台、实际效果等信息,资料中暂未提供。