小白也能用AI开发「小红书自动归档多维表格」采集神器,躺平整理笔记真香:TaoToken统一API配置与Chrome插件联调指南
1. 从手动复制到自动归档小红书采集的真实痛点刷小红书时看到好选题想带链接存下来结果要么截图丢相册吃灰要么复制粘贴到备忘录里再也找不到。手动整理到 Excel 更痛苦标题、作者、正文、标签、点赞数、收藏数、评论数七个字段来回切窗口采一条笔记至少两分钟。一天采二十条四十分钟就没了还容易漏字段。这个场景适合谁适合零基础但愿意跟着步骤操作的开发者适合做内容运营、选题调研、竞品分析的人也适合想练手 Chrome 插件 AI 编程的初学者。核心目标只有一个点一下浏览器按钮笔记数据自动写进飞书多维表格采集链路一次跑通。我试过用纯手动方式整理了两周后来决定用 Cursor 写一个 Chrome 插件配合 TaoToken 统一 API 做模型调用和调试辅助把整条链路自动化。下面把可复制的配置骨架、manifest 写法、API 调用示例和本地验证动作全部拆开讲。2. TaoToken 前置统一 Key 与 settings.json 配置骨架TaoToken 在这里的角色是统一 API 入口。你在 Cursor 里写插件时需要让 AI 帮你生成代码、排查报错、优化提取逻辑这些都需要模型调用。TaoToken 把模型对话、Coding Plan、API Keys 管理放在同一个控制台里不用在多个平台之间切换。官网地址https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentAPI 地址https://taotoken.net/api2.1 获取 Key 与模型对话入口先到 API Keys 页面创建一个 Keyhttps://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite创建后复制保存。如果你只是想先验证模型能不能正常对话可以直接打开模型对话页面https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite长期做编码和 Agent 开发的话Coding Plan 更适合https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite2.2 settings.json 可复制配置骨架在 Cursor 里你可以把 TaoToken 的 API 配置写进项目的 settings.json 或环境变量文件。下面是一个可复制的骨架把sk-你的Key替换成实际值{ taotoken: { base_url: https://taotoken.net/api, api_key: sk-你的Key, default_model: claude-sonnet-4-20250514, timeout: 30000, max_retries: 2 }, feishu: { app_id: cli_你的AppID, app_secret: 你的AppSecret, app_token: 多维表格base后的字符串, table_id: table后的字符串 } }注意api_key 不要提交到公开仓库本地开发用 .env 或 .gitignore 排除。如果你用的是 Claude Code 或 Anthropic 风格的调用方式接入文档在这里https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewriteClaude Code 专用接入说明https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaude_codeutm_campaignrewrite3. Chrome 插件 manifest 与飞书 API 调用示例3.1 manifest.json 最小可用骨架Chrome 插件从 Manifest V3 开始权限和后台脚本写法都有变化。下面是一个能跑通采集链路的最小骨架{ manifest_version: 3, name: Redbook Collect, version: 1.0.0, description: 采集小红书笔记并写入飞书多维表格, permissions: [activeTab, storage, scripting], host_permissions: [ https://www.xiaohongshu.com/*, https://open.feishu.cn/* ], action: { default_popup: popup.html, default_icon: { 16: icon16.png, 48: icon48.png, 128: icon128.png } }, background: { service_worker: background.js }, content_scripts: [ { matches: [https://www.xiaohongshu.com/*], js: [content.js] } ] }三个 icon 文件放在项目根目录命名分别为 icon16.png、icon48.png、icon128.png否则加载时会提示找不到图标。3.2 飞书多维表格新增记录 API 调用飞书多维表格新增记录的接口地址是POST https://open.feishu.cn/open-apis/bitable/v1/apps/{app_token}/tables/{table_id}/records请求体结构如下字段名必须和你在多维表格里创建的表头完全一致{ fields: { url: https://www.xiaohongshu.com/explore/xxxx, 标题: 提取的标题文本, 作者: 提取的作者名, 正文: 提取的正文内容, 标签: [标签1, 标签2], 点赞: 19, 收藏: 21, 评论: 23 } }获取 tenant_access_token 的请求{ app_id: cli_你的AppID, app_secret: 你的AppSecret }请求地址POST https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal注意类型选 tenant不要选 user。app_token 填多维表格地址栏 base 后面那串不是应用本身的 app_token。3.3 content.js 提取逻辑示例小红书笔记页面的标题、作者、正文、标签、互动数据分布在不同的 DOM 节点里。下面是一段可参考的提取逻辑function extractNoteData() { const title document.querySelector(.title)?.innerText || ; const author document.querySelector(.username)?.innerText || ; const content document.querySelector(.note-text)?.innerText || ; const tags Array.from(document.querySelectorAll(.tag)) .map(el el.innerText.replace(#, ).trim()); const likeCount parseInt( document.querySelector(.like-wrapper .count)?.innerText || 0 ); const collectCount parseInt( document.querySelector(.collect-wrapper .count)?.innerText || 0 ); const commentCount parseInt( document.querySelector(.chat-wrapper .count)?.innerText || 0 ); return { url: window.location.href, 标题: title, 作者: author, 正文: content, 标签: tags, 点赞: likeCount, 收藏: collectCount, 评论: commentCount }; }实际页面结构可能随版本变化建议先用 F12 确认当前选择器再让 Cursor 根据实际 HTML 调整。4. 本地加载插件并验证采集归档成功4.1 加载已解压的扩展程序打开 Chrome地址栏输入chrome://extensions/右上角开启「开发者模式」点击「加载已解压的扩展程序」选择你的项目文件夹。加载成功后在扩展栏点击图钉固定插件。4.2 配置参数并采集一条笔记点击插件图标进入配置页填入app_id注意不是 tenantapp_secret多维表格地址含 app_token 和 table_id保存后打开任意一条小红书笔记页面点击插件采集按钮。采集成功时按钮变绿飞书多维表格里会新增一行记录。4.3 验证归档结果回到飞书多维表格刷新页面确认新增记录中七个字段是否都有值。如果某些字段为空把对应的小红书页面 HTML 结构发给 Cursor让它按实际选择器重新提取。提示如果采集后表格里没有数据先检查 tenant_access_token 是否获取成功再检查 app_token 和 table_id 是否填对。5. 本篇常见错排查5.1 插件加载报错「找不到 icon」在项目根目录创建 icon16.png、icon48.png、icon128.png 三个文件即可。尺寸不对不会导致加载失败但建议按标准尺寸生成。5.2 飞书 API 返回 403 或权限错误检查三个地方应用是否发布了版本、多维表格是否添加了该应用、新增记录权限是否开通。没发布版本的应用在搜索里找不到相当于暗恋不表白。5.3 tenant_access_token 获取失败确认 app_id 和 app_secret 复制正确类型选 tenant。如果提示过期重新获取一次 token 再试。5.4 采集字段为空小红书页面结构可能更新选择器失效。把当前页面的 F12 HTML 片段发给 Cursor让它重新匹配。标签字段如果是数组确保飞书多维表格对应列类型是「多选」或「文本」。5.5 Cursor 生成的代码跑不通先检查 settings.json 里的 base_url 是否写成https://taotoken.net/apiapi_key 是否有效。如果模型调用报错到 API Keys 页面确认 Key 状态https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite6. 继续跑通整条链路的下一步采集链路跑通后你可以把插件配置页做成独立标签页容纳更多参数也可以把提取逻辑封装成可配置的选择器映射页面改版时只改配置不改代码。长期做编码和 Agent 开发的话Coding Plan 能省不少模型调用成本https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite接入文档和 Claude Code 配置参考https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewritehttps://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaude_codeutm_campaignrewrite先把一条笔记完整归档成功再批量采集。链路通了后面都是重复动作。