如何把本地 xiaohongshu-mcp 服务接入 last30days-skill 并用 --search xhs 检索小红书?
2026/9/9 21:15:24 网站建设 项目流程

如何把本地 xiaohongshu-mcp 服务接入 last30days-skill 并用 --search xhs 检索小红书?

【免费下载链接】last30days-skillAI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary项目地址: https://gitcode.com/GitHub_Trending/la/last30days-skill

last30days-skill 是一个 AI agent skill,可以从 Reddit、X、YouTube、Hacker News、Polymarket 和网络来源调研任意话题并合成带出处的摘要。小红书(RED)是其中的一个显式请求来源:当你的本机运行着一个已登录的 x-mcp 浏览器插件或xiaohongshu-mcp服务时,可以用--search xhs在单次运行中启用它,拉取小红书的生活方式、产品与创作者信号。整个过程不需要 last30days 的 API key,last30days 侧只负责探测并调用你本地的浏览器会话服务。本文覆盖从服务接入、配置到实际检索和故障定位的完整路径,依据是 README.md、CONFIGURATION.md 和 SKILL.md 中的说明。

准备条件:本地服务先跑起来,再装好 skill

小红书来源的激活条件在 CONFIGURATION.md 的来源表中写得很明确:需要"已登录的 x-mcp 浏览器插件或xiaohongshu-mcp服务",且该服务必须能看到你已登录的小红书浏览器会话。xiaohongshu-mcp服务(代码注释指向xpzouying/xiaohongshu-mcp)属于外部项目,本文不展开它自身的安装流程,只说明 last30days-skill 对它的期望:

  1. 服务在本机运行,默认监听http://localhost:18060
  2. 服务处于已登录状态——last30days 每次检索前会先做登录检查,未登录时直接报错。

skill 本身按你使用的宿主安装即可,例如在 Claude Code 中执行/plugin marketplace add mvanhorn/last30days-skill,或在支持 Agent Skills 的宿主中执行npx skills add mvanhorn/last30days-skill -g(见 README.md 的 Install 一节)。本文后续的引擎命令都以 skill 目录内的scripts/last30days.py为入口。

接入原理:自动探测与自定义 URL

last30days 不需要你手动"注册"服务地址,探测逻辑内置在 env.py 中:

  • 未设置XIAOHONGSHU_API_BASE时,依次探测http://localhost:18060,然后探测http://host.docker.internal:18060——后者覆盖引擎运行在容器内、服务跑在宿主机的场景。
  • 服务运行在非默认的 host/port 上时,在.env中设置XIAOHONGSHU_API_BASE,例如XIAOHONGSHU_API_BASE=http://localhost:18060。CONFIGURATION.md 的示例.env骨架中,这一项默认是注释状态,按需取消注释。

确认探测落在哪个地址,可以查看仓库内的测试:tests/test_xiaohongshu_api.py 断言了三个行为——未配置时env.get_xiaohongshu_api_base({})返回http://localhost:18060;localhost 不通时会回落到http://host.docker.internal:18060;设置了XIAOHONGSHU_API_BASE后自定义地址优先生效。

来源激活方式同样写在 CONFIGURATION.md:

  • 单次运行:--search xhs(别名--search xiaohongshu亦可,两者是同一来源);
  • 持久启用:在.env中写INCLUDE_SOURCES=xiaohongshu

注意--search是"替换而非追加":传入--search后,本次运行只检索列出的来源(见 SKILL.md 中对--search的说明)。所以--search xhs会只出小红书的结果;如果想在同一次运行里同时保留其他来源,需要把完整来源集合写进参数,例如--search reddit,xhs

执行步骤:跑一次带小红书的检索

确认服务已启动、skill 已安装后,按下面的顺序执行。topic 为位置参数,替换成你实际要调研的主题。

1. 先做一次安全诊断,确认配置与来源状态。

python3 skills/last30days/scripts/last30days.py --diagnose

--diagnose打印 JSON,其中的available_sources数组是引擎在凭据解析完成后计算出的权威来源集合,用来判断小红书当前是否处于可用状态。这一步只报告来源可用性、配置来源等,不读浏览器 cookie、不发起研究(见 CONFIGURATION.md Troubleshooting 一节)。

2. 运行带--search xhs的检索。

python3 skills/last30days/scripts/last30days.py "你的调研主题" --search xhs

引擎命中小红书来源后,由 xiaohongshu_api.py 调用本地服务,顺序是:

  • GET {base}/api/v1/login/status:登录检查。服务可达但未登录时,直接抛出Xiaohongshu API reachable but not logged in,检索不会继续;
  • POST {base}/api/v1/feeds/search:按关键词搜索笔记。请求体带filters,其中publish_time随 depth 变化——quick用"一天内",default用"一周内",deep用"半年内"。

结果会按笔记的互动数据(点赞、评论、收藏)计算相关度,并归一化为标准条目进入最终 brief:标题、笔记 URL(xiaohongshu.com/explore/{feed_id},带xsecToken时附在查询参数上)、摘要、日期,以及形如Xiaohongshu engagement: likes=..., comments=..., favorites=...的相关度说明。单次返回条数受 depth 上限约束:quick 8 条、default 15 条、deep 25 条(见 xiaohongshu_api.py 中limit = {"quick": 8, "default": 15, "deep": 25})。

3. 判断是否成功。

  • --diagnoseavailable_sources中出现xiaohongshu,说明探测+登录检查已通过,来源被引擎认定为可用;
  • 正式运行的 brief 中出现来自xiaohongshu.com的条目并带互动数据说明,说明端到端打通。

排查与限制

doctor 不探测网络,别误读它的结论。--diagnose/doctor 的 doctor 模式对小红书只报告配置状态:设置了XIAOHONGSHU_API_BASE时,记录显示 OK 并注明 "service reachability is not probed (doctor makes no network calls)"(见 doctor.py 的_xiaohongshu_record)。也就是说,doctor 说 OK 不等于服务真的可达;可达性和登录态要由实际运行或--diagnose的来源解析来确认。

服务不可达时按处方处理。内置的故障处方(prescriptions.py 中(xiaohongshu, service_unreachable)条目)给出的原因是"浏览器会话服务不可达或未登录;未设置XIAOHONGSHU_API_BASE时依次探测http://localhost:18060http://host.docker.internal:18060",给出的修复是:启动一个能看到已登录小红书浏览器会话的本地 x-mcp 浏览器插件或xpzouying/xiaohongshu-mcp服务;仅在服务运行在自定义 host/port 时才设置XIAOHONGSHU_API_BASE,其余情况保持自动探测。

登录失败与连接失败是两回事。连接不通对应上面的service_unreachable路径;服务可达但is_logged_in为 false 时,错误信息是 "Xiaohongshu API reachable but not logged in"——此时该做的是在服务侧恢复小红书登录会话,而不是改 last30days 的 URL 配置。

边界说明。这一来源对 last30days 侧完全免费、不需要任何 key,依赖全部落在你的本地浏览器会话服务上(README.md Sources 一节)。INCLUDE_SOURCES/EXCLUDE_SOURCES依然作用于最终选定的来源集合,命令行显式--search优先级最高(见 CONFIGURATION.md 中LAST30DAYS_DEFAULT_SEARCH一节)。

【免费下载链接】last30days-skillAI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary项目地址: https://gitcode.com/GitHub_Trending/la/last30days-skill

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询