OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  clinkding:管理 linkding 书签——保存、搜索及组织 URL

clinkding:管理 linkding 书签——保存、搜索及组织 URL

 
  sharding ·  2026-02-16 20:41:05 · 3 次点击  · 0 条评论  

名称: 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)"}]}}


clinkding - Linkding 书签管理器 CLI

一个基于 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

代理使用模式

从对话中保存 URL

# 用户:"稍后保存这个: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"

输出格式

自动(默认)

适用于终端显示的人性化表格和颜色。

JSON

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

链接

  • GitHub: https://github.com/daveonkels/clinkding
  • Linkding: https://github.com/sissbruecker/linkding
  • Homebrew: brew install daveonkels/tap/clinkding

安装

Homebrew (macOS/Linux)

brew install daveonkels/tap/clinkding

Go Install

go install github.com/daveonkels/clinkding@latest

二进制下载

发布页面 为你的平台下载。

Shell 自动补全

# 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

智能书签创建的代理工作流

使用自动元数据添加 URL

当用户说“添加到 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 "更新后的笔记"

关键原则

  1. 始终获取元数据 - 使用 summarize 获取良好的标题/描述
  2. 使用现有标签 - 未经检查规范列表,切勿创建新标签
  3. 有选择性 - 最多 2-5 个标签,选择最具体的适用标签
  4. 先验证 - 创建前检查重复项
  5. 提供上下文 - 包含简要描述,解释其为何有用

当前规范标签结构

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) - 家庭自动化

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor