核心问题

未配置 LLM_API_KEY 是否就无法抓取文章正文并生成可供 API 发布的完整 JSON 数据?


## 背景 在使用资讯抓取工具时,界面提示“未配置 LLM_API_KEY,请在 .env 中填写”。用户担心不配置该密钥会导致无法抓取文章,并发现预览目录下的 JSON 文件缺少正文内容。本文梳理无 LLM 模式下的抓取逻辑、JSON 结构以及如何通过 API 写入圆圈网数据库。 ## 核心问题 不配置 LLM 密钥是否影响抓取?为什么之前生成的 JSON 几乎没有正文?如何将完整数据提交到圆圈网? ## 解决方案 ### 1. 不配置 LLM Key 也能完整抓取 提示信息仅表示未启用 AI 改写功能,但抓取流程依然完整: - 从 RSS 源获取标题和原文链接 - 访问原文链接抓取全文(上限约 1 万字) - 整理为包含 `title`、`summary`、`content` 等字段的 JSON 文件 - 支持本地预览或通过 API 提交 关键配置影响对照如下: | 配置项 | 作用 | |--------|------| | 不填 LLM_API_KEY | 抓取原文并生成 JSON,无 AI 优化 | | 填写 LLM_API_KEY | 在抓取基础上用 AI 优化标题、摘要和正文 | | 不填 CIRCLER_API_TOKEN | 只能本地预览,不写入数据库 | | 填写 CIRCLER_API_TOKEN | 可关闭“仅预览”,通过 API 写入圆圈网 | > 功能“按标题写文章”仍需 LLM_API_KEY,而 RSS 抓取不受影响。 ### 2. JSON 缺少正文的原因及改进 此前 JSON 中 body 字段很短,原因有两点: - 无 LLM 时只取了 RSS 摘要(约 300 字符),未抓取全文 - 预览文件保存时截取了前 500 字,导致看起来像没有正文 当前实现已修正: - 自动打开原文链接,提取正文 HTML - JSON 文件中保留完整的 `content`(HTML 格式),以及 `source_url`、`category_id` 等字段 - 每批次还会生成汇总文件 `preview/news/batch_时间戳.json` 重新运行功能 1 即可获得含完整正文的 JSON。 ### 3. 数据进入圆圈网数据库的流程 整体工作流为: ``` RSS/网页抓取 → 整理 JSON → POST 到圆圈网 API → 后台写入数据库 ``` 发布时 JSON 结构示例: ```json { "title": "文章标题", "summary": "摘要内容", "content": "

正文段落...