名称: clinkding
描述: 管理 Linkding 书签 - 保存 URL、搜索、打标签、整理和检索个人书签收藏。当用户想要保存链接、搜索书签、管理标签或整理阅读列表时使用。
主页: https://github.com/daveonkels/clinkding
元数据: {"clawdis":{"emoji":"🔖","requires":{"bins":["clinkding"]},"install":[{"id":"homebrew","kind":"brew","formula":"daveonkels/tap/clinkding","bins":["clinkding"],"label":"安装 clinkding (Homebrew)"},{"id":"go","kind":"go","module":"github.com/daveonkels/clinkding@latest","bins":["clinkding"],"label":"安装 clinkding (Go)"}]}}
一个基于 Go 的现代化 CLI 工具,用于管理 linkding(一个自托管书签管理器)中的书签。
Linkding 是一个自托管书签管理器(类似 Pocket、Instapaper)。clinkding 是让你能从终端或通过 AI 代理管理书签的 CLI 工具。
可以将其视为:
- 稍后阅读 - 捕获你想阅读的 URL
- 可搜索的库 - 对标题、描述、标签进行全文搜索
- 有序的收藏 - 为相关书签打标签并打包
- 个人存档 - 保存带有笔记和元数据的重要链接
# 交互式配置
clinkding config init
# 或手动配置
clinkding config set url https://你的-linkding-实例.com
clinkding config set token 你的_API_令牌
# 测试连接
clinkding config test
位置:~/.config/clinkding/config.yaml
url: https://linkding.example.com
token: 你的-api-token-在这里
defaults:
bookmark_limit: 100
output_format: auto
export LINKDING_URL="https://linkding.example.com"
export LINKDING_TOKEN="你的-api-token-在这里"
# 列出最近的书签
clinkding bookmarks list
# 按关键词搜索
clinkding bookmarks list --query "golang 教程"
# 按标签过滤
clinkding bookmarks list --query "tag:programming"
# 最近的书签(过去 7 天)
clinkding bookmarks list --added-since "7d"
# 未读书签
clinkding bookmarks list --query "unread:yes"
# JSON 输出,用于脚本处理
clinkding bookmarks list --json
# 纯文本(制表符分隔)
clinkding bookmarks list --plain
# 简单书签
clinkding bookmarks create https://go.dev
# 带元数据
clinkding bookmarks create https://go.dev \
--title "Go 编程语言" \
--tags "golang,programming,reference" \
--description "Go 官方网站" \
--unread
# 创建前检查 URL 是否已存在
clinkding bookmarks check https://go.dev
# 更新标题
clinkding bookmarks update 42 --title "新标题"
# 添加标签
clinkding bookmarks update 42 --add-tags "important,work"
# 移除标签
clinkding bookmarks update 42 --remove-tags "old-tag"
# 标记为已读
clinkding bookmarks update 42 --read
# 更新描述
clinkding bookmarks update 42 --description "更新后的笔记"
# 完整详情
clinkding bookmarks get 42
# JSON 输出
clinkding bookmarks get 42 --json
# 归档(从主列表中隐藏)
clinkding bookmarks archive 42
# 取消归档
clinkding bookmarks unarchive 42
# 永久删除
clinkding bookmarks delete 42
# 列出所有标签
clinkding tags list
# 创建标签
clinkding tags create "golang"
# 获取标签详情
clinkding tags get 1
# 纯文本输出
clinkding tags list --plain
集合是相关书签的合集。
# 列出集合
clinkding bundles list
# 创建集合
clinkding bundles create "Go 资源" \
--description "与 Go 编程相关的一切"
# 更新集合
clinkding bundles update 1 --name "Go 语言资源"
# 获取集合详情
clinkding bundles get 1
# 删除集合
clinkding bundles delete 1
上传和管理书签的文件附件。
# 列出书签的资源
clinkding assets list 42
# 上传文件
clinkding assets upload 42 ~/Documents/screenshot.png
# 下载资源
clinkding assets download 42 1 -o ./downloaded-file.png
# 删除资源
clinkding assets delete 42 1
# 获取用户资料信息
clinkding user profile
# 用户:"稍后保存这个:https://example.com"
clinkding bookmarks create https://example.com \
--title "文章标题" \
--description "来自对话的上下文" \
--tags "topic,context"
# 用户:"查找我的 golang 书签"
clinkding bookmarks list --query "golang"
# 用户:"显示我未读的编程文章"
clinkding bookmarks list --query "tag:programming unread:yes"
# 用户:"我上周保存了什么?"
clinkding bookmarks list --added-since "7d"
# 用户:"将书签 42 标记为重要"
clinkding bookmarks update 42 --add-tags "important"
# 用户:"为我的 AI 研究链接创建一个集合"
clinkding bundles create "AI 研究" \
--description "机器学习和 AI 论文"
# 用户:"给我点东西读"
clinkding bookmarks list --query "unread:yes" --limit 5
# 用户:"显示我的 golang 教程"
clinkding bookmarks list --query "tag:golang tag:tutorial"
适用于终端显示的人性化表格和颜色。
clinkding bookmarks list --json
机器可读,适用于脚本和代理解析。
clinkding bookmarks list --plain
制表符分隔的值,便于管道解析。
支持人性化的时间范围:
# 过去 24 小时
clinkding bookmarks list --added-since "24h"
# 过去 7 天
clinkding bookmarks list --added-since "7d"
# 过去 6 个月
clinkding bookmarks list --modified-since "180d"
支持的单位: h(小时),d(天),y(年)
# 检查未读书签
clinkding bookmarks list --query "unread:yes"
# 获取最近 5 条
clinkding bookmarks list --limit 5
# macOS
pbpaste | xargs -I {} clinkding bookmarks create {}
# Linux
xclip -o | xargs -I {} clinkding bookmarks create {}
# 为多个书签打标签
for id in 42 43 44; do
clinkding bookmarks update $id --add-tags "important"
done
# 归档旧的未读书签
clinkding bookmarks list --query "unread:yes" --added-since "30d" --plain | \
while read id _; do
clinkding bookmarks archive "$id"
done
# 将所有书签导出为 JSON
clinkding bookmarks list --json > bookmarks-backup-$(date +%Y%m%d).json
# 导出特定标签
clinkding bookmarks list --query "tag:important" --json > important.json
所有命令均可用:
| 标志 | 描述 |
|---|---|
-c, --config <文件> |
配置文件路径 |
-u, --url <url> |
Linkding 实例 URL |
-t, --token <令牌> |
API 令牌 |
--json |
输出为 JSON |
--plain |
输出为纯文本 |
--no-color |
禁用颜色 |
-q, --quiet |
最小化输出 |
-v, --verbose |
详细输出 |
| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 1 | 一般错误(API/网络) |
| 2 | 无效使用(错误的标志/参数) |
| 3 | 认证错误 |
| 4 | 未找到 |
| 130 | 中断(Ctrl-C) |
# 验证设置
clinkding config show
# 测试连接
clinkding config test
认证错误:
- 在 linkding 网页界面验证 API 令牌
- 检查 URL 是否包含协议(https://)
- 移除 URL 末尾的斜杠
命令特定帮助:
clinkding bookmarks --help
clinkding bookmarks create --help
brew install daveonkels/tap/clinkdingbrew install daveonkels/tap/clinkding
go install github.com/daveonkels/clinkding@latest
从 发布页面 为你的平台下载。
# Bash
clinkding completion bash > /etc/bash_completion.d/clinkding
# Zsh
clinkding completion zsh > "${fpath[1]}/_clinkding"
# Fish
clinkding completion fish > ~/.config/fish/completions/clinkding.fish
构建者: @daveonkels
许可证: MIT
当用户说“添加到 linkding”或“保存此 URL”时,请遵循此工作流:
1. 从 URL 提取元数据
使用 summarize 技能获取标题和描述:
# 获取页面元数据
summarize url https://example.com --format json
这将返回包含以下内容的结构化数据:
- 标题
- 描述/摘要
- 主要内容
2. 从内容推断合适的标签
将内容映射到仅限现有的规范标签。请不要创建新标签。
使用此规范标签列表(共 263 个标签):
- 技术: webdev, design, programming, ai, cloud, devops, docker, linux, networking, security, privacy
- 内容: content, media, photography, video, audio, books, podcasting
- 商业: business, marketing, ecommerce, finance, career, productivity
- 家庭: smart-home, home-assistant, esphome, iot, home-improvement
- 工具: tools, cli, git, github, editor, reference, documentation
- 数据: data, analytics, mysql, nosql
- 通信: communication, email, messaging, slack
- 教育: education, guide, howto, research, testing
- 地点: texas, seattle, dallas(谨慎使用)
标签选择规则:
- 最多使用 2-5 个标签
- 选择最具体的适用标签
- 如果不确定,默认使用更广泛的类别(例如,tools 优于 generator)
- 首先检查现有标签:clinkding tags list --plain | grep -i <关键字>
- 切勿创建类似这样的标签:awesome, cool, interesting, resources, tips
3. 使用元数据创建书签
clinkding bookmarks create "https://example.com" \
--title "来自 summarize 的标题" \
--description "来自 summarize 的摘要(1-2 句话)" \
--tags "webdev,tools,reference"
用户: “保存这个到 linkding:https://github.com/awesome/project”
代理操作:
# 1. 检查是否已收藏
clinkding bookmarks check https://github.com/awesome/project
# 2. 获取元数据(使用 summarize 技能)
summarize url https://github.com/awesome/project --format json
# 3. 分析内容并推断标签
# 从摘要:"一个用于 Docker 容器管理的 CLI 工具"
# 规范标签:docker, devops, cli, tools
# 4. 创建书签
clinkding bookmarks create https://github.com/awesome/project \
--title "Awesome Project - Docker 容器 CLI" \
--description "用于管理 Docker 容器的命令行工具,具有增强功能" \
--tags "docker,devops,cli"
使用这些规则将内容 → 规范标签:
| 内容类型 | 规范标签 |
|---|---|
| Web 开发,HTML,CSS,JavaScript | webdev, css, javascript |
| React,框架,前端 | webdev, react |
| 设计,UI/UX,原型 | design |
| Python,Go,Ruby 代码 | programming, python/ruby |
| Docker,K8s,DevOps | docker, devops, cloud |
| 家庭自动化,ESP32,传感器 | smart-home, esphome, iot |
| AI,ML,LLMs | ai, llm |
| 生产力工具,工作流 | productivity, tools |
| 金融,投资,加密货币 | finance |
| 营销,SEO,广告 | marketing |
| 购物,优惠,商店 | ecommerce |
| 教程,指南,文档 | guide, howto, documentation |
| 安全,隐私,加密 | security, privacy |
| 本地(DFW/Seattle) | texas, seattle |
始终运行这些检查:
# 1. URL 是否已存在?
clinkding bookmarks check <url>
# 2. 标签是否存在?
clinkding tags list --plain | grep -iE "^(tag1|tag2|tag3)$"
# 3. 我们是否在使用规范标签?
# 对照 263 个规范标签进行交叉引用
# 未经用户明确请求,切勿创建新标签
如果用户提供多个 URL:
# 使用元数据提取分别处理每个 URL
for url in url1 url2 url3; do
# 获取元数据
# 推断标签
# 创建书签
done
如果用户说“更新那个书签”或“为我的上次保存添加标签”:
# 获取最近的书签
recent_id=$(clinkding bookmarks list --limit 1 --plain | cut -f1)
# 添加标签(除非被要求,否则不要移除现有标签)
clinkding bookmarks update $recent_id --add-tags "new-tag"
# 更新描述
clinkding bookmarks update $recent_id --description "更新后的笔记"
summarize 获取良好的标题/描述Dave 的 linkding 实例在合并了 17,189 个重复项后,拥有 263 个规范标签。
顶级类别(按书签数量):
- pinboard (4,987) - 遗留导入标签
- ifttt (2,639) - 遗留导入标签
- webdev (1,679) - Web 开发
- design (561) - 设计/UI/UX
- content (416) - 内容/写作
- cloud (383) - 云/托管/SaaS
- business (364) - 商业/策略
- ecommerce (308) - 购物/市场
- smart-home (295) - 家庭自动化