obsidian-ai-skill-safe

SKILLAI 工具
AI 工具 未标注权限 许可证不明确
安装这个技能

Obsidian AI Skill 给你的 AI Agent(千问办公、百度搭子、workBuddy、Claude Code 、 Cursor、Codex)装上物理级安全缰绳。 让 AI 智能检索、整理、创建、修改和合并 Obsidian 知识库,同时防止误删、静默覆盖、路径越界与知识断链。 🔥 为什么需要这个 Skill? 普通的 Agent 可以理解你的需求,但理解正确 ≠ 执行安全。 当 Agent 操作真实的 Obsidian Vault 时,一个错误的路径、一次错误的覆盖,甚至一次错误的删除,都可能直接破坏你的知识库。 Obsidian AI Skill 采用一个简单的原则: Agent 负责思考,Python 负责守住安全底线。 Agent 可以自由理解用户意图、搜索笔记、分析内容和制定修改方案,但真正涉及文件系统的操作,统一交给 Python 安全执行层。

一句话选型结论

按资料字段整理

obsidian-ai-skill-safe是AI 工具类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类AI 工具 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_f77f7b8f/obsidian-ai-skill
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

AI 工具
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_f77f7b8f仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791644815
正文体量9.3 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
组合多个 AI 能力

把写作、检索、总结串成一条流程。

搭工作流

把固定流程做成可重复调用的步骤。

做提示词与评测

整理提示词并对比输出效果。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在AI 工具场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
obsidian-ai-skill-safe当前 未标注权限 未标注 未标注 未标注 有
执行计划 只读 GitHub 仓库 151.5 万 Codex、Claude、Cursor 有
Playwright MCP 测试 浏览器控制 ClawHub 市场 136.5 万 OpenClaw 有
完成前的验证 未标注权限 GitHub 仓库 131.9 万 Codex、Claude、Cursor 有
子 Agent 驱动开发 只读 GitHub 仓库 131.2 万 Codex、Claude、Cursor 有
前端设计 执行命令 GitHub 仓库 125.6 万 Codex、Claude、Cursor 有

SKILL.md 全文

9.3 KB
模型实际读到的说明书原文,来自技能仓库

Obsidian AI Skill

用自然语言操作 Obsidian 笔记库。你(宿主 agent)负责分析意图、检索、决策;
Python 脚本负责安全执行(确认门、路径防护、备份回滚)。
不需要配外部 AI——
你就是 AI。

> 所有改动经 scripts/execute.py,可回滚。不知道就问用户,别扫描、别猜。


决策树(每次请求照此走)

任何请求
  ↓
第1步: python3 scripts/config.py show          ← 永远先跑这个,别扫描
  ↓
Vault configured: NO → 问用户 vault 绝对路径,设上再继续(见"首次配置")
Vault configured: YES → 看用户要干啥
  ↓
你要做的:
  1. 需要信息? → execute.py read / search(免确认)
  2. 要改笔记? → 自己生成 decision JSON → prepare → policy → diff 给用户 → 用户确认 → apply
  ↓
任何会改既有笔记的动作(APPEND/UPDATE/DELETE/MOVE/RENAME/MERGE/CREATE 覆盖)
  → 必须先用单独一轮对话问用户"确定吗?",用户明确同意后才传 --confirmed / "confirmed": true

0. 语言规则(最高优先)

用用户第一条消息的语言回复,全程跟随。 用户写中文 → 你全程中文(思考、状态、提问、报错)。
用户写英文 → 全程英文。绝不默认英文回复中文用户——这是体验灾难。


1. 首次配置(每次会话第一步)

永远先跑,且只跑这一个命令——它告诉你一切,替代所有扫描:

python3 scripts/config.py show

禁止: 扫描文件系统、ls/find/glob 找 vault、猜路径、用默认 ~/Documents/Obsidian Vault。
如果 scripts/config.py 找不到 → 问用户 skill 装在哪,别自己 hunt。

vault_path 没配(Vault configured: NO)→ 停下问用户

中文示例:
> 为了把笔记写进你的 Obsidian,我需要知道你的 vault(笔记库)在哪。
> 请告诉我绝对路径,比如 macOS /Users/你/Documents/MyVault,或 Windows C:\Users\你\Documents\MyVault。
> 还没有的话说"新建",我帮你建空目录再设上。

用户给路径后:

python3 scripts/config.py set vault_path "<路径>"
python3 scripts/config.py show              # 确认 Vault configured: YES

没到 YES 之前,不进行任何笔记操作。

> 本 skill 无内置 AI,不需要配 base_url/model/api_key。你就是 AI,自己做分析决策。


2. 操作命令(execute.py)

用户说什么 跑什么 要确认?
"读 X" / "看 X" execute.py read "X" 否
"搜 XXX" / "找含 XXX 的" execute.py search "XXX" --top 5 否
"建 X 笔记,内容是..." execute.py create "X" --content "..." --summary "..." --tags "a,b" X 必须不存在;已存在 → 拒绝,改用 UPDATE
"给 X 末尾加..." execute.py append "X" --content "..." --confirmed 是,X 必须存在
"改 X 的内容为..." 走 prepare/apply(见 §3),无 --confirmed 快捷路径 是,X 必须存在
"删 X" 走 prepare/apply(见 §3),无 --confirmed 快捷路径 是
"把 X 挪到 Y" execute.py move "X" "Y" --confirmed 是(Y 存在还需 --overwrite-confirmed)
"把 X 改名 Y" execute.py rename "X" "Y" --confirmed 是(Y 存在还需 --overwrite-confirmed)
"把 A 合并到 B" execute.py merge "A" "B" --confirmed 是

> DELETE / UPDATE 没有一键快捷路径——它们破坏性大(删除不可逆、更新覆盖原文),
> 必须走 §3 的两阶段(prepare → diff 给用户看 → 用户确认 → apply),让用户在 diff 阶段
> 有机会喊停。其他动作(append/move/rename/merge)保留 --confirmed,但有 rollback 兜底。

命令模板:

python3 scripts/execute.py read   "notes/Foo.md"
python3 scripts/execute.py search "关键词" --top 5
python3 scripts/execute.py create "notes/Foo.md" --content "..." --summary "..." --tags "a,b"
python3 scripts/execute.py append  "notes/Foo.md" --content "..." --confirmed
python3 scripts/execute.py move    "notes/Foo.md" "archive/Foo.md" --confirmed
python3 scripts/execute.py rename  "notes/Foo.md" "FooRenamed" --confirmed
python3 scripts/execute.py merge   "notes/Old.md" "notes/New.md" --confirmed
# update / delete 没有 --confirmed 快捷路径 —— 走 §3 两阶段(prepare→diff→apply)

多行内容: 用 --content-file <临时文件>(用你的 Write 工具写文件再传,字节精确,无 shell 引号问题)。
--content "..." 会解码 \n/\t/\r/\\(便捷),但含字面反斜杠的代码块必须用 --content-file。


3. 自己决策的流程(整理/合并/智能修改)

用户说"整理/合并/看着办"这种含糊话时,你自己分析(不用调外部 AI)。
DELETE / UPDATE 也必须走这个流程(它们没有 --confirmed 快捷路径)。

① 检索 + 读: search 找候选,read 读 body,自己判断该 MERGE/UPDATE/CREATE/DELETE 哪个。

python3 scripts/execute.py search "会议主题" --top 10
python3 scripts/execute.py read "projects/foo.md"

② 自己生成 decision JSON: 你判断后写一个 decision JSON 到临时文件:

{"action": "MERGE", "absorbed": "meeting.md", "survivor": "projects/foo.md"}
{"action": "UPDATE", "target": "notes/x.md", "content": "...", "summary": "..."}
{"action": "CREATE", "target": "notes/new.md", "content": "...", "summary": "..."}

action ∈ {CREATE, APPEND, UPDATE, MERGE, NO_CHANGE, MOVE, DELETE, RENAME}。

③ Python 校验(prepare + policy):

python3 scripts/execute.py prepare --decision-file /tmp/decision.json   # 盖 _before_hash
python3 scripts/policy.py   --decision-file /tmp/decision.json           # proceed 或 halt_and_ask_user

policy 说 halt_and_ask_user = 需要用户确认(见下)。

④ 给用户看 diff,然后问确认:

python3 scripts/diff.py --decision-file /tmp/decision.json

用用户语言问:"这样可以吗?确认执行?" 用户明确同意后才进 ⑤。

⑤ 执行(带 confirmed:true): 把 "confirmed": true 写进 decision.json,apply:

python3 scripts/execute.py apply --decision-file /tmp/decision.json

MOVE/RENAME 到已存在文件,还要加 "overwrite_confirmed": true。

apply 返回 hash_mismatch(exit 3) = 用户在确认时手改了文件 → 别盲目重试,告诉用户文件变了,问要不要重来。


4. 确认规则(最重要,别违反)

"用户说删除" ≠ "用户确认删除"。 用户说"把 X 删了"是请求,不是同意。
你必须先用单独一轮对话问:"确定要删吗?" 用户明确说"确定/删除/执行"后,才传 --confirmed。

  • 用户只说"删 X" → 你问"确定吗?",不传 confirmed
  • 用户回"确定" → 你传 --confirmed / "confirmed": true
  • 用户没回或换话题 → 不执行,等用户明确

confirmed 必须是 JSON 布尔 true(严格),不是 "yes"/1/"false"。
你是可信 Layer-1,你传 confirmed:true 是合法的——但必须基于用户真实同意。


5. 安全底线(Python 代码强制,你撞上了会被拒)

动作 规则 违反时
READ / SEARCH 免确认 —
CREATE 只建新文件;目标已存在 → 直接拒绝(即使 --confirmed),改用 UPDATE exit 9 overwrite_refused
APPEND / UPDATE 必须 --confirmed,且目标必须存在(不静默创建) exit 8 / exit 5 target_not_found
DELETE / MOVE / RENAME / MERGE 必须 --confirmed exit 8
MOVE/RENAME 到已存在文件 还需 --overwrite-confirmed exit 9
路径穿越 ../ ..\ / vault 外 / symlink 出 vault 拒绝 exit 4 vault_error
confirmed 非严格布尔("yes"/1/[true]) 拒绝 exit 8
vault 未配置 拒绝任何操作 exit 10
非法 action / decision 字段缺失 拒绝 exit 6

关键:
- 路径在 vault 外 → 告诉用户"路径在笔记库外,不能操作",别尝试。
- 用户没明确同意前,绝不传 --confirmed / "confirmed": true。


6. 回滚(改错了能撤)

每个改动返回 operation_id,告诉用户这个 id。

python3 scripts/rollback.py <operation_id>          # 撤回(文件被改过会拒绝)
python3 scripts/rollback.py <operation_id> --force   # 强制撤回(覆盖后来修改,需用户明确同意)
  • 不知道 op_id → 看 <vault>/.obsidian-ai/history/ 里最新的 op_*.json。
  • rollback 拒绝(exit 2 drift)= 操作后文件又被改过 → 告诉用户"之后又改过了,强制回滚会覆盖,确认吗?",同意才 --force。

7. 跨平台提示

  • Windows 若 python3 不识别 → 改用 python。
  • 路径 macOS /Users/... 或 Windows C:\Users\... 都行(正反斜杠均可)。
  • 命令行传 JSON 用 --decision-file(别用单引号 inline JSON,Windows cmd 不支持)。

8. 笔记格式

  • 新建/更新自动加 YAML frontmatter(created/updated/summary/tags/outline),created 更新时保留。
  • 链接用 [[笔记名]] wikilink;MOVE/RENAME/MERGE 自动重写 backlink。

内部架构(仅供理解,不用背)

两层:① SKILL.md(你,交互+分析+决策)② execute.py/policy.py/backup.py/history.py/rollback.py(安全执行,hash+备份+事务)。
安全在 ② 层代码强制,即使忽略本文件也生效。

常见问题

5 问
答案由本站依据条目字段整理
obsidian-ai-skill-safe怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_f77f7b8f/obsidian-ai-skill。安装方式为未标注。装完刷新技能列表或重开客户端。

obsidian-ai-skill-safe支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

obsidian-ai-skill-safe权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

obsidian-ai-skill-safe收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

obsidian-ai-skill-safe用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。