{"repo":"jackwener/xhs-cli","free":true,"listed":false,"github":"https://github.com/jackwener/xhs-cli","clone":"git clone https://github.com/jackwener/xhs-cli.git","description":"小红书命令行工具 — 搜索、阅读、点赞、收藏、评论，全在终端完成 | Xiaohongshu CLI","language":"Python","stars":644,"topics":["cli","python","redbook","xhs","xiaohongshu"],"license":"Apache-2.0","category":"cli-tools","readme_excerpt":"xhs-cli xiaohongshu-cli 这是逆向 API 出来的版本。 速度更加快更加稳定。但是风控上应该不如当前这个直接用浏览器操作真实。 中文 English 小红书命令行工具 — 在终端中搜索笔记、查看主页、点赞、收藏、评论。 推荐项目 - twitter-cli - 在终端中操作 X/Twitter 的 CLI 工具 - bilibili-cli - 哔哩哔哩 CLI 工具 功能 - 搜索 — 按关键词搜索笔记，Rich 表格展示 - 阅读 — 查看笔记内容、数据、评论 - 用户资料 — 查看用户信息、笔记、粉丝、关注 - 推荐 Feed — 获取探索页推荐内容 - 话题 — 搜索话题标签 - 互动 — 点赞/取消、收藏/取消、评论、删除笔记 - 发布 — 发布图文笔记 - 认证 — 自动提取 Chrome cookie，或 browser-assisted 扫码登录（终端二维码渲染） - JSON 输出 — 所有数据命令支持 --json - Token 自动缓存 — xsec token 搜索后自动缓存，后续命令免手动传 命令一览 分类 命令 说明 ------ ------ ------ Auth login , logout , status , whoami 登录、退出、状态检查、查看个人资料 Read search , read , feed , topics 搜索笔记、阅读详情、推荐 Feed、搜索话题 Users user , user-posts , followers , following 查看资料、列出笔记/粉丝/关注 Engage like , unlike , comment , delete 点赞、取消点赞、评论、删除笔记 Favorites favorite , unfavorite , favorites 收藏、取消收藏、查看收藏列表 Post post 发布图文笔记 所有数据命令支持 --json 输出。 xsec token 自动缓存，无需手动传递。 安装 需要 Python 3.8+。 从源码安装（开发用） 本地一键冒烟测试 在本地已登录（有 /.xhs-cli/cookies.json ）的情况下，直接运行： 可选地传递 pytest 参数（例如只跑某个用例）： 默认只跑无副作用命令（ integration and not live mutation ）。如需额外验证 like/favorite/comment/post/delete ，显式开启： 可选环境变量： 使用 登录 搜索 阅读笔记 用户 推荐 & 话题 互动 发布笔记 其他 架构 使用 camoufox（反指纹 Firefox）像真实用户一样浏览小红书。数据从页面的 window. INITIAL STATE 中提取，与正常浏览完全一致。 工作原理 1. 认证 — 优先读取 /.xhs-cli/cookies.json ；未命中时通过 browser-cookie3 从本地 Chrome 提取 cookie。 xhs login --qrcode 使用 browser-assisted 扫码登录，并在终端渲染二维码（ ▀ ▄ █ ）。 2. 登录态校验 — 登录后会校验会话是否为有效非 guest 会话，并做 feed/search 可用性探活；探活失败会提示重新登录。 3. 浏览 — 使用 camoufox 导航到真实页面，所有流量与正常用户浏览一致。 4. 数据提取 — 从 window. INITIAL STATE 提取","default_branch":null,"files":null,"tree":[],"storefront":"/r/jackwener","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/jackwener/xhs-cli/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}