2026-10-15 · 原文发布日
用n8n让AI自动归类Raindrop.io收藏夹
一个n8n免费模板:每15分钟读取Raindrop.io收件箱里最新的50条书签,把标题、链接和摘要发给Ollama或OpenAI兼容接口,让模型选出目标收藏集合并给出置信度;低置信度的书签会被移到备用集合,同时通过Telegram提醒你人工确认。集合列表保存在n8n数据表中,可按自己的分类习惯配置。
原文要点
原模板每15分钟读取Raindrop.io Inbox最近50条书签,从n8n Data Table的collections表载入collection_id、name、description,并读取配置:Inbox ID、fallback ID、LLM设置、可选规则和Telegram chat ID。每条书签把title、URL、excerpt发给Ollama的/api/chat或OpenAI兼容/chat/completions,要求返回单个目标collection_id和confidence;响应校验失败或低置信度进fallback集合并移动书签,同时发Telegram提醒。Raindrop请求用Authorization: Bearer token,LLM请求按需加Header Auth。
这次做成什么
搭一个可调的“书签自动分拣”练习:用n8n数据表维护分类,定时取Inbox书签,让模型只返回目标集合ID与置信度,按阈值决定移动或进待确认集合,并对不确定项发Telegram。
准备什么
- n8n实例及Data Table功能可用
- Raindrop.io账号与API token
- Inbox集合ID和fallback集合ID
- Ollama服务或OpenAI兼容接口地址
- Telegram Bot凭据与chat ID
- 至少三个自定义收藏集合及描述
具体怎么做
建collections数据表
在n8n Data Tables建表collections,每行一个Raindrop集合:collection_id填Raindrop真实数字ID,name短名,description写清放入标准,例如“AI工程:模型部署、推理优化、MLOps”,描述会直接影响分类稳定度。
保存运行配置
用模板setup form或等价Set节点保存inbox_collection_id、fallback_collection_id、confidence_threshold如0.72、extra_rules、telegram_chat_id、llm_base_url与model;阈值先取中间值,后续按误判率调。
定时读取Inbox
Schedule Trigger每15分钟;HTTP Request GET Raindrop raindrops接口,Header用Authorization: Bearer YOUR_TOKEN,参数collectionId=inbox_collection_id、sort=-created、perpage=50,仅处理最近创建项。
逐条调用LLM并校验
Split In Batches逐条发送title/link/excerpt和collections表;提示词强制只返回JSON;Code节点校验collection_id必须存在于数据表,confidence为0到1数字,否则标记invalid并路由fallback。
移动、分支与提醒
confidence>=threshold且valid则PUT更新Raindrop item的collectionId为目标集合;否则移动到fallback_collection_id,并用Telegram sendMessage发书名、链接、模型置信度和两个候选集合,方便人工一键后续处理。
可直接复制的材料
分类模型提示词
本站独立编写;Ollama与OpenAI兼容的消息包装不同,需在HTTP节点按你的服务商调整。
你是书签分拣器。只输出JSON:{"collection_id":123,"confidence":0.0,"reason":"短理由"}。从给定collections中选择唯一最匹配的collection_id;若都不匹配,仍给最接近者且confidence不高于0.4。判断依据优先级:用户extra_rules > description语义 > title关键词 > excerpt主题。禁止输出集合表不存在的id,禁止Markdown,禁止解释长文。输入:bookmark={"title":"","url":"","excerpt":""}; collections=[{"collection_id":0,"name":"","description":""}]; extra_rules=""collections表合成行
collection_id换成你的Raindrop真实集合;description宁少勿泛,重叠描述会拉低置信度。
collection_id,name,description
3101001,AI工程,模型部署、推理优化、向量检索、MLOps与评测
3101002,增长营销,SEO、投放、转化漏斗、文案与案例
3101003,产品设计,交互、视觉系统、用户研究、可用性测试
3101999,待确认,低置信度或模型输出无效时暂存独立配置示例
仅为方案;真实端点、模型名、token和chat_id必须替换,原模板未给下载时别编造导入JSON。
{"raindrop":{"authHeader":"Authorization: Bearer REPLACE_RAINDROP_TOKEN","inbox_collection_id":0,"fallback_collection_id":3101999,"perpage":50,"sort":"-created"},"llm":{"mode":"openai_compatible","base_url":"https://llm.example.test/v1/chat/completions","model":"replace-with-your-model","timeout_ms":20000},"routing":{"confidence_threshold":0.72,"invalid_to_fallback":true,"extra_rules":"公司域名和内部文档优先放AI工程"},"telegram":{"chat_id":"REPLACE_CHAT_ID","send_on_low_confidence_only":true}}输入与输出示例
本站虚构演示,非原作者结果;未声称真实调用成功。
输入
书签title=“vLLM continuous batching notes”,url=https://example.test/vllm-batch,excerpt=“throughput, paged attention, deployment”;候选含AI工程/增长营销/产品设计/待确认,阈值0.72。对应输出
模型返回{"collection_id":3101001,"confidence":0.86,"reason":"部署与推理优化"};n8n校验id存在且0.86>=0.72,PUT Raindrop把该书签collectionId改为3101001,不发Telegram。若confidence=0.51,则移动到3101999并推送待确认。做完检查这些
- collections表至少3行且collection_id与Raindrop真实集合一致
- 每条书签请求都带Bearer token且perpage=50、sort=-created
- 模型输出非法JSON或id不存在时进入fallback并记invalid
- 低置信度Telegram消息包含链接、置信度和候选集合
容易卡住的地方
- 集合描述互相重叠会让模型随机选择,应先改描述再调阈值
- Ollama/api/chat与OpenAI/chat/completions载荷不同,不能混抄
- Raindrop移动失败常见是token无写权限或collectionId类型错误
- 15分钟50条在高峰期可能漏旧项,需按created游标补扫
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Sort Raindrop.io bookmarks into collections with OpenAI or Ollama and Telegram alerts
- 原作者
- Randy Helvey
- 原始发布日期
- 2026-10-15T03:57:48.388Z
- 来源
- https://n8n.io/workflows/20986