[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83220":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":12,"stars7d":15,"stars30d":15,"stars90d":14,"forks30d":14,"starsTrendScore":16,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":9,"pushedAt":9,"updatedAt":22,"readmeContent":23,"aiSummary":9,"trendingCount":14,"starSnapshotCount":14,"syncStatus":24,"lastSyncTime":25,"discoverSource":26},83220,"RedNote-Insight","Amazinghorseli\u002FRedNote-Insight","Amazinghorseli","小红书爆款雷达 - 翻评论、找痛点、定方向，用 AI 从评论区挖出下一个爆款",null,"Python",65,1,53,0,7,6,0.9,"MIT License",false,"master",[],"2026-06-12 02:04:32","# 🎯 小红书爆款雷达\n\n**翻评论、找痛点、定方向——让 AI 帮你从评论区挖出下一个爆款。**\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLangGraph-1.0-blue\" alt=\"LangGraph\"\u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FStreamlit-1.40+-red\" alt=\"Streamlit\"\u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FChromaDB-0.5+-yellow\" alt=\"ChromaDB\"\u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBGE_M3-embedding-green\" alt=\"BGE-M3\"\u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-purple\" alt=\"License\"\u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.10+-blue\" alt=\"Python 3.10+\"\u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDeepSeek_V4-LLM-orange\" alt=\"DeepSeek\"\u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cb>🎯 不再凭感觉选品——输入品类，AI 替你翻十万评论、找痛点、定方向\u003C\u002Fb>\n\u003C\u002Fp>\n\n---\n\n## 📖 目录\n\n- [它能做什么](#-它能做什么)\n- [为什么你需要这个](#-为什么你需要这个)\n- [架构图](#-架构图)\n- [核心特性](#-核心特性)\n- [快速开始](#-快速开始)\n- [效果预览](#-效果预览)\n- [项目结构](#-项目结构)\n- [技术栈](#-技术栈)\n- [使用指南](#-使用指南)\n- [配置说明](#-配置说明)\n- [常见问题](#-常见问题)\n- [路线图](#-路线图)\n- [License](#-license)\n\n---\n\n## 🎯 它能做什么\n\n| 场景 | 说明 |\n|------|------|\n| 💬 **智能问答** | 基于小红书笔记库，回答产品相关问题（如\"磁吸感应灯哪个品牌好\"） |\n| 📊 **选品洞察** | 输入品类名称，自动分析评论区数据，输出结构化市场报告 |\n| 🔥 **自动抓取** | 知识库没有的品类？自动现场生成笔记，即时入库分析 |\n| 📥 **数据导入** | 支持 CSV\u002FExcel 一键导入你的真实笔记数据 |\n\n---\n\n## 💡 为什么你需要这个\n\n做电商选品的人都知道：**爆款的线索藏在评论区里**。\n\n但小红书上几百条评论、几十篇笔记，人工翻一遍要花半天。而且：\n- \"尺寸太小\"\"续航不够\"\"胶贴不稳\"——痛点散落在各处，难以汇总\n- 你有笔记数据，但缺一把\"放大镜\"\n- 你想调研新品类，但手头没数据\n\n这个项目把选品流程压缩成三个动作：**检索 → 聚合 → 洞察**，一键出报告。\n\n---\n\n## 🏗️ 架构图\n\n```mermaid\nflowchart TD\n    User[(\"👤 用户输入\")] --> Q{问答 \u002F 洞察?}\n    \n    subgraph RAG[\"🔍 RAG 检索管道\"]\n        Q -->|问答| Supervisor[Supervisor Agent\u003Cbr\u002F>策略路由]\n        Supervisor --> Retrieve[混合检索\u003Cbr\u002F>Vector + BM25 + RRF]\n        Retrieve --> Rerank[CrossEncoder 重排序\u003Cbr\u002F>BGE Reranker v2]\n        Rerank -->|相关| Generate[LLM 生成回答]\n        Rerank -->|不相关| Rewrite[查询重写]\n        Rewrite --> Retrieve\n    end\n    \n    subgraph Insight[\"📊 洞察管道\"]\n        Q -->|洞察| Search[混合检索 Top-10]\n        Search --> Filter[CrossEncoder 过滤]\n        Filter -->|有结果| CommentAgent[评论分析 Agent]\n        Filter -->|无结果| Fetch[🔥 自动抓取\u003Cbr\u002F>LLM + NoteGenerator]\n        Fetch --> Ingest[增量入库]\n        Ingest --> Search\n        CommentAgent --> DemandAgent[需求聚合 Agent]\n        DemandAgent --> InsightAgent[选品洞察 Agent]\n    end\n    \n    Generate --> Output[(\"📄 最终输出\")]\n    InsightAgent --> Output\n\n    style Fetch fill:#f96,stroke:#333,stroke-width:2px,stroke-dasharray:5\n    style Output fill:#9f9,stroke:#333,stroke-width:2px\n```\n\n---\n\n## ✨ 核心特性\n\n### 🔀 Hybrid Retrieval — 混合检索\n- **向量检索**（BGE-M3 Embedding）：捕捉语义相似性\n- **BM25 关键词检索**：精确匹配专有名词和品牌名\n- **RRF 融合**（Reciprocal Rank Fusion）：取两者排序结果加权融合，互补长短\n\n### 🎯 CrossEncoder 重排序\n- 用专门的 **BGE Reranker v2 M3** 模型对检索结果逐条打分\n- 比 LLM-as-Judge 更准、更快、更便宜\n- 低于阈值（0.1）的文档自动丢弃，保证回答不跑偏\n\n### 🤖 LangGraph Multi-Agent 编排\n- **Supervisor Agent** — 自动分析问题特征，选择最佳检索策略\n- **Self-Correcting Loop** — 检索结果不相关时自动重写查询，最多重试 2 次\n- **Insight Agent Chain** — 评论分析 → 需求聚合 → 选品洞察，三阶段流水线\n\n### 🔥 查询时自动抓取（v0.3 新功能）\n这是最关键的特性——**不绑定固定品类**，任何品类都能查：\n```\n用户搜 \"健身服\" → 知识库无数据\n  → LLM 推荐品牌（Nike, Lululemon, 粒子狂热...）\n  → 自动生成 8 篇该品类笔记（含 YAML 评论分析数据）\n  → 增量入库到 ChromaDB + BM25\n  → 重新检索 → 生成真正的市场洞察报告\n```\n\n### 📥 真实数据导入\n```bash\n# CSV 导入\npython import_data.py --input my_data.csv\n\n# Excel 导入\npython import_data.py --input my_data.xlsx --sheet Sheet1\n\n# 导入后用 LLM 丰富评论分析\npython import_data.py --input my_data.csv --enrich\n```\n\n---\n\n## 🚀 快速开始\n\n### 你需要什么\n\n- **Python 3.10+**\n- **SiliconFlow API Key**（或其他兼容 OpenAI 格式的 API）— [免费注册](https:\u002F\u002Fsiliconflow.cn)\n- [uv](https:\u002F\u002Fdocs.astral.sh\u002Fuv\u002F) 包管理器（推荐，替代 pip）\n\n### 4 步跑起来\n\n```bash\n# 1. 克隆项目\ngit clone https:\u002F\u002Fgithub.com\u002Fyour-username\u002FRedNote-Insight.git\ncd RedNote-Insight\n\n# 2. 配置 API Key\ncp .env.example .env\n# 编辑 .env → 填入你的 OPENAI_API_KEY\n\n# 3. 安装依赖 + 生成演示数据\nuv sync\nuv run python generate_data.py\n\n# 4. 启动应用\nuv run streamlit run app.py\n```\n\n浏览器打开 **http:\u002F\u002Flocalhost:8501**，就可以用了。\n\n> **用什么 API 便宜又好用？** 推荐 [SiliconFlow](https:\u002F\u002Fsiliconflow.cn)，免费额度够用很久。DeepSeek-V4-Flash + BGE-M3 + BGE Reranker 三个模型同时调，一条链路的成本约 ¥0.002。\n\n---\n\n## 📊 效果预览\n\n### 问答模式\n\n```\n用户：磁吸感应灯哪个品牌好？\n\n助手：\n根据小红书笔记分析，磁吸感应灯的热门选择包括：\n\n1. 几光（EZVALO）— 被提及最多，用户评价集中在\"感应灵敏、安装方便\"\n   ✅ 人体感应+光感双模，免布线安装\n   ❌ 价格偏高（约100-200元）\n\n2. 松下 — 品质口碑好，但款式较少\n   ✅ 做工精细，感应距离远\n   ❌ 价格区间窄，选择少\n\n3. 名创优品 — 性价比之选\n   ✅ 价格低（20-50元），设计可爱\n   ❌ 感应距离短，电池续航一般\n\n建议：预算充足选几光，追求性价比可考虑名创优品。\n```\n\n### 洞察模式\n\n```\n品类：磁吸感应灯\n\n📋 评论区需求分析报告\n━━━━━━━━━━━━━━━━━━━━━━\n\n🔍 用户痛点 Top 3\n1. 感应距离太短（提及率 34%）— \"走近才亮，人都到跟前了\"\n2. 电池续航不足（提及率 28%）— \"三天两头充电\"\n3. 粘贴不牢固（提及率 18%）— \"用几天就掉下来\"\n\n💡 未被满足的需求\n• Type-C 充电（非 Micro-USB）\n• 磁吸分离式设计（可取下当手电筒）\n• 更长的感应距离（>3米）\n• 充电底座而非粘贴式安装\n\n📈 市场机会\n\"磁吸+分离式\"设计是当前最大缺口。竞品集中在\"便宜但功能单一\"区间，\n中高端\"品质+设计感\"产品有溢价空间。\n\n📥 本次查询为「磁吸感应灯」实时生成了 8 篇新笔记\n```\n\n---\n\n## 📁 项目结构\n\n```\nRedNote-Insight\u002F\n│\n├── app.py                    # 🖥️  Streamlit 主入口（问答 + 洞察双模式）\n├── generate_data.py          # 📝  模拟笔记数据生成器（离线用）\n├── import_data.py            # 📥  CSV\u002FExcel 真实数据导入工具\n├── pyproject.toml            # ⚙️  项目配置与依赖管理\n├── .env.example              # 🔑  环境变量模板（复制为 .env 后填入 API Key）\n├── LICENSE                   # 📄  MIT 开源协议\n│\n├── src\u002F\n│   ├── config.py             # 统一配置管理（LLM \u002F Embedding \u002F Reranker 参数）\n│   ├── ingestion.py          # 文档加载 + 向量库创建 + 增量入库\n│   ├── retrievers.py         # HybridRetriever（Vector+BM25+RRF）+ APIReranker\n│   ├── rag_pipeline.py       # 基础 RAG 问答管道\n│   ├── graph.py              # LangGraph 图编排（自纠错循环 + 条件路由）\n│   ├── fetcher.py            # 🔥 查询时自动抓取（v0.3 新功能）\n│   └── agents\u002F\n│       ├── supervisor.py     # 策略路由 Agent（auto \u002F vector \u002F keyword \u002F hybrid）\n│       ├── comment_agent.py  # 评论分析 Agent（解析 YAML 格式的评论数据）\n│       ├── demand_agent.py   # 需求聚合 Agent（聚类用户痛点 + 需求信号）\n│       └── insight_agent.py  # 选品洞察 Agent（LLM 生成结构化报告）\n│\n└── data\u002F\n    ├── raw\u002F                  # 📂 笔记原始数据（.md 文件，含 YAML + 评论分析）\n    │   └── .gitkeep\n    └── chroma_db\u002F            # 🔇 向量数据库（自动构建，不入 git）\n```\n\n---\n\n## 🧩 技术栈\n\n| 组件 | 选型 | 为什么 |\n|------|------|--------|\n| 🧠 **LLM** | DeepSeek-V4-Flash (via SiliconFlow) | 性价比最高的推理模型，¥0.002\u002F次 |\n| 🔤 **Embedding** | BAAI\u002Fbge-m3 | 多语言 SOTA，中文语义捕捉优秀 |\n| 📏 **Reranker** | BAAI\u002Fbge-reranker-v2-m3 | CrossEncoder 打分，比 LLM-Judge 快 10x |\n| 🗄️ **向量库** | ChromaDB（嵌入式模式） | 零配置，不需要独立数据库服务 |\n| 🔗 **编排** | LangGraph | 有向图编排 Multi-Agent，支持循环路由 |\n| 🔍 **检索** | BM25 (rank-bm25) + RRF | 经典关键词检索 + 融合排序 |\n| 🇨🇳 **分词** | jieba | 中文分词，BM25 索引必需 |\n| 🖥️ **应用** | Streamlit | 纯 Python，一键启动，无需前后端分离 |\n| 📥 **导入** | pandas + openpyxl | CSV\u002FExcel 读取 |\n\n**核心设计原则：零外部依赖服务。** 没有 Docker、没有 PostgreSQL、没有 Redis——全部跑在一个 Python 进程里。\n\n---\n\n## 📖 使用指南\n\n### 1. 生成演示数据\n\n```bash\n# 默认：6 品类 42 篇笔记\nuv run python generate_data.py\n\n# 自定义品类\nuv run python generate_data.py \\\n  --category \"智能马桶\" \\\n  --brands \"恒洁,九牧,TOTO\" \\\n  --count 30\n\n# 固定随机种子（结果可复现）\nuv run python generate_data.py --category \"台灯\" --brands \"欧普,松下\" --seed 42\n```\n\n默认 6 个品类：磁吸感应灯（8篇）、桌面收纳（7篇）、寝室改造（7篇）、香薰（6篇）、装饰品（7篇）、收纳盒（7篇）。\n\n### 2. 导入你自己的数据\n\n```bash\n# 查看格式\nuv run python import_data.py --help\n\n# 导入 CSV\nuv run python import_data.py --input my_data.csv\n\n# 导入 Excel\nuv run python import_data.py --input my_data.xlsx --sheet Sheet1\n\n# 导入 + LLM 自动丰富评论分析\nuv run python import_data.py --input my_data.csv --enrich\n```\n\nCSV 格式：`title,content,brand,likes,date,tags,comments,author`，只有 `title` 和 `content` 必填。\n\n### 3. 问答模式\n\n侧边栏切换到「问答模式」，试试这些：\n- \"磁吸感应灯哪个品牌好？\"\n- \"有没有便宜又耐用的收纳盒推荐？\"\n- \"寝室改造需要注意什么？\"\n\n可手动选择检索策略（auto \u002F vector \u002F keyword \u002F hybrid），默认 auto 由 Supervisor Agent 自动判断。\n\n### 4. 洞察模式\n\n侧边栏切换到「洞察模式」，输入任何品类：\n- \"磁吸感应灯\"、\"桌面收纳\"、\"寝室改造\"\n- \"健身服\" ← 知识库里没有？自动帮你生成 8 篇再分析\n\n系统会输出一份 **结构化市场洞察报告**，包含用户痛点 Top 3、需求信号、竞品格局、选品建议、机会打分。\n\n---\n\n## 🔧 配置说明\n\n`.env` 文件中的配置项（复制自 `.env.example`）：\n\n```bash\n# ===== LLM 配置 =====\nOPENAI_BASE_URL=https:\u002F\u002Fapi.siliconflow.cn\u002Fv1   # API 地址（支持任何 OpenAI 兼容服务）\nOPENAI_API_KEY=sk-your-key-here                  # API 密钥\nLLM_MODEL=deepseek-ai\u002FDeepSeek-V4-Flash          # 主推理模型\n\n# ===== Embedding =====\nEMBEDDING_MODEL=BAAI\u002Fbge-m3                     # 文本向量化模型\n\n# ===== Reranker =====\nRERANKER_MODEL=BAAI\u002Fbge-reranker-v2-m3          # CrossEncoder 重排序模型\n```\n\n**支持的 API 提供商：** SiliconFlow、阿里云百炼、火山引擎、DeepSeek 官方等任何兼容 OpenAI `\u002Fv1\u002Fchat\u002Fcompletions` 和 `\u002Fv1\u002Fembeddings` 的服务。\n\n---\n\n## ❓ 常见问题\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>为什么不用 Qdrant \u002F Milvus？\u003C\u002Fb>\u003C\u002Fsummary>\nChromaDB 嵌入式模式零配置，适合单机使用。项目定位是个人选品分析工具，不需分布式向量库。如果你需要生产级部署，可以替换为 Qdrant——只需改 `ingestion.py` 中 3 行代码。\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>自动抓取生成的数据准确吗？\u003C\u002Fb>\u003C\u002Fsummary>\n自动生成的内容基于 LLM 对市场的理解 + 模板化评论数据，用于快速验证品类可行性。对于真实商业决策，建议用 \u003Ccode>import_data.py\u003C\u002Fcode> 导入你自己的笔记数据。\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>不用 SiliconFlow，用 OpenAI 官方可以吗？\u003C\u002Fb>\u003C\u002Fsummary>\n可以。把 \u003Ccode>OPENAI_BASE_URL\u003C\u002Fcode> 改为 \u003Ccode>https:\u002F\u002Fapi.openai.com\u002Fv1\u003C\u002Fcode>，模型名改为 \u003Ccode>gpt-4o\u003C\u002Fcode> 即可。注意 OpenAI 没有 BGE Reranker API，需要本地跑或换其他 reranker 服务。\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>怎么增加更多品类？\u003C\u002Fb>\u003C\u002Fsummary>\n两种方式：① 在洞察模式直接搜新品类（自动触发抓取）；② 用 \u003Ccode>generate_data.py --category\u003C\u002Fcode> 提前生成。\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Windows 上能跑吗？\u003C\u002Fb>\u003C\u002Fsummary>\n能。本项目的开发和测试环境就是 Windows 11 + Python 3.11。\n\u003C\u002Fdetails>\n\n---\n\n## 🗺️ 路线图\n\n| Phase | 内容 | 状态 |\n|-------|------|:----:|\n| **Phase 1** | 项目重构 + 基础 RAG（文档加载、向量库、问答管道） | ✅ |\n| **Phase 2** | 评论区需求挖掘（Comment \u002F Demand \u002F Insight Agents） | ✅ |\n| **Phase 3** | 选品看板（问答+洞察双模式、Streamlit UI、数据导入工具） | ✅ |\n| **Phase 4** | 查询时自动抓取（LLM + NoteGenerator，任何品类都能查） | ✅ |\n| **Phase 5** | 真实网页抓取（接小红书搜索 API \u002F 浏览器自动化） | 🔜 |\n| **Phase 6** | 意图识别路由 \u002F MCP 工具调用 \u002F 知识图谱增强 | 🔜 |\n\n---\n\n## 📄 License\n\nMIT © 2026 — 使用、修改、商用均自由。\n\n---\n\n\u003Cp align=\"center\">\n  \u003Csub>如果这个项目帮到了你，给个 ⭐ Star — 让更多选品人看见它\u003C\u002Fsub>\n\u003C\u002Fp>\n",2,"2026-06-11 04:10:26","CREATED_QUERY"]