名称: raindrop
描述: 通过命令行搜索、列出和管理 Raindrop.io 书签。当用户需要查找已保存的链接、浏览收藏集、添加新书签、使用标签进行整理、在收藏集之间移动书签或操作其 Raindrop 库时使用。支持读取(搜索、列表、获取、标签)和写入(添加、删除、移动、更新、批量操作)。
元数据:
openclaw:
emoji: '🌧️'
homepage: https://developer.raindrop.io/
requires:
env:
- RAINDROP_TOKEN
bins:
- bash
- curl
- jq
- bc
config:
- ~/.config/raindrop.env
primaryEnv: RAINDROP_TOKEN
通过 Raindrop.io API 管理书签。
# 从以下位置获取令牌:https://app.raindrop.io/settings/integrations → "创建测试令牌"
echo 'RAINDROP_TOKEN="你的令牌"' > ~/.config/raindrop.env
# 或在运行时传递令牌(推荐临时使用)
{baseDir}/scripts/raindrop.sh --token "你的令牌" whoami
# 搜索书签
{baseDir}/scripts/raindrop.sh search "AI 工具"
# 列出未分类书签
{baseDir}/scripts/raindrop.sh list -1 --limit 50
# 统计未分类书签数量
{baseDir}/scripts/raindrop.sh count -1
# 创建收藏集并移动书签
{baseDir}/scripts/raindrop.sh create-collection "AI 编程"
{baseDir}/scripts/raindrop.sh move 12345 66016720
# 批量移动(高效!)
{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 |
获取永久副本(仅限 Pro 用户) |
| 命令 | 描述 |
|---|---|
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 |
移动到指定收藏集 |
0 = 所有书签-1 = 未分类-99 = 回收站N = 特定收藏集(通过 collections 命令获取 ID)# 分页列出未分类书签
{baseDir}/scripts/raindrop.sh list -1 --limit 50 --page 0
{baseDir}/scripts/raindrop.sh list -1 --limit 50 --page 1
# 创建收藏集
{baseDir}/scripts/raindrop.sh create-collection "AI 编程"
# 输出:已创建:AI 编程 / ID:66016720
# 移动单个书签
{baseDir}/scripts/raindrop.sh move 1234567 66016720
# 更新书签标签并移动
{baseDir}/scripts/raindrop.sh update 1234567 --tags "claude-code,workflow,tips" --collection 66016720
# 批量移动并设置速率限制(调用间隔 100 毫秒)
{baseDir}/scripts/raindrop.sh bulk-move "123,456,789,101112" 66016720 --delay 100
# 在未分类中查找无标签书签
{baseDir}/scripts/raindrop.sh list-untagged -1 --limit 100
# 获取 JSON 用于脚本处理
{baseDir}/scripts/raindrop.sh list -1 --json --limit 50 | jq '.items[]._id'
# 统计未分类书签数量
{baseDir}/scripts/raindrop.sh count -1
对于大型批量操作,请使用 bulk-move,它利用 Raindrop 批量 API(每次请求最多 100 项):
# 从未分类中获取 ID
ids=$({baseDir}/scripts/raindrop.sh list -1 --json --limit 100 | jq -r '[.items[]._id] | join(",")')
# 全部移动到收藏集
{baseDir}/scripts/raindrop.sh bulk-move "$ids" 66016720
Raindrop API 有速率限制。进行批量操作时:
--delay 100(调用间隔 100 毫秒)bulk-move 而非单个 move 调用对于未涵盖的操作:
source ~/.config/raindrop.env
# 更新标签
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"]}'
# 批量更新(最多 100 个 ID)
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/