← 返回 Skills 市场
imakid

Obsidian Headless

作者 imakid · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ✓ 安全检测通过
276
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install obsidian-headless
功能描述
在无显示器/无 GUI 环境下通过自然语言指令管理 Obsidian 笔记仓库。支持创建笔记、删除笔记(带确认)、搜索标题、搜索内容、模糊搜索、创建日记等功能。当用户需要在无头服务器、SSH 环境、或没有安装 Obsidian 桌面应用的情况下管理 Obsidian 笔记时使用此技能。触发词包括"obsidian...
使用说明 (SKILL.md)

Obsidian Headless - 无头 Obsidian 管理工具

在无显示器/无 GUI 环境下通过自然语言指令管理 Obsidian 笔记仓库。

适用场景

  • 在 SSH 远程服务器上管理 Obsidian 笔记
  • 无显示器环境(如 VPS、Docker 容器)
  • 不想启动 Obsidian GUI 桌面应用时
  • 需要通过脚本自动化管理笔记时

文档

  • USAGE.md - 完整使用手册(包含快速参考、详细说明、示例、故障排除)

目录结构

obsidian-headless/
├── obs                    # 便捷入口脚本
├── install.sh             # 安装脚本
├── SKILL.md              # 本文件(技能说明)
├── USAGE.md              # 完整使用手册
├── bin/
│   └── obsidian-headless.sh   # 主程序
├── examples/
│   └── examples.sh       # 使用示例脚本
└── tests/
    └── test.sh           # 测试脚本

配置文件

首次使用时会提示输入仓库路径,配置保存在:

~/.config/obsidian-headless/vault-path

快速开始

1. 安装

cd ~/.openclaw/skills/obsidian-headless
./install.sh

或手动使用:

~/.openclaw/skills/obsidian-headless/obs "obs指令"

指令格式

所有指令都支持 obs 前缀(大小写不敏感),obs 和指令之间可以有空格、-、_、: 等连接符

格式 示例
obs指令 obs创建笔记 新笔记
obs 指令 obs 创建笔记 新笔记
obs-指令 obs-创建笔记 新笔记
OBS指令 OBS创建笔记 新笔记

推荐使用 obs指令 格式,避免误触。

2. 配置仓库路径

首次使用: 运行任意命令时会提示输入仓库路径,路径会保存到配置文件中供后续使用。

首次使用 Obsidian Headless
==========================

请输入 Obsidian 仓库路径: /home/user/my-vault
✓ 已保存配置

手动配置(可选):

方式 1 - 环境变量(优先级最高):

export OBSIDIAN_VAULT=/path/to/your/vault

方式 2 - 删除配置文件重新输入:

rm ~/.config/obsidian-headless/vault-path
# 下次运行时会重新提示输入

3. 使用

# 使用安装后的快捷命令
obs "创建笔记 新想法"

# 或直接调用
~/.openclaw/skills/obsidian-headless/obs "搜索内容 home assistant"

支持的指令

创建笔记

obs创建笔记 [文件名] [可选内容]

说明:

  • 文件名 支持路径,如 文件夹/笔记名笔记名
  • 如果只输入文件名(无内容),创建空笔记文件
  • 如果输入了内容,内容直接写入文件,不会自动添加标题
  • 笔记的标题需要用户在 内容 中自行定义(如 # 我的标题
  • 文件名和内容之间可以用空格或换行符分隔

示例:

  • obs创建笔记 待办清单 → 创建空文件 待办清单.md
  • obs创建笔记 项目想法 这个项目的核心目标是... → 文件内容为 "这个项目的核心目标是..."
  • obs创建笔记 AI/总结 # AI 总结\ \ 今天学习了... → 文件内容包含自定义标题

多行内容示例:

obs创建笔记 笔记名
# 标题
内容第一行
内容第二行

删除笔记(带确认)

obs删除笔记 [文件名]

删除确认流程:

单个匹配时:

即将删除笔记:
  标题: xxx
  路径: /path/to/xxx.md

  内容预览 (共 15 行):
    # xxx
    ...

请回复确认:
  [Y] 确认删除
  [N] 取消

多个匹配时:

找到多个匹配的笔记:

  [1] 笔记A
      位置: folder1/
      大小: 20 行

  [2] 笔记B
      位置: folder2/
      大小: 35 行

请回复要删除的笔记编号 (或 0 取消)

查看笔记内容

obs查看笔记 [文件名]

搜索笔记标题

obs搜索标题 [关键词]

搜索笔记内容

obs搜索内容 [关键词]

模糊搜索(标题+内容)

obs模糊搜索 [关键词]

创建/打开今天日记

obs今天日记 [可选内容]

自动在 日记/ 文件夹下创建 YYYY-MM-DD.md

修改库路径

obs修改库路径
obs修改库目录
obs更改路径
obs切换仓库

交互式修改仓库路径,保存到配置文件。

示例:

  • obs修改库路径 → 提示输入新路径
  • obs-修改库目录 → 同上

列出所有笔记

obs列出所有

列出所有文件夹

obs列出文件夹

显示最近修改的笔记

obs最近笔记

前置要求

  1. Obsidian 仓库: 首次使用时会提示输入仓库路径

  2. 依赖:

    • bash (必须)
    • find (必须)
    • grep (必须)
    • ripgrep (rg) (推荐,搜索更快)
  3. 安装 ripgrep:

    # Ubuntu/Debian
    sudo apt install ripgrep
    
    # macOS
    brew install ripgrep
    

测试

运行测试脚本验证功能:

cd ~/.openclaw/skills/obsidian-headless
./tests/test.sh

查看示例

运行示例脚本查看各种用法:

cd ~/.openclaw/skills/obsidian-headless
./examples/examples.sh

与 obsidian-cli 的对比

功能 obsidian-cli obsidian-headless
依赖 Obsidian GUI 是(需要索引)
search-content 依赖索引,常失败 使用 ripgrep,可靠
删除确认 有(显示预览)
多匹配处理 列出序号选择
自然语言支持 有限 完整支持
无头环境 不支持 专门设计

故障排除

提示"未找到 Obsidian 仓库路径"

  1. 首次使用时会自动提示输入路径
  2. 或手动设置环境变量:
    export OBSIDIAN_VAULT=/path/to/your/vault
    
  3. 或删除配置重新输入:
    rm ~/.config/obsidian-headless/vault-path
    

修改已保存的仓库路径

# 方法1: 使用环境变量覆盖
export OBSIDIAN_VAULT=/new/path

# 方法2: 删除配置,下次重新输入
rm ~/.config/obsidian-headless/vault-path

搜索速度慢

安装 ripgrep:

sudo apt install ripgrep  # Ubuntu/Debian
brew install ripgrep       # macOS

删除时找不到笔记

使用更精确的标题,或使用"模糊搜索"先找到准确标题。

脚本说明

脚本 用途
obs 便捷入口,推荐日常使用
bin/obsidian-headless.sh 主程序
install.sh 安装脚本,设置别名和快捷方式
tests/test.sh 功能测试
examples/examples.sh 使用示例
安全使用建议
This skill appears to do what it says: a local Bash CLI to manage an Obsidian vault. Before installing, review the included scripts yourself and consider: 1) set OBSIDIAN_VAULT to your vault path or verify ~/.config/obsidian-headless/vault-path after first run; 2) run install.sh only if you accept adding an 'obs' alias and a possible /usr/local/bin symlink; 3) back up your vault before running delete operations or automated tests (tests/scripts do remove files and the test cleanup uses OBSIDIAN_VAULT — running tests with that variable unset can produce unexpected behavior); 4) the code is local and contains no network exfiltration, but standard file-operation risks (delete, overwrite) apply — pay attention to confirmation prompts and path validation messages.
功能分析
Type: OpenClaw Skill Name: obsidian-headless Version: 1.0.1 The obsidian-headless skill bundle is a legitimate utility for managing Obsidian notes via a CLI or AI agent. It includes robust security measures such as path traversal protection (validate_path_in_vault) and filename sanitization in bin/obsidian-headless.sh to ensure operations remain within the designated vault. The installation script (install.sh) follows standard practices by setting up shell aliases, and no evidence of data exfiltration, malicious execution, or harmful prompt injection was found.
能力评估
Purpose & Capability
Name/description (manage Obsidian vault headless) align with the included scripts and docs. The scripts operate on a vault path, provide create/search/delete/daynote features, and require only typical shell utilities. No unrelated cloud creds, services, or binaries are requested.
Instruction Scope
SKILL.md and README clearly document runtime behavior (reads/saves ~/.config/obsidian-headless/vault-path, can use OBSIDIAN_VAULT env var). Scripts prompt for a vault path and explicitly validate paths to keep operations inside the vault. Deletion operations print previews and emit markers (DELETE_CONFIRM:..., MULTI_DELETE_CONFIRM:...) that are intended for interactive confirmation — this is expected but means an automated agent will parse file paths and previews when confirming deletes. The README/USAGE are explicit; no instructions request unrelated system files or secrets.
Install Mechanism
There is no remote download/install spec in the registry metadata; the repo includes a local install.sh that creates an alias and attempts a symlink in /usr/local/bin if writable. All code is present in the bundle — no network fetches or opaque installers. Installing will modify user shell rc or create a symlink if permitted, which is normal for a CLI tool but requires user consent.
Credentials
The skill requests no secrets or external credentials. It uses a local config file (~/.config/obsidian-headless/vault-path) and optionally the OBSIDIAN_VAULT env var; both are reasonable for vault location configuration. The tests and scripts assume OBSIDIAN_VAULT may be set; running tests without setting it can cause interactive prompts. No unrelated environment variables or credentials are requested.
Persistence & Privilege
always:false and normal autonomous invocation settings. The install script writes a config file and optionally an alias/symlink (user-level changes). This is typical for CLI tools. There are no indications the skill modifies other skills or system agent configurations beyond adding an alias/symlink.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install obsidian-headless
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /obsidian-headless 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
Fix: 优化文档,添加 config.json
v1.0.0
Initial release: 无头环境下的 Obsidian 笔记管理工具
元数据
Slug obsidian-headless
版本 1.0.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Obsidian Headless 是什么?

在无显示器/无 GUI 环境下通过自然语言指令管理 Obsidian 笔记仓库。支持创建笔记、删除笔记(带确认)、搜索标题、搜索内容、模糊搜索、创建日记等功能。当用户需要在无头服务器、SSH 环境、或没有安装 Obsidian 桌面应用的情况下管理 Obsidian 笔记时使用此技能。触发词包括"obsidian... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 276 次。

如何安装 Obsidian Headless?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install obsidian-headless」即可一键安装,无需额外配置。

Obsidian Headless 是免费的吗?

是的,Obsidian Headless 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Obsidian Headless 支持哪些平台?

Obsidian Headless 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Obsidian Headless?

由 imakid(@imakid)开发并维护,当前版本 v1.0.1。

💬 留言讨论