ClawSkills logoClawSkills

Raindrop.io Bookmarks

通过 CLI 搜索、列出和管理 Raindrop.io 书签。当用户想要查找已保存的链接、浏览收藏、添加新书签、使用标签进行组织时使用...

介绍

# Raindrop.io Bookmarks

通过 Raindrop.io API 管理书签。

## 设置

```bash # Get token from: https://app.raindrop.io/settings/integrations → "Create test token" echo 'RAINDROP_TOKEN="your-token"' > ~/.config/raindrop.env

# Or pass token at runtime (recommended for ephemeral use) {baseDir}/scripts/raindrop.sh --token "your-token" whoami ```

## 快速开始

```bash # Search bookmarks {baseDir}/scripts/raindrop.sh search "AI tools"

# List unsorted bookmarks {baseDir}/scripts/raindrop.sh list -1 --limit 50

# Count unsorted {baseDir}/scripts/raindrop.sh count -1

# Create collection and move bookmarks {baseDir}/scripts/raindrop.sh create-collection "AI Coding" {baseDir}/scripts/raindrop.sh move 12345 66016720

# Bulk move (efficient!) {baseDir}/scripts/raindrop.sh bulk-move "123,456,789" 66016720 ```

## 命令

### 读取

| 命令 | 描述 | |---------|-------------| | `whoami` | 显示已认证用户 | | `collections` | 列出所有集合及其 ID | | `list [ID]` | 列出书签(默认:0 = 全部) | | `count [ID]` | 统计集合中的书签数量 | | `search QUERY [ID]` | 搜索书签 | | `get ID` | 获取书签详情 | | `tags` | 列出所有标签及其计数 | | `list-untagged [ID]` | 查找无标签的书签 | | `cache ID` | 获取永久副本(仅限专业版) |

### 写入

| 命令 | 描述 | |---------|-------------| | `add URL [ID]` | 添加书签(默认:-1 = 未分类) | | `delete ID` | 删除书签 | | `create-collection NAME` | 创建新集合 | | `move ID COLLECTION` | 将书签移动到集合 | | `update ID [opts]` | 更新标签/标题/集合 | | `bulk-move IDS TARGET [SOURCE]` | 移动多个书签(源默认为 -1/未分类) | | `suggest URL` | 获取 AI 建议的标签/标题 |

### 选项

| 标志 | 描述 | |------|-------------| | `--json` | 原始 JSON 输出 | | `--limit N` | 最大结果数(默认:25) | | `--page N` | 分页(从 0 开始) | | `--delay MS` | API 调用之间的延迟(速率限制) | | `--token TOKEN` | 覆盖 API 令牌 |

### 更新选项

对于 `update` 命令:

| 标志 | 描述 | |------|-------------| | `--tags TAG1,TAG2` | 设置标签(逗号分隔) | | `--title TITLE` | 设置标题 | | `--collection ID` | 移动到集合 |

### 集合 ID

- `0` = 所有书签 - `-1` = 未分类 - `-99` = 回收站 - `N` = 特定集合(通过 `collections` 获取 ID)

## 示例

```bash # List unsorted with pagination {baseDir}/scripts/raindrop.sh list -1 --limit 50 --page 0 {baseDir}/scripts/raindrop.sh list -1 --limit 50 --page 1

# Create collection {baseDir}/scripts/raindrop.sh create-collection "AI Coding" # Output: Created: AI Coding / ID: 66016720

# Move single bookmark {baseDir}/scripts/raindrop.sh move 1234567 66016720

# Update bookmark with tags and move {baseDir}/scripts/raindrop.sh update 1234567 --tags "claude-code,workflow,tips" --collection 66016720

# Bulk move with rate limiting (100ms between calls) {baseDir}/scripts/raindrop.sh bulk-move "123,456,789,101112" 66016720 --delay 100

# Find untagged bookmarks in unsorted {baseDir}/scripts/raindrop.sh list-untagged -1 --limit 100

# Get JSON for scripting {baseDir}/scripts/raindrop.sh list -1 --json --limit 50 | jq '.items[]._id'

# Count unsorted bookmarks {baseDir}/scripts/raindrop.sh count -1 ```

## 批量操作

对于大批量操作,请使用 `bulk-move`,该命令使用 Raindrop 批量 API(每个请求最多 100 项):

```bash # Get IDs from unsorted ids=$({baseDir}/scripts/raindrop.sh list -1 --json --limit 100 | jq -r '[.items[]._id] | join(",")')

# Move all to collection {baseDir}/scripts/raindrop.sh bulk-move "$ids" 66016720 ```

## 速率限制

Raindrop API 具有速率限制。对于批量操作:

1. 使用 `--delay 100`(每次调用间隔 100 毫秒) 2. 使用 `bulk-move` 而不是单独的 `move` 调用 3. 按 50-100 的批次处理

## 直接 API

对于未涵盖的操作:

```bash source ~/.config/raindrop.env

# Update tags curl -X PUT "https://api.raindrop.io/rest/v1/raindrop/ID" \ -H "Authorization: Bearer $RAINDROP_TOKEN" \ -H "Content-Type: application/json" \ -d '{"tags": ["tag1", "tag2"]}'

# Bulk update (up to 100 IDs) curl -X PUT "https://api.raindrop.io/rest/v1/raindrops" \ -H "Authorization: Bearer $RAINDROP_TOKEN" \ -H "Content-Type: application/json" \ -d '{"ids": [123, 456, 789], "collectionId": 12345}' ```

API 文档:https://developer.raindrop.io/

更多产品