mcpField
R
rednote-gate

rednote-gate

本地服务
yashshelar007.github.io社交媒体13 周前更新

关于 rednote-gate

rednote-gate 是一个本地 MCP 服务,通过浏览器自动化操作一个专用的一次性 RedNote 账号。读取操作立即执行,写入操作则排队等待用户在本地页面批准,且默认使用试运行模式。

主要功能

  1. 01读取 RedNote 笔记、评论和搜索结果
  2. 02排队发布笔记、草稿、点赞和评论
  3. 03在本地网页上要求人工批准
  4. 04默认试运行并设每日预算
  5. 05在本机生成文字卡片图片

适用场景

  1. 01浏览笔记和评论以研究主题
  2. 02准备笔记或回复并等待审核
  3. 03在不发布内容的情况下测试浏览器流程
  4. 04通过审批和状态查询管理待处理写入

MCP 相关

本地 stdio MCP 服务向兼容主机提供 RedNote 读写工具和提示词。写入工具只负责排队,审批在 MCP 之外的本地网页完成。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"yashshelar007-rednote-gate": {
"command": "npx",
"args": [
"-y",
"rednote-gate"
]
}
}
}
启动命令npx -y rednote-gate

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmrednote-gate1.1.1

工具

15

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

rednote-gate

npm 版本 许可证:MIT CI 中文说明

rednote-gate 专用于一个专门创建的一次性小红书账号。切勿将其用于主账号或品牌账号。它通过浏览器自动化运行,这违反了小红书的服务条款。账号可能会受到限流或封禁。请只使用一个即使失去也能承担得起的账号。

处于试运行模式的审批页面。计量表显示过去 24 小时内已使用 5 次写入额度中的 1 次,以及 10 次点赞额度中的 2 次。下方是一篇等待处理的图文笔记,标题为“云上日出徒步”,包含正文、3 个话题和 2 张图片,以及“批准试运行”和“拒绝”按钮。

网站:https://yashshelar007.github.io/rednote-gate/

这是一个供 Claude Code、Claude Desktop 和 Codex 使用的本地 MCP 服务。读取操作会直接执行。每一项写入操作都会在队列中等待,直到有人点击本地网页上的“批准”。

点击后会在 rednote-gate 网站上打开一个 24 秒的演示视频。静帧展示了审批页面上一篇已批准的图文笔记,旁边有“运行前取消”按钮,并显示文字:Claude 起草,你来做最后决定。

快速开始

从 npm 安装
npm install -g rednote-gate
rednote-gate setup

这会安装 Chromium,打开一次性账号的二维码登录页面,并将 rednote-gate 连接到 Claude Code。你的数据和登录信息保存在 ~/.rednote-gate 中。

或从克隆版本安装
git clone https://github.com/YashShelar007/rednote-gate.git
cd rednote-gate
npm run setup

步骤相同,另需构建。如果克隆版本的 .session/ 中已有登录信息,数据会保存在克隆文件夹中。

然后使用 rednote-gate 的提示词。Claude Code 会将它们显示为斜杠命令:

提示词(斜杠命令)执行内容
/rednote-gate:post_photosClaude 根据你的照片和一行简介撰写图文笔记,并将其加入队列
/rednote-gate:reply_to_commentsClaude 阅读笔记评论,起草最多 3 条回复,并将它们加入队列
/rednote-gate:post_from_conceptClaude 调研一个概念,撰写原创笔记,生成文字卡片图片,并将其加入队列
/rednote-gate:research_topicClaude 搜索一个话题,阅读热门笔记和评论,并总结哪些内容有效。仅限读取。
/rednote-gate:review_queueClaude 总结等待处理的事项和已发生的情况
/rednote-gate:help查看每个工具和提示词、当前模式,以及今天剩余的额度

也可以直接用自然语言提出请求(“发布这两张徒步照片”)。首次使用 rednote 工具时,会启动一个小型后台服务。它负责管理浏览器、审批页面和工作进程;即使你关闭 Claude Code,它也会继续运行,因此审批页面始终可用,已批准的项目也会照常执行。空闲 5 分钟后,它会关闭浏览器窗口。使用 rednote-gate stop 停止服务(在克隆版本中使用 npm run stop)。有内容加入队列时,审批页面会在浏览器中打开,Mac 也会显示通知。点击“批准”即可。约 30 秒后,操作会执行,页面会显示结果截图。完成时会收到通知;如果小红书显示验证码,也会收到通知。

状态:2026-10-06,在一个 rednote.com 账号上对照线上网站检查了每种流程:4 次读取,以及各 1 次真实发布、草稿、评论和回复;每项操作都由人工在审批页面上批准。请参阅上次对照线上网站验证的时间。

整体结构

部分说明
宿主Claude Code、Claude Desktop 或 Codex:你与之交互的 AI 应用
客户端宿主内部的连接器,每个服务对应一个。由宿主提供。
服务rednote-gate,一个本地 MCP 服务。宿主启动它,并通过 stdio 与它通信。
工具(15 个)5 个读取工具可直接运行。6 个写入工具只会排入队列。4 个本地工具不会接触 RedNote。
提示词(6 个)post_photos、post_from_concept、reply_to_comments、research_topic、review_queue、help。Claude Code 会将它们显示为斜杠命令。
资源无

模型调用工具。你选择提示词。后台服务、审批页面和 rednote-gate CLI 不属于 MCP。审批页面是 127.0.0.1 上的本地网页。它有意置于 MCP 之外,这样模型就无法批准自己的写入操作。

功能

rednote-gate 是一个本地 stdio MCP 服务。它需要 Node 20 或更高版本。它使用 TypeScript 编写,并在你自己的计算机上驱动 Playwright Chromium。

读取类工具会立即执行:

工具参数返回内容
rednote_login_status无site、loggedIn(主站)和 creatorSession(创作者站点,发布时需要)
rednote_searchkeyword、limit(最多 30)noteId、title、author、likes、url。url 中包含 xsec_token。
rednote_get_noteurlnoteId、title、body、author、tags、likes、collects、评论数、ipLocation、time
rednote_get_commentsurl、limit(最多 50)id、author、text、likes、回复数。仅第一页。
rednote_make_cardscards(1 至 9 张:title、最多 8 行内容、footer),可选的 theme(notebook、sticky、chalkboard、blueprint)在你的计算机上渲染 1080x1440 的文字卡片 PNG,并返回其路径。不会操作 RedNote。
rednote_my_noteslimit(最多 30)你自己的笔记,按时间从新到旧排列:noteId、title、likes、url
rednote_queue_statuslimit最近的队列项目:id、tool、status、最后变更时间。绝不返回审批链接。
rednote_help无rednote-gate 的功能、当前模式和今日剩余预算
rednote_open_approval_page无在浏览器中打开审批页面。绝不返回链接。

写入类工具只会向队列中添加项目并返回其队列 ID。它们绝不会操作浏览器。

工具参数审批后执行的操作
rednote_create_posttitle(RedNote 的长度限制为 20:一个 CJK 字符计 1,ASCII 字符计半个),body(最多 1000 个字符,可使用表情符号,不可包含 #),images(1 至 9 个 JPEG、PNG 或 WebP 文件的绝对路径;第一张为封面),可选的 topics(最多 5 个,不含 #)发布图片笔记;若选取器提供的主题与主题完全匹配,则将其添加为带链接的 RedNote 主题,否则将其作为纯文本 #text 添加
rednote_create_draft与 rednote_create_post 相同保存为草稿而非发布
rednote_create_video_posttitle、body、video(一个 MP4 或 MOV 文件的绝对路径,最大 500 MB,这是项目限制),可选的 topicsRedNote 处理完成后发布视频笔记
rednote_post_commenturl、text(最多 500 个字符)在笔记下发布评论
rednote_like_noteurl、可选的 noteTitle点赞笔记(有单独的每日上限,参见 RN_DAILY_LIKES);若笔记已点赞,则拒绝操作
rednote_reply_commenturl、commentId、commentAuthor、commentText、text(最多 500 个字符)回复该评论

对于 rednote_reply_comment,传入的 id、author 和 text 必须与 rednote_get_comments 返回的内容完全一致。回复前,工作进程会从页面中读取具有该 id 的评论,并检查其作者和文本是否仍然完全匹配。若不匹配,则不会回复。

标题、评论和回复必须为单行:换行符会被输入为 Enter,可能导致评论提前发送。笔记正文可以包含换行。

笔记 URL 必须符合 https://www.xiaohongshu.com/explore/<id>?xsec_token=... 的格式(海外账号使用 www.rednote.com)。请从 rednote_search 的结果中获取 URL。由于 RedNote 会对不带令牌的裸 URL 返回验证码,因此系统会拒绝此类 URL。参见 docs/friction.md。

审批关卡的工作方式

简短示例:

  1. 你向 Claude 提出请求:“发布一条介绍我桌面布置的笔记,附上 /Users/me/pics/desk.jpg。”
  2. Claude 调用 rednote_create_post。服务会检查图片,将其复制到队列并计算哈希值,然后返回一个队列 ID,例如 q_20261006T153012_ab12。不会打开浏览器,也不会发布任何内容。
  3. 你运行 rednote-gate approve 并打开它打印出的链接。页面会显示确切的标题、正文和图片。你点击 Approve。
  4. 工作进程每 10 秒检查一次队列。你点击后,它会等待 30 秒,这样你仍然可以按 Cancel;之后,如果预算允许,它就会取出该条目。它会在账本中写入一行 attempt,然后打开创作者页面、上传图片并输入文本。
  5. 在试运行模式(默认模式)下,它会在最后一次点击前停止。该条目的状态会变为 dry_run。在实时模式下(rednote-gate live),它会点击发布。该条目的状态会变为 posted。
  6. Claude 可以调用 rednote_queue_status 查看结果。它永远不会获得审批链接。

点击 Approve 只会标记该条目,不会自行发布任何内容。聊天中不进行审批。告诉 Claude“是的,发布吧”不会有任何改变。

状态
pending  -> approved | rejected
approved -> posting  | rejected    (Cancel)
posting  -> posted | dry_run | failed | unknown
状态含义
pending已加入队列,等待人工处理
approved人工点击了 Approve。等待工作进程处理,并等待预算允许。
rejected人工点击了 Reject,或在已批准的条目上点击了 Cancel
posting工作进程正在处理
posted一次实时操作已完成
dry_run工作进程在试运行模式下执行了流程。它进行了导航、上传图片并输入文本,但没有点击最后的按钮。
failed试运行过程中出错,或实时操作在最后一次点击前停止(例如,它应该回复的评论发生了变化)。没有发送任何内容。可以重新加入队列。
unknown实时操作在最后一次点击后出错,或进程在实时操作过程中意外终止。内容可能已发布,也可能没有发布。绝不会重试。请手动检查账号。

如果将完全相同的写入操作加入队列,系统会返回现有 ID,而不是创建第二个条目。所谓完全相同,指使用相同的工具、相同的参数和相同的图片字节内容。当第一个条目的状态为 pending、approved、posting、posted 或 unknown 时,这条规则均适用。

防护措施

  • 在代码中审批。 写入工具只会加入队列。仅在实时模式下,工作进程才会点击最终按钮,而且只会处理已审批的项目。
  • 你审批什么,就会发布什么。 图片会在加入队列时复制到队列中并计算哈希值。仅接受通过文件签名检查的真实 JPEG、PNG 或 WebP 文件。每张图片不得超过 20 MB。一篇笔记需包含 1 到 9 张图片。这是项目限制,并非 RedNote 的限制。
  • 每日限额。 任意滚动 24 小时内,实时尝试最多为 RN_DAILY_WRITES 次(默认 5 次)。自上次实时评论或回复尝试后,还必须间隔 RN_COMMENT_GAP_MIN 分钟(默认 10 分钟),才能再次评论或回复。限额根据日志账本计算,因此重启不会重置限额。失败和状态未知的实时尝试也会计入。试运行不计入。超过限额的已审批项目会等待。审批页面会显示下一个名额开放的时间。
  • 撤销窗口。 点击 Approve 后,工作进程会等待 30 秒。在此期间,点击 Cancel 即可停止操作。
  • 审批与模式绑定。“Approve dry run”只会以试运行方式执行。如果你以实时模式重启,先前获批的试运行不会执行;页面会提示你取消并重新审批。
  • 发送前读回。 输入后会读回每个字段。如果话题或提及选择器,或其他任何内容更改了文本,流程会在点击最终按钮前停止。
  • 崩溃安全。 浏览器启动前就会写入 attempt 行,因此即使发生崩溃,也会消耗限额。实时项目若在尝试过程中中断,会标记为 unknown,且绝不会重试。试运行若在尝试过程中中断,则会标记为 failed。
  • 发送前再次检查。 上传前会重新检查图片哈希值。仅当目标评论仍然存在,且其文本仍与获批内容一致时,才会发送回复。
  • 遇到阻碍即停止。 如果 RedNote 显示验证码或“操作过于频繁”警告,rednote-gate 会向日志账本写入一条 blocked 行。它会停止工作进程并拒绝读取工具。写入工具仍可将内容加入队列,因为排队操作不会触碰浏览器。系统不会重试。重启后仍会保持停止状态。由人工在审批页面点击 Resume 才能继续。
  • 不接受没有令牌的笔记 URL。 不含 xsec_token 的 URL 会在浏览器打开前被拒绝。
  • 浏览器仅由一个服务控制。 只有服务会驱动浏览器,并由 data/ 中的锁文件保护。每个 MCP 主机(Claude Code、Claude Desktop、Codex,或同时运行的多个会话)都与这一个服务通信,因此账户上绝不会出现第二个浏览器。
  • 默认试运行。 在运行 rednote-gate live 或前往 Settings 页面切换到实时模式之前,系统会一直保持试运行。settings.json 中保存的模式优先于 RN_DRY_RUN。

服务条款警告

本项目通过真实浏览器和真实登录会话操作 RedNote 网站。RedNote 的服务条款不允许这样做。使用本项目可能导致账号被限流、限制或封禁。风险由你自行承担。

2026 年的两则小红书公告也适用(核查日期:2026-10-07)。2026-03-10,小红书宣布打击“AI 托管”账号(IT之家报道)。偶尔让 AI 托管代为撰写、发布或互动的账号会收到警告,内容分发也会减少。通过 AI 托管工具直接注册、发布或互动的账号会被封禁,所有公开笔记都通过这种方式发布的账号也会被封禁。2026-04-27,小红书发布了 AI 内容规则(IT之家报道)。创作者发布由 AI 生成或润色的笔记时应予以标注,平台会为未标注的 AI 内容添加自己的标记。使用 AI 违规运营账号会受到逐级处罚,最高可至封禁。

点击“批准”并不能让账号符合规定。只通过 rednote-gate 发布内容的一次性账号,符合 3 月公告中所述的封禁情形。

  • 使用一个专用的一次性账号。切勿使用主账号或品牌账号。
  • 少量发布,并拉开发布时间间隔。预算是上限,不是目标。
  • 遵守你所在地的法律,并尊重你阅读或回复笔记的用户。

设置

你需要 Node 20 或更高版本、一个专门用于此用途的 RedNote 账号,以及该账号已登录的手机。

npm install -g rednote-gate
rednote-gate setup

rednote-gate setup 会使用软件包自带的 Playwright 安装 Chromium,然后运行以下两个步骤;你也可以逐个运行:

rednote-gate login
rednote-gate connect

从克隆的仓库开始时,npm run setup 会在 npm install 和 npm run build 之后执行相同操作。在克隆的仓库中,npm run login、connect、live、dry、stop 和 approve 会运行相同的命令。

rednote-gate connect 会将 rednote-gate 添加到 Claude Code,供你的所有项目使用(claude mcp add --scope user)。它还会打印 Claude Desktop 和 Codex 的配置。详见下文。

默认以试运行模式启动:已批准的项目会填入表单,但不会发布。试运行结果符合预期后,可用一条命令切换模式:

rednote-gate live

它会说明实时模式的含义并要求你确认。rednote-gate live --yes 会跳过确认。模式会保存到 settings.json,仪表板的 Settings 页面也会写入同一文件,并在下次调用工具时重启服务。rednote-gate dry 会切回试运行模式。在一种模式下给出的批准不会在另一种模式下执行。

更多命令:

命令作用
rednote-gate status版本、站点、模式、今日剩余预算,以及服务是否正在运行
rednote-gate doctor离线检查,每项检查各显示一行通过或失败:Node、Chromium、登录、设置、账本、服务。绝不会联系 RedNote。
rednote-gate approve打印批准页面链接
rednote-gate stop停止后台服务
rednote-gate help所有命令

不带命令时,rednote-gate 会运行 MCP 服务。这是 MCP 主机启动的内容。

数据存储位置

数据和登录信息存储在 ~/.rednote-gate:队列、台账和设置位于 data/,登录信息位于 .session/。设置 RN_HOME 可迁移这两个目录。已有旧版本 .session/ 目录的克隆会继续使用自己的目录。

rednote-gate login 会在可见浏览器中打开 xiaohongshu.com。海外账号会被转到 rednote.com:登录流程会继续,在 rednote.com 上重新加载并要求你扫描新的二维码。系统会在 .session/site 中记录账号使用的网站。使用备用账号的手机扫描二维码。如果页面显示你已登录,但终端没有继续操作,请在终端中按 Enter。接着,程序会访问 creator.xiaohongshu.com 以获取创作者会话;如果该网站要求扫描,请再次扫码。会话会以仅所有者可访问的权限(0600)保存到 .session/state.json。

运行前请退出 MCP 宿主:一次只能有一个进程控制浏览器。

该文件是凭据,已加入 git 忽略规则。rednote-gate 绝不会打印该文件。切勿分享、提交或复制到共享磁盘。

然后,将服务添加到 MCP 宿主。

接入 Claude Code、Claude Desktop 和 Codex

rednote-gate connect 会输出适用于你当前安装的三种配置。全局 npm 安装时,命令为 rednote-gate。从克隆目录运行时,请使用 node 和 dist/cli.js 的绝对路径。

Claude Code:

claude mcp add rednote-gate --scope user -- rednote-gate

Claude Desktop(在 claude_desktop_config.json 中):

{
  "mcpServers": {
    "rednote-gate": {
      "command": "rednote-gate",
      "args": []
    }
  }
}

Claude Desktop 可能无法读取 Shell 的 PATH。如果无法启动服务,请使用绝对路径:command 的值为 which node 的输出,args 的值为 ["<npm root -g>/rednote-gate/dist/cli.js"]。

Codex(在 ~/.codex/config.toml 中):

[mcp_servers.rednote-gate]
command = "rednote-gate"
args = []

env 块为可选。请参阅环境变量。

切勿在同一个宿主会话中加载浏览器 MCP 服务(如 @playwright/mcp)和 rednote-gate。拥有浏览器的 Agent 可能会打开审批页面并点击 Approve。

审批页面

MCP 服务运行时,页面位于 http://127.0.0.1:7317。使用 RN_APPROVAL_PORT 更改端口。

获取链接:

rednote-gate approve

它会输出包含秘密令牌的 URL。服务每次启动时都会生成新令牌,因此重启后请获取新链接。链接也会以仅所有者可访问的权限存储在 data/approval-url 中。

页面会显示:

  • 对于帖子和草稿:准确的标题、正文和图片
  • 对于评论:评论文本
  • 对于回复:所回复的评论和回复文本
  • 过去 24 小时内已执行的实时写入,以及下一个时段的开放时间
  • 模式:DRY RUN 或 LIVE
  • 如果验证码或警告导致工作器停止,则显示暂停横幅
  • 每次尝试后,显示浏览器结束时画面的截图
  • 在有内容获批或任务运行时,每 5 秒自动刷新

Claude 将写入内容加入队列时,页面会自动打开(每分钟最多一次)。也可以按需使用 rednote_open_approval_page 打开页面。

页面还会以仪表条显示今天的用量,并提供 Settings 链接,可设置:模式(dry run 或 live;切换到 live 需勾选确认框)、每日写入次数、每日点赞次数、评论间隔分钟数和通知设置。设置会保存到 data/settings.json,并应用于下一个运行的项目,无需重启。设置不能超过硬性上限:写入 20 次、点赞 50 次、评论间隔 2 分钟。

按钮:

按钮功能
Approve dry run,或在 live 模式下选择 Approve and publish、Approve and save draft、Approve and send、Approve and send reply将待处理项目标记为已批准。不会立即发布。工作器会在约 30 秒后执行。
Reject将待处理项目标记为已拒绝
Cancel before it runs拒绝已获批准但工作器尚未开始处理的项目
Resume清除暂停状态,并在账本中写入一条 resumed 记录

页面的保护方式:

  • 仅绑定到 127.0.0.1。
  • 检查 Host 标头,以阻止 DNS 重绑定。
  • 每个请求都需要令牌。
  • 状态更改仅允许通过 POST 请求进行,且请求必须来自同一来源。这可以阻止其他网站发起请求。
  • 页面无法被嵌入框架中。它会发送严格的内容安全策略,且不发送 referrer。

队列文件格式

所有数据都存储在 ~/.rednote-gate/data/ 中;如果克隆目录已有登录信息,则存储在其中的 data/ 目录下。设置 RN_HOME 或 RN_DATA_DIR 可更改存储位置。该文件夹仅所有者可访问。在克隆目录中,该文件夹会被 git 忽略。

路径内容
data/queue/<id>.json一个队列项目
data/queue/<id>/<n>.<ext>项目加入队列时复制的图片
data/ledger.jsonl账本
data/screenshots/<id>.png尝试操作的截图
data/approval-url审批链接(0600)
data/lock服务的进程 ID;只有服务可以驱动浏览器
data/service.log服务日志

一个队列项目:

{
  "id": "q_20261006T153012_ab12",
  "tool": "create_post",
  "args": { "title": "...", "body": "...", "images": ["q_20261006T153012_ab12/0.jpg"] },
  "imageSha256": ["..."],
  "contentHash": "...",
  "createdAt": "2026-10-06T15:30:12.000Z",
  "status": "pending",
  "history": [{ "status": "pending", "at": "2026-10-06T15:30:12.000Z" }]
}

args.images 中的图片路径相对于 data/queue/。imageSha256 保存每张图片对应的哈希值。contentHash 涵盖工具、参数和图片哈希值,用于重复项检查。每次状态更改都会向 history 添加一条记录。

账本格式

data/ledger.jsonl 每行包含一个 JSON 对象。

字段含义
at事件发生时间
eventattempt、result、blocked 或 resumed
id队列 ID
tool使用的写入工具
dryRun是否启用了试运行
outcome条目的最终状态:posted、dry_run、failed 或 unknown
detail简短备注
screenshot截图路径

并非每行都会包含所有字段。浏览器启动前会写入 attempt 行。尝试结束后会写入 result 行。如果进程在两者之间退出,就会出现没有对应 result 的 attempt。下次启动时,该条目的状态会变为 unknown(实运行)或 failed(试运行),并写入一行 result 记录。

预算统计过去 24 小时内 dryRun: false 的 attempt 行数。暂停状态也由账本记录:如果存在一行 blocked,且后面没有 resumed 行,则即使重启后仍视为已暂停。

如果某行不是有效的 JSON,必须修复或删除该行后才能继续写入。如果无法读取预算,系统会采取安全失败策略。

环境变量

变量默认值含义
RN_HOME~/.rednote-gatedata/ 和 .session/ 的存放目录。如果克隆目录中已有 .session/,则改用克隆目录。
RN_SITE来自 rednote-gate loginxiaohongshu.com(中国大陆账号)或 rednote.com(海外账号)
RN_HEADLESSheaded1 以无头模式运行 Chromium
RN_DRY_RUN10 允许工作进程点击已批准条目的最终按钮
RN_DAILY_WRITES5任意滚动 24 小时内允许的实运行尝试次数
RN_COMMENT_GAP_MIN10实运行评论或回复尝试之间的间隔分钟数
RN_DAILY_LIKES10任意滚动 24 小时内允许的实运行点赞次数,与 RN_DAILY_WRITES 分开计算
RN_APPROVAL_PORT7317审批页面端口
RN_DATA_DIR<RN_HOME>/data队列、账本、设置、截图和锁文件的存放目录
RN_SESSION_PATH<RN_HOME>/.session/state.json保存的登录会话
RN_OPEN_APPROVALon0 阻止自动打开审批页面
RN_NOTIFYon0 关闭 Mac 通知
RN_TYPE_MIN_MS40每个输入字符的最短延迟
RN_TYPE_MAX_MS140每个输入字符的最长延迟

限制值和端口必须是整数。输入错误会导致服务器报错停止,而不会关闭限制。

仪表板的 Settings 页面会写入 data/settings.json,其中的限制、模式和通知设置优先于这些变量。

在 MCP 主机的 env 配置块中设置这些变量。rednote-gate 命令会从 shell 中读取它们。如果设置了 RN_HOME、RN_DATA_DIR 或 RN_SESSION_PATH,请在 shell 中导出相同的值。rednote-gate connect 会将这三个变量复制到 Claude Code 配置项中。

试运行并非没有副作用。它会打开页面、将图片上传到 RedNote 创作者页面,并输入文本。它只会跳过最终的发布、保存或发送操作。

它不会做什么

  • 不会在没有人工点击 Approve 的情况下发布任何内容。聊天中没有审批功能。
  • 不会使用多个账号、多个浏览器上下文,也不会同时执行写入操作。
  • 不会批量发布,也不会安排无人看管的定时发布。
  • 不会解决验证码,也不会在遇到拦截后重试。
  • 不会收藏、关注或发送消息。(应所有者要求,已于 2026-10-06 添加点赞功能;该功能使用同一个审批页面,并有单独的每日上限。)
  • 不会在云浏览器中运行账号。
  • 不会操作主要账号或品牌账号。

已知限制

  • 浏览器 Agent 可能会批准。 如果 Agent 在同一台机器上拥有自己的浏览器工具,就可以打开审批页面并点击“批准”。切勿在同一主机的会话中加载浏览器 MCP 服务。任何以你的用户身份运行的进程也一样:它可以读取 data/approval-url。这个关卡会阻止模型通过 rednote-gate 的工具执行操作,但无法阻止你运行的其他软件。
  • 服务会持续运行。 服务会在首次使用时启动,并一直运行,直到执行 rednote-gate stop 或重启系统。更新后,请运行 rednote-gate stop;下次调用工具时,服务会重新启动。设置无需重启即可生效。日志位于 data/service.log。
  • 选择器会发生变化。 RedNote 会更改页面。选择器位于 src/rednote.ts 的 SEL 对象中。请在那里修复,并在 PROTOTYPE-RUNSHEET.md 的捕获记录区块和 docs/friction.md 中记录证据。
  • 状态未知会阻止重新排队。 unknown 项会阻止相同内容的写入。如果你手动检查后确认内容并未发布,请先修改文本,再次排队。
  • 草稿保存在 rednote-gate 的浏览器中。 RedNote 的网页版创作平台会将草稿保存在浏览器中,而不是你的账户中(平台自身的提示也说明了这一点)。rednote-gate 保存的草稿不会出现在手机应用中。rednote-gate 会将浏览器的 IndexedDB 与会话一并保存,以便在重启后保留草稿;要完成草稿,请在 rednote-gate 的浏览器中打开创作平台的草稿箱。
  • 评论仅限第一页。
  • 默认使用有头模式。 运行浏览器工具时会打开 Chromium 窗口,并保持为一个标签页。当你信任它后,可设置 RN_HEADLESS=1。

反机器人措施(有意披露)

所有者于 2026-10-06 决定保留以下措施。在此列出,以免任何人感到意外。

  • 模拟人类节奏输入,每个字符之间加入随机延迟,并随机暂停。
  • Chromium 启动时会使用 --disable-blink-features=AutomationControlled。
  • 固定使用桌面版 Chrome 124 macOS User-Agent。该版本与 Playwright 实际运行的较新 Chromium 不匹配。

不会解决验证码。除上述三项外,不会进行任何指纹伪装。

RedNote 页面包含人眼不可见、无法点击的隐藏诱饵按钮。rednote-gate 只会对可见元素(即人可以点击的元素)执行操作,绝不会强制点击。请参阅 docs/friction.md。

最后一次对照线上网站验证

流程工具截至 2026-10-06 的状态
登录状态rednote_login_status已于 2026-10-06 在有头模式下验证(rednote.com);无头模式尚未验证
搜索rednote_search已于 2026-10-06 在有头模式下验证(rednote.com);无头模式尚未验证
获取笔记rednote_get_note已于 2026-10-06 在有头模式下验证(rednote.com);无头模式尚未验证
我的笔记rednote_my_notes已于 2026-10-06 在有头模式下验证(rednote.com)
帖子中的话题和表情符号使用 topics 的 rednote_create_post已于 2026-10-06 在线验证(rednote.com):笔记的标签列表中有 4 个关联话题,4 个表情符号均保留
AI 标签使用 aiGenerated: true 的 rednote_create_post已于 2026-10-07 通过试运行验证(rednote.com):内容类型声明已设为笔记含AI合成内容,并显示在预览中;尚未实际发布
视频笔记rednote_create_video_post已于 2026-10-06 通过试运行验证(rednote.com):已上传、处理并关联话题,也找到发布按钮;尚无真实视频
文字卡片和 post_from_conceptrednote_make_cards已于 2026-10-06 在线验证(rednote.com):研究了一个概念,生成 4 张卡片,并将其作为笔记发布
点赞rednote_like_note已于 2026-10-06 在线验证(rednote.com):点击后确认已点赞,计数从 151 变为 152
获取评论rednote_get_comments已于 2026-10-06 在有头模式下验证(rednote.com);无头模式尚未验证
发布帖子rednote_create_post已于 2026-10-06 在线验证(rednote.com):笔记已发布,并由 rednote_my_notes 列出
创建草稿rednote_create_draft已于 2026-10-06 在线验证(rednote.com):已保存,但仅保存在 rednote-gate 的浏览器中(见已知限制)
发布评论rednote_post_comment已于 2026-10-06 在线验证(rednote.com)
回复评论rednote_reply_comment已于 2026-10-06 在线验证(rednote.com);因评论间隔限制等待 9 分钟后自动发送

PROTOTYPE-RUNSHEET.md 说明了如何检查每一行。每次运行后,请用日期和结果更新此表。

致谢

请参阅 docs/landscape.md,了解这些项目与其他项目的比较。

许可证

MIT。作者:Yash Shelar。请参阅 LICENSE。

rednote-gate 独立运营,与相关方无关联。RedNote 和 Xiaohongshu 是其所有者的商标。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。