Windows 本地部署小红书 MCP + OpenAI Tunnel + ChatGPT 接入全流程

Windows 本地部署小红书 MCP + OpenAI Tunnel + ChatGPT 接入全流程

本文记录一套已经实际跑通的方案:

text 复制代码
ChatGPT
   ↓
OpenAI Secure MCP Tunnel
   ↓
tunnel-client
   ↓
http://127.0.0.1:18060/mcp
   ↓
xiaohongshu-mcp
   ↓
Headless Browser
   ↓
小红书

最终效果是:Windows 登录后自动后台启动,不弹 PowerShell、不弹浏览器;ChatGPT 可以直接搜索、读取小红书内容。


一、准备文件

Windows x64 下载:

text 复制代码
xiaohongshu-login-windows-amd64.exe
xiaohongshu-mcp-windows-amd64.exe

建议固定放到:

text 复制代码
D:\tools\xiaohongshu-mcp\

OpenAI Tunnel Client 下载对应的:

text 复制代码
tunnel-client-<VERSION>-windows-amd64.zip

不要误下载:

text 复制代码
linux-amd64
windows-arm64

解压到:

text 复制代码
D:\tools\openai-tunnel\

如果 Windows 报:

text 复制代码
指定的可执行文件不是此操作系统平台的有效应用程序

检查文件头:

powershell 复制代码
$bytes = [System.IO.File]::ReadAllBytes(
    (Resolve-Path .\tunnel-client)
)

"{0:X2} {1:X2} {2:X2} {3:X2}" -f `
    $bytes[0],$bytes[1],$bytes[2],$bytes[3]

Windows PE 应该以:

text 复制代码
4D 5A

开头。

如果是:

text 复制代码
7F 45 4C 46

说明下载成 Linux ELF 版了。


二、小红书首次登录

进入目录:

powershell 复制代码
cd D:\tools\xiaohongshu-mcp

运行:

powershell 复制代码
.\xiaohongshu-login-windows-amd64.exe

首次运行可能触发 Windows Defender 对 Rod 的:

text 复制代码
leakless.exe

误报,例如:

text 复制代码
Operation did not complete successfully because
the file contains a virus or potentially unwanted software

不要关闭整个 Defender,只针对本次实际生成的:

text 复制代码
C:\Users\<USER>\AppData\Local\Temp\leakless-amd64-<HASH>\

添加排除项:

powershell 复制代码
Add-MpPreference `
  -ExclusionPath "C:\Users\<USER>\AppData\Local\Temp\leakless-amd64-<HASH>"

然后重新运行登录程序,扫码完成登录。

看到:

text 复制代码
登录成功!

即可。


三、启动小红书 MCP

日常运行直接:

powershell 复制代码
cd D:\tools\xiaohongshu-mcp

.\xiaohongshu-mcp-windows-amd64.exe

默认就是 Headless 模式,不会弹浏览器。

MCP 地址:

text 复制代码
http://127.0.0.1:18060/mcp

REST 调试接口基础地址:

text 复制代码
http://127.0.0.1:18060

快速检查:

powershell 复制代码
Test-NetConnection 127.0.0.1 -Port 18060

应看到:

text 复制代码
TcpTestSucceeded : True

四、验证登录和搜索

登录:

powershell 复制代码
curl.exe -sS `
  "http://127.0.0.1:18060/api/v1/login/status"

首页:

powershell 复制代码
curl.exe -sS `
  "http://127.0.0.1:18060/api/v1/feeds/list"

搜索建议第一阶段不要传 filters

powershell 复制代码
$Keyword = [uri]::EscapeDataString("北邮 考研")

curl.exe -sS `
  "http://127.0.0.1:18060/api/v1/feeds/search?keyword=$Keyword"

这里有一个踩坑点:

text 复制代码
filters 中的 "不限" ≠ 空字符串

某些版本会真的打开筛选 UI 去寻找"笔记类型、排序依据"等控件。如果当前小红书页面没有对应筛选组,就可能搜索失败。

因此最稳的是:

text 复制代码
keyword only

详情读取需要搜索结果里的:

text 复制代码
feed_id
xsecToken

五、创建 OpenAI Tunnel

在 OpenAI Platform 创建 Tunnel,例如:

text 复制代码
名称:小红书
Tunnel ID:tunnel_<REDACTED>

然后初始化本地 Tunnel Client:

powershell 复制代码
cd D:\tools\openai-tunnel

.\tunnel-client.exe init `
  --sample sample_mcp_remote_no_auth `
  --profile xiaohongshu `
  --tunnel-id tunnel_<REDACTED> `
  --mcp-server-url "http://127.0.0.1:18060/mcp"

成功后 profile 会保存到:

text 复制代码
C:\Users\<USER>\AppData\Roaming\tunnel-client\xiaohongshu.yaml

以后不需要重新 init


六、配置 Runtime API Key

在 OpenAI Platform 创建 Tunnel Runtime 使用的 API Key。

不要把 Key 写进博客、GitHub 或截图。

当前 PowerShell 临时加载:

powershell 复制代码
$env:CONTROL_PLANE_API_KEY = "<API_KEY>".Trim()

之前遇到过一个非常简单但隐蔽的问题:

powershell 复制代码
" sk-..."
 ^

Key 前多一个空格会导致:

text 复制代码
control plane API key is malformed

因此最好统一 .Trim()

如果希望重启后仍然存在,持久化成 Windows 用户环境变量:

powershell 复制代码
$RuntimeKey = $env:CONTROL_PLANE_API_KEY.Trim()

[Environment]::SetEnvironmentVariable(
    "CONTROL_PLANE_API_KEY",
    $RuntimeKey,
    "User"
)

检查但不输出 Key:

powershell 复制代码
if (
    [Environment]::GetEnvironmentVariable(
        "CONTROL_PLANE_API_KEY",
        "User"
    )
) {
    Write-Host "Runtime Key: PERSISTED"
}

七、检查 Tunnel

执行:

powershell 复制代码
.\tunnel-client.exe doctor `
  --profile xiaohongshu `
  --explain

正常关键项:

text 复制代码
CHECK tunnel_id              PASS
CHECK control_plane_api_key  PASS
CHECK mcp_target             PASS
CHECK mcp_server_reachable   PASS

RESULT ok

然后正式启动:

powershell 复制代码
.\tunnel-client.exe run `
  --profile xiaohongshu

正常最终会看到类似:

text 复制代码
mcp session initialized
server_name: xiaohongshu-mcp

🟢 tunnel-client started

Tunnel 本地管理界面:

text 复制代码
http://127.0.0.1:8080/ui

八、ChatGPT 接入

ChatGPT 中首先开启:

text 复制代码
设置
→ 开发人员模式
→ 开启

创建 Developer Mode MCP 连接时:

text 复制代码
名称:小红书

Connection:
Tunnel

Tunnel:
选择"小红书"
或填写 tunnel_<REDACTED>

Authentication:
No Authentication

这里必须注意:

text 复制代码
No Authentication ✅
OAuth             ❌

因为本地初始化使用的是:

text 复制代码
sample_mcp_remote_no_auth

如果错误选择 OAuth,会出现:

text 复制代码
MCP server ... does not implement OAuth

连接成功后 ChatGPT 可以发现:

text 复制代码
check_login_status
list_feeds
search_feeds
get_feed_detail
user_profile
...

实测:

text 复制代码
ChatGPT
→ search_feeds("北邮 考研")
→ 获取 feed_id + xsecToken
→ get_feed_detail(...)
→ 成功读取正文、图片信息和评论

说明链路彻底打通。


九、配置完全静默的开机自启

手工运行时需要两个进程:

text 复制代码
xiaohongshu-mcp.exe
tunnel-client.exe

为了实现:

text 复制代码
Windows 登录
→ 自动启动
→ 不弹 PowerShell
→ 不弹 Chrome
→ 崩溃后自动拉起

最终采用:

text 复制代码
Windows Task Scheduler
        ↓
wscript.exe
        ↓
隐藏 powershell supervisor.ps1
        ↓
xiaohongshu-mcp.exe
        ↓
等待 18060 Ready
        ↓
tunnel-client.exe

目录:

text 复制代码
D:\tools\xiaohongshu-stack\
├── supervisor.ps1
├── launcher.vbs
├── control.ps1
├── control.cmd
└── logs\

计划任务名:

text 复制代码
Xiaohongshu-ChatGPT-Bridge

触发条件:

text 复制代码
当前用户登录 Windows

长期任务设置:

text 复制代码
ExecutionTimeLimit = 0
MultipleInstances = IgnoreNew

Supervisor 每约 20 秒检查:

text 复制代码
xiaohongshu-mcp 是否存在
18060 是否监听
tunnel-client 是否存在

进程掉了就自动拉起。


十、日常管理

最后做了一个:

text 复制代码
D:\tools\xiaohongshu-stack\control.cmd

以后双击即可:

text 复制代码
========================================
 Xiaohongshu <-> ChatGPT Bridge
========================================

[1] 启动 Bridge
[2] 停止 Bridge
[3] 启用开机自动启动
[4] 禁用开机自动启动
[5] 重启 Bridge
[6] 查看状态
[7] 打开 Tunnel Web UI
[0] 退出

正常状态:

text 复制代码
自动启动任务 : Running

Supervisor      : RUNNING
Xiaohongshu MCP : RUNNING
Tunnel Client   : RUNNING

Port 18060      : PASS
Port 8080       : PASS

Runtime Key     : PERSISTED

整体状态        : ONLINE

注意:

text 复制代码
[2] 停止

只是临时停止,本次 Windows 会话不再运行;如果自动启动仍启用,下次登录 Windows 会重新启动。

text 复制代码
[4] 禁用自动启动

才是以后登录 Windows 都不再自动运行。

不建议直接在任务管理器杀:

text 复制代码
xiaohongshu-mcp.exe
tunnel-client.exe

因为 Supervisor 会再次把它们拉起来。


最终部署结构

text 复制代码
D:\tools\

├── xiaohongshu-mcp\
│   ├── xiaohongshu-login-windows-amd64.exe
│   └── xiaohongshu-mcp-windows-amd64.exe
│
├── openai-tunnel\
│   ├── tunnel-client.exe
│   ├── cloudflared.exe
│   └── ...
│
└── xiaohongshu-stack\
    ├── supervisor.ps1
    ├── launcher.vbs
    ├── control.ps1
    ├── control.cmd
    └── logs\

最终使用体验就是:

text 复制代码
开机
↓
登录 Windows
↓
后台自动启动
↓
无需打开 PowerShell
↓
无需打开浏览器
↓
打开 ChatGPT
↓
直接:
"搜索小红书上的 XXX,并阅读相关帖子和评论"

脱敏注意事项

公开文章或 GitHub 中绝对不要出现

text 复制代码
API Key / sk-...
真实 Tunnel ID
小红书 user_id
账号真实昵称(如需匿名)
fingerprint seed
cookies.json
完整 PowerShell 历史
个人 Windows 用户名

建议统一替换成:

text 复制代码
<USER>
<API_KEY>
tunnel_<REDACTED>
<XHS_USER_ID>
<HASH>
相关推荐
王莹月1 小时前
nano banana pro 怎么用?生图接口返回的图别直接存链接:nano banana pro / gpt-image-2 出图结果的落库与转存
gpt·ai·chatgpt·ai作画·aigc·agi
天天有money5 小时前
Claude 中转站用于报告生成:会议纪要、周报和项目复盘怎么提效
gpt·ai·chatgpt
YH55269845 小时前
如何评价GPT-5.6Luna免费不限量,后续基础大模型都会走向免费吗?
人工智能·gpt·chatgpt
枫叶丹45 小时前
从聊天到委派:AI Agent 如何推进长期任务
人工智能·chatgpt·agent·codex
大侠Luffy13 小时前
一行代码没写,我用AI做了一个可以收费产品
chatgpt·ai编程·vibecoding
浩风祭月13 小时前
ChatGPT o3将在8月26日退出:Plus、Pro用户现在该迁移什么
人工智能·chatgpt·openai o3·模型迁移
90后小陈老师16 小时前
Windows 10 下 Gitee SSH 连接配置详解(附常见问题解决)
windows·gitee·ssh
Light Gao17 小时前
MCPHub 路由原理:一个入口如何管理并调用上百个 MCP Server
windows·microsoft