obsidian cli

This commit is contained in:
2026-04-16 20:03:53 +08:00
parent c999498de4
commit db72ecb4f6
14 changed files with 2195 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

View File

@@ -0,0 +1,62 @@
---
title: "Thread by @RodmanAi"
source: "https://x.com/RodmanAi/status/2044486250288320960"
author:
- "[[@RodmanAi]]"
published: 2026-04-16
created: 2026-04-16
description: "Learn AI for free directly from top companies. 1 - Anthropic: http://anthropic.skilljar.com 2 - Google: http://grow.google/ai 3 - Met"
tags:
- "clippings"
---
**Leonard Rodman** @RodmanAi [2026-04-15](https://x.com/RodmanAi/status/2044486250288320960)
Learn AI for free directly from top companies.
1 - Anthropic:
http://anthropic.skilljar.com
2 - Google:
http://grow.google/ai
3 - Meta:
http://ai.meta.com/resources/
4 - NVIDIA:
http://developer.nvidia.com/cuda
5 - Microsoft:
http://learn.microsoft.com/en-us/training/
6 - OpenAI:
http://academy.openai.com
7 - IBM:
http://skillsbuild.org
8 - AWS:
http://skillbuilder.aws
9 - http://DeepLearning.AI:
http://deeplearning.ai
10 - Hugging Face:
http://huggingface.co/learn
👇Comment "Learning" if you find this helpful.
Repost so others can take help.
Must bookmark for future reference.
![[IMG-20260416190736025.jpg|图像]]

1535
Clippings/Obsidian CLI.md Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,107 @@
### Obsidian 官方 CLI 命令全景速查表 (版本要求: v1.12+)
**核心执行逻辑说明:**
- 基础格式:`obsidian <命令> 参数名=参数值 标记参数`
- 含有空格的值必须加双引号,例如:`content="Hello world"`
- **标记参数**(如 `open`, `inline`, `total`)不需要赋值,写上就代表启用。
- 以下表格中 `file=Recipe` 代表对库中名为 Recipe 的文件执行操作,实际使用时需要替换为你库中真实存在的文件名。
| 所属模块 | 命令 | 功能解释 | 完整样例 (直接在终端运行) |
| :-------- | :----------------------------- | :-------------------------------- | :-------------------------------------------------------------------- |
| **基础操作** | `help` | 显示帮助。加上具体命令就是查看这个命令的帮助。 | `obsidian help search` |
| | `version` | 显示当前 Obsidian 软件版本号。 | `obsidian version` |
| | `reload` | 重新加载应用窗口。 | `obsidian reload` |
| | `restart` | 重启整个 Obsidian 应用程序。 | `obsidian restart` |
| **数据库** | `bases` | 列出仓库中所有的 `.base` 数据库文件。 | `obsidian bases` |
| | `base:views` | 列出当前活动数据库文件中的视图。 | `obsidian base:views file=Contacts` |
| | `base:create` | 在数据库中创建新记录,支持指定字段内容。 | `obsidian base:create file=Contacts name="John Doe"` |
| | `base:query` | 查询数据库并返回 JSON 或 CSV 结果。 | `obsidian base:query file=Contacts view=Active format=json` |
| **书签** | `bookmarks` | 列出书签。 | `obsidian bookmarks format=json` |
| | `bookmark` | 将指定文件或查询条件保存为书签。 | `obsidian bookmark file="Project A" title="当前项目"` |
| **命令面板** | `commands` | 获取所有内置或插件命令的 ID。 | `obsidian commands filter=workspace` |
| | `command` | 强制执行一个内部命令。 | `obsidian command id=workspace:close` |
| | `hotkeys` | 列出所有快捷键映射。 | `obsidian hotkeys verbose` |
| | `hotkey` | 获取单个命令的具体快捷键。 | `obsidian hotkey id=workspace:close` |
| **日记** | `daily` | 打开当天的每日笔记。 | `obsidian daily paneType=tab` |
| | `daily:path` | 输出每日笔记的物理路径。 | `obsidian daily:path` |
| | `daily:read` | 打印当天每日笔记的文本内容。 | `obsidian daily:read` |
| | `daily:append` | 向每日笔记末尾追加文本,适合快速记录。 | `obsidian daily:append content="- [ ] 记得回复邮件"` |
| | `daily:prepend` | 向每日笔记开头插入文本。 | `obsidian daily:prepend content="# 今日重点"` |
| **文件历史** | `diff` | 对比不同历史版本。 | `obsidian diff file=Recipe from=2 to=1` |
| | `history` / `history:list` | 显示有本地历史记录的文件列表。 | `obsidian history file=Recipe` |
| | `history:read` | 读取某个历史版本的内容。 | `obsidian history:read file=Recipe version=1` |
| | `history:restore` | 将文件回滚到指定历史版本。 | `obsidian history:restore file=Recipe version=2` |
| | `history:open` | 在界面中打开文件恢复面板。 | `obsidian history:open file=Recipe` |
| **文件与目录** | `file` / `folder` | 显示文件或文件夹的元数据(大小、时间)。 | `obsidian file path="Notes/Recipe.md"` |
| | `files` / `folders` | 遍历列表,支持后缀过滤并返回总数。 | `obsidian files ext=md total` |
| | `open` | 打开文件。 | `obsidian open file=Recipe newtab` |
| | `create` | 静默创建文件,支持预设内容或应用模板。 | `obsidian create name=Meeting content="# 会议记录" overwrite` |
| | `read` | 打印文件内容Agent 接入必用命令。 | `obsidian read file=Recipe` |
| | `append` / `prepend` | 在文件末尾或头部插入内容。 | `obsidian append file=Recipe content="追加的文本"` |
| | `move` / `rename` | 移动或重命名文件(自动更新双链)。 | `obsidian rename file=Recipe name=NewRecipe` |
| | `delete` | 删除文件,可附加 `permanent` 彻底删除。 | `obsidian delete file=Recipe permanent` |
| **链接网络** | `backlinks` | 列出指向这个文件的反向链接。 | `obsidian backlinks file=Index format=json` |
| | `links` | 列出这个文件包含的出站链接。 | `obsidian links file=Index total` |
| | `unresolved` | 提取未创建实体文件的死链接节点。 | `obsidian unresolved format=json` |
| | `orphans` | 列出没有被引用的孤立文件。 | `obsidian orphans total` |
| | `deadends` | 列出没有向外发出引用的死胡同笔记。 | `obsidian deadends total` |
| **大纲** | `outline` | 提取文件的标题树状结构。 | `obsidian outline file=Recipe format=tree` |
| **插件管理** | `plugins` / `enabled` | 列出所有插件或已开启的插件。 | `obsidian plugins filter=community` |
| | `plugins:restrict` | 开关安全模式。 | `obsidian plugins:restrict off` |
| | `plugin` / `plugin:enable` | 查询插件信息或开启插件。 | `obsidian plugin:enable id=dataview` |
| | `plugin:disable` | 禁用插件。 | `obsidian plugin:disable id=dataview` |
| | `plugin:install` / `uninstall` | 静默安装或卸载社区插件。 | `obsidian plugin:install id=dataview enable` |
| | `plugin:reload` | 热重载插件(适合开发调试)。 | `obsidian plugin:reload id=my-plugin` |
| **属性元数据** | `aliases` | 提取别名列表。 | `obsidian aliases active` |
| | `properties` | 提取 YAML 属性,支持排序。 | `obsidian properties sort=count` |
| | `property:set` | 修改属性值,规范化文本、日期等类型。 | `obsidian property:set name=status value=draft type=text file=Recipe` |
| | `property:remove` / `read` | 删除属性或提取特定属性值。 | `obsidian property:read name=status file=Recipe` |
| **发布** | `publish:site` / `list` | 获取 Publish 站点信息或已发布清单。 | `obsidian publish:list` |
| | `publish:status` / `add` | 检查变更或推送到云端。 | `obsidian publish:add changed` |
| | `publish:remove` / `open` | 撤销发布或在浏览器中查看线上页面。 | `obsidian publish:open file=Recipe` |
| **随机笔记** | `random` / `random:read` | 打开随机笔记或直接打印其内容。 | `obsidian random folder="Zettelkasten" newtab` |
| **全局搜索** | `search` | 全文检索,返回文件路径列表。 | `obsidian search query="TODO" format=json` |
| | `search:context` | 提供包含上下文的检索结果。 | `obsidian search:context query="重要" limit=5` |
| | `search:open` | 在图形界面中唤出搜索面板。 | `obsidian search:open query="会议记录"` |
| **官方同步** | `sync` / `sync:status` | 控制同步进程开关,查看状态。 | `obsidian sync on` |
| | `sync:history` / `read` | 查阅云端版本历史记录或读取内容。 | `obsidian sync:read file=Recipe version=1` |
| | `sync:restore` | 强制回滚到云端版本。 | `obsidian sync:restore file=Recipe version=2` |
| | `sync:open` / `deleted` | 打开界面查看历史或已删除文件。 | `obsidian sync:deleted` |
| **标签** | `tags` | 提取标签网络,统计频次。 | `obsidian tags sort=count format=json` |
| | `tag` | 查询单个标签的分布和出现次数。 | `obsidian tag name="#important" verbose` |
| **任务管理** | `tasks` | 检索全库或指定日记的任务状态。 | `obsidian tasks todo daily` |
| | `task` | 终端直连修改具体任务的勾选状态。 | `obsidian task ref="Recipe.md:8" toggle` |
| **模板** | `templates` / `template:read` | 查看模板库,或解析带变量的模板内容。 | `obsidian template:read name=Meeting resolve` |
| | `template:insert` | 将模板注入到活动笔记中。 | `obsidian template:insert name=Meeting` |
| **外观与样式** | `themes` / `theme` | 查看安装的主题或查看当前主题详情。 | `obsidian themes versions` |
| | `theme:set` / `install` | 切换主题,或从终端安装并启用新主题。 | `obsidian theme:install name="Minimal" enable` |
| | `theme:uninstall` | 卸载主题。 | `obsidian theme:uninstall name="Minimal"` |
| | `snippets` 相关命令 | 开关 CSS 片段。 | `obsidian snippet:enable name=custom-font` |
| **卡片盒模式** | `unique` | 按照 Zettelkasten 时间戳生成唯一笔记。 | `obsidian unique name="Idea" open` |
| **仓库管理** | `vault` / `vaults` | 获取当前仓库信息或列出所有本地仓库。 | `obsidian vaults verbose` |
| | `vault:open` | 强制软件跳转打开另一个仓库。 | `obsidian vault:open name="My Vault"` |
| **内置浏览器** | `web` | 在 Obsidian 内直接打开网页。 | `obsidian web url="https://google.com" newtab` |
| **字数统计** | `wordcount` | 统计字数或字符数。 | `obsidian wordcount file=Recipe words` |
| **工作区布局** | `workspace` 系列命令 | 保存、载入、删除窗口布局配置。 | `obsidian workspace:load name=Writing` |
| | `tabs` / `tab:open` | 管理标签页组,或者在新标签打开文件。 | `obsidian tab:open file=Recipe` |
| | `recents` | 返回最近打开文件的记录。 | `obsidian recents total` |
| **开发者模式** | `devtools` / `dev:debug` | 调出底层控制台或挂载 Chrome 调试器。 | `obsidian dev:debug on` |
| | `dev:cdp` | 顶级权限,调用 Chrome DevTools Protocol。 | `obsidian dev:cdp method="Network.enable"` |
| | `dev:screenshot` | 生成软件当前界面的 base64 图片数据流。 | `obsidian dev:screenshot path=screenshot.png` |
| | `dev:console` / `css` | 读取控制台日志,或抓取 CSS 渲染数据。 | `obsidian dev:console level=error` |
| | `dev:dom` | 用 CSS 选择器直接抓取界面 DOM 元素。 | `obsidian dev:dom selector=".cm-content" text` |
| | `dev:mobile` | 开启移动端布局模拟。 | `obsidian dev:mobile on` |
| | `eval` | 注入 JavaScript 代码到底层执行并返回结果。 | `obsidian eval code="app.vault.getFiles().length"` |
# Obsidian CLI 典型自动化应用场景与工作流
| 工作流名称 | 功能简介 | 涉及的 CLI 命令 |
| :---------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **1. 全局极速闪记 ** | **痛点**:记录一闪而过的灵感时,打开软件、等插件加载、找文件太慢。<br>**方案**:在 Raycast、Alfred 甚至手机捷径中绑定一段终端脚本。输入文字后,脚本在后台直接调用 CLI将文字无感追加到今天的日记末尾。完全不需要唤醒 Obsidian 界面。 | `obsidian daily:append content="灵感内容"` |
| **2. 播客/视频沉浸式知识榨取** | **痛点**:看完 YouTube 视频后,手动整理笔记并建立待办事项费时费力。<br>**方案**:把链接丢给 OpenClaw 或 Telegram 机器人。AI 提取字幕并总结后,调用 CLI 直接使用你的“媒体笔记模板”创建新文件,并把提取出的行动项自动打上标签,插入到当天的日记中。 | `obsidian create name="视频名" template="Media"`<br>`obsidian daily:append content="- [ ] 待办项"` |
| **3. AI 收件箱自动分拣员 ** | **痛点**:平时用 Web Clipper 随手剪藏的网页堆积在 Inbox 文件夹,变成“赛博垃圾场”。<br>**方案**:利用 n8n 建立定时任务,让大模型批量阅读 Inbox 里的文件。理解内容后,通过 CLI 规范化注入 YAML 属性如作者、分类最后安全地将文件重命名并移动到对应的归档文件夹。CLI 会自动更新全库的双链,绝不断链。 | `obsidian files folder="Inbox"`<br>`obsidian read file="未命名"`<br>`obsidian property:set name="category" value="AI"`<br>`obsidian move file="旧名" to="新路径"` |
| **4. 绝对隐私的本地 RAG 对话助理** | **痛点**搭建向量数据库Chroma/Milvus太繁琐且每次笔记更新都要重新 Embedding向量化。<br>**方案**:在本地运行 Claude Code 或本地大模型,赋予其 CLI 执行权限。AI 会根据你的提问,自主使用带有上下文的全局搜索指令,并通过提取反向链接顺藤摸瓜,构建准确的背景知识库后再回答,完全零配置。 | `obsidian search:context query="关键词"`<br>`obsidian backlinks file="检索到的文件"`<br>`obsidian read file="目标笔记"` |
| **5. 跨平台数据库级联录入** | **痛点**:外部数据(如记账、习惯打卡)很难干净地录入到 Obsidian 的表格或 Dataview 中。<br>**方案**:结合 Obsidian 1.12 最新的 Bases数据库功能。通过 n8n 接收外部 Webhook比如银行消费短信直接让 CLI 在指定的 Base 文件中创建一条新记录,并严格按数据类型(数字、日期)注入字段。 | `obsidian base:create file="财务库" name="打车"`<br>`obsidian property:set type="number" value="30"` |
| **6. 历史知识自动唤醒与破冰** | **痛点**:记录了大量笔记但从不回顾,知识变成死水。<br>**方案**:每天早晨执行一个自动化脚本,利用 CLI 提取一篇早于 1 年前的随机笔记,交给 AI 提炼核心观点,并与你最近一周关注的标签(如 `#Agent`)进行强行跨界联想,将联想结果作为“每日思考”追加到今天日记中。 | `obsidian random:read folder="卡片盒"`<br>`obsidian tags sort=count limit=5`<br>`obsidian daily:prepend content="AI的跨界联想"` |
| **7. 批量元数据重构与清洗** | **痛点**:笔记库用久了,属性极其混乱(比如状态标签混用了 `doing``in-progress``进行中`),导致 Dataview 列表报错。<br>**方案**:让 AI 脚本遍历你的核心文件夹,读取现有的属性值,统一转换为标准格式,然后用 CLI 进行批量覆写。这种方式强制符合 YAML 语法,绝不会多一个空格或少一个引号。 | `obsidian properties`<br>`obsidian property:read name="status"`<br>`obsidian property:set name="status" value="标准值"` |

View File

@@ -0,0 +1,247 @@
| 作者 | Skill名称 | 功能描述 | 推荐度 |
| :------------------------------------------------------------------------ | :---------------------- | :------------------------------------------------------------------------------------------------------------------ | :-- |
| **Obsidian CEO @kepano**<br>GitHub: `kepano/obsidian-skills` | defuddle | 网页内容清洗工具,专门用来把杂乱的网页转换成纯净的 Markdown 格式,通过剔除广告和导航栏来帮你节省 AI 调用时的 Token 消耗。 | ✅ |
| | obsidian-cli | 让 AI Agent 能够直接调用 Obsidian 官方的命令行工具,从而实现对笔记、任务、属性的增删改查,以及对插件开发环境的调试与管理。 | ✅ |
| | obsidian-bases | 让 AI 能够创建和维护 .base 格式的配置文件从而在 Obsidian 里生成类似 Notion 数据库的动态视图,实现对笔记的过滤、计算和结构化展示。 | ✅ |
| | obsidian-markdown | 让 AI 能够编写和编辑符合 Obsidian 官方规范的增强版 Markdown 文档,实现双向链接、内容嵌入、提示框以及结构化属性的深度集成。 | ⚠️ |
| | json-canvas | 让 AI 能够创建和编辑 Obsidian 的 .canvas 白板文件,通过 JSON 结构实现节点(文本、文件、链接、组)的布局以及它们之间的连线逻辑。 | ❌ |
| | | | |
| **Axton著名博主@回到Axton**<br>GitHub: `axtonliu/axton-obsidian-visual-skills` | obsidian-canvas-creator | 加强版的 json canvas skill解决了节点重叠和空间分布不均的问题。 | ✅ |
| | mermaid-visualizer | 将文本逻辑转化为专业的 Mermaid 架构图或流程图,并内置了针对 Obsidian 渲染引擎的语法纠错机制。 | ✅ |
| | excalidraw-diagram | 将文本逻辑转化为手绘风格的 Excalidraw 图表 | ✅ |
| | | | |
| **OpenClaw官方GitHub**<br>GitHub: `openclaw/openclaw/skills/obsidian` | obsidian-skill | 直接操作文件系统也就是文件I/O非常消耗Token在官方已经发布Obsidian-cli的情况下没有理由继续使用这个过时的方式。 | ❌ |
| | | | |
| **Choi Wontak**<br>GitHub: `RoundTable02/tutor-skills` | tutor-skills | 两个 Skill (tutor-setup 和 tutor) ,构成了一个“输入-内化-检测”的完整闭环:将文档或代码库一键转化为结构化的 Obsidian 知识库,之后通过无提示的交互式测验不断暴露出你的知识盲区并记录学习轨迹。 | ✅ |
| | | | |
| **EESJGong**<br>GitHub: `EESJGong/scholar-skill` | scholar-skill | 基于 OpenClaw 框架的学术研究skill通过L1-L3的分级阅读策略在后台长时间静默解析论文并自动将结构化笔记、核心记忆与知识冲突报告写入你的本地 Obsidian 知识库中。 | ✅ |
## Obsidian CEO 发布的 Skills
### defuddle
#### Skill功能
Defuddle 主要用来抓取网页里的核心正文。它会自动删掉导航条、侧边栏和广告等干扰元素,只留下干净的 Markdown 内容。这个功能让 AI 在处理长文章、在线文档或博客时不仅能读得更准还能大幅减少不必要的字符开销。最近一次更新中已经支持YouTube视频链接它获取YouTube视频字幕的方式是调用YouTube官方API而不是我们之前熟知的`yt-dlp`组件。
#### 所需依赖
1. Node.js 运行环境。
2. 全局安装的 defuddle 包,安装命令是 `npm install -g defuddle`
#### 触发条件和使用方法
当你给 Agent 发送一个网页链接URL并要求它阅读、分析或总结里面的内容时就会触发这个 Skill。
提示词样例:
```text
提取这个网页的正文,转成干净的 Markdown 格式:[URL]。
```
#### 注意事项
这个工具对标准 HTML 网页(如新闻、博客、官方文档)效果最好,但如果网页需要登录或者是纯动态渲染的单页应用,抓取效果可能受限。
### obsidian-cli
**功能开启与基础配置**
1. 确认系统环境,保证 Obsidian 客户端版本在 1.12 以上。
2. 进入 Obsidian 界面,打开“设置 -> 常规 (General)”。
3. 找到“命令行界面 (Command line interface)”开关并打开。
4. 在弹出的窗口中确认注册到系统 Path。
5. 保证 Obsidian 客户端处于运行状态(如果在未运行状态下执行命令,系统会自动启动客户端)。
验证配置成功的方法是打开操作系统的终端工具Mac 使用 TerminalWindows 使用 PowerShell输入下面这个基础命令
```bash
obsidian daily
```
如果配置正确Obsidian 会直接自动应用日记模版并在界面中生成今天的日记文件。
### obsidian-bases
#### Skill 功能
这个 Skill 允许 AI 通过编写 YAML 格式的 `.base` 文件来创建Obsidian bases数据库。它支持非常强大的公式系统可以读取笔记的 Frontmatter 属性或文件元数据(如创建时间、字数等),并进行条件判断、日期运算和字符串处理。
#### 所需依赖
- **Maps 插件**:如果需要使用这个 Skill 里的 map地图视图必须额外安装名为 Maps 的社区插件。
#### 触发条件和使用方法
样例提示词:
```text
写一个 .base 文件来管理我的项目笔记,要求筛选出所有带 #project 标签的文件,用表格显示项目名称、截止日期和剩余天数。
```
**视图限制**:目前只支持 table表格、cards卡片、list列表和 map地图这四种类型。
### obsidian-markdown
#### 使用方法
样例提示词:
```text
根据这段会议记录生成一份 Obsidian 笔记。要求在顶部包含日期和参会人的属性,使用双向链接关联到“项目 A”笔记并把关键决策点用important类型的提示框标注。
```
**扩展**因为skill是对格式的语法和约束所以可以将个人obsidian格式偏好加入到skill中以保证Agent写出的知识笔记符合你的要求。
### json-canvas
#### 使用方法
样例提示词:
```text
创建一个名为“AI 学习路径”的 json canvas文件。中心是一个文本节点连向三个文件节点分别是“模型基础”、“提示词工程”和“智能体实战”。
```
### obsidian-canvas-creator
#### Skill 功能
内置了径向布局MindMap和自由排版Freeform算法能够自动计算节点坐标、处理连接线路径、并根据文本长度动态调整节点尺寸从而生成整齐、美观且逻辑清晰的视觉架构。
#### 使用方法
样例提示词:
```text
把这markdown知识笔记转换成一个mindmap格式的 Obsidian Canvas。
```
#### 与 json-canvas skill 的对比
- **侧重点不同**`json-canvas` 主要关注底层的 JSON 语法正确性和属性定义;而 `obsidian-canvas-creator` 侧重于高层的排版策略和空间坐标计算。
- **自动化程度不同**:使用 `json-canvas`AI 可能只是机械地摆放节点;使用本 Skill 时AI 会根据 `layout-algorithms.md` 计算每个节点的 X/Y 坐标,确保节点不重叠且间距符合视觉审美。
- **结构化逻辑**:本 Skill 引入了特定的布局模式(如 MindMap 模式和 FreeForm模式能自动处理父子层级关系而不仅仅是单一的节点创建。
### mermaid-visualizer
#### 使用方法
样例提示词:
```text
根据这段关于软件开发生命周期的描述生成一个横向的 Mermaid 流程图,要求包含不同的子图来区分开发环境和测试环境。
```
### excalidraw-diagram
#### 所需依赖
- **Excalidraw 插件**:必须安装并启用 Excalidraw 插件。
#### 触发条件和使用方法
样例提示词:
```text
用 Excalidraw 画一个 AI 智能体的工作流动画图,按照感知、思考、行动的顺序设置动画步骤,并保存为 .excalidraw 文件。
```
### tutor-skills
#### Skill 功能
`tutor-setup` 能将任何本地文档或源代码工程自动解析并生成带有双链、MOC 和复习题的独立 Obsidian 学习金库 (StudyVault);而 `tutor` 则读取知识库的进度数据,在终端内为你生成互动式测验,追踪并攻克你的知识薄弱点。
#### 所需依赖
* **基础环境**:智能体工具如 Claude Code, OpenCode。
#### 使用方法
* **使用方法**:在特定工作目录输入命令 `/tutor-setup` 触发构建,或在已有 StudyVault 的目录下输入 `/tutor` 触发复习。
#### Skill 的特殊机制
* **模式自动侦测**无需手动指定Skill 会自动扫描当前工作目录,若发现 `package.json``pom.xml` 等工程文件会自动进入“代码库模式”;若只有 PDF/纯文本,则进入“文档模式 ”。
#### 注意事项
* **Token 消耗风险**:尽管禁止了 PDF 图像读取但“代码库模式”会递归读取大量源文件并进行架构溯源Phase C1-C9 循环),在短时间内消耗大量 Token 额度。
### scholar-skill
#### Skill 功能
`scholar-skill` 是一个深度的个人知识管理与文献解构工作流。它通过分级标准L1分发/L2标准阅读/L3深度解构将原始论文PDF/ArXiv转化为 Obsidian 中的双链卡片、MOC内容地图以及系统性的反思报告。它还能记录你阅读过程中的误区并提取可复用的研究方法论。
#### 所需依赖
要运行此系统,你需要配置一套相对重型的底层环境:
* **基础环境**:本地 Python 环境与预先安装好的 Obsidian 客户端(及配置好的 Vault 文件夹)。
* **核心框架**:安装配置好的 OpenClaw 智能体框架。
* **依赖 Skill (通过 ClawHub 安装)**
* `obsidian-direct`(必须):用于绕过官方限制,直接通过 Python 强行读写本地 `.md` 文件。
* `arxiv-watcher`(必须):用于通过 ArXiv API 抓取文献资源。
* `durable-task-runner`(核心必须):用于支持 L3 级别长时间挂机任务的调度与断点续传。
* 增强依赖(可选):`tavily`(联网抓取)、`pdf`(文本解析)、`academic-research-hub`
#### 触发条件与使用方法
* **触发条件**当意图匹配到“阅读论文”、“L1/L2/L3阅读”、“知识内化”或“文献笔记”时自动触发工作流。
* **使用方法(提示词样例)**
```text
获取这篇文献 ArXiv:2407.19354 并进行处理。
先做 L1 快速评估,如果判定为 P0 优先级,则请在后台直接启动 L3 深度阅读。
完成后将知识树更新推送到我的 Obsidian 对应目录。
```
#### Skill 的特殊机制
* **超长周期任务编排**由于大模型无法一次性吃透几十页附带复杂公式的论文L3级深度阅读被设计为长达 2.5 小时的异步挂机任务。底层深度依赖 OpenClaw 的 `durable-task-runner` 来处理多次 LLM 推演循环、API 限流等待以及崩溃恢复。
* **周期性反思机制**:内置时间触发器逻辑,强制在周末或月末对“临时存储的知识”进行 L2/L3 反思,生成知识体系演进报告。
* **人类确认防呆机制**:当 AI 发现新论文推翻了你旧笔记的结论时,不会直接覆写旧笔记,而是生成一份确认单放进 `0-Inbox` 文件夹等待人类审核确认Human in the loop
#### 注意事项与风险预警
* **财务毁灭/算力黑洞风险**:长达 2.5 小时的 L3 循环和高频的历史知识检索RAG会消耗极其恐怖的 Token。如果后端挂载的是商用前沿模型如 Claude 3.5 Sonnet 或 GPT-4o单篇深读可能带来高昂的 API 账单。
* **数据覆写与坏档风险**:底层的 `obsidian-direct` 使用的是民间 Python 暴力文件 I/O 脚本,而非 Obsidian 官方 CLI 通信。在文件多端同步(如 iCloud/Obsidian Sync期间极易引发文件冲突、内容丢失或双链索引错误。强烈建议在独立测试库中运行并开启 Git 快照。
---
## 核心插件
- **claudian**: Obsidian 第三方插件(暂未上架官方市场),适配 Claude Code。GitHub Repo: `YishenTu/claudian`
- **obsidian-agent-client**: 第三方插件暂未上架官方市场适配主流智能体Claude Code, Codex, Gemini CLI, OpenCode, Qwen Code。GitHub Repo: `RAIT-09/obsidian-agent-client`
### 1. 安装方式
#### 方案 A通过 BRAT 安装 (推荐)
这是保持插件自动更新的最佳方式,适合尚未上架市场的 Beta 插件。
1. **安装 BRAT**: 在 Obsidian 插件市场搜索并安装 BRAT。
2. **添加仓库**: 打开 设置 -> BRAT -> Add Beta plugin输入仓库地址YishenTu/claudian。
3. **启用**: 点击 Add Plugin 等待下载完成后,在“第三方插件”列表中开启 **Claudian**
#### 方案 B手动加载
若网络环境无法直接连接 GitHub 仓库,可采用此法。
1. **获取文件**: 访问 GitHub 仓库 Releases 页面,下载 main.js、manifest.json、styles.css。
2. **创建路径**: 进入仓库目录 .obsidian/plugins/,新建文件夹 claudian。
3. **放置文件**: 将下载的三个文件放入该文件夹。
4. **启用**: 重启 Obsidian 或在插件设置页刷新,手动开启。
### 2. 插件设置
#### claudian设置
1. 打开 claudian 设置页。
2. **基础设置**: 设置 `User Name` (如 Jason)。
3. **自定义AI模型**: 使用兼容Anthropic接口的模型如智谱GLM或DeepSeek来替换Claude模型。
```bash
ANTHROPIC_BASE_URL=https://open.bigmodel.cn/api/anthropic
ANTHROPIC_API_KEY=你的智谱api key
ANTHROPIC_DEFAULT_OPUS_MODEL=GLM-5
```
4. **连通性验证**:
- `Ctrl/Cmd + P` 调出命令面板 -> 输入 `claudian` -> 选择 `Open chat view`
- 发送“你好”,若回复正常则配置成功。
#### obsidian-agent-client设置
以 OpenCode为例
1. 打开 agent-client 设置页。在 Custom Agent 中,点击 `Add Custom Agent`按钮。设置 Agent ID 和 Display Name 为 OpenCode。
2. 在命令行中输入 `where opencode` 查看 OpenCode 安装路径把路径填入Path。
3. Arguments 填如下信息注意第三行是你的Obsidian Vault路径
```bash
acp
--cwd
D:\Obsidian Vault\MyObVault
```
4. **连通性验证**:
- 在Agent Client的AI对话框中发送“你好”若回复正常则配置成功。

View File

@@ -0,0 +1,244 @@
---
title: "我做了个 Skill让 AI 帮你生成 Logo 和图标"
source: "https://x.com/op7418/status/2044634498432962806"
author:
- "[[@op7418]]"
published: 2026-04-14
created: 2026-04-16
description: "前几天想给 CodePilot 设计个新 Logo就跟 Gemini 聊了聊,让它生成一些 SVG 格式的 Logo。结果出乎意料——生成的几个变体都很干净、规整几何感很强。我把这些 Logo 发到推特上,热度挺高。歸藏(guizang.ai)@op7418·4月14日Gem..."
tags:
- "clippings"
---
![[IMG-20260416190736025.jpg|图像]]
前几天想给 CodePilot 设计个新 Logo就跟 Gemini 聊了聊,让它生成一些 SVG 格式的 Logo。
结果出乎意料——生成的几个变体都很干净、规整,几何感很强。我把这些 Logo 发到推特上,热度挺高。
> 4月14日
>
> Gemini 真是做设计的一把好手,尤其是用 SVG 画 logo 只要给一些适当的引导就可以画的很好 给 Codepilot 的新 logo SVG 的部分也是他完成的,我自己在基础上精修
后来我又试着把这些 Logo 做成那种高级的展示图,配上专业的背景,效果很惊艳。
![[Image 1.jpg|图像]]
发出去以后,发现很多朋友都有类似的需求:
自己做了个小工具或开源项目,需要个图标或 Logo。
但让 AI 画图总是画不好——要么细节不对,要么文字必错,要么就是太随机。
找设计师吧,又觉得"不值得",毕竟只是个小项目。
最后只能用个丑陋的字母缩写,或者随便找个 icon 凑合。
其实大家的需求很简单:不需要多独特,只要干净、规整、稍微好看点就行。
所以我就想,能不能把这个流程做成一个 Skill让每个人都能快速生成"够用的好 Logo"
## Skill 核心能力:三步生成 Logo 和高级展示图
**推荐在 Gemini CLI 或者其他用 Gemini 驱动的 Agent 里面用**Gemini 的 SVG 生成能力还是很强的。
当然,你在 Claude Code 里也可以。
这个 Logo Generator Skill 的核心逻辑就三步。
第一步:信息收集
Skill 会问你几个简单的问题:
- 产品名称是什么?
- 属于什么行业或类别?(比如 AI、金融科技、设计工具
- 核心概念是什么?(比如连接、流动、安全、简洁)
- 有什么设计偏好?(比如极简/复杂、冷色/暖色、专业/友好)
![[IMG-20260416190406665.jpg|图像]]
当然你也可以直接把你的项目介绍发给 AI。
好的设计来自理解,而不是随机生成。
第二步:生成 6+ 设计变体
基于你提供的信息Skill 会自动匹配设计模式库,生成至少 6 个不同风格的 SVG Logo。
**比如这里我把 Pi 这个开源项目的介绍发给他,他就给了六个选项:**
1. 核心 Pi希腊字母 π 的现代抽象化设计,由三条核心笔画构成。
2. 二进制指令:利用圆角矩形点阵表现扩展系统的模块化特性。
3. 流动智能:粗细不一的平行线代表代码和数据在终端中的持续流动。
4. 系统原点:几何六边形核心代表引擎高效、结构化的基础。
5. 语法壳:使用粗体括号将“支架”表现为一种保护壳。下划线光标代表工具的 CLI 属性。
6. 胶囊支架:对项目中支架概念的进阶诠释。
![[IMG-20260416190406695.jpg|图像]]
每个变体都会生成一个交互式网页,你可以在浏览器里对比查看,选择最喜欢的。
由于 AI 的特性,生成的作品一定会有好的也有差的。
如果你觉得这 6 个里边有哪个不喜欢,或者觉得比较丑,你可以跟它说“换一个”。
它就会找其他可以套用的设计模式帮你替换。
你要是有具体的指导意见也可以提供给它,它也会帮你修改。
第三步:高级展示图
选好 Logo 之后Skill 会帮你生成专业的展示图。这一步提供两种方案:
方案 1Nano Banana 图片生成12 种专业背景)
用 Nano BananaGemini 的图片生成能力)生成高质量的静态展示图,提供 12 种专业背景风格:
暗色系6 种):
- The Void绝对虚空纯黑 + 银色微噪点,硬核科技感
- Frosted Horizon磨砂穹顶钛灰色 + 有机纹理,高端产品感
- Fluid Abyss流体深渊深紫/深蓝 + 流体融合AI 原生感
- Studio Spotlight物理影棚碳灰色 + 编辑级打光,杂志质感
- Analog Liquid物理流体纯色底橙/蓝/绿)+ 金属光泽,创意品牌感
- LED Matrix数字硬件发光点阵 + 数字复古,赛博朋克感
亮色系6 种):
- Editorial Paper纸本编辑米白色 + 纸张纹理,人文品牌感
- Iridescent Frost幻彩透砂银灰色 + 全息暗示,科技硬件感
- Morning Aura晨雾光域暖象牙色 + 柔和色彩,亲和 AI 感
- Clinical Studio无菌影棚纯白 + 几何阴影,算法驱动感
- UI Container容器化界面磨砂玻璃容器SaaS 平台感
- Swiss Flat瑞士扁平绝对扁平 + 纯色块,永恒权威感
![[IMG-20260416190406745.jpg|图像]]
每种风格都有特定的视觉特征和适用场景。
比如做 AI 产品,可以选 Fluid Abyss 或 Morning Aura
做硬件产品,可以选 Iridescent Frost 或 LED Matrix。
方案 2WebGL 动态背景6 种交互式背景)
用 WebGL Shader 生成的动态背景,可以随意缩放、支持鼠标交互,非常适合放在官网首页或产品页:
6 种动态风格:
- LED MatrixLED 矩阵90×90 高密度 LED 网格 + 流动波浪动画,自适应主题色
- Fluid Warping流体扭曲域扭曲 + 分形布朗运动FBM3 色渐变混合 + 鼠标交互
- Fabric Wave织物波浪丝绸般起伏 + 交叉波纹,深灰底色 + 微光闪烁
- Off-Center Ripple角落涟漪双涟漪从对角发散 + 指数衰减,中灰底色
- Holographic Dispersion全息色散虹彩流体 + RGB 色差,深钛灰底 + 棱镜般色彩分离
- Spiral Vortex螺旋漩涡旋转螺旋 + 角动量,浅灰底色 + 色带
![[IMG-20260416190406778.jpg|图像]]
WebGL 背景的优势:
- 动态交互:鼠标移动时背景会实时响应,涟漪、扭曲、流动效果
- 无限缩放:基于代码生成,放大缩小都不失真
- 性能优化60 FPS 流畅运行,自动适配设备像素比
- 直接可用:生成的是 HTML 代码,可以直接嵌入网页
你可以把这些放在官网首页PPT 或动态背景都可以用。
同一个 Logo在不同背景下的感觉完全不同。
静态图片适合社交媒体、文档、海报;
动态背景适合网页、演示、交互场景。
**最终交付物:**完成这三步之后,你会得到一个完整的设计资产包:
- SVG 文件:可编辑的矢量格式
- PNG 导出多种尺寸1024x1024、2048x2048 等)
- 展示图4 种专业背景风格
- 交互式网页:可以随时查看和对比所有变体
## 为什么不直接让 AI 画 Logo
大家看到了我是先让 Gemini 生成 SVG ,再生成展示图"。
而不是直接让 Nano Banana 一步到位生成 Logo 图片。
简单聊一下为什么这么做。
**图片模型生成 Logo 的局限性**
1. 控制精度差:你想要一个圆角半径 8px 的圆角矩形AI 画图很难精准控制这些参数。
2. 无法编辑:生成的是位图,想调整颜色、改个形状、调整间距?只能重新生成,碰运气。
3. 不是矢量:放大就糊,做不了响应式设计,也没法用在不同尺寸的场景。
**SVG 有非常多的优势。**
SVG 是代码,可以直接复制到 Figma 这些专业设计软件里,进行精细化调整。
可以做成设计体系,可以做动效,可以变成 loading 动画。
可以用在不同场景网站、App、文档
矢量无损,放大缩小都不失真,适配各种分辨率。
![[IMG-20260416190406807.jpg|图像]]
比如这里,我用 Gemini 生成的 CodePilot Logo SVG导入 Figma 后:
加了渐变色(从单色变成渐变)、加了内阴影和外发光、调整了点阵数量和大小
![[IMG-20260416190406837.png|图像]]
最终的 Logo 比原始 SVG 精致很多,但基础几何结构是 AI 生成的。
这就是"AI 生成基础,人工精修细节"的工作流。
所以这个 Skill 的设计思路是:用 AI 生成可编辑的 SVG 基础,再用 AI 生成高级的展示图。
两步结合,既保证了可控性,又有专业的视觉效果。
## 使用场景拓展:不只是 Logo
这个 Skill 的使用场景其实挺广的:
快速生成 Vibecoding 项目图标,不需要独特性,但要专业、干净。
**创业团队早期品牌**预算有限,但需要视觉资产。
可以先用 Skill 生成,后期再找设计师优化。
**设计师的辅助工具**
快速生成多个方案给客户选择,或者作为灵感来源。
12 种背景风格不只能用来展示 Logo还可以
- 用在网页设计的背景
- 截图做 PPT 背景
- 展示其他产品截图(比如 App 界面、网站首页)
## 开源 + 安装方式
这个 Skill 是完全开源的。
**GitHub 地址:**[https://github.com/op7418/logo-generator-skill](https://github.com/op7418/logo-generator-skill)
**安装方式:**
```text
告诉你的 AI 助手:
"安装 logo-generator skill地址是 https://github.com/op7418/logo-generator-skill"
```
## 结尾
这个 Skill 的价值,是降低设计门槛,让每个开发者都能快速获得"够用的好 Logo"。
它不是要替代专业设计师。
设计师做的是"独特性"和"品牌故事",而 Skill 做的是"快速可用"。
就像 Canva 没有替代设计师,而是让更多人能做出"够用的海报"一样。
工具应该是开放的,让更多人能用上 AI 的设计能力。
**欢迎试用、反馈和贡献,觉得有帮助可以帮我点个赞,或者转发给需要的朋友。**