Update nexus: fix conflicts and sync local changes
This commit is contained in:
@@ -1,285 +1,285 @@
|
||||
---
|
||||
title: 输出:/opt/homebrew/bin/gog
|
||||
source:
|
||||
author: shenwei
|
||||
published:
|
||||
created:
|
||||
description:
|
||||
tags: [gog, gog-cli, macos]
|
||||
---
|
||||
|
||||
#gog #gog-cli #macos
|
||||
|
||||
本文档记录在 macOS 系统上安装和配置 gog CLI 的完整步骤,以便通过命令行管理 Google Workspace(Gmail、Google Calendar、Google Drive、Google Contacts、Google Docs、Google Sheets)。
|
||||
|
||||
## 目录
|
||||
```table-of-contents
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 前置条件
|
||||
|
||||
- macOS 系统
|
||||
- Homebrew 已安装
|
||||
- Google 账号
|
||||
|
||||
---
|
||||
|
||||
## 安装步骤
|
||||
|
||||
### 1. 安装 gog CLI
|
||||
|
||||
使用 Homebrew 安装 gog CLI:
|
||||
|
||||
```bash
|
||||
brew install steipete/tap/gogcli
|
||||
```
|
||||
|
||||
验证安装:
|
||||
|
||||
```bash
|
||||
which gog
|
||||
# 输出: /opt/homebrew/bin/gog
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 配置 OAuth 凭证
|
||||
|
||||
### 1. 在 Google Cloud Console 创建 OAuth 凭证
|
||||
|
||||
1. 打开 [Google Cloud Console - Credentials](https://console.cloud.google.com/apis/credentials)
|
||||
2. 点击 **「创建凭证」** → 选择 **「OAuth 客户端 ID」**
|
||||
3. 应用类型选择 **「桌面应用」**
|
||||
4. 命名(例如:`gogcli`)
|
||||
5. 点击 **「创建」**
|
||||
6. 点击 **「下载 JSON」**,得到 `credentials.json` 文件
|
||||
|
||||
### 2. 移动凭证文件到 gogcli 配置目录
|
||||
|
||||
- 创建 gogcli 配置目录(如果不存在):
|
||||
|
||||
```bash
|
||||
mkdir -p "/Users/weishen/Library/Application Support/gogcli"
|
||||
```
|
||||
|
||||
- 移动下载的凭证文件:
|
||||
|
||||
```bash
|
||||
mv ~/Downloads/credentials.json "/Users/weishen/Library/Application Support/gogcli/credentials.json"
|
||||
```
|
||||
|
||||
- 使用命令指定凭证路径:
|
||||
```bash
|
||||
gog auth credentials /Users/weishen/Library/Application\ Support/gogcli/credentials.json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 解除 Google 安全限制
|
||||
|
||||
### 问题描述
|
||||
|
||||
首次授权时,Google 会显示以下错误:
|
||||
|
||||
> 此应用未经 Google 验证
|
||||
> 此应用请求访问您 Google 账号中的敏感信息。在开发者让该应用通过 Google 验证之前,请勿使用该应用。
|
||||
|
||||
### 解决方法:添加测试用户
|
||||
|
||||
1. 打开 [Google Cloud Console - Credentials](https://console.cloud.google.com/apis/credentials)
|
||||
2. 找到你创建的 OAuth 客户端ID的项目,点击进入详情
|
||||
3. 找到 **「目标对象」**
|
||||
4. 找到 **「测试用户」** 部分
|
||||
5. 点击 **「添加用户」**
|
||||
6. 输入你的 Google 邮箱:`ishenwei@gmail.com`
|
||||
7. 保存
|
||||
|
||||
添加测试用户后,重新运行授权命令即可:
|
||||
|
||||
```bash
|
||||
gog auth add ishenwei@gmail.com --services gmail,calendar,drive,contacts,docs,sheets
|
||||
```
|
||||
|
||||
这会打开浏览器让你登录 Google 账号并授权。
|
||||
|
||||
---
|
||||
|
||||
## 启用Google API 服务(以 Gmail API 为例)
|
||||
|
||||
### 1. 核心原理
|
||||
|
||||
Google API 调用需要满足两层条件:
|
||||
|
||||
| 层级 | 控制内容 |
|
||||
| -------------- | ---------- |
|
||||
| OAuth | 用户身份 |
|
||||
| API Enablement | 是否允许调用 API |
|
||||
👉 即使 OAuth 成功,如果 API 未启用:
|
||||
|
||||
也会报错:
|
||||
403 accessNotConfigured
|
||||
|
||||
### 2. 典型错误示例
|
||||
|
||||
Gmail API has not been used in project XXX
|
||||
|
||||
👉 表示:
|
||||
|
||||
该 Project 未启用 Gmail API
|
||||
|
||||
### 3. 操作步骤
|
||||
|
||||
#### Step 1:进入 API 页面
|
||||
|
||||
Google Cloud Console
|
||||
→ APIs & Services
|
||||
→ Library
|
||||
#### Step 2:搜索 API
|
||||
|
||||
例如:
|
||||
Gmail API
|
||||
#### Step 3:启用
|
||||
|
||||
Enable
|
||||
#### Step 4:等待生效
|
||||
|
||||
30 秒 ~ 2 分钟(有延迟)
|
||||
#### Step 5:重新授权(关键)
|
||||
|
||||
gog auth revoke
|
||||
gog auth login
|
||||
|
||||
👉 原因:
|
||||
旧 token 不包含新权限
|
||||
|
||||
---
|
||||
## 验证配置
|
||||
|
||||
### 1. 查看已授权的账号
|
||||
|
||||
```bash
|
||||
gog auth list
|
||||
```
|
||||
|
||||
- 正确结果
|
||||
```
|
||||
weishen@WeideMac-mini ~ % gog auth list
|
||||
ishenwei@gmail.com default calendar,contacts,docs,drive,gmail,sheets 2026-03-24T01:29:14Z oauth
|
||||
```
|
||||
|
||||
### 2. 测试 Gmail
|
||||
|
||||
```bash
|
||||
gog gmail search "newer_than:1d" --max 5
|
||||
```
|
||||
|
||||
- 正确结果:
|
||||
```
|
||||
weishen@WeideMac-mini ~ % gog auth list
|
||||
ishenwei@gmail.com default calendar,contacts,docs,drive,gmail,sheets 2026-03-24T01:29:14Z oauth
|
||||
```
|
||||
|
||||
### 3. 测试 Calendar
|
||||
|
||||
```bash
|
||||
gog calendar events primary --from 2026-01-01 --to 2026-12-31
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 常用命令
|
||||
|
||||
### Gmail
|
||||
|
||||
| 功能 | 命令 |
|
||||
|------|------|
|
||||
| 搜索邮件 | `gog gmail search 'newer_than:7d' --max 10` |
|
||||
| 发送邮件 | `gog gmail send --to a@b.com --subject "Hi" --body "Hello"` |
|
||||
| 发送邮件(多行) | `gog gmail send --to a@b.com --subject "Hi" --body-file ./message.txt` |
|
||||
| 创建草稿 | `gog gmail drafts create --to a@b.com --subject "Hi" --body-file ./message.txt` |
|
||||
| 发送草稿 | `gog gmail drafts send <draftId>` |
|
||||
|
||||
### Calendar
|
||||
|
||||
| 功能 | 命令 |
|
||||
|------|------|
|
||||
| 查看事件 | `gog calendar events <calendarId> --from <iso> --to <iso>` |
|
||||
| 创建事件 | `gog calendar create <calendarId> --summary "Title" --from <iso> --to <iso>` |
|
||||
| 查看颜色 | `gog calendar colors` |
|
||||
|
||||
### Drive
|
||||
|
||||
| 功能 | 命令 |
|
||||
|------|------|
|
||||
| 搜索文件 | `gog drive search "query" --max 10` |
|
||||
|
||||
### Contacts
|
||||
|
||||
| 功能 | 命令 |
|
||||
|------|------|
|
||||
| 列出联系人 | `gog contacts list --max 20` |
|
||||
|
||||
### Sheets
|
||||
|
||||
| 功能 | 命令 |
|
||||
|------|------|
|
||||
| 获取数据 | `gog sheets get <sheetId> "Tab!A1:D10" --json` |
|
||||
| 更新数据 | `gog sheets update <sheetId> "Tab!A1:B2" --values-json '[["A","B"],["1","2"]]' --input USER_ENTERED` |
|
||||
|
||||
### Docs
|
||||
|
||||
| 功能 | 命令 |
|
||||
|------|------|
|
||||
| 导出文档 | `gog docs export <docId> --format txt --out /tmp/doc.txt` |
|
||||
| 查看内容 | `gog docs cat <docId>` |
|
||||
|
||||
---
|
||||
|
||||
## 故障排除
|
||||
|
||||
### 凭证文件路径错误
|
||||
|
||||
确保凭证文件在以下位置:
|
||||
```
|
||||
/Users/weishen/Library/Application Support/gogcli/credentials.json
|
||||
```
|
||||
|
||||
### 需要重新授权
|
||||
|
||||
删除现有授权并重新授权:
|
||||
|
||||
```bash
|
||||
gog auth remove ishenwei@gmail.com
|
||||
gog auth add ishenwei@gmail.com --services gmail,calendar,drive,contacts,docs,sheets
|
||||
```
|
||||
|
||||
### 设置默认账号
|
||||
|
||||
避免每次重复指定账号:
|
||||
```
|
||||
cd ~
|
||||
nano .zshrc
|
||||
```
|
||||
在.zshrc中添加以下设定
|
||||
```bash
|
||||
export GOG_ACCOUNT=ishenwei@gmail.com
|
||||
```
|
||||
保存生效
|
||||
```
|
||||
source ~/.zshrc
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 参考链接
|
||||
|
||||
- gog 官网: https://gogcli.sh
|
||||
- gog GitHub: https://github.com/steipete/gogcli
|
||||
- Google Cloud Console: https://console.cloud.google.com/
|
||||
|
||||
---
|
||||
|
||||
*文档创建日期: 2026-03-15*
|
||||
*最后更新: 2026-03-15*
|
||||
---
|
||||
title: 输出:/opt/homebrew/bin/gog
|
||||
source:
|
||||
author: shenwei
|
||||
published:
|
||||
created:
|
||||
description:
|
||||
tags: [gog, gog-cli, macos]
|
||||
---
|
||||
|
||||
#gog #gog-cli #macos
|
||||
|
||||
本文档记录在 macOS 系统上安装和配置 gog CLI 的完整步骤,以便通过命令行管理 Google Workspace(Gmail、Google Calendar、Google Drive、Google Contacts、Google Docs、Google Sheets)。
|
||||
|
||||
## 目录
|
||||
```table-of-contents
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 前置条件
|
||||
|
||||
- macOS 系统
|
||||
- Homebrew 已安装
|
||||
- Google 账号
|
||||
|
||||
---
|
||||
|
||||
## 安装步骤
|
||||
|
||||
### 1. 安装 gog CLI
|
||||
|
||||
使用 Homebrew 安装 gog CLI:
|
||||
|
||||
```bash
|
||||
brew install steipete/tap/gogcli
|
||||
```
|
||||
|
||||
验证安装:
|
||||
|
||||
```bash
|
||||
which gog
|
||||
# 输出: /opt/homebrew/bin/gog
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 配置 OAuth 凭证
|
||||
|
||||
### 1. 在 Google Cloud Console 创建 OAuth 凭证
|
||||
|
||||
1. 打开 [Google Cloud Console - Credentials](https://console.cloud.google.com/apis/credentials)
|
||||
2. 点击 **「创建凭证」** → 选择 **「OAuth 客户端 ID」**
|
||||
3. 应用类型选择 **「桌面应用」**
|
||||
4. 命名(例如:`gogcli`)
|
||||
5. 点击 **「创建」**
|
||||
6. 点击 **「下载 JSON」**,得到 `credentials.json` 文件
|
||||
|
||||
### 2. 移动凭证文件到 gogcli 配置目录
|
||||
|
||||
- 创建 gogcli 配置目录(如果不存在):
|
||||
|
||||
```bash
|
||||
mkdir -p "/Users/weishen/Library/Application Support/gogcli"
|
||||
```
|
||||
|
||||
- 移动下载的凭证文件:
|
||||
|
||||
```bash
|
||||
mv ~/Downloads/credentials.json "/Users/weishen/Library/Application Support/gogcli/credentials.json"
|
||||
```
|
||||
|
||||
- 使用命令指定凭证路径:
|
||||
```bash
|
||||
gog auth credentials /Users/weishen/Library/Application\ Support/gogcli/credentials.json
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 解除 Google 安全限制
|
||||
|
||||
### 问题描述
|
||||
|
||||
首次授权时,Google 会显示以下错误:
|
||||
|
||||
> 此应用未经 Google 验证
|
||||
> 此应用请求访问您 Google 账号中的敏感信息。在开发者让该应用通过 Google 验证之前,请勿使用该应用。
|
||||
|
||||
### 解决方法:添加测试用户
|
||||
|
||||
1. 打开 [Google Cloud Console - Credentials](https://console.cloud.google.com/apis/credentials)
|
||||
2. 找到你创建的 OAuth 客户端ID的项目,点击进入详情
|
||||
3. 找到 **「目标对象」**
|
||||
4. 找到 **「测试用户」** 部分
|
||||
5. 点击 **「添加用户」**
|
||||
6. 输入你的 Google 邮箱:`ishenwei@gmail.com`
|
||||
7. 保存
|
||||
|
||||
添加测试用户后,重新运行授权命令即可:
|
||||
|
||||
```bash
|
||||
gog auth add ishenwei@gmail.com --services gmail,calendar,drive,contacts,docs,sheets
|
||||
```
|
||||
|
||||
这会打开浏览器让你登录 Google 账号并授权。
|
||||
|
||||
---
|
||||
|
||||
## 启用Google API 服务(以 Gmail API 为例)
|
||||
|
||||
### 1. 核心原理
|
||||
|
||||
Google API 调用需要满足两层条件:
|
||||
|
||||
| 层级 | 控制内容 |
|
||||
| -------------- | ---------- |
|
||||
| OAuth | 用户身份 |
|
||||
| API Enablement | 是否允许调用 API |
|
||||
👉 即使 OAuth 成功,如果 API 未启用:
|
||||
|
||||
也会报错:
|
||||
403 accessNotConfigured
|
||||
|
||||
### 2. 典型错误示例
|
||||
|
||||
Gmail API has not been used in project XXX
|
||||
|
||||
👉 表示:
|
||||
|
||||
该 Project 未启用 Gmail API
|
||||
|
||||
### 3. 操作步骤
|
||||
|
||||
#### Step 1:进入 API 页面
|
||||
|
||||
Google Cloud Console
|
||||
→ APIs & Services
|
||||
→ Library
|
||||
#### Step 2:搜索 API
|
||||
|
||||
例如:
|
||||
Gmail API
|
||||
#### Step 3:启用
|
||||
|
||||
Enable
|
||||
#### Step 4:等待生效
|
||||
|
||||
30 秒 ~ 2 分钟(有延迟)
|
||||
#### Step 5:重新授权(关键)
|
||||
|
||||
gog auth revoke
|
||||
gog auth login
|
||||
|
||||
👉 原因:
|
||||
旧 token 不包含新权限
|
||||
|
||||
---
|
||||
## 验证配置
|
||||
|
||||
### 1. 查看已授权的账号
|
||||
|
||||
```bash
|
||||
gog auth list
|
||||
```
|
||||
|
||||
- 正确结果
|
||||
```
|
||||
weishen@WeideMac-mini ~ % gog auth list
|
||||
ishenwei@gmail.com default calendar,contacts,docs,drive,gmail,sheets 2026-03-24T01:29:14Z oauth
|
||||
```
|
||||
|
||||
### 2. 测试 Gmail
|
||||
|
||||
```bash
|
||||
gog gmail search "newer_than:1d" --max 5
|
||||
```
|
||||
|
||||
- 正确结果:
|
||||
```
|
||||
weishen@WeideMac-mini ~ % gog auth list
|
||||
ishenwei@gmail.com default calendar,contacts,docs,drive,gmail,sheets 2026-03-24T01:29:14Z oauth
|
||||
```
|
||||
|
||||
### 3. 测试 Calendar
|
||||
|
||||
```bash
|
||||
gog calendar events primary --from 2026-01-01 --to 2026-12-31
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 常用命令
|
||||
|
||||
### Gmail
|
||||
|
||||
| 功能 | 命令 |
|
||||
|------|------|
|
||||
| 搜索邮件 | `gog gmail search 'newer_than:7d' --max 10` |
|
||||
| 发送邮件 | `gog gmail send --to a@b.com --subject "Hi" --body "Hello"` |
|
||||
| 发送邮件(多行) | `gog gmail send --to a@b.com --subject "Hi" --body-file ./message.txt` |
|
||||
| 创建草稿 | `gog gmail drafts create --to a@b.com --subject "Hi" --body-file ./message.txt` |
|
||||
| 发送草稿 | `gog gmail drafts send <draftId>` |
|
||||
|
||||
### Calendar
|
||||
|
||||
| 功能 | 命令 |
|
||||
|------|------|
|
||||
| 查看事件 | `gog calendar events <calendarId> --from <iso> --to <iso>` |
|
||||
| 创建事件 | `gog calendar create <calendarId> --summary "Title" --from <iso> --to <iso>` |
|
||||
| 查看颜色 | `gog calendar colors` |
|
||||
|
||||
### Drive
|
||||
|
||||
| 功能 | 命令 |
|
||||
|------|------|
|
||||
| 搜索文件 | `gog drive search "query" --max 10` |
|
||||
|
||||
### Contacts
|
||||
|
||||
| 功能 | 命令 |
|
||||
|------|------|
|
||||
| 列出联系人 | `gog contacts list --max 20` |
|
||||
|
||||
### Sheets
|
||||
|
||||
| 功能 | 命令 |
|
||||
|------|------|
|
||||
| 获取数据 | `gog sheets get <sheetId> "Tab!A1:D10" --json` |
|
||||
| 更新数据 | `gog sheets update <sheetId> "Tab!A1:B2" --values-json '[["A","B"],["1","2"]]' --input USER_ENTERED` |
|
||||
|
||||
### Docs
|
||||
|
||||
| 功能 | 命令 |
|
||||
|------|------|
|
||||
| 导出文档 | `gog docs export <docId> --format txt --out /tmp/doc.txt` |
|
||||
| 查看内容 | `gog docs cat <docId>` |
|
||||
|
||||
---
|
||||
|
||||
## 故障排除
|
||||
|
||||
### 凭证文件路径错误
|
||||
|
||||
确保凭证文件在以下位置:
|
||||
```
|
||||
/Users/weishen/Library/Application Support/gogcli/credentials.json
|
||||
```
|
||||
|
||||
### 需要重新授权
|
||||
|
||||
删除现有授权并重新授权:
|
||||
|
||||
```bash
|
||||
gog auth remove ishenwei@gmail.com
|
||||
gog auth add ishenwei@gmail.com --services gmail,calendar,drive,contacts,docs,sheets
|
||||
```
|
||||
|
||||
### 设置默认账号
|
||||
|
||||
避免每次重复指定账号:
|
||||
```
|
||||
cd ~
|
||||
nano .zshrc
|
||||
```
|
||||
在.zshrc中添加以下设定
|
||||
```bash
|
||||
export GOG_ACCOUNT=ishenwei@gmail.com
|
||||
```
|
||||
保存生效
|
||||
```
|
||||
source ~/.zshrc
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 参考链接
|
||||
|
||||
- gog 官网: https://gogcli.sh
|
||||
- gog GitHub: https://github.com/steipete/gogcli
|
||||
- Google Cloud Console: https://console.cloud.google.com/
|
||||
|
||||
---
|
||||
|
||||
*文档创建日期: 2026-03-15*
|
||||
*最后更新: 2026-03-15*
|
||||
|
||||
@@ -1,207 +1,207 @@
|
||||
---
|
||||
title: Last30Days 使用指南
|
||||
source:
|
||||
author: shenwei
|
||||
published:
|
||||
created:
|
||||
description:
|
||||
tags: [hackernews, instagram, last30days, polymarket, scrapecreator, tiktok, x, youtube]
|
||||
---
|
||||
#last30days #youtube #tiktok #x #instagram #hackernews #polymarket #scrapecreator
|
||||
|
||||
## 概述
|
||||
|
||||
`/last30days` 研究过去 30 天内在 Reddit、X、YouTube、TikTok、Instagram、Hacker News、Polymarket 和网页上的热门内容,生成研究报告。
|
||||
|
||||
**特点**: 深度研究需要 2-8 分钟,支持 8 个数据来源,结果自动保存到 `~/Documents/Last30Days/`
|
||||
|
||||
---
|
||||
|
||||
## 调用方式
|
||||
|
||||
```bash
|
||||
python3 ~/.openclaw/skills/last30days-official/scripts/last30days.py "<话题>" --emit=compact --no-native-web --save-dir=~/Documents/Last30Days
|
||||
```
|
||||
|
||||
### 示例
|
||||
```bash
|
||||
# 基本搜索
|
||||
python3 ~/.openclaw/skills/last30days-official/scripts/last30days.py "AI一人公司"
|
||||
|
||||
# 指定 X 账号搜索
|
||||
python3 ~/.openclaw/skills/last30days-official/scripts/last30days.py "OpenClaw" --x-handle=openclawai
|
||||
|
||||
# 对比模式
|
||||
python3 ~/.openclaw/skills/last30days-official/scripts/last30days.py "cursor vs windsurf"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 参数说明
|
||||
|
||||
| 参数 | 说明 | 示例 |
|
||||
| `--days=N` | 回溯 N 天(默认30天) | `--days=7` |
|
||||
| `--quick` | 快速模式(8-12条/来源) | |
|
||||
| `--deep` | 深度模式(50-70条Reddit,40-60条X) | |
|
||||
| `--x-handle=HANDLE` | 指定 X 账号搜索(不含@) | `--x-handle=elonmusk` |
|
||||
| `--emit=compact` | 紧凑输出 | |
|
||||
| `--no-native-web` | 不使用内置 web 搜索 | |
|
||||
| `--save-dir=PATH` | 保存目录 | `--save-dir=~/Documents/Last30Days` |
|
||||
|
||||
---
|
||||
|
||||
## 数据来源
|
||||
|
||||
| 来源 | 权重 | 说明 |
|
||||
|------|------|------|
|
||||
| Reddit | 高 | 有 upvotes、comments 互动数据 |
|
||||
| X (Twitter) | 高 | 有 likes、retweets 互动数据 |
|
||||
| YouTube | 高 | 有观看数、likes 和字幕 |
|
||||
| TikTok | 中 | 有观看数、likes 和标题 |
|
||||
| Instagram | 中 | 有观看数、likes 和标题 |
|
||||
| Hacker News | 中 | 有 points、comments |
|
||||
| Polymarket | 高 | 真实钱币投注,数据真实可信 |
|
||||
| Web | 低 | 无互动数据,补充博客/新闻 |
|
||||
|
||||
**权重说明**: Reddit/X > YouTube > TikTok > Polymarket > Web
|
||||
|
||||
---
|
||||
|
||||
## 输出格式
|
||||
|
||||
### 1. What I Learned(研究发现)
|
||||
- 基于 QUERY_TYPE 类型的摘要
|
||||
- 引用真实来源(@handle、r/subreddit)
|
||||
- 3-5 个关键模式
|
||||
|
||||
### 2. Key Patterns(关键模式)
|
||||
- 按权重排序的模式列表
|
||||
- 每个模式注明来源
|
||||
|
||||
### 3. Stats(统计数据)
|
||||
```
|
||||
├─ 🟠 Reddit: N threads │ N upvotes │ N comments
|
||||
├─ 🔵 X: N posts │ N likes │ N reposts
|
||||
├─ 🔴 YouTube: N videos │ N views │ N with transcripts
|
||||
├─ 🎵 TikTok: N videos │ N views │ N likes
|
||||
├─ 📸 Instagram: N reels │ N views │ N likes
|
||||
├─ 🟡 HN: N stories │ N points │ N comments
|
||||
├─ 📊 Polymarket: N markets │ 相关赔率
|
||||
├─ 🌐 Web: N pages — Source Name, Source Name
|
||||
└─ 🗣️ Top voices: @handle1, @handle2
|
||||
```
|
||||
|
||||
### 4. Invitation(推荐下一步)
|
||||
根据 QUERY_TYPE 类型推荐后续操作
|
||||
|
||||
---
|
||||
|
||||
## API Keys 配置
|
||||
|
||||
在 `~/.openclaw/.env` 中配置:
|
||||
|
||||
```bash
|
||||
# 必填
|
||||
SCRAPECREATORS_API_KEY=... # Reddit + TikTok + Instagram(一个 key 覆盖三个)
|
||||
|
||||
# X/Twitter 搜索(2选1)
|
||||
AUTH_TOKEN=... # 方案1: 从浏览器 cookie 复制
|
||||
CT0=... # 方案1: 从浏览器 cookie 复制
|
||||
XAI_API_KEY=xai-... # 方案2: XAI API Key
|
||||
|
||||
# Web 搜索(可选)
|
||||
OPENROUTER_API_KEY=... # OpenRouter/Perplexity
|
||||
TAVILY_API_KEY=... # Brave Search
|
||||
PARALLEL_API_KEY=... # Parallel AI
|
||||
|
||||
# Bluesky(可选)
|
||||
BSKY_HANDLE=you.bsky.social
|
||||
BSKY_APP_PASSWORD=xxxx-xxxx-xxxx
|
||||
```
|
||||
|
||||
### 当前已配置
|
||||
- ✅ SCRAPECREATORS_API_KEY
|
||||
- ✅ XAI_API_KEY
|
||||
- ✅ OPENROUTER_API_KEY
|
||||
- ✅ TAVILY_API_KEY
|
||||
|
||||
---
|
||||
|
||||
## 新功能 (v2.9.5)
|
||||
|
||||
### Bluesky 支持
|
||||
- 需要 BSKY_HANDLE + BSKY_APP_PASSWORD
|
||||
- 创建 app password: bsky.app/settings/app-passwords
|
||||
|
||||
### Comparative Mode(对比模式)
|
||||
```bash
|
||||
"cursor vs windsurf" # 得到并排对比
|
||||
```
|
||||
|
||||
### Per-project .env
|
||||
在项目根目录创建 `.claude/last30days.env` 覆盖全局配置
|
||||
|
||||
### SessionStart config check
|
||||
Claude Code 启动时自动验证配置
|
||||
|
||||
---
|
||||
|
||||
## 最佳实践
|
||||
|
||||
### 1. 选择合适的深度
|
||||
| 场景 | 推荐 |
|
||||
|------|------|
|
||||
| 测试话题 | `--quick` |
|
||||
| 每周追踪 | `--days=7 --quick` |
|
||||
| 深度研究 | `--deep` |
|
||||
| 全面研究 | 默认 30 天 |
|
||||
|
||||
### 2. X 账号精确搜索
|
||||
如果搜索人物/品牌,加上 `--x-handle`:
|
||||
```bash
|
||||
--x-handle=openclawai # 搜索 OpenClaw 官方帖子
|
||||
```
|
||||
|
||||
### 3. 对比模式
|
||||
问 "X vs Y" 得到并排对比研究
|
||||
|
||||
### 4. Web 搜索补充
|
||||
根据类型自动补充:
|
||||
- RECOMMENDATIONS: `best {topic} recommendations`
|
||||
- NEWS: `{topic} news 2026`
|
||||
- PROMPTING: `{topic} prompts examples`
|
||||
- GENERAL: `{topic} 2026 discussion`
|
||||
|
||||
---
|
||||
|
||||
## 典型使用场景
|
||||
|
||||
| 场景 | 推荐用法 |
|
||||
|------|---------|
|
||||
| 每周行业动态 | `/last30days AI工具 --days=7 --quick` |
|
||||
| 竞品深度分析 | `/last30days competitor --deep --x-handle=竞品账号` |
|
||||
| 工具对比选型 | `/last30days toolA vs toolB` |
|
||||
| 人物热点追踪 | `/last30days person --x-handle=personHandle` |
|
||||
| 热点趋势发现 | `/last30days trending_topic` |
|
||||
|
||||
---
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 深度研究需要 2-8 分钟,耐心等待
|
||||
2. TikTok/Instagram 需要 ScrapeCreators API key(前 100 次免费)
|
||||
3. 建议先用 `--quick` 测试话题方向
|
||||
4. Reddit 评论往往比帖子更有价值,关注 top comments
|
||||
5. Polymarket 赔率是最高置信度的数据
|
||||
|
||||
---
|
||||
|
||||
## 相关资源
|
||||
|
||||
- GitHub: https://github.com/mvanhorn/last30days-skill
|
||||
- 技能目录: `~/.openclaw/skills/last30days-official/`
|
||||
- 研究保存: `~/Documents/Last30Days/`
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
title: Last30Days 使用指南
|
||||
source:
|
||||
author: shenwei
|
||||
published:
|
||||
created:
|
||||
description:
|
||||
tags: [hackernews, instagram, last30days, polymarket, scrapecreator, tiktok, x, youtube]
|
||||
---
|
||||
#last30days #youtube #tiktok #x #instagram #hackernews #polymarket #scrapecreator
|
||||
|
||||
## 概述
|
||||
|
||||
`/last30days` 研究过去 30 天内在 Reddit、X、YouTube、TikTok、Instagram、Hacker News、Polymarket 和网页上的热门内容,生成研究报告。
|
||||
|
||||
**特点**: 深度研究需要 2-8 分钟,支持 8 个数据来源,结果自动保存到 `~/Documents/Last30Days/`
|
||||
|
||||
---
|
||||
|
||||
## 调用方式
|
||||
|
||||
```bash
|
||||
python3 ~/.openclaw/skills/last30days-official/scripts/last30days.py "<话题>" --emit=compact --no-native-web --save-dir=~/Documents/Last30Days
|
||||
```
|
||||
|
||||
### 示例
|
||||
```bash
|
||||
# 基本搜索
|
||||
python3 ~/.openclaw/skills/last30days-official/scripts/last30days.py "AI一人公司"
|
||||
|
||||
# 指定 X 账号搜索
|
||||
python3 ~/.openclaw/skills/last30days-official/scripts/last30days.py "OpenClaw" --x-handle=openclawai
|
||||
|
||||
# 对比模式
|
||||
python3 ~/.openclaw/skills/last30days-official/scripts/last30days.py "cursor vs windsurf"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 参数说明
|
||||
|
||||
| 参数 | 说明 | 示例 |
|
||||
| `--days=N` | 回溯 N 天(默认30天) | `--days=7` |
|
||||
| `--quick` | 快速模式(8-12条/来源) | |
|
||||
| `--deep` | 深度模式(50-70条Reddit,40-60条X) | |
|
||||
| `--x-handle=HANDLE` | 指定 X 账号搜索(不含@) | `--x-handle=elonmusk` |
|
||||
| `--emit=compact` | 紧凑输出 | |
|
||||
| `--no-native-web` | 不使用内置 web 搜索 | |
|
||||
| `--save-dir=PATH` | 保存目录 | `--save-dir=~/Documents/Last30Days` |
|
||||
|
||||
---
|
||||
|
||||
## 数据来源
|
||||
|
||||
| 来源 | 权重 | 说明 |
|
||||
|------|------|------|
|
||||
| Reddit | 高 | 有 upvotes、comments 互动数据 |
|
||||
| X (Twitter) | 高 | 有 likes、retweets 互动数据 |
|
||||
| YouTube | 高 | 有观看数、likes 和字幕 |
|
||||
| TikTok | 中 | 有观看数、likes 和标题 |
|
||||
| Instagram | 中 | 有观看数、likes 和标题 |
|
||||
| Hacker News | 中 | 有 points、comments |
|
||||
| Polymarket | 高 | 真实钱币投注,数据真实可信 |
|
||||
| Web | 低 | 无互动数据,补充博客/新闻 |
|
||||
|
||||
**权重说明**: Reddit/X > YouTube > TikTok > Polymarket > Web
|
||||
|
||||
---
|
||||
|
||||
## 输出格式
|
||||
|
||||
### 1. What I Learned(研究发现)
|
||||
- 基于 QUERY_TYPE 类型的摘要
|
||||
- 引用真实来源(@handle、r/subreddit)
|
||||
- 3-5 个关键模式
|
||||
|
||||
### 2. Key Patterns(关键模式)
|
||||
- 按权重排序的模式列表
|
||||
- 每个模式注明来源
|
||||
|
||||
### 3. Stats(统计数据)
|
||||
```
|
||||
├─ 🟠 Reddit: N threads │ N upvotes │ N comments
|
||||
├─ 🔵 X: N posts │ N likes │ N reposts
|
||||
├─ 🔴 YouTube: N videos │ N views │ N with transcripts
|
||||
├─ 🎵 TikTok: N videos │ N views │ N likes
|
||||
├─ 📸 Instagram: N reels │ N views │ N likes
|
||||
├─ 🟡 HN: N stories │ N points │ N comments
|
||||
├─ 📊 Polymarket: N markets │ 相关赔率
|
||||
├─ 🌐 Web: N pages — Source Name, Source Name
|
||||
└─ 🗣️ Top voices: @handle1, @handle2
|
||||
```
|
||||
|
||||
### 4. Invitation(推荐下一步)
|
||||
根据 QUERY_TYPE 类型推荐后续操作
|
||||
|
||||
---
|
||||
|
||||
## API Keys 配置
|
||||
|
||||
在 `~/.openclaw/.env` 中配置:
|
||||
|
||||
```bash
|
||||
# 必填
|
||||
SCRAPECREATORS_API_KEY=... # Reddit + TikTok + Instagram(一个 key 覆盖三个)
|
||||
|
||||
# X/Twitter 搜索(2选1)
|
||||
AUTH_TOKEN=... # 方案1: 从浏览器 cookie 复制
|
||||
CT0=... # 方案1: 从浏览器 cookie 复制
|
||||
XAI_API_KEY=xai-... # 方案2: XAI API Key
|
||||
|
||||
# Web 搜索(可选)
|
||||
OPENROUTER_API_KEY=... # OpenRouter/Perplexity
|
||||
TAVILY_API_KEY=... # Brave Search
|
||||
PARALLEL_API_KEY=... # Parallel AI
|
||||
|
||||
# Bluesky(可选)
|
||||
BSKY_HANDLE=you.bsky.social
|
||||
BSKY_APP_PASSWORD=xxxx-xxxx-xxxx
|
||||
```
|
||||
|
||||
### 当前已配置
|
||||
- ✅ SCRAPECREATORS_API_KEY
|
||||
- ✅ XAI_API_KEY
|
||||
- ✅ OPENROUTER_API_KEY
|
||||
- ✅ TAVILY_API_KEY
|
||||
|
||||
---
|
||||
|
||||
## 新功能 (v2.9.5)
|
||||
|
||||
### Bluesky 支持
|
||||
- 需要 BSKY_HANDLE + BSKY_APP_PASSWORD
|
||||
- 创建 app password: bsky.app/settings/app-passwords
|
||||
|
||||
### Comparative Mode(对比模式)
|
||||
```bash
|
||||
"cursor vs windsurf" # 得到并排对比
|
||||
```
|
||||
|
||||
### Per-project .env
|
||||
在项目根目录创建 `.claude/last30days.env` 覆盖全局配置
|
||||
|
||||
### SessionStart config check
|
||||
Claude Code 启动时自动验证配置
|
||||
|
||||
---
|
||||
|
||||
## 最佳实践
|
||||
|
||||
### 1. 选择合适的深度
|
||||
| 场景 | 推荐 |
|
||||
|------|------|
|
||||
| 测试话题 | `--quick` |
|
||||
| 每周追踪 | `--days=7 --quick` |
|
||||
| 深度研究 | `--deep` |
|
||||
| 全面研究 | 默认 30 天 |
|
||||
|
||||
### 2. X 账号精确搜索
|
||||
如果搜索人物/品牌,加上 `--x-handle`:
|
||||
```bash
|
||||
--x-handle=openclawai # 搜索 OpenClaw 官方帖子
|
||||
```
|
||||
|
||||
### 3. 对比模式
|
||||
问 "X vs Y" 得到并排对比研究
|
||||
|
||||
### 4. Web 搜索补充
|
||||
根据类型自动补充:
|
||||
- RECOMMENDATIONS: `best {topic} recommendations`
|
||||
- NEWS: `{topic} news 2026`
|
||||
- PROMPTING: `{topic} prompts examples`
|
||||
- GENERAL: `{topic} 2026 discussion`
|
||||
|
||||
---
|
||||
|
||||
## 典型使用场景
|
||||
|
||||
| 场景 | 推荐用法 |
|
||||
|------|---------|
|
||||
| 每周行业动态 | `/last30days AI工具 --days=7 --quick` |
|
||||
| 竞品深度分析 | `/last30days competitor --deep --x-handle=竞品账号` |
|
||||
| 工具对比选型 | `/last30days toolA vs toolB` |
|
||||
| 人物热点追踪 | `/last30days person --x-handle=personHandle` |
|
||||
| 热点趋势发现 | `/last30days trending_topic` |
|
||||
|
||||
---
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 深度研究需要 2-8 分钟,耐心等待
|
||||
2. TikTok/Instagram 需要 ScrapeCreators API key(前 100 次免费)
|
||||
3. 建议先用 `--quick` 测试话题方向
|
||||
4. Reddit 评论往往比帖子更有价值,关注 top comments
|
||||
5. Polymarket 赔率是最高置信度的数据
|
||||
|
||||
---
|
||||
|
||||
## 相关资源
|
||||
|
||||
- GitHub: https://github.com/mvanhorn/last30days-skill
|
||||
- 技能目录: `~/.openclaw/skills/last30days-official/`
|
||||
- 研究保存: `~/Documents/Last30Days/`
|
||||
|
||||
---
|
||||
|
||||
*此笔记由星辉根据 README.md 总结生成*
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,107 +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的跨界联想"` |
|
||||
### 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="标准值"` |
|
||||
@@ -1,248 +1,248 @@
|
||||
#obsidian #obsidian-cli #skills #claude-code #openclaw #hermes
|
||||
|
||||
| 作者 | 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 使用 Terminal,Windows 使用 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对话框中,发送“你好”,若回复正常则配置成功。
|
||||
|
||||
#obsidian #obsidian-cli #skills #claude-code #openclaw #hermes
|
||||
|
||||
| 作者 | 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 使用 Terminal,Windows 使用 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对话框中,发送“你好”,若回复正常则配置成功。
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,154 +1,154 @@
|
||||
# Blogwatcher Daily 技能收藏
|
||||
|
||||
> RSS 订阅监控 + 每日摘要生成
|
||||
|
||||
## 简介
|
||||
|
||||
`blogwatcher-daily` 是 Hermes Agent 的一个自定义技能(custom skill),用于自动化监控 31 个 RSS/YouTube 订阅频道,每天定时扫描并生成阅读摘要。
|
||||
|
||||
---
|
||||
|
||||
## 核心功能
|
||||
|
||||
### 1. 日常扫描(定时任务)
|
||||
每天自动抓取各频道**新文章**,追加写入 `YYYY-MM-DD.md`:
|
||||
|
||||
```bash
|
||||
python3 ~/.hermes/skills/custom/blogwatcher-daily/scripts/blogwatcher-daily.py
|
||||
```
|
||||
|
||||
输出示例:
|
||||
```
|
||||
📊 扫描完成: 共发现 12 篇新文章
|
||||
📝 已写入: /Users/weishen/Workspace/nexus/ishenwei/blogwatcher/2026-04-18.md
|
||||
```
|
||||
|
||||
### 2. 历史回扫(手动,例外场景)
|
||||
强制抓取每个频道**最近 10 篇**(无论是否已读),写入独立文件:
|
||||
|
||||
```bash
|
||||
python3 ~/.hermes/skills/custom/blogwatcher-daily/scripts/blogwatcher-daily.py --all
|
||||
```
|
||||
|
||||
输出:`all-YYYY-MM-DD.md`(每次运行覆盖,不追加到日报)
|
||||
|
||||
### 3. 只看不写(调试)
|
||||
```bash
|
||||
python3 ~/.hermes/skills/custom/blogwatcher-daily/scripts/blogwatcher-daily.py --scan-only
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 订阅频道
|
||||
|
||||
**31 个频道**,分为两类:
|
||||
|
||||
### YouTube(18个)— 通过 RSSHub 转换
|
||||
RSSHub 地址:`http://192.168.3.45:1200`
|
||||
|
||||
| 频道 | 说明 |
|
||||
|------|------|
|
||||
| Tech With Tim | AI/LLM 开发 |
|
||||
| Jon Law | AI 工具、商业 |
|
||||
| 小白AI笔记 | Hermes Agent 中文 |
|
||||
| Yannic Kilcher | 深度学习 |
|
||||
| 3Blue1Brown | 数学可视化 |
|
||||
| Sentdex | Python/ML |
|
||||
| ... | 共 18 个 |
|
||||
|
||||
### RSS 直订(13个)
|
||||
| 频道 | URL | 说明 |
|
||||
|------|-----|------|
|
||||
| 少数派 | 直接 | 科技精选 |
|
||||
| Slashdot | 直接 | 英文科技新闻 |
|
||||
| AWS Blog | 直接 | 云计算 |
|
||||
| SRE Weekly | 直接 | SRE 周报 |
|
||||
| SaltTiger | 直接 | 技术新闻 |
|
||||
| TED Talks Daily | 直接 | TED 演讲 |
|
||||
| ... | | 共 13 个 |
|
||||
|
||||
---
|
||||
|
||||
## 文件结构
|
||||
|
||||
```
|
||||
~/.hermes/skills/custom/blogwatcher-daily/
|
||||
├── SKILL.md # 技能说明文档
|
||||
└── scripts/
|
||||
├── blogwatcher-daily.py # 主脚本
|
||||
├── subscriptions.txt # 订阅列表(name|URL)
|
||||
└── blogwatcher.db # SQLite 数据库(记录已读状态)
|
||||
```
|
||||
|
||||
**输出目录:**
|
||||
```
|
||||
~/Workspace/nexus/ishenwei/blogwatcher/
|
||||
├── 2026-04-18.md # 每日日报(追加模式)
|
||||
└── all-2026-04-18.md # 历史回扫(覆盖模式)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 定时任务
|
||||
|
||||
- **Cron ID**:`ecdd35bb7df3`
|
||||
- **调度**:`0 6 * * *`(每天早上 6:00)
|
||||
- **执行**:Hermes Agent 自动调用 skill 中的脚本
|
||||
- **通知**:Telegram(`deliver=origin`)
|
||||
|
||||
---
|
||||
|
||||
## 使用技巧
|
||||
|
||||
### 添加新订阅
|
||||
```bash
|
||||
# RSS 直订
|
||||
python3 blogwatcher-daily.py --add "频道名" "https://example.com/feed"
|
||||
|
||||
# YouTube 频道(自动转 RSSHub)
|
||||
python3 blogwatcher-daily.py --add "频道名" "https://youtube.com/channel/UCxxxx"
|
||||
```
|
||||
|
||||
### 强制回扫某频道(例外)
|
||||
```bash
|
||||
python3 blogwatcher-daily.py --all
|
||||
```
|
||||
> 适用于:新增订阅需要补历史、某个频道很久没看想批量回顾
|
||||
|
||||
### 调试扫描逻辑
|
||||
```bash
|
||||
python3 blogwatcher-daily.py --scan-only
|
||||
```
|
||||
> 只打印,不写文件
|
||||
|
||||
---
|
||||
|
||||
## 技术细节
|
||||
|
||||
- **RSS 解析库**:`feedparser`(支持 RSS 1.0/2.0/Atom、GB2312/GBK 编码、畸形 XML)
|
||||
- **去重机制**:SQLite 数据库按 `url` 排重,已读链接不重复写入
|
||||
- **YouTube 支持**:通过 RSSHub 将 YouTube Channel ID 转为 RSS Feed
|
||||
- **编码处理**:自动检测 GB2312、GBK、ISO-8859-1,解决乱码问题
|
||||
|
||||
---
|
||||
|
||||
## 已解决的问题
|
||||
|
||||
- ✅ **RSS 1.0 支持**:Slashdot 使用 RSS 1.0,换用 feedparser 解决
|
||||
- ✅ **GB2312 乱码**:阿榮福利味等台媒使用 GB2312 编码,feedparser 自动处理
|
||||
- ✅ **畸形 XML**:异次元等小站 XML 不规范,feedparser 兜底
|
||||
- ✅ **YouTube RSSHub**:RSSHub 代理 YouTube Feed,绕过直接访问限制
|
||||
- ✅ **追加写入**:日常扫描正确追加到日报,不覆盖历史内容
|
||||
- ✅ **独立 force-all**:强制回扫写入独立文件,不污染日报
|
||||
|
||||
---
|
||||
|
||||
## 注意事项
|
||||
|
||||
- **How to of the Day**:wikiHow 禁止所有爬虫,无法抓取,永远返回 0 篇
|
||||
- **FeedBurner 频道**:電腦玩物、阿榮福利味使用 FeedBurner 跳转,RSSHub 可能不稳定,建议使用直接 FeedBurner URL
|
||||
- **`--all` 不要加到 cron**:force-all 是例外操作,每日 cron 保持日常扫描即可
|
||||
|
||||
---
|
||||
|
||||
*收藏日期:2026-04-18*
|
||||
# Blogwatcher Daily 技能收藏
|
||||
|
||||
> RSS 订阅监控 + 每日摘要生成
|
||||
|
||||
## 简介
|
||||
|
||||
`blogwatcher-daily` 是 Hermes Agent 的一个自定义技能(custom skill),用于自动化监控 31 个 RSS/YouTube 订阅频道,每天定时扫描并生成阅读摘要。
|
||||
|
||||
---
|
||||
|
||||
## 核心功能
|
||||
|
||||
### 1. 日常扫描(定时任务)
|
||||
每天自动抓取各频道**新文章**,追加写入 `YYYY-MM-DD.md`:
|
||||
|
||||
```bash
|
||||
python3 ~/.hermes/skills/custom/blogwatcher-daily/scripts/blogwatcher-daily.py
|
||||
```
|
||||
|
||||
输出示例:
|
||||
```
|
||||
📊 扫描完成: 共发现 12 篇新文章
|
||||
📝 已写入: /Users/weishen/Workspace/nexus/ishenwei/blogwatcher/2026-04-18.md
|
||||
```
|
||||
|
||||
### 2. 历史回扫(手动,例外场景)
|
||||
强制抓取每个频道**最近 10 篇**(无论是否已读),写入独立文件:
|
||||
|
||||
```bash
|
||||
python3 ~/.hermes/skills/custom/blogwatcher-daily/scripts/blogwatcher-daily.py --all
|
||||
```
|
||||
|
||||
输出:`all-YYYY-MM-DD.md`(每次运行覆盖,不追加到日报)
|
||||
|
||||
### 3. 只看不写(调试)
|
||||
```bash
|
||||
python3 ~/.hermes/skills/custom/blogwatcher-daily/scripts/blogwatcher-daily.py --scan-only
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 订阅频道
|
||||
|
||||
**31 个频道**,分为两类:
|
||||
|
||||
### YouTube(18个)— 通过 RSSHub 转换
|
||||
RSSHub 地址:`http://192.168.3.45:1200`
|
||||
|
||||
| 频道 | 说明 |
|
||||
|------|------|
|
||||
| Tech With Tim | AI/LLM 开发 |
|
||||
| Jon Law | AI 工具、商业 |
|
||||
| 小白AI笔记 | Hermes Agent 中文 |
|
||||
| Yannic Kilcher | 深度学习 |
|
||||
| 3Blue1Brown | 数学可视化 |
|
||||
| Sentdex | Python/ML |
|
||||
| ... | 共 18 个 |
|
||||
|
||||
### RSS 直订(13个)
|
||||
| 频道 | URL | 说明 |
|
||||
|------|-----|------|
|
||||
| 少数派 | 直接 | 科技精选 |
|
||||
| Slashdot | 直接 | 英文科技新闻 |
|
||||
| AWS Blog | 直接 | 云计算 |
|
||||
| SRE Weekly | 直接 | SRE 周报 |
|
||||
| SaltTiger | 直接 | 技术新闻 |
|
||||
| TED Talks Daily | 直接 | TED 演讲 |
|
||||
| ... | | 共 13 个 |
|
||||
|
||||
---
|
||||
|
||||
## 文件结构
|
||||
|
||||
```
|
||||
~/.hermes/skills/custom/blogwatcher-daily/
|
||||
├── SKILL.md # 技能说明文档
|
||||
└── scripts/
|
||||
├── blogwatcher-daily.py # 主脚本
|
||||
├── subscriptions.txt # 订阅列表(name|URL)
|
||||
└── blogwatcher.db # SQLite 数据库(记录已读状态)
|
||||
```
|
||||
|
||||
**输出目录:**
|
||||
```
|
||||
~/Workspace/nexus/ishenwei/blogwatcher/
|
||||
├── 2026-04-18.md # 每日日报(追加模式)
|
||||
└── all-2026-04-18.md # 历史回扫(覆盖模式)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 定时任务
|
||||
|
||||
- **Cron ID**:`ecdd35bb7df3`
|
||||
- **调度**:`0 6 * * *`(每天早上 6:00)
|
||||
- **执行**:Hermes Agent 自动调用 skill 中的脚本
|
||||
- **通知**:Telegram(`deliver=origin`)
|
||||
|
||||
---
|
||||
|
||||
## 使用技巧
|
||||
|
||||
### 添加新订阅
|
||||
```bash
|
||||
# RSS 直订
|
||||
python3 blogwatcher-daily.py --add "频道名" "https://example.com/feed"
|
||||
|
||||
# YouTube 频道(自动转 RSSHub)
|
||||
python3 blogwatcher-daily.py --add "频道名" "https://youtube.com/channel/UCxxxx"
|
||||
```
|
||||
|
||||
### 强制回扫某频道(例外)
|
||||
```bash
|
||||
python3 blogwatcher-daily.py --all
|
||||
```
|
||||
> 适用于:新增订阅需要补历史、某个频道很久没看想批量回顾
|
||||
|
||||
### 调试扫描逻辑
|
||||
```bash
|
||||
python3 blogwatcher-daily.py --scan-only
|
||||
```
|
||||
> 只打印,不写文件
|
||||
|
||||
---
|
||||
|
||||
## 技术细节
|
||||
|
||||
- **RSS 解析库**:`feedparser`(支持 RSS 1.0/2.0/Atom、GB2312/GBK 编码、畸形 XML)
|
||||
- **去重机制**:SQLite 数据库按 `url` 排重,已读链接不重复写入
|
||||
- **YouTube 支持**:通过 RSSHub 将 YouTube Channel ID 转为 RSS Feed
|
||||
- **编码处理**:自动检测 GB2312、GBK、ISO-8859-1,解决乱码问题
|
||||
|
||||
---
|
||||
|
||||
## 已解决的问题
|
||||
|
||||
- ✅ **RSS 1.0 支持**:Slashdot 使用 RSS 1.0,换用 feedparser 解决
|
||||
- ✅ **GB2312 乱码**:阿榮福利味等台媒使用 GB2312 编码,feedparser 自动处理
|
||||
- ✅ **畸形 XML**:异次元等小站 XML 不规范,feedparser 兜底
|
||||
- ✅ **YouTube RSSHub**:RSSHub 代理 YouTube Feed,绕过直接访问限制
|
||||
- ✅ **追加写入**:日常扫描正确追加到日报,不覆盖历史内容
|
||||
- ✅ **独立 force-all**:强制回扫写入独立文件,不污染日报
|
||||
|
||||
---
|
||||
|
||||
## 注意事项
|
||||
|
||||
- **How to of the Day**:wikiHow 禁止所有爬虫,无法抓取,永远返回 0 篇
|
||||
- **FeedBurner 频道**:電腦玩物、阿榮福利味使用 FeedBurner 跳转,RSSHub 可能不稳定,建议使用直接 FeedBurner URL
|
||||
- **`--all` 不要加到 cron**:force-all 是例外操作,每日 cron 保持日常扫描即可
|
||||
|
||||
---
|
||||
|
||||
*收藏日期:2026-04-18*
|
||||
|
||||
@@ -1,490 +1,490 @@
|
||||
[English](README.md) | [中文](README.zh.md)
|
||||
|
||||
# fireworks-tech-graph
|
||||
|
||||
> 不用手画图了。用中文描述你的系统,几秒钟得到可直接发布的 SVG + PNG 技术图。
|
||||
|
||||
## 概述
|
||||
|
||||
`fireworks-tech-graph` 将自然语言描述转化为精美的 SVG 技术图,并通过 `rsvg-convert` 导出高分辨率 PNG。内置 **7 种视觉风格**,深度覆盖 AI/Agent 领域常见图类型(RAG、Agentic Search、Mem0、Multi-Agent、Tool Call 流程等),并完整支持全部 14 种 UML 图类型。
|
||||
|
||||
```
|
||||
用户: "画一张 Mem0 的架构图,暗黑风格"
|
||||
→ Skill 识别:Memory Architecture Diagram,Style 2
|
||||
→ 生成含泳道、圆柱体、语义箭头的 SVG
|
||||
→ 导出 1920px PNG
|
||||
→ 输出路径:mem0-architecture.svg / mem0-architecture.png
|
||||
```
|
||||
|
||||
---
|
||||
## 效果展示
|
||||
|
||||
> 所有示例图均以 1920px 宽度(2× 视网膜分辨率)通过 `rsvg-convert` 导出为 **PNG 格式**。技术图应选 PNG(无损),JPG 有损压缩会在文字和线条边缘产生噪点。
|
||||
### 风格 1 — 扁平图标风(默认)
|
||||
|
||||
_Mem0 记忆架构图 — 白底,语义箭头,分层记忆系统_ [](https://github.com/yizhiyanhua-ai/fireworks-tech-graph/blob/main/assets/samples/sample-style1-flat.png)
|
||||
|
||||
### 风格 2 — 暗黑极客风
|
||||
|
||||
_Tool Call 执行流程 — 深色背景,Neon 配色,等宽字体_ [](https://github.com/yizhiyanhua-ai/fireworks-tech-graph/blob/main/assets/samples/sample-style2-dark.png)
|
||||
|
||||
### 风格 3 — 工程蓝图风
|
||||
|
||||
_微服务架构图 — 深蓝底,网格线,青色描边_ [](https://github.com/yizhiyanhua-ai/fireworks-tech-graph/blob/main/assets/samples/sample-style3-blueprint.png)
|
||||
|
||||
### 风格 4 — Notion 极简风
|
||||
|
||||
_Agent 记忆类型图 — 白底极简,单一强调色_ [](https://github.com/yizhiyanhua-ai/fireworks-tech-graph/blob/main/assets/samples/sample-style4-notion.png)
|
||||
|
||||
### 风格 5 — 玻璃态卡片风
|
||||
|
||||
_Multi-Agent 协作图 — 深色渐变底,磨砂玻璃卡片_ [](https://github.com/yizhiyanhua-ai/fireworks-tech-graph/blob/main/assets/samples/sample-style5-glass.png)
|
||||
|
||||
### 风格 6 — Claude 官方风格
|
||||
|
||||
_系统架构图 — 温暖奶油色背景 (#f8f6f3),Anthropic 品牌色,简洁专业美学_ [](https://github.com/yizhiyanhua-ai/fireworks-tech-graph/blob/main/assets/samples/sample-style6-claude.png)
|
||||
|
||||
### 风格 7 — OpenAI 官方风格
|
||||
|
||||
_API 集成流程图 — 纯白背景,OpenAI 品牌配色,现代极简设计_ [](https://github.com/yizhiyanhua-ai/fireworks-tech-graph/blob/main/assets/samples/sample-style7-openai.png)
|
||||
---
|
||||
|
||||
## 稳定输出提示词样例
|
||||
|
||||
下面这 7 组提示词都更贴近当前仓库里回归测试最稳定的输出方式:
|
||||
|
||||
### 风格 1 — 扁平图标风
|
||||
```text
|
||||
画一张 style 1(Flat Icon)的 Mem0 记忆架构图。
|
||||
分成四个横向区域:Input Layer、Memory Manager、Storage Layer、Output / Retrieval。
|
||||
包含 User、AI App / Agent、LLM、mem0 Client、Memory Manager、Vector Store、Graph DB、Key-Value Store、History Store、Context Builder、Ranked Results、Personalized Response。
|
||||
使用 read、write、control、data 四类语义箭头,整体保持产品文档风格的清晰布局。
|
||||
```
|
||||
|
||||
### 风格 2 — 暗黑极客风
|
||||
```text
|
||||
画一张 style 2(Dark Terminal)的 tool call flow 图。
|
||||
包含 User query、Retrieve chunks、Generate answer、Knowledge base、Agent、Terminal、Source documents、Grounded answer。
|
||||
使用终端窗口 chrome、Neon 强调色、等宽字体,以及 retrieval、answer synthesis、embedding update 三类语义箭头。
|
||||
```
|
||||
|
||||
### 风格 3 — 工程蓝图风
|
||||
```text
|
||||
画一张 style 3(Blueprint)的微服务架构图。
|
||||
使用带编号的工程分区标题,例如 01 // EDGE、02 // APPLICATION SERVICES、03 // DATA + EVENT INFRA、04 // OBSERVABILITY。
|
||||
包含 Client Apps、API Gateway、Auth / Policy、三个业务服务、Event Router、Postgres、Redis Cache、Warehouse、Metrics / Traces。
|
||||
使用蓝图网格、青色描边,并在右下角加入工程 title block。
|
||||
```
|
||||
|
||||
### 风格 4 — Notion 极简风
|
||||
```text
|
||||
画一张 style 4(Notion Clean)的 agent memory types 图。
|
||||
以中间的 Agent Core 为中心,对比 Sensory Memory、Working Memory、Episodic Memory、Semantic Memory、Procedural Memory。
|
||||
使用极简白底、浅边框、单一强调色箭头,并给每种 memory 补充简短的存储标签。
|
||||
```
|
||||
|
||||
### 风格 5 — 玻璃态卡片风
|
||||
```text
|
||||
画一张 style 5(Glassmorphism)的 multi-agent collaboration 图。
|
||||
分成 Mission Control、Specialist Agents、Synthesis 三个区域。
|
||||
包含 User brief、Coordinator Agent、Research Agent、Coding Agent、Review Agent、Shared Memory、Synthesis Engine、Final response。
|
||||
使用 frosted glass 卡片、轻微 glow,以及 delegation、shared memory write、synthesis output 三类语义箭头。
|
||||
```
|
||||
|
||||
### 风格 6 — Claude 官方风格
|
||||
```text
|
||||
画一张 style 6(Claude Official)的 system architecture 图。
|
||||
使用左侧 layer label:Interface Layer、Core Layer、Foundation Layer。
|
||||
包含 Client Surface、Gateway、Task Planner、Model Runtime、Policy Guardrails、Memory Store、Tool Runtime、Observability、Registry。
|
||||
使用温暖奶油色背景、克制的品牌感配色、足够留白,并在右下角放 legend。
|
||||
```
|
||||
|
||||
### 风格 7 — OpenAI 官方风格
|
||||
```text
|
||||
画一张 style 7(OpenAI Official)的 API integration flow 图。
|
||||
分成 Entry、Model + Tools、Delivery 三个区域。
|
||||
包含 Application、OpenAI SDK Layer、Prompt Builder、Model Runtime、Tool Calls、Response Formatter、Observability、Release Control。
|
||||
整体保持纯白、精确、现代、极简,并使用干净的绿色语义箭头。
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 功能特性
|
||||
|
||||
- **7 种视觉风格** — 从白底极简到暗黑 Neon 再到磨砂玻璃,再到官方品牌风格
|
||||
- **可执行风格系统** — 风格约束不仅写在文档里,也真正进入生成器逻辑
|
||||
- **14 种图类型** — 完整支持全部 UML 图类型(类图、组件图、部署图、包图、复合结构图、对象图、用例图、活动图、状态机图、序列图、通信图、时序图、交互概览图、ER 图)以及 AI/Agent 领域图
|
||||
- **AI/Agent 领域内建知识** — RAG、Agentic Search、Mem0、Multi-Agent、Tool Call 等常见 Pattern 开箱即用
|
||||
- **语义形状词汇表** — LLM = 双边框圆角矩形,Agent = 六边形,Vector Store = 带内环圆柱
|
||||
- **语义箭头系统** — 颜色 + 虚线样式编码含义(写入/读取/异步/循环)
|
||||
- **产品图标库** — 40+ 产品品牌色:OpenAI、Anthropic、Pinecone、Weaviate、Kafka、PostgreSQL……
|
||||
- **泳道分组** — 自动为复杂架构添加层级标签
|
||||
- **SVG + PNG 双输出** — SVG 可编辑,1920px PNG 可直接嵌入文章
|
||||
- **rsvg-convert 兼容** — 纯内联 SVG,不依赖外部字体,渲染稳定
|
||||
|
||||
---
|
||||
|
||||
## 安装
|
||||
|
||||
```bash
|
||||
npx skills add yizhiyanhua-ai/fireworks-tech-graph
|
||||
```
|
||||
|
||||
这个 Skill 的 `skills add` 安装源是 GitHub 仓库。npm 页面用于公开展示、版本分发和 README 浏览:
|
||||
|
||||
```text
|
||||
https://www.npmjs.com/package/@yizhiyanhua-ai/fireworks-tech-graph
|
||||
```
|
||||
|
||||
不要把 npm 包名直接写进 `skills add`,因为 CLI 会把安装源解析为 GitHub 路径或本地路径。
|
||||
|
||||
## 更新
|
||||
|
||||
```bash
|
||||
npx skills add yizhiyanhua-ai/fireworks-tech-graph --force -g -y
|
||||
```
|
||||
|
||||
用户后续要升级时,直接重新执行一次 `add --force` 即可拉取最新版本。
|
||||
|
||||
或直接克隆:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/yizhiyanhua-ai/fireworks-tech-graph.git ~/.claude/skills/fireworks-tech-graph
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 安装依赖
|
||||
|
||||
```bash
|
||||
# macOS
|
||||
brew install librsvg
|
||||
|
||||
# Ubuntu/Debian
|
||||
sudo apt install librsvg2-bin
|
||||
|
||||
# 验证安装
|
||||
rsvg-convert --version
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 使用方式
|
||||
|
||||
### 触发词
|
||||
|
||||
以下关键词会自动触发 Skill:
|
||||
|
||||
```
|
||||
画图 / 帮我画 / 生成图 / 做个图 / 架构图 / 流程图 / 可视化一下 / 出图
|
||||
generate diagram / draw diagram / create chart / visualize
|
||||
```
|
||||
|
||||
### 基本用法
|
||||
|
||||
```
|
||||
画一张 RAG 流程图
|
||||
```
|
||||
|
||||
```
|
||||
生成一张 Agentic Search 架构图
|
||||
```
|
||||
|
||||
### 指定风格
|
||||
|
||||
```
|
||||
画一张微服务架构图,风格2(暗黑极客风)
|
||||
```
|
||||
|
||||
```
|
||||
生成 Multi-Agent 协作图,玻璃态风格
|
||||
```
|
||||
|
||||
### 指定输出路径
|
||||
|
||||
```
|
||||
生成 Mem0 架构图,输出到 ~/Desktop/
|
||||
```
|
||||
|
||||
```
|
||||
画一张 Tool Call 流程图 --output /tmp/diagrams/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 场景示例集
|
||||
|
||||
### AI/Agent 系统
|
||||
|
||||
```
|
||||
画一张 Agentic RAG 和普通 RAG 的对比图,用 Notion 极简风
|
||||
```
|
||||
→ 功能矩阵对比:检索策略、Agent 循环、工具调用、延迟、成本
|
||||
|
||||
```
|
||||
生成一张 Mem0 记忆架构图,包含向量库、图数据库、KV 存储和记忆管理器
|
||||
```
|
||||
→ 分泳道记忆架构:Input → Memory Manager → 存储层 → 检索输出
|
||||
|
||||
```
|
||||
画一张 Multi-Agent 协作图:Orchestrator 调度 3 个 SubAgent(搜索/计算/代码执行),汇聚到 Aggregator
|
||||
```
|
||||
→ Agent 架构,六边形节点 + 工具层 + 结果聚合
|
||||
|
||||
```
|
||||
可视化一下 Tool Call 的执行流程:LLM → Tool Selector → Execution → Parser → 回到 LLM
|
||||
```
|
||||
→ 含决策循环的流程图,展示工具调用的完整生命周期
|
||||
|
||||
```
|
||||
画一张 Agent 的 5 种记忆类型图:感知记忆、工作记忆、情景记忆、语义记忆、程序记忆
|
||||
```
|
||||
→ 思维导图或分层架构,从感官输入到程序技能的记忆层级
|
||||
|
||||
### 基础设施与云架构
|
||||
|
||||
```
|
||||
帮我画一张微服务架构图:Client → API Gateway → [用户服务 / 订单服务 / 支付服务] → PostgreSQL + Redis
|
||||
```
|
||||
→ 水平分层架构,每个服务集群一个泳道
|
||||
|
||||
```
|
||||
生成一张数据管道图:Kafka 消费数据 → Spark 处理 → 写入 S3 → Athena 查询
|
||||
```
|
||||
→ 数据流图,每条箭头标注数据类型(stream / batch / query)
|
||||
|
||||
```
|
||||
画一张 Kubernetes 部署架构:Ingress → Service → [Pod × 3] → ConfigMap + PersistentVolume
|
||||
```
|
||||
→ 架构图,Namespace 用虚线框,流量用实线箭头
|
||||
|
||||
### API 与时序流程
|
||||
|
||||
```
|
||||
画一张 OAuth2 授权码流程的序列图:用户 → 客户端 → 授权服务器 → 资源服务器
|
||||
```
|
||||
→ 序列图,垂直生命线 + 激活框
|
||||
|
||||
```
|
||||
帮我画一张 ChatGPT Plugin 的调用时序图
|
||||
```
|
||||
→ 时序:User → ChatGPT → Plugin Manifest → API → 响应链
|
||||
|
||||
### 决策与流程图
|
||||
|
||||
```
|
||||
画一张 AI 应用上线前的质检流程图:代码审查 → 安全扫描 → 性能测试 → 人工审核 → 发布
|
||||
```
|
||||
→ 流程图,含菱形决策节点和并行分支
|
||||
|
||||
```
|
||||
生成一张 RAG vs Fine-tuning vs Prompt Engineering 的功能对比图
|
||||
```
|
||||
→ 功能矩阵,对比成本、延迟、准确率、灵活性
|
||||
|
||||
### 概念图与知识图谱
|
||||
|
||||
```
|
||||
帮我可视化一下 LLM 应用的技术栈:从底层模型到 SDK 到应用框架到部署层
|
||||
```
|
||||
→ 分层架构图或思维导图,从模型层到产品层
|
||||
|
||||
```
|
||||
画一张 AI Agent 的核心能力地图:感知 / 记忆 / 推理 / 行动 / 学习
|
||||
```
|
||||
→ 以"AI Agent"为中心的放射状思维导图,5 个核心能力分支
|
||||
|
||||
---
|
||||
|
||||
## 7 种风格
|
||||
|
||||
| # | 名称 | 背景色 | 字体 | 适用场景 |
|
||||
| --- | ---------------- | ------------ | ------------------- | ------------------------- |
|
||||
| 1 | **扁平图标风** *(默认)* | `#ffffff` | Helvetica | 博客、幻灯片、技术文档 |
|
||||
| 2 | **暗黑极客风** | `#0f0f1a` | SF Mono / Fira Code | GitHub README、开发者文章 |
|
||||
| 3 | **工程蓝图风** | `#0a1628` | Courier New | 架构设计文档、工程规范 |
|
||||
| 4 | **Notion 极简风** | `#ffffff` | system-ui | Notion、Confluence、内部 Wiki |
|
||||
| 5 | **玻璃态卡片风** | `#0d1117` 渐变 | Inter | 产品官网、演讲 Keynote |
|
||||
| 6 | **Claude 官方风格** | `#f8f6f3` | system-ui | Anthropic 风格图表,温暖专业美学 |
|
||||
| 7 | **OpenAI 官方风格** | `#ffffff` | system-ui | OpenAI 风格图表,简洁现代设计 |
|
||||
|
||||
每种风格在 `references/` 目录下都有专属参考文件,包含精确的颜色 Token、SVG 模板和使用规范。
|
||||
生成器现在还会直接消费风格相关结构字段,例如 `containers`、语义化 `nodes[].kind`、`arrows[].flow` 以及显式端口锚点,以便更稳定地逼近样图级布局质量。
|
||||
|
||||
几个很有用的增强字段:
|
||||
- `style_overrides`:在不复制整套 style 的前提下微调标题对齐或配色 token
|
||||
- `containers[].header_prefix` / `containers[].header_text`:用于 style 3 这种 `01 // EDGE` 的工程编号分区标题
|
||||
- `containers[].side_label`:用于 style 6 这类左侧 Layer Label
|
||||
- `window_controls`、`meta_left`、`meta_center`、`meta_right`:用于终端 / 文档风格的顶部 chrome
|
||||
- `blueprint_title_block`:用于 style 3 的蓝图标题信息框
|
||||
|
||||
### 风格选择指南
|
||||
|
||||
**UML 图类型:**
|
||||
- **类图/组件图/包图**:风格 1(扁平图标风)或风格 4(Notion 极简风)— 结构清晰,易于阅读
|
||||
- **序列图/时序图**:风格 2(暗黑极客风)— 等宽字体有助于对齐
|
||||
- **状态机图/活动图**:风格 3(工程蓝图风)— 工程美学适合流程图
|
||||
- **用例图/交互图**:风格 1(扁平图标风)— 彩色,易于理解
|
||||
|
||||
**AI/Agent 图类型:**
|
||||
- **RAG/Agentic Search**:风格 2(暗黑极客风)或风格 5(玻璃态卡片风)— 科技感强
|
||||
- **记忆架构**:风格 3(工程蓝图风)— 强调分层存储结构
|
||||
- **Multi-Agent**:风格 5(玻璃态卡片风)— 磨砂卡片区分 Agent 边界
|
||||
|
||||
**文档类型:**
|
||||
- **内部文档**:风格 4(Notion 极简风)— 极简,适合 Wiki
|
||||
- **技术博客**:风格 1(扁平图标风)— 彩色,吸引眼球
|
||||
- **GitHub README**:风格 2(暗黑极客风)— 匹配暗色主题
|
||||
- **演示文稿**:风格 5(玻璃态卡片风)或风格 6(Claude 官方风格)— 精致专业
|
||||
|
||||
**品牌特定:**
|
||||
- **Anthropic/Claude 项目**:风格 6(Claude 官方风格)— 温暖奶油色背景,品牌感强且克制
|
||||
- **OpenAI 项目**:风格 7(OpenAI 官方风格)— 简洁白色,OpenAI 配色
|
||||
|
||||
---
|
||||
|
||||
## 支持的图类型
|
||||
|
||||
| 类型 | 描述 | 关键布局规则 |
|
||||
|------|------|-------------|
|
||||
| **架构图** | 服务、组件、云基础设施 | 水平分层,自上而下 |
|
||||
| **数据流图** | 数据在系统中的流向 | 每条箭头标注数据类型 |
|
||||
| **流程图** | 决策树、流程步骤 | 菱形 = 决策,自上而下 |
|
||||
| **Agent 架构图** | LLM + 工具 + 记忆 | 五层模型:输入/Agent/记忆/工具/输出 |
|
||||
| **记忆架构图** | Mem0、MemGPT 风格 | 读/写路径分离,记忆层级分明 |
|
||||
| **序列图** | API 调用链、时序交互 | 垂直生命线,水平消息箭头 |
|
||||
| **对比图** | 功能矩阵、方案比较 | 列 = 系统,行 = 属性 |
|
||||
| **思维导图** | 概念地图、发散思维 | 中心节点,贝塞尔曲线分支 |
|
||||
|
||||
### UML 图类型支持(14 种)
|
||||
|
||||
| UML 类型 | 描述 | 推荐风格 |
|
||||
|----------|------|----------|
|
||||
| **类图** | 类、属性、方法、关系 | 风格 1, 4 |
|
||||
| **组件图** | 软件组件和依赖关系 | 风格 1, 3 |
|
||||
| **部署图** | 硬件节点和软件部署 | 风格 3 |
|
||||
| **包图** | 包组织和依赖关系 | 风格 1, 4 |
|
||||
| **复合结构图** | 类/组件的内部结构 | 风格 1, 3 |
|
||||
| **对象图** | 对象实例和关系 | 风格 1, 4 |
|
||||
| **用例图** | 参与者、用例、系统边界 | 风格 1 |
|
||||
| **活动图** | 工作流、并行流程 | 风格 3 |
|
||||
| **状态机图** | 状态转换和事件 | 风格 2, 3 |
|
||||
| **序列图** | 时间顺序的消息交换 | 风格 2 |
|
||||
| **通信图** | 对象交互和消息 | 风格 1, 2 |
|
||||
| **时序图** | 状态随时间的变化 | 风格 2 |
|
||||
| **交互概览图** | 高层交互流程 | 风格 1, 2 |
|
||||
| **ER 图** | 实体关系数据模型 | 风格 1, 3 |
|
||||
|
||||
---
|
||||
|
||||
## AI/Agent 领域内建 Pattern
|
||||
|
||||
Skill 内置以下领域知识,可直接描述场景生成:
|
||||
|
||||
```
|
||||
RAG Pipeline → Query → Embed → VectorSearch → Retrieve → LLM → Response
|
||||
Agentic RAG → 在 RAG 基础上加入 Agent 循环 + 工具调用
|
||||
Agentic Search → Query → Planner → [Search/Calc/Code] → Synthesizer
|
||||
Mem0 记忆层 → Input → Memory Manager → [VectorDB + GraphDB] → Context
|
||||
Agent 记忆类型 → 感知记忆 → 工作记忆 → 情景记忆 → 语义记忆 → 程序记忆
|
||||
Multi-Agent → Orchestrator → [SubAgent×N] → Aggregator → Output
|
||||
Tool Call 流程 → LLM → Tool Selector → Execution → Parser → LLM (循环)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 形状词汇表
|
||||
|
||||
形状在所有风格中保持一致的语义:
|
||||
|
||||
| 概念 | 形状 |
|
||||
|------|------|
|
||||
| 用户 / 人类 | 圆形 + 身体路径 |
|
||||
| LLM / 模型 | 圆角矩形,双边框,⚡ |
|
||||
| Agent / 编排器 | 六边形 |
|
||||
| 短期记忆 | 虚线边框圆角矩形 |
|
||||
| 长期记忆 | 实线圆柱体 |
|
||||
| Vector Store | 带内环圆柱 |
|
||||
| Graph DB | 三圆簇 |
|
||||
| 工具 / 函数 | 带 ⚙ 的矩形 |
|
||||
| API / 网关 | 六边形(单边框) |
|
||||
| 消息队列 / 流 | 横向管道 |
|
||||
| 文档 / 文件 | 折角矩形 |
|
||||
| 浏览器 / UI | 带三点标题栏的矩形 |
|
||||
| 决策节点 | 菱形 |
|
||||
| 外部服务 | 虚线边框矩形 |
|
||||
|
||||
---
|
||||
|
||||
## 箭头语义
|
||||
|
||||
| 流类型 | 线宽 | 虚线 | 含义 |
|
||||
|--------|------|------|------|
|
||||
| 主数据流 | 2px 实线 | — | 主要请求/响应路径 |
|
||||
| 控制 / 触发 | 1.5px 实线 | — | 系统 A 触发 B |
|
||||
| 记忆读取 | 1.5px 实线 | — | 从存储检索 |
|
||||
| 记忆写入 | 1.5px | `5,3` | 写入/存储操作 |
|
||||
| 异步 / 事件 | 1.5px | `4,2` | 非阻塞 |
|
||||
| 反馈 / 循环 | 1.5px 曲线 | — | 迭代推理 |
|
||||
|
||||
---
|
||||
|
||||
## 文件结构
|
||||
|
||||
```
|
||||
fireworks-tech-graph/
|
||||
├── SKILL.md # 主 Skill 文件 — 图类型、布局规则、形状词汇
|
||||
├── README.md # 英文文档
|
||||
├── README.zh.md # 本文件(中文)
|
||||
├── references/
|
||||
│ ├── style-1-flat-icon.md # 白底风格 — 彩色强调色
|
||||
│ ├── style-2-dark-terminal.md # 暗黑风格 — Neon 配色,等宽字体
|
||||
│ ├── style-3-blueprint.md # 蓝图风格 — 网格底纹,青色线条
|
||||
│ ├── style-4-notion-clean.md # 极简风格 — 白底,单色箭头
|
||||
│ ├── style-5-glassmorphism.md # 玻璃态风格 — 深色渐变,磨砂卡片
|
||||
│ ├── style-6-claude-official.md # Claude 官方风格 — 温暖奶油色,Anthropic 品牌
|
||||
│ ├── style-7-openai.md # OpenAI 官方风格 — 简洁白色,OpenAI 品牌配色
|
||||
│ └── icons.md # 40+ 产品图标 + 语义形状模板
|
||||
├── agents/
|
||||
│ └── openai.yaml # 兼容运行时使用的 Agent 元数据
|
||||
├── fixtures/
|
||||
│ ├── mem0-style1.json # Style 1 回归样例
|
||||
│ ├── tool-call-style2.json # Style 2 回归样例
|
||||
│ └── ... # 各风格样图级 fixture
|
||||
├── scripts/
|
||||
│ ├── generate-diagram.sh # SVG 校验与 PNG 导出
|
||||
│ ├── generate-from-template.py # 基于模板生成 SVG 起始文件
|
||||
│ ├── validate-svg.sh # SVG 语法校验
|
||||
│ └── test-all-styles.sh # 批量测试所有风格
|
||||
├── assets/
|
||||
│ └── samples/ # 示例图 PNG
|
||||
├── templates/
|
||||
│ ├── architecture.svg # 架构图模板
|
||||
│ ├── data-flow.svg # 数据流模板
|
||||
│ └── ... # 其他图类型模板
|
||||
└── agentloop-core.svg # 仓库自带示例 SVG
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 产品图标覆盖范围
|
||||
|
||||
**AI/ML 模型:** OpenAI、Anthropic/Claude、Google Gemini、Meta LLaMA、Mistral、Cohere、Groq、Hugging Face
|
||||
|
||||
**AI 框架:** Mem0、LangChain、LlamaIndex、LangGraph、CrewAI、AutoGen、DSPy、Haystack
|
||||
|
||||
**向量数据库:** Pinecone、Weaviate、Qdrant、Chroma、Milvus、pgvector、Faiss
|
||||
|
||||
**关系型/NoSQL 数据库:** PostgreSQL、MySQL、MongoDB、Redis、Elasticsearch、Neo4j、Cassandra
|
||||
|
||||
**消息队列:** Kafka、RabbitMQ、NATS、Pulsar
|
||||
|
||||
**云服务 & 基础设施:** AWS、GCP、Azure、Cloudflare、Vercel、Docker、Kubernetes
|
||||
|
||||
**可观测性:** Grafana、Prometheus、Datadog、LangSmith、Langfuse、Arize
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
[English](README.md) | [中文](README.zh.md)
|
||||
|
||||
# fireworks-tech-graph
|
||||
|
||||
> 不用手画图了。用中文描述你的系统,几秒钟得到可直接发布的 SVG + PNG 技术图。
|
||||
|
||||
## 概述
|
||||
|
||||
`fireworks-tech-graph` 将自然语言描述转化为精美的 SVG 技术图,并通过 `rsvg-convert` 导出高分辨率 PNG。内置 **7 种视觉风格**,深度覆盖 AI/Agent 领域常见图类型(RAG、Agentic Search、Mem0、Multi-Agent、Tool Call 流程等),并完整支持全部 14 种 UML 图类型。
|
||||
|
||||
```
|
||||
用户: "画一张 Mem0 的架构图,暗黑风格"
|
||||
→ Skill 识别:Memory Architecture Diagram,Style 2
|
||||
→ 生成含泳道、圆柱体、语义箭头的 SVG
|
||||
→ 导出 1920px PNG
|
||||
→ 输出路径:mem0-architecture.svg / mem0-architecture.png
|
||||
```
|
||||
|
||||
---
|
||||
## 效果展示
|
||||
|
||||
> 所有示例图均以 1920px 宽度(2× 视网膜分辨率)通过 `rsvg-convert` 导出为 **PNG 格式**。技术图应选 PNG(无损),JPG 有损压缩会在文字和线条边缘产生噪点。
|
||||
### 风格 1 — 扁平图标风(默认)
|
||||
|
||||
_Mem0 记忆架构图 — 白底,语义箭头,分层记忆系统_ [](https://github.com/yizhiyanhua-ai/fireworks-tech-graph/blob/main/assets/samples/sample-style1-flat.png)
|
||||
|
||||
### 风格 2 — 暗黑极客风
|
||||
|
||||
_Tool Call 执行流程 — 深色背景,Neon 配色,等宽字体_ [](https://github.com/yizhiyanhua-ai/fireworks-tech-graph/blob/main/assets/samples/sample-style2-dark.png)
|
||||
|
||||
### 风格 3 — 工程蓝图风
|
||||
|
||||
_微服务架构图 — 深蓝底,网格线,青色描边_ [](https://github.com/yizhiyanhua-ai/fireworks-tech-graph/blob/main/assets/samples/sample-style3-blueprint.png)
|
||||
|
||||
### 风格 4 — Notion 极简风
|
||||
|
||||
_Agent 记忆类型图 — 白底极简,单一强调色_ [](https://github.com/yizhiyanhua-ai/fireworks-tech-graph/blob/main/assets/samples/sample-style4-notion.png)
|
||||
|
||||
### 风格 5 — 玻璃态卡片风
|
||||
|
||||
_Multi-Agent 协作图 — 深色渐变底,磨砂玻璃卡片_ [](https://github.com/yizhiyanhua-ai/fireworks-tech-graph/blob/main/assets/samples/sample-style5-glass.png)
|
||||
|
||||
### 风格 6 — Claude 官方风格
|
||||
|
||||
_系统架构图 — 温暖奶油色背景 (#f8f6f3),Anthropic 品牌色,简洁专业美学_ [](https://github.com/yizhiyanhua-ai/fireworks-tech-graph/blob/main/assets/samples/sample-style6-claude.png)
|
||||
|
||||
### 风格 7 — OpenAI 官方风格
|
||||
|
||||
_API 集成流程图 — 纯白背景,OpenAI 品牌配色,现代极简设计_ [](https://github.com/yizhiyanhua-ai/fireworks-tech-graph/blob/main/assets/samples/sample-style7-openai.png)
|
||||
---
|
||||
|
||||
## 稳定输出提示词样例
|
||||
|
||||
下面这 7 组提示词都更贴近当前仓库里回归测试最稳定的输出方式:
|
||||
|
||||
### 风格 1 — 扁平图标风
|
||||
```text
|
||||
画一张 style 1(Flat Icon)的 Mem0 记忆架构图。
|
||||
分成四个横向区域:Input Layer、Memory Manager、Storage Layer、Output / Retrieval。
|
||||
包含 User、AI App / Agent、LLM、mem0 Client、Memory Manager、Vector Store、Graph DB、Key-Value Store、History Store、Context Builder、Ranked Results、Personalized Response。
|
||||
使用 read、write、control、data 四类语义箭头,整体保持产品文档风格的清晰布局。
|
||||
```
|
||||
|
||||
### 风格 2 — 暗黑极客风
|
||||
```text
|
||||
画一张 style 2(Dark Terminal)的 tool call flow 图。
|
||||
包含 User query、Retrieve chunks、Generate answer、Knowledge base、Agent、Terminal、Source documents、Grounded answer。
|
||||
使用终端窗口 chrome、Neon 强调色、等宽字体,以及 retrieval、answer synthesis、embedding update 三类语义箭头。
|
||||
```
|
||||
|
||||
### 风格 3 — 工程蓝图风
|
||||
```text
|
||||
画一张 style 3(Blueprint)的微服务架构图。
|
||||
使用带编号的工程分区标题,例如 01 // EDGE、02 // APPLICATION SERVICES、03 // DATA + EVENT INFRA、04 // OBSERVABILITY。
|
||||
包含 Client Apps、API Gateway、Auth / Policy、三个业务服务、Event Router、Postgres、Redis Cache、Warehouse、Metrics / Traces。
|
||||
使用蓝图网格、青色描边,并在右下角加入工程 title block。
|
||||
```
|
||||
|
||||
### 风格 4 — Notion 极简风
|
||||
```text
|
||||
画一张 style 4(Notion Clean)的 agent memory types 图。
|
||||
以中间的 Agent Core 为中心,对比 Sensory Memory、Working Memory、Episodic Memory、Semantic Memory、Procedural Memory。
|
||||
使用极简白底、浅边框、单一强调色箭头,并给每种 memory 补充简短的存储标签。
|
||||
```
|
||||
|
||||
### 风格 5 — 玻璃态卡片风
|
||||
```text
|
||||
画一张 style 5(Glassmorphism)的 multi-agent collaboration 图。
|
||||
分成 Mission Control、Specialist Agents、Synthesis 三个区域。
|
||||
包含 User brief、Coordinator Agent、Research Agent、Coding Agent、Review Agent、Shared Memory、Synthesis Engine、Final response。
|
||||
使用 frosted glass 卡片、轻微 glow,以及 delegation、shared memory write、synthesis output 三类语义箭头。
|
||||
```
|
||||
|
||||
### 风格 6 — Claude 官方风格
|
||||
```text
|
||||
画一张 style 6(Claude Official)的 system architecture 图。
|
||||
使用左侧 layer label:Interface Layer、Core Layer、Foundation Layer。
|
||||
包含 Client Surface、Gateway、Task Planner、Model Runtime、Policy Guardrails、Memory Store、Tool Runtime、Observability、Registry。
|
||||
使用温暖奶油色背景、克制的品牌感配色、足够留白,并在右下角放 legend。
|
||||
```
|
||||
|
||||
### 风格 7 — OpenAI 官方风格
|
||||
```text
|
||||
画一张 style 7(OpenAI Official)的 API integration flow 图。
|
||||
分成 Entry、Model + Tools、Delivery 三个区域。
|
||||
包含 Application、OpenAI SDK Layer、Prompt Builder、Model Runtime、Tool Calls、Response Formatter、Observability、Release Control。
|
||||
整体保持纯白、精确、现代、极简,并使用干净的绿色语义箭头。
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 功能特性
|
||||
|
||||
- **7 种视觉风格** — 从白底极简到暗黑 Neon 再到磨砂玻璃,再到官方品牌风格
|
||||
- **可执行风格系统** — 风格约束不仅写在文档里,也真正进入生成器逻辑
|
||||
- **14 种图类型** — 完整支持全部 UML 图类型(类图、组件图、部署图、包图、复合结构图、对象图、用例图、活动图、状态机图、序列图、通信图、时序图、交互概览图、ER 图)以及 AI/Agent 领域图
|
||||
- **AI/Agent 领域内建知识** — RAG、Agentic Search、Mem0、Multi-Agent、Tool Call 等常见 Pattern 开箱即用
|
||||
- **语义形状词汇表** — LLM = 双边框圆角矩形,Agent = 六边形,Vector Store = 带内环圆柱
|
||||
- **语义箭头系统** — 颜色 + 虚线样式编码含义(写入/读取/异步/循环)
|
||||
- **产品图标库** — 40+ 产品品牌色:OpenAI、Anthropic、Pinecone、Weaviate、Kafka、PostgreSQL……
|
||||
- **泳道分组** — 自动为复杂架构添加层级标签
|
||||
- **SVG + PNG 双输出** — SVG 可编辑,1920px PNG 可直接嵌入文章
|
||||
- **rsvg-convert 兼容** — 纯内联 SVG,不依赖外部字体,渲染稳定
|
||||
|
||||
---
|
||||
|
||||
## 安装
|
||||
|
||||
```bash
|
||||
npx skills add yizhiyanhua-ai/fireworks-tech-graph
|
||||
```
|
||||
|
||||
这个 Skill 的 `skills add` 安装源是 GitHub 仓库。npm 页面用于公开展示、版本分发和 README 浏览:
|
||||
|
||||
```text
|
||||
https://www.npmjs.com/package/@yizhiyanhua-ai/fireworks-tech-graph
|
||||
```
|
||||
|
||||
不要把 npm 包名直接写进 `skills add`,因为 CLI 会把安装源解析为 GitHub 路径或本地路径。
|
||||
|
||||
## 更新
|
||||
|
||||
```bash
|
||||
npx skills add yizhiyanhua-ai/fireworks-tech-graph --force -g -y
|
||||
```
|
||||
|
||||
用户后续要升级时,直接重新执行一次 `add --force` 即可拉取最新版本。
|
||||
|
||||
或直接克隆:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/yizhiyanhua-ai/fireworks-tech-graph.git ~/.claude/skills/fireworks-tech-graph
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 安装依赖
|
||||
|
||||
```bash
|
||||
# macOS
|
||||
brew install librsvg
|
||||
|
||||
# Ubuntu/Debian
|
||||
sudo apt install librsvg2-bin
|
||||
|
||||
# 验证安装
|
||||
rsvg-convert --version
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 使用方式
|
||||
|
||||
### 触发词
|
||||
|
||||
以下关键词会自动触发 Skill:
|
||||
|
||||
```
|
||||
画图 / 帮我画 / 生成图 / 做个图 / 架构图 / 流程图 / 可视化一下 / 出图
|
||||
generate diagram / draw diagram / create chart / visualize
|
||||
```
|
||||
|
||||
### 基本用法
|
||||
|
||||
```
|
||||
画一张 RAG 流程图
|
||||
```
|
||||
|
||||
```
|
||||
生成一张 Agentic Search 架构图
|
||||
```
|
||||
|
||||
### 指定风格
|
||||
|
||||
```
|
||||
画一张微服务架构图,风格2(暗黑极客风)
|
||||
```
|
||||
|
||||
```
|
||||
生成 Multi-Agent 协作图,玻璃态风格
|
||||
```
|
||||
|
||||
### 指定输出路径
|
||||
|
||||
```
|
||||
生成 Mem0 架构图,输出到 ~/Desktop/
|
||||
```
|
||||
|
||||
```
|
||||
画一张 Tool Call 流程图 --output /tmp/diagrams/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 场景示例集
|
||||
|
||||
### AI/Agent 系统
|
||||
|
||||
```
|
||||
画一张 Agentic RAG 和普通 RAG 的对比图,用 Notion 极简风
|
||||
```
|
||||
→ 功能矩阵对比:检索策略、Agent 循环、工具调用、延迟、成本
|
||||
|
||||
```
|
||||
生成一张 Mem0 记忆架构图,包含向量库、图数据库、KV 存储和记忆管理器
|
||||
```
|
||||
→ 分泳道记忆架构:Input → Memory Manager → 存储层 → 检索输出
|
||||
|
||||
```
|
||||
画一张 Multi-Agent 协作图:Orchestrator 调度 3 个 SubAgent(搜索/计算/代码执行),汇聚到 Aggregator
|
||||
```
|
||||
→ Agent 架构,六边形节点 + 工具层 + 结果聚合
|
||||
|
||||
```
|
||||
可视化一下 Tool Call 的执行流程:LLM → Tool Selector → Execution → Parser → 回到 LLM
|
||||
```
|
||||
→ 含决策循环的流程图,展示工具调用的完整生命周期
|
||||
|
||||
```
|
||||
画一张 Agent 的 5 种记忆类型图:感知记忆、工作记忆、情景记忆、语义记忆、程序记忆
|
||||
```
|
||||
→ 思维导图或分层架构,从感官输入到程序技能的记忆层级
|
||||
|
||||
### 基础设施与云架构
|
||||
|
||||
```
|
||||
帮我画一张微服务架构图:Client → API Gateway → [用户服务 / 订单服务 / 支付服务] → PostgreSQL + Redis
|
||||
```
|
||||
→ 水平分层架构,每个服务集群一个泳道
|
||||
|
||||
```
|
||||
生成一张数据管道图:Kafka 消费数据 → Spark 处理 → 写入 S3 → Athena 查询
|
||||
```
|
||||
→ 数据流图,每条箭头标注数据类型(stream / batch / query)
|
||||
|
||||
```
|
||||
画一张 Kubernetes 部署架构:Ingress → Service → [Pod × 3] → ConfigMap + PersistentVolume
|
||||
```
|
||||
→ 架构图,Namespace 用虚线框,流量用实线箭头
|
||||
|
||||
### API 与时序流程
|
||||
|
||||
```
|
||||
画一张 OAuth2 授权码流程的序列图:用户 → 客户端 → 授权服务器 → 资源服务器
|
||||
```
|
||||
→ 序列图,垂直生命线 + 激活框
|
||||
|
||||
```
|
||||
帮我画一张 ChatGPT Plugin 的调用时序图
|
||||
```
|
||||
→ 时序:User → ChatGPT → Plugin Manifest → API → 响应链
|
||||
|
||||
### 决策与流程图
|
||||
|
||||
```
|
||||
画一张 AI 应用上线前的质检流程图:代码审查 → 安全扫描 → 性能测试 → 人工审核 → 发布
|
||||
```
|
||||
→ 流程图,含菱形决策节点和并行分支
|
||||
|
||||
```
|
||||
生成一张 RAG vs Fine-tuning vs Prompt Engineering 的功能对比图
|
||||
```
|
||||
→ 功能矩阵,对比成本、延迟、准确率、灵活性
|
||||
|
||||
### 概念图与知识图谱
|
||||
|
||||
```
|
||||
帮我可视化一下 LLM 应用的技术栈:从底层模型到 SDK 到应用框架到部署层
|
||||
```
|
||||
→ 分层架构图或思维导图,从模型层到产品层
|
||||
|
||||
```
|
||||
画一张 AI Agent 的核心能力地图:感知 / 记忆 / 推理 / 行动 / 学习
|
||||
```
|
||||
→ 以"AI Agent"为中心的放射状思维导图,5 个核心能力分支
|
||||
|
||||
---
|
||||
|
||||
## 7 种风格
|
||||
|
||||
| # | 名称 | 背景色 | 字体 | 适用场景 |
|
||||
| --- | ---------------- | ------------ | ------------------- | ------------------------- |
|
||||
| 1 | **扁平图标风** *(默认)* | `#ffffff` | Helvetica | 博客、幻灯片、技术文档 |
|
||||
| 2 | **暗黑极客风** | `#0f0f1a` | SF Mono / Fira Code | GitHub README、开发者文章 |
|
||||
| 3 | **工程蓝图风** | `#0a1628` | Courier New | 架构设计文档、工程规范 |
|
||||
| 4 | **Notion 极简风** | `#ffffff` | system-ui | Notion、Confluence、内部 Wiki |
|
||||
| 5 | **玻璃态卡片风** | `#0d1117` 渐变 | Inter | 产品官网、演讲 Keynote |
|
||||
| 6 | **Claude 官方风格** | `#f8f6f3` | system-ui | Anthropic 风格图表,温暖专业美学 |
|
||||
| 7 | **OpenAI 官方风格** | `#ffffff` | system-ui | OpenAI 风格图表,简洁现代设计 |
|
||||
|
||||
每种风格在 `references/` 目录下都有专属参考文件,包含精确的颜色 Token、SVG 模板和使用规范。
|
||||
生成器现在还会直接消费风格相关结构字段,例如 `containers`、语义化 `nodes[].kind`、`arrows[].flow` 以及显式端口锚点,以便更稳定地逼近样图级布局质量。
|
||||
|
||||
几个很有用的增强字段:
|
||||
- `style_overrides`:在不复制整套 style 的前提下微调标题对齐或配色 token
|
||||
- `containers[].header_prefix` / `containers[].header_text`:用于 style 3 这种 `01 // EDGE` 的工程编号分区标题
|
||||
- `containers[].side_label`:用于 style 6 这类左侧 Layer Label
|
||||
- `window_controls`、`meta_left`、`meta_center`、`meta_right`:用于终端 / 文档风格的顶部 chrome
|
||||
- `blueprint_title_block`:用于 style 3 的蓝图标题信息框
|
||||
|
||||
### 风格选择指南
|
||||
|
||||
**UML 图类型:**
|
||||
- **类图/组件图/包图**:风格 1(扁平图标风)或风格 4(Notion 极简风)— 结构清晰,易于阅读
|
||||
- **序列图/时序图**:风格 2(暗黑极客风)— 等宽字体有助于对齐
|
||||
- **状态机图/活动图**:风格 3(工程蓝图风)— 工程美学适合流程图
|
||||
- **用例图/交互图**:风格 1(扁平图标风)— 彩色,易于理解
|
||||
|
||||
**AI/Agent 图类型:**
|
||||
- **RAG/Agentic Search**:风格 2(暗黑极客风)或风格 5(玻璃态卡片风)— 科技感强
|
||||
- **记忆架构**:风格 3(工程蓝图风)— 强调分层存储结构
|
||||
- **Multi-Agent**:风格 5(玻璃态卡片风)— 磨砂卡片区分 Agent 边界
|
||||
|
||||
**文档类型:**
|
||||
- **内部文档**:风格 4(Notion 极简风)— 极简,适合 Wiki
|
||||
- **技术博客**:风格 1(扁平图标风)— 彩色,吸引眼球
|
||||
- **GitHub README**:风格 2(暗黑极客风)— 匹配暗色主题
|
||||
- **演示文稿**:风格 5(玻璃态卡片风)或风格 6(Claude 官方风格)— 精致专业
|
||||
|
||||
**品牌特定:**
|
||||
- **Anthropic/Claude 项目**:风格 6(Claude 官方风格)— 温暖奶油色背景,品牌感强且克制
|
||||
- **OpenAI 项目**:风格 7(OpenAI 官方风格)— 简洁白色,OpenAI 配色
|
||||
|
||||
---
|
||||
|
||||
## 支持的图类型
|
||||
|
||||
| 类型 | 描述 | 关键布局规则 |
|
||||
|------|------|-------------|
|
||||
| **架构图** | 服务、组件、云基础设施 | 水平分层,自上而下 |
|
||||
| **数据流图** | 数据在系统中的流向 | 每条箭头标注数据类型 |
|
||||
| **流程图** | 决策树、流程步骤 | 菱形 = 决策,自上而下 |
|
||||
| **Agent 架构图** | LLM + 工具 + 记忆 | 五层模型:输入/Agent/记忆/工具/输出 |
|
||||
| **记忆架构图** | Mem0、MemGPT 风格 | 读/写路径分离,记忆层级分明 |
|
||||
| **序列图** | API 调用链、时序交互 | 垂直生命线,水平消息箭头 |
|
||||
| **对比图** | 功能矩阵、方案比较 | 列 = 系统,行 = 属性 |
|
||||
| **思维导图** | 概念地图、发散思维 | 中心节点,贝塞尔曲线分支 |
|
||||
|
||||
### UML 图类型支持(14 种)
|
||||
|
||||
| UML 类型 | 描述 | 推荐风格 |
|
||||
|----------|------|----------|
|
||||
| **类图** | 类、属性、方法、关系 | 风格 1, 4 |
|
||||
| **组件图** | 软件组件和依赖关系 | 风格 1, 3 |
|
||||
| **部署图** | 硬件节点和软件部署 | 风格 3 |
|
||||
| **包图** | 包组织和依赖关系 | 风格 1, 4 |
|
||||
| **复合结构图** | 类/组件的内部结构 | 风格 1, 3 |
|
||||
| **对象图** | 对象实例和关系 | 风格 1, 4 |
|
||||
| **用例图** | 参与者、用例、系统边界 | 风格 1 |
|
||||
| **活动图** | 工作流、并行流程 | 风格 3 |
|
||||
| **状态机图** | 状态转换和事件 | 风格 2, 3 |
|
||||
| **序列图** | 时间顺序的消息交换 | 风格 2 |
|
||||
| **通信图** | 对象交互和消息 | 风格 1, 2 |
|
||||
| **时序图** | 状态随时间的变化 | 风格 2 |
|
||||
| **交互概览图** | 高层交互流程 | 风格 1, 2 |
|
||||
| **ER 图** | 实体关系数据模型 | 风格 1, 3 |
|
||||
|
||||
---
|
||||
|
||||
## AI/Agent 领域内建 Pattern
|
||||
|
||||
Skill 内置以下领域知识,可直接描述场景生成:
|
||||
|
||||
```
|
||||
RAG Pipeline → Query → Embed → VectorSearch → Retrieve → LLM → Response
|
||||
Agentic RAG → 在 RAG 基础上加入 Agent 循环 + 工具调用
|
||||
Agentic Search → Query → Planner → [Search/Calc/Code] → Synthesizer
|
||||
Mem0 记忆层 → Input → Memory Manager → [VectorDB + GraphDB] → Context
|
||||
Agent 记忆类型 → 感知记忆 → 工作记忆 → 情景记忆 → 语义记忆 → 程序记忆
|
||||
Multi-Agent → Orchestrator → [SubAgent×N] → Aggregator → Output
|
||||
Tool Call 流程 → LLM → Tool Selector → Execution → Parser → LLM (循环)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 形状词汇表
|
||||
|
||||
形状在所有风格中保持一致的语义:
|
||||
|
||||
| 概念 | 形状 |
|
||||
|------|------|
|
||||
| 用户 / 人类 | 圆形 + 身体路径 |
|
||||
| LLM / 模型 | 圆角矩形,双边框,⚡ |
|
||||
| Agent / 编排器 | 六边形 |
|
||||
| 短期记忆 | 虚线边框圆角矩形 |
|
||||
| 长期记忆 | 实线圆柱体 |
|
||||
| Vector Store | 带内环圆柱 |
|
||||
| Graph DB | 三圆簇 |
|
||||
| 工具 / 函数 | 带 ⚙ 的矩形 |
|
||||
| API / 网关 | 六边形(单边框) |
|
||||
| 消息队列 / 流 | 横向管道 |
|
||||
| 文档 / 文件 | 折角矩形 |
|
||||
| 浏览器 / UI | 带三点标题栏的矩形 |
|
||||
| 决策节点 | 菱形 |
|
||||
| 外部服务 | 虚线边框矩形 |
|
||||
|
||||
---
|
||||
|
||||
## 箭头语义
|
||||
|
||||
| 流类型 | 线宽 | 虚线 | 含义 |
|
||||
|--------|------|------|------|
|
||||
| 主数据流 | 2px 实线 | — | 主要请求/响应路径 |
|
||||
| 控制 / 触发 | 1.5px 实线 | — | 系统 A 触发 B |
|
||||
| 记忆读取 | 1.5px 实线 | — | 从存储检索 |
|
||||
| 记忆写入 | 1.5px | `5,3` | 写入/存储操作 |
|
||||
| 异步 / 事件 | 1.5px | `4,2` | 非阻塞 |
|
||||
| 反馈 / 循环 | 1.5px 曲线 | — | 迭代推理 |
|
||||
|
||||
---
|
||||
|
||||
## 文件结构
|
||||
|
||||
```
|
||||
fireworks-tech-graph/
|
||||
├── SKILL.md # 主 Skill 文件 — 图类型、布局规则、形状词汇
|
||||
├── README.md # 英文文档
|
||||
├── README.zh.md # 本文件(中文)
|
||||
├── references/
|
||||
│ ├── style-1-flat-icon.md # 白底风格 — 彩色强调色
|
||||
│ ├── style-2-dark-terminal.md # 暗黑风格 — Neon 配色,等宽字体
|
||||
│ ├── style-3-blueprint.md # 蓝图风格 — 网格底纹,青色线条
|
||||
│ ├── style-4-notion-clean.md # 极简风格 — 白底,单色箭头
|
||||
│ ├── style-5-glassmorphism.md # 玻璃态风格 — 深色渐变,磨砂卡片
|
||||
│ ├── style-6-claude-official.md # Claude 官方风格 — 温暖奶油色,Anthropic 品牌
|
||||
│ ├── style-7-openai.md # OpenAI 官方风格 — 简洁白色,OpenAI 品牌配色
|
||||
│ └── icons.md # 40+ 产品图标 + 语义形状模板
|
||||
├── agents/
|
||||
│ └── openai.yaml # 兼容运行时使用的 Agent 元数据
|
||||
├── fixtures/
|
||||
│ ├── mem0-style1.json # Style 1 回归样例
|
||||
│ ├── tool-call-style2.json # Style 2 回归样例
|
||||
│ └── ... # 各风格样图级 fixture
|
||||
├── scripts/
|
||||
│ ├── generate-diagram.sh # SVG 校验与 PNG 导出
|
||||
│ ├── generate-from-template.py # 基于模板生成 SVG 起始文件
|
||||
│ ├── validate-svg.sh # SVG 语法校验
|
||||
│ └── test-all-styles.sh # 批量测试所有风格
|
||||
├── assets/
|
||||
│ └── samples/ # 示例图 PNG
|
||||
├── templates/
|
||||
│ ├── architecture.svg # 架构图模板
|
||||
│ ├── data-flow.svg # 数据流模板
|
||||
│ └── ... # 其他图类型模板
|
||||
└── agentloop-core.svg # 仓库自带示例 SVG
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 产品图标覆盖范围
|
||||
|
||||
**AI/ML 模型:** OpenAI、Anthropic/Claude、Google Gemini、Meta LLaMA、Mistral、Cohere、Groq、Hugging Face
|
||||
|
||||
**AI 框架:** Mem0、LangChain、LlamaIndex、LangGraph、CrewAI、AutoGen、DSPy、Haystack
|
||||
|
||||
**向量数据库:** Pinecone、Weaviate、Qdrant、Chroma、Milvus、pgvector、Faiss
|
||||
|
||||
**关系型/NoSQL 数据库:** PostgreSQL、MySQL、MongoDB、Redis、Elasticsearch、Neo4j、Cassandra
|
||||
|
||||
**消息队列:** Kafka、RabbitMQ、NATS、Pulsar
|
||||
|
||||
**云服务 & 基础设施:** AWS、GCP、Azure、Cloudflare、Vercel、Docker、Kubernetes
|
||||
|
||||
**可观测性:** Grafana、Prometheus、Datadog、LangSmith、Langfuse、Arize
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
MIT © 2025 fireworks-tech-graph contributors
|
||||
@@ -1,244 +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 做成那种高级的展示图,配上专业的背景,效果很惊艳。
|
||||
|
||||
![[IMG-20260420142620517.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 会帮你生成专业的展示图。这一步提供两种方案:
|
||||
|
||||
方案 1:Nano Banana 图片生成(12 种专业背景)
|
||||
|
||||
用 Nano Banana(Gemini 的图片生成能力)生成高质量的静态展示图,提供 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。
|
||||
|
||||
方案 2:WebGL 动态背景(6 种交互式背景)
|
||||
|
||||
用 WebGL Shader 生成的动态背景,可以随意缩放、支持鼠标交互,非常适合放在官网首页或产品页:
|
||||
|
||||
6 种动态风格:
|
||||
|
||||
- LED Matrix(LED 矩阵):90×90 高密度 LED 网格 + 流动波浪动画,自适应主题色
|
||||
- Fluid Warping(流体扭曲):域扭曲 + 分形布朗运动(FBM),3 色渐变混合 + 鼠标交互
|
||||
- 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 的设计能力。
|
||||
|
||||
---
|
||||
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 做成那种高级的展示图,配上专业的背景,效果很惊艳。
|
||||
|
||||
![[IMG-20260420142620517.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 会帮你生成专业的展示图。这一步提供两种方案:
|
||||
|
||||
方案 1:Nano Banana 图片生成(12 种专业背景)
|
||||
|
||||
用 Nano Banana(Gemini 的图片生成能力)生成高质量的静态展示图,提供 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。
|
||||
|
||||
方案 2:WebGL 动态背景(6 种交互式背景)
|
||||
|
||||
用 WebGL Shader 生成的动态背景,可以随意缩放、支持鼠标交互,非常适合放在官网首页或产品页:
|
||||
|
||||
6 种动态风格:
|
||||
|
||||
- LED Matrix(LED 矩阵):90×90 高密度 LED 网格 + 流动波浪动画,自适应主题色
|
||||
- Fluid Warping(流体扭曲):域扭曲 + 分形布朗运动(FBM),3 色渐变混合 + 鼠标交互
|
||||
- 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 的设计能力。
|
||||
|
||||
**欢迎试用、反馈和贡献,觉得有帮助可以帮我点个赞,或者转发给需要的朋友。**
|
||||
Reference in New Issue
Block a user