名称: obsidian-daily
描述: 通过 obsidian-cli 管理 Obsidian 每日笔记。支持创建和打开每日笔记、追加条目(日志、记录、任务、链接)、按日期读取过往笔记以及搜索库内容。可处理相对日期,如“昨天”、“上周五”、“3天前”。需通过 Homebrew(Mac/Linux)或 Scoop(Windows)安装 obsidian-cli。
<<<<<<< Updated upstream
元数据:
author: github.com/bastos
version: "2.0"
=======
Stashed changes
与 Obsidian 每日笔记交互:创建笔记、追加条目、按日期读取、搜索内容。
检查是否已配置默认库:
obsidian-cli print-default --path-only 2>/dev/null && echo "OK" || echo "NOT_SET"
如果显示 NOT_SET,请向用户询问:
1. 库名称(必需)
2. 每日笔记文件夹(默认:库根目录;常用值:Daily Notes、Journal、daily)
3. 日期格式(默认:YYYY-MM-DD)
配置库:
obsidian-cli set-default "VAULT_NAME"
Obsidian 每日笔记插件默认值:
- 日期格式:YYYY-MM-DD
- 新文件位置:库根目录
- 模板文件位置:(无)
获取当前日期:
date +%Y-%m-%d
跨平台相对日期(优先使用 GNU 语法,BSD 语法作为备选):
| 参考日期 | 命令 |
|---|---|
| 今天 | date +%Y-%m-%d |
| 昨天 | date -d yesterday +%Y-%m-%d 2>/dev/null \|\| date -v-1d +%Y-%m-%d |
| 上周五 | date -d "last friday" +%Y-%m-%d 2>/dev/null \|\| date -v-friday +%Y-%m-%d |
| 3 天前 | date -d "3 days ago" +%Y-%m-%d 2>/dev/null \|\| date -v-3d +%Y-%m-%d |
| 下周一 | date -d "next monday" +%Y-%m-%d 2>/dev/null \|\| date -v+monday +%Y-%m-%d |
obsidian-cli daily
在 Obsidian 中打开今天的每日笔记,如果不存在则从模板创建。
obsidian-cli daily && obsidian-cli create "$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "ENTRY_TEXT")" --append
使用自定义文件夹:
obsidian-cli daily && obsidian-cli create "Daily Notes/$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "ENTRY_TEXT")" --append
今天:
obsidian-cli print "$(date +%Y-%m-%d).md"
特定日期:
obsidian-cli print "2025-01-10.md"
相对日期(昨天):
obsidian-cli print "$(date -d yesterday +%Y-%m-%d 2>/dev/null || date -v-1d +%Y-%m-%d).md"
obsidian-cli search-content "TERM"
交互式模糊查找器:
obsidian-cli search
在任何命令中添加 --vault "NAME":
obsidian-cli print "2025-01-10.md" --vault "Work"
- 去看医生了
- [ ] 购买杂货
- https://github.com/anthropics/skills
- 15:45 这是一条日志行
日志条目:
obsidian-cli daily && obsidian-cli create "$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "- 去看医生了")" --append
任务:
obsidian-cli daily && obsidian-cli create "$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "- [ ] 购买杂货")" --append
链接:
obsidian-cli daily && obsidian-cli create "$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "- https://github.com/anthropics/skills")" --append
带时间戳的日志:
obsidian-cli daily && obsidian-cli create "$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "- $(date +%H:%M) 这是一条日志行")" --append
读取上周五的笔记:
obsidian-cli print "$(date -d 'last friday' +%Y-%m-%d 2>/dev/null || date -v-friday +%Y-%m-%d).md"
搜索“会议”:
obsidian-cli search-content "meeting"