Install
openclaw skills install @thcjp/notes-sync-cli-freeopenclaw skills install @thcjp/notes-sync-cli-free命令行优先的Markdown笔记管理。无需启动GUI,60秒上手,搜索/创建/移动一气呵成。
Vault = 磁盘上的普通文件夹。所有笔记是纯文本Markdown,任何编辑器都能打开。本工具通过命令行直接操作文件,不依赖Obsidian应用运行,支持headless环境(如SSH远程服务器)。
Vault结构(典型)
├── 笔记文件: *.md (纯文本Markdown)
├── 配置目录: .obsidian/ (工作区与插件设置,脚本勿动)
├── 画布文件: *.canvas (JSON格式)
└── 附件目录: attachments/ (图片/PDF等)
# 1. 查找本机已注册的Vault
notes-sync print-vaults
# 2. 设置默认Vault(一次性配置)
notes-sync set-default "我的知识库"
# 3. 验证默认Vault路径
notes-sync print-default --path-only
# 4. 创建第一篇笔记
notes-sync create "inbox/快速开始" --content "# 快速开始\n\n这是我的第一篇命令行笔记。"
# 5. 模糊搜索笔记
notes-sync search
| 平台 | Vault注册表路径 |
|---|---|
| macOS | ~/Library/Application Support/obsidian/obsidian.json |
| Windows | %APPDATA%/obsidian/obsidian.json |
| Linux | ~/.config/obsidian/obsidian.json |
结果处理: 执行完成后,查看输出结果确认操作状态。成功时输出包含处理摘要和结果数据;失败时根据错误信息排查问题,查阅错误处理章节获取恢复步骤。
# 列出所有已注册的Vault
notes-sync print-vaults
# 设置默认Vault(后续命令可省略--vault参数)
notes-sync set-default "<vault-folder-name>"
# 设置默认打开方式:Obsidian应用 或 $EDITOR
notes-sync set-default --open-type editor
# 查看默认Vault信息
notes-sync print-default
notes-sync print-default --path-only
输入: 用户提供Vault发现与默认设置所需的指令和必要参数。 处理: 按照skill规范执行Vault发现与默认设置操作,遵循单一意图原则。 输出: 返回Vault发现与默认设置的执行结果,包含操作状态和输出数据。
input_params参数,支持创建/查询/导出操作# 交互式模糊搜索(按文件名,尊重Obsidian排除规则)
notes-sync search
# 全文内容搜索(显示匹配片段与行号)
notes-sync search-content "数据库设计"
# 限定目录范围搜索
notes-sync search-content "React" --dir "projects/frontend"
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| query | string | 是(content模式) | - | 搜索关键词 |
| --dir | string | 否 | Vault根 | 限定搜索目录 |
| --limit | int | 否 | 20 | 最大返回结果数 |
输入: 用户提供笔记搜索所需的指令和必要参数。 处理: 按照skill规范执行笔记搜索操作,遵循单一意图原则。 输出: 返回笔记搜索的执行结果,包含操作状态和输出数据。
# 创建笔记并写入内容
notes-sync create "projects/ai-agent/设计文档" --content "# 设计文档\n\n## 目标\n- ..."
# 创建并立即打开(默认用Obsidian打开)
notes-sync create "inbox/灵感记录" --open
# 创建并用$EDITOR打开(适合SSH环境)
notes-sync create "inbox/灵感记录" --open --editor
# 创建每日笔记(自动读取.daily-notes.json配置)
notes-sync daily
注意:创建操作直接写磁盘,Obsidian无需运行。新建文件位置自动读取.obsidian/app.json的默认配置。
输入: 用户提供笔记创建所需的指令和必要参数。 处理: 按照skill规范执行笔记创建操作,遵循单一意图原则。 输出: 返回笔记创建的执行结果,包含操作状态和输出数据。
input_params参数,支持创建/查询/导出操作# 读取笔记的YAML元数据
notes-sync frontmatter "projects/ai-agent/设计文档" --print
# 设置单个字段
notes-sync frontmatter "projects/ai-agent/设计文档" --edit --key "status" --value "done"
# 删除字段
notes-sync frontmatter "projects/ai-agent/设计文档" --delete --key "draft"
输入: 用户提供Frontmatter基础操作所需的指令和必要参数。 处理: 按照skill规范执行Frontmatter基础操作操作,遵循单一意图原则。 输出: 返回Frontmatter基础操作的执行结果,包含操作状态和输出数据。
input_params参数,支持创建/查询/导出操作# 移动笔记并自动更新所有[[wikilinks]]和Markdown链接
notes-sync move "old/path/note" "new/path/note"
核心价值:相比标准mv命令,本操作会扫描整个Vault,自动更新所有引用了该笔记的[[wikilinks]]和[text](path.md)链接,避免链接断裂。
输入: 用户提供移动与重命名(安全重构)所需的指令和必要参数。 处理: 按照skill规范执行移动与重命名(安全重构)操作,遵循单一意图原则。 输出: 返回移动与重命名(安全重构)的执行结果,包含操作状态和输出数据。
# 删除笔记(移入回收站保护,而非物理删除)
notes-sync delete "path/to/note"
输入: 用户提供删除笔记所需的指令和必要参数。 处理: 按照skill规范执行删除笔记操作,遵循单一意图原则。 输出: 返回删除笔记的执行结果,包含操作状态和输出数据。 能力覆盖范围:本skill的核心能力覆盖以下场景关键词:通过命令行高效管、理本地、笔记库、支持搜索、笔记同步、CLI、免费版为知识工作、者提供轻量级的命、令行笔记管理能力、聚焦本地、的日常高频操作、文件即数据库、的极简理念、无需启动、GUI、应用即可完成搜索、移动等核心动作、Use、when、需要数据分析、报表生成、统计洞察、数据可视化时使用、不适用于实时流数、据处理等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。
input_params参数,支持创建/查询/导出操作痛点:开发过程中频繁产生技术洞察,但切换到GUI笔记应用会打断心流,导致笔记流失。
对策:在终端中直接捕获灵感,配合Git实现版本化备份。
# 开发中遇到一个坑,立即记录
notes-sync create "inbox/dev-log/$(date +%Y-%m-%d)-redis-persistence" \
--content "# Redis持久化踩坑\n\n## 问题\nRDB文件丢失...\n\n## 根因\n...\n\n## 解决\n..."
# 设置状态为待整理
notes-sync frontmatter "inbox/dev-log/2026-01-30-redis-persistence" \
--edit --key "status" --value "todo"
# 周末整理时搜索待办笔记
notes-sync search-content "status: todo"
效果:从产生灵感到记录完成<10秒,不打断编码心流。
痛点:阅读论文时摘录的片段散落各处,需要按主题快速归档与检索。
对策:用Frontmatter标记主题与来源,命令行批量归档。
# 创建文献摘录笔记
notes-sync create "literature/2026/transformer-attention" \
--content "# Attention Is All You Need 摘录\n\n## 核心观点\n..."
# 标记元数据
notes-sync frontmatter "literature/2026/transformer-attention" \
--edit --key "topic" --value "NLP"
notes-sync frontmatter "literature/2026/transformer-attention" \
--edit --key "year" --value "2017"
# 按主题检索
notes-sync search-content "attention mechanism" --dir "literature"
痛点:写作素材按项目分散,移动素材时链接断裂,导致素材丢失上下文。
对策:用安全移动功能重构素材库结构。
# 将散落的素材移动到项目专属目录
notes-sync move "inbox/character-sketch" "novels/科幻项目/characters/主角"
# 验证链接已自动更新
notes-sync search-content "主角" --dir "novels/科幻项目"
免费版聚焦核心高频操作(搜索/创建/移动/删除/Frontmatter基础),不限使用次数。批量操作(>10条)、多Vault并行管理、自定义模板系统、Git自动同步等高级功能需升级专业版。
不需要。本工具直接操作磁盘文件,Obsidian无需启动。适合SSH远程服务器、CI/CD流水线、headless环境。Obsidian下次启动时会自动识别文件变更。
不会。notes-sync move命令会扫描整个Vault,自动更新所有[[wikilinks]]和Markdown链接。这是相比标准mv命令的核心优势。
可以。默认移入Vault内的.trash/目录(回收站保护),而非物理删除。如需物理删除,加--force参数(谨慎使用)。
兼容任何基于纯Markdown文件的笔记应用(Obsidian、Logseq、Bear导出、VS Code Markdown等)。Vault发现功能针对Obsidian的注册表优化,但核心操作对任何Markdown目录都适用。
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent平台内置LLM提供(免费版路由GPT-4o-mini) |
| notes-sync CLI | 命令行工具 | 必需 | 随本技能提供 |
| jq | JSON处理工具 | 可选 | 系统包管理器安装 |
| ripgrep | 搜索后端 | 可选 | 系统包管理器安装(加速全文搜索) |
本技能基于原始开源作品改进,保留原始版权声明:
本改进作品在原始作品基础上进行了深度差异化改造,包括但不限于:
原始MIT-0 license允许使用、复制、修改和分发,无需保留版权声明。本改进作品在保留原始声明的基础上添加自有署名,符合license要求。
本免费体验版限制以下高级功能:
解锁全部功能请使用专业版:notes-sync-cli-pro
### 60秒上手
```bash
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |