返回 Skill 列表
extension
分类: 效率与办公无需 API Key

Obsidian Daily

通过 obsidian-cli 管理 Obsidian 日记笔记。支持创建、打开日记,追加条目(日志、记录、任务、链接),按日期查阅历史笔记及搜索库内容。支持“昨天”、“上周五”、“3天前”等相对日期。

person作者: bastoshubclawhub

Obsidian Daily Notes

Interact with Obsidian Daily Notes: create notes, append entries, read by date, and search content.

Setup

Check if a default vault is configured:

obsidian-cli print-default --path-only 2>/dev/null && echo "OK" || echo "NOT_SET"

If NOT_SET, ask the user:

  1. Vault name (required)
  2. Daily notes folder (default: vault root, common: Daily Notes, Journal, daily)
  3. Date format (default: YYYY-MM-DD)

Configure the vault:

obsidian-cli set-default "VAULT_NAME"

Obsidian Daily Notes plugin defaults:

  • Date format: YYYY-MM-DD
  • New file location: Vault root
  • Template file location: (none)

Date Handling

Get current date:

date +%Y-%m-%d

Cross-platform relative dates (GNU first, BSD fallback):

| Reference | Command | |-----------|---------| | Today | date +%Y-%m-%d | | Yesterday | date -d yesterday +%Y-%m-%d 2>/dev/null \|\| date -v-1d +%Y-%m-%d | | Last Friday | date -d "last friday" +%Y-%m-%d 2>/dev/null \|\| date -v-friday +%Y-%m-%d | | 3 days ago | date -d "3 days ago" +%Y-%m-%d 2>/dev/null \|\| date -v-3d +%Y-%m-%d | | Next Monday | date -d "next monday" +%Y-%m-%d 2>/dev/null \|\| date -v+monday +%Y-%m-%d |

Commands

Open/Create Today's Note

obsidian-cli daily

Opens today's daily note in Obsidian, creating it from template if it doesn't exist.

Append Entry

obsidian-cli daily && obsidian-cli create "$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "ENTRY_TEXT")" --append

With custom folder:

obsidian-cli daily && obsidian-cli create "Daily Notes/$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "ENTRY_TEXT")" --append

Read Note

Today:

obsidian-cli print "$(date +%Y-%m-%d).md"

Specific date:

obsidian-cli print "2025-01-10.md"

Relative date (yesterday):

obsidian-cli print "$(date -d yesterday +%Y-%m-%d 2>/dev/null || date -v-1d +%Y-%m-%d).md"

Search Content

obsidian-cli search-content "TERM"

Search Notes

Interactive fuzzy finder:

obsidian-cli search

Specific Vault

Add --vault "NAME" to any command:

obsidian-cli print "2025-01-10.md" --vault "Work"

Example Output

- Went to the doctor
- [ ] Buy groceries
- https://github.com/anthropics/skills
- 15:45 This is a log line

Use Cases

Journal entry:

obsidian-cli daily && obsidian-cli create "$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "- Went to the doctor")" --append

Task:

obsidian-cli daily && obsidian-cli create "$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "- [ ] Buy groceries")" --append

Link:

obsidian-cli daily && obsidian-cli create "$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "- https://github.com/anthropics/skills")" --append

Timestamped log:

obsidian-cli daily && obsidian-cli create "$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "- $(date +%H:%M) This is a log line")" --append

Read last Friday:

obsidian-cli print "$(date -d 'last friday' +%Y-%m-%d 2>/dev/null || date -v-friday +%Y-%m-%d).md"

Search for "meeting":

obsidian-cli search-content "meeting"