ChatGPT 网页版对话(包括 APP 中的对话)在开启进阶思考后具备操作一个内置沙盒的能力,能够进行相对复杂的文件操作和简单的代码调试。但是这个沙盒环境存在一个致命缺陷:断网。这使得 ChatGPT 无法在沙盒环境中直接克隆仓库、安装依赖,给直接开发带来了阻碍。本文通过外置 MCP 的方式,在不违反 ToS 的情况下为 ChatGPT 提供一个额外的可联网、持久化的运行环境。

注:本方法仅限于 ChatGPT Plus 或 Team 及以上套餐,需要开启“开发者模式”并添加自定义应用(Connector)。

项目开源地址:fwerkor/local-shell-mcp: Enables ChatGPT to use a local environment.

效果展示:

配置完成后,你将可以像使用 Codex 一样使用网页版 ChatGPT,享受明显更宽裕的额度,并且可以在 ChatGPT APP 中继续工作。

配置方法

  1. 本地部署 local-shell-mcp 并映射至公网
  2. ChatGPT 添加 Connector

本地部署 local-shell-mcp 并映射至公网

首先,你需要确保能够将 MCP 服务映射至公网。此处推荐直接使用 Cloudflare Tunnel,免费且可靠。仓库已内置 Cloudflare Tunnel 连接工具。你需要获取CLOUDFLARE_TUNNEL_TOKEN,方法如下:

登录Cloudflare并创建隧道。

隧道名称可自定义。随后复制下方提供的连接命令,在文本编辑应用中粘贴,记住其中的最后一个字段(那是你的CLOUDFLARE_TUNNEL_TOKEN,后续会用到)。最后在本页面点击取消。

重新点击刚才新建的隧道(我这是local-shell-mcp-1)。

切换到“路由”并点击“添加路由”,选择“已发布的应用程序”。

在上方“子域”和“域”配置好你打算让这个 MCP 服务使用的域名,通常随便选一个平时用不到的即可。下方“服务URL”填http://local-shell-mcp:8765,填好后点“添加路由”。

至此,Cloudflare 的部分已经完成,接下来你需要在你打算提供给 ChatGPT 的运算设施上部署 local-shell-mcp 服务。Linux 用户可以直接使用下方提供的部署方式。Windows 用户也可以自行使用类似的方式部署(需要docker)。

Linux 完整源码部署方法:

git clone https://github.com/fwerkor/local-shell-mcp
cd local-shell-mcp

cp .env.example .env
vim .env # 按注释提示填写配置文件

docker compose --profile tunnel pull # 拉取镜像
docker compose --profile tunnel up -d # 启动服务
# 如果不使用内置 Cloudflare Tunnel 功能,可使用如下命令:
# docker compose pull
# docker compose up -d

若无报错,此时服务已经启动成功。

ChatGPT 添加 Connector

打开ChatGPT设置应用高级设置开发人员模式。随后点击“创建应用”,按下图填写:

点击“创建”后会进入鉴权页面,输入你之前在.env中配置的LOCAL_SHELL_MCP_OAUTH_ADMIN_PIN即可。

随后新建会话即可使用。(原有会话通常由于开启了“记忆”而无法使用该新功能)

“记忆”问题

出于安全目的,开发者模式下,ChatGPT 会强制禁用“记忆功能”。但是我们完全可以像 ClaudeCode 一样自行维护记忆功能。

感谢关注。如果本项目帮助了你,记得star该项目并follow我的GitHub!

Castronaut的头像

作者 Castronaut

行走在地狱边缘,狂舞于悬崖之巅。

发表回复