首页 / 资讯中心 / 文章详情

零代码搭建本地知识库:FireCrawl爬取+CherryStudio构建实战指南(TaoToken 统一 Key 配置版)

零代码搭建本地知识库:FireCrawl爬取+CherryStudio构建实战指南(TaoToken 统一 Key 配置版) ★ FEATURED ARTICLE
1. 为什么我要把文档站搬进本地知识库做技术的人大概都有这种体验某个开源项目的文档站翻来覆去查每次都要联网、翻侧边栏、等页面加载遇到网络抖动还得重来。更麻烦的是很多文档站内容分散在几十个页面里想搜一个具体参数搜索引擎给的结果往往不是最新版本。我试过把文档一页页另存为 PDF结果格式乱、代码块丢失检索体验极差。后来我换了个思路能不能把整个文档站抓下来变成一份本地知识库然后用自然语言直接问答案是能而且全程零代码。这套流程的核心是三件事——用 FireCrawl 把网页抓成干净的 Markdown用 CherryStudio 把 Markdown 向量化成本地知识库再用 TaoToken 的统一 Key 把对话模型和嵌入模型都接上省去到处申请 Key、到处配 Base URL 的麻烦。这篇要交付的就是一条能跟做的完整链路从 FireCrawl Playground 抓取到 CherryStudio 建库、导入、问答再到 settings.json / config.toml 的配置骨架以及抓取和问答链路的验证方法。适合不想写爬虫、不想折腾向量数据库、只想快速把某个网站变成“能问的文档”的人。下面按步骤来每一步都给可复制的配置和验证方式。2. TaoToken 前置一个 Key 打通对话与嵌入在动手之前先把模型通道准备好。CherryStudio 建知识库需要两类模型嵌入模型把文本转成向量和对话模型基于检索结果生成回答。传统做法是嵌入模型去 A 平台申请、对话模型去 B 平台申请两套 Key、两套 Base URL配置起来容易出错。TaoToken 的思路是统一入口一个 API Key一个 Base URL同时提供对话模型和嵌入模型的调用能力。官网地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 端点是 https://taotoken.net/api 注意 API 地址不带 UTM 参数配置时直接用这个。你需要做的只有两步注册后在控制台创建一个 API Key然后记住这个 Base URL。后面 CherryStudio 里无论是嵌入模型还是对话模型都填同一个 Key 和同一个 Base URL只是模型名不同。这样知识库的“检索”和“回答”两条链路走同一个通道排查问题时也只需要看一个地方。注意API Key 属于敏感凭证不要写进会提交到 Git 的配置文件里。本地测试可以用环境变量或者放在不纳入版本管理的 settings 文件中。如果你还没创建 Key可以先去控制台的 API Keys 页面生成一个https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。生成后复制保存页面关闭后通常不再完整显示。3. 可复制配置FireCrawl 抓取 CherryStudio 建库3.1 FireCrawl Playground 抓取文档站FireCrawl 提供了可视化 Playground不用写代码就能抓站。打开 Playground 后先用 Map 模式摸清站点结构输入目标文档站地址运行后会返回该站的所有链接和总数。这个总数很关键它决定了你下一步 Crawl 的页面上限。接着切到 Crawl 模式参数这样配参数建议值说明URL文档站根地址例如某个项目的 docs 首页Limit略大于 Map 返回的链接数防止漏页比如 Map 返回 26 就填 30Formatsmarkdown直接产出可导入知识库的格式Extract Only Main Content勾选过滤导航栏、页脚、广告Include / Exclude Paths按需只想抓 /api/ 就填 include运行完成后点 Download会得到一个 Markdown 压缩包。解压后每个文件对应一个页面标题层级、代码块、表格都保留着。这一步的验证很简单随便打开一个 md 文件看代码块有没有语法标记、表格有没有被压成纯文本。如果代码块丢了围栏说明抓取时格式没保留好需要回 Playground 检查 Formats 是否选了 markdown。3.2 CherryStudio 配置骨架CherryStudio 的配置分两块模型服务和知识库。模型服务里添加 TaoToken 作为提供商Base URL 填 https://taotoken.net/api API Key 填你生成的那个。然后分别添加一个嵌入模型和一个对话模型。如果你习惯用配置文件管理CherryStudio 支持导入 settings.json。下面是一个配置骨架字段名以你实际版本为准核心是 baseUrl 和 apiKey 两处{ providers: [ { id: taotoken, name: TaoToken, type: openai, baseUrl: https://taotoken.net/api, apiKey: sk-你的Key, models: [ { id: 嵌入模型名, name: embedding, type: embedding }, { id: 对话模型名, name: chat, type: chat } ] } ] }如果你用的是支持 TOML 的客户端或脚本等价配置可以写成[provider.taotoken] name TaoToken type openai base_url https://taotoken.net/api api_key sk-你的Key [[provider.taotoken.models]] id 嵌入模型名 type embedding [[provider.taotoken.models]] id 对话模型名 type chat配好后点“检查”按钮确认连接状态正常。如果报 401多半是 Key 复制不全如果报 404检查 Base URL 是不是多写了路径或少了 /api。3.3 创建知识库并导入在 CherryStudio 左侧点知识库图标新建一个知识库命名比如“项目文档库”嵌入模型选刚才配的那个。这里有个“请求文档分段数量”的参数默认 6意思是每次检索返回的片段数。文档多、问题细的时候可以调到 8 到 10但调太高会拖慢回答速度也会让上下文变杂。然后把 FireCrawl 解压出来的 Markdown 文件全选拖进添加区域。系统会自动向量化文件旁会出现进度条完成后变绿勾。大文档可能要几分钟耐心等。导入完成后知识库列表里会显示每个文件的片段数这个数字能帮你判断文件有没有被正确切分——如果某个大文件只切出 1 个片段说明分段参数可能不合适。4. 验证请求抓取与问答链路怎么确认通了配置完不能只看界面显示“成功”要实际跑一遍链路。验证分两层。第一层验证抓取质量。在知识库里随便点开一个已导入的文件看它的分段内容。好的分段应该是语义完整的段落而不是被切成半句话。如果发现代码块被从中间切断可以在 CherryStudio 的知识库设置里调整分段长度或者回到 FireCrawl 抓取时用 includeTags 只保留正文标签减少噪声。第二层验证问答链路。新建一个对话在工具栏启用刚建的知识库然后问一个只有该文档里才有的问题比如某个函数的参数名、某个配置项的默认值。发送后观察两点回答下方有没有引用来源点开引用能不能定位到原文。如果回答是泛泛而谈、没有引用说明检索没命中可能是嵌入模型没配对或者问题太宽泛。你也可以直接用 curl 验证 TaoToken 通道是否通curl https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的Key \ -H Content-Type: application/json \ -d { model: 对话模型名, messages: [{role: user, content: ping}] }返回里有 choices 字段就说明通道正常。这一步能快速区分是“模型通道问题”还是“知识库检索问题”。如果 curl 通但 CherryStudio 问答没引用问题就在知识库侧如果 curl 也不通先解决 Key 和 Base URL。5. 本篇常见错排查抓取回来是空文件或只有导航。多半是没勾 Extract Only Main Content或者目标站是纯 JS 渲染、FireCrawl 没等到内容加载。前者勾上选项重抓后者可以在 Playground 里加等待时间或者换用站点地图里更静态的页面。CherryStudio 检查连接报 401。Key 复制时带了空格或者用了控制台里已删除的旧 Key。重新生成一个粘贴时注意首尾不要有空白字符。知识库导入后问答不引用。先确认对话里启用了知识库工具栏那个图标是点亮状态。再确认嵌入模型和建库时选的是同一个换过嵌入模型的话旧向量和新查询不在同一空间检索会失效需要重建知识库。回答引用了但内容对不上。通常是分段太碎或太大。分段太小一个完整答案被拆到多个片段检索只命中一半分段太大一个片段里混了多个主题检索精度下降。调整“请求文档分段数量”和分段长度重新向量化。抓取页面数远少于 Map 结果。Limit 设小了或者 exclude 规则误伤了正常路径。把 Limit 调大检查 include/exclude 是否写错。6. 后续怎么用把知识库接进日常流程知识库建好只是开始。日常使用中我建议按主题拆多个库比如“API 参考”“快速开始”“常见问题”各一个问不同问题时切换对应库检索精度比一个大杂烩库高不少。如果要把这套能力接进编码流程比如让 Agent 在写代码时查本地文档可以用 Coding Plan 把模型通道固定下来https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。接入细节和参数说明看文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。想先手动试试模型对话效果可以直接在模型对话页跑几个问题https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。整个链路里FireCrawl 负责“把网页变干净”CherryStudio 负责“把干净文本变可检索”TaoToken 负责“把检索结果变回答”三段各司其职任何一段出问题都能单独验证。
阅读完成 · 觉得有帮助?
咨询建站