MY_GPT:把自己的电脑接入 ChatGPT,让 AI 真正操作你的电脑

请添加图片描述

一、为什么要做这个项目?

平时我们使用 ChatGPT,大多数时候都是“问一句,答一句”。它可以帮我们分析代码、写方案、解释报错,但它并不能直接看到你电脑里的项目,也不能主动读取本地文件,更不能帮你查看 Git 状态、搜索目录、检查运行环境。

所以我做了一个小项目:MY_GPT

它的目标很简单:把自己的电脑安全地接入 ChatGPT,让 ChatGPT 从一个聊天助手,变成一个真正能理解你本机环境的电脑管家。

举个例子,以前你可能要这样做:

  1. 复制报错信息给 ChatGPT;
  2. 手动发项目结构;
  3. 手动复制某个文件内容;
  4. ChatGPT 给出修改建议;
  5. 你再手动回到电脑上改代码。

接入 MY_GPT 后,你可以直接对自己的 Custom GPT 说:

帮我看看这个项目结构。
帮我读一下 package.json 和 src/server.js。
帮我检查 Git 是否有未提交内容。
帮我搜索最近修改过的 Markdown 文件。
帮我看一下本机 Node、npm、Git 是否安装正常。

ChatGPT 不再只是“猜”,而是可以通过受控 API 调用你的电脑能力。

二、MY_GPT 是什么?

MY_GPT 本质上是一个运行在本机的 Local Computer Manager Runtime

它会在你的电脑上启动一个本地服务,例如:

http://127.0.0.1:8765

然后通过 GPT Actions 或 MCP,把这个本地服务暴露给 ChatGPT 调用。为了让 ChatGPT 能从公网访问本机,还可以配合 frp、Nginx 和 HTTPS 域名做一层反向代理。

整体效果可以理解成:

ChatGPT
  -> GPT Action / MCP
  -> 公网 HTTPS 地址
  -> frp / Nginx 隧道
  -> 本机 MY_GPT Runtime
  -> 文件系统 / Git / PowerShell / 系统状态

请添加图片描述

这个项目当前的核心能力包括:

能力分类 可以做什么
文件系统 列目录、读文件、写文件、替换文本、创建目录、删除文件、应用补丁
Git 查看 status、diff、log
命令执行 运行 PowerShell 命令,带超时和输出限制
系统诊断 查看系统健康、进程、启动项、服务、端口、网络、磁盘、工具链
项目扫描 自动识别本地项目、判断 Node/Python/Rust 等项目类型
后台任务 启动任务、查看日志、停止任务
操作日志 记录工具调用,方便回溯
MCP 预览 提供只读 MCP 工具,为后续 ChatGPT Apps 做准备

三、项目目录结构

MY_GPT 的目录结构大概是这样:

MY_GPT
├─ app
│  ├─ control_panel.py          # Windows 桌面控制面板
│  └─ assets                    # 图标资源
├─ bin
│  ├─ frp                       # frpc 客户端
│  └─ node                      # 可选的本地 Node 运行环境
├─ config
│  └─ frpc.toml                 # frp 配置,不建议公开
├─ docs
│  ├─ gpt-instructions-v2.md    # 给 Custom GPT 的提示词
│  └─ chatgpt-apps-upgrade-plan.md
├─ scripts
│  ├─ start-local.ps1           # 启动本地 Runtime
│  ├─ start-frpc.ps1            # 启动 frp
│  ├─ install-autostart.ps1     # 安装开机自启
│  ├─ uninstall-autostart.ps1   # 移除开机自启
│  ├─ print-action-config.ps1   # 打印 GPT Action 配置
│  └─ print-mcp-app-config.ps1  # 打印 MCP App 配置
├─ src
│  ├─ server.js                 # HTTP 服务入口
│  ├─ runtime.js                # 工具调度和核心能力
│  └─ mcp.js                    # MCP 工具暴露
├─ package.json
└─ README.md

项目基于 Node.js 开发,主要依赖包括:

{
  "express": "^4.19.2",
  "helmet": "^7.1.0",
  "zod": "^3.23.8",
  "@modelcontextprotocol/sdk": "^1.29.0"
}

其中:

  • express 负责提供 HTTP API;
  • helmet 负责基础安全响应头;
  • zod 负责参数校验;
  • @modelcontextprotocol/sdk 用于 MCP 接入;
  • runtime.js 是整个项目最核心的工具调度层。

四、核心设计:只暴露一个 runTool

很多人在做 GPT Actions 的时候,会把每个能力都写成一个 API,比如:

/api/read-file
/api/write-file
/api/run-command
/api/git-status

这样做的问题是:接口越来越多,OpenAPI schema 会越来越复杂,GPT Builder 解析起来也容易出问题。

MY_GPT 采用了一个更稳定的设计:对 GPT 只暴露一个入口:

POST /api/tool

请求格式是:

{
  "category": "files",
  "tool": "recent",
  "argumentsJson": "{}"
}

也就是说,GPT 只需要学会调用一个 runTool,具体做什么由 category + tool + argumentsJson 决定。

例如查看工具目录:

{
  "category": "ops",
  "tool": "catalog",
  "argumentsJson": "{}"
}

读取文件:

{
  "category": "fs",
  "tool": "read",
  "argumentsJson": "{\"path\":\"D:\\\\MY_GPT\\\\package.json\"}"
}

查看项目 Git 状态:

{
  "category": "git",
  "tool": "status",
  "argumentsJson": "{\"cwd\":\"D:\\\\MY_GPT\"}"
}

运行命令:

{
  "category": "command",
  "tool": "run",
  "argumentsJson": "{\"cwd\":\"D:\\\\MY_GPT\",\"command\":\"npm run check\"}"
}

这种设计的好处是:

  1. OpenAPI schema 非常简洁;
  2. GPT 的工具调用格式稳定;
  3. 后端可以继续扩展工具,不需要频繁改 GPT Action;
  4. 所有工具都可以统一做权限、日志、超时和错误处理。

五、如何部署:本机启动 Runtime

先进入项目目录:

cd D:\MY_GPT

安装依赖:

npm install

启动本地服务:

.\scripts\start-local.ps1

首次启动时,脚本会创建 .env,并生成随机的 ACTION_TOKEN

启动成功后,可以用下面的命令检查健康状态:

Invoke-RestMethod http://127.0.0.1:8765/health

如果返回类似下面的 JSON,就说明本地服务已经起来了:

{
  "ok": true,
  "version": "0.5.1",
  "workspaceRoot": "D:\\",
  "process": "local-codex-gpt-action"
}

请添加图片描述

六、如何让 ChatGPT 访问本机服务?

ChatGPT 无法直接访问你电脑上的 127.0.0.1,所以需要一个公网 HTTPS 地址。

常见方案是:

ChatGPT
  -> https://your-domain.example/openapi.json
  -> Nginx
  -> frp server
  -> frpc
  -> 127.0.0.1:8765

本项目已经准备了 frp 相关脚本:

.\scripts\start-frpc.ps1

如果需要在远程服务器上配置 Nginx,可以使用:

.\scripts\setup-remote-nginx.ps1 -Domain your-domain.example

配置完成后,公网 OpenAPI 地址应该类似:

https://your-domain.example/openapi.json

注意:这里不要直接照抄别人的域名,也不要把自己的真实 token、frp token、服务器 IP、.env 内容写进公开文章里。

七、在 Custom GPT 中配置 Action

打开 ChatGPT,创建或编辑一个 Custom GPT。

进入 Configure 页面,找到 Actions,新增一个 Action。

认证方式建议选择:

Authentication: API Key
Auth Type: Bearer
Token: 你的 ACTION_TOKEN

然后导入 schema:

https://your-domain.example/openapi.json

如果在线导入失败,可以先导出 OpenAPI 文件,再复制粘贴进去:

.\scripts\export-openapi.ps1 -PublicBaseUrl https://your-domain.example

也可以使用项目内置脚本打印配置:

.\scripts\print-action-config.ps1 -PublicBaseUrl https://your-domain.example

配置好以后,可以在 GPT 的 Instructions 里写清楚工具使用规则,例如:

你是我的本地 Windows 电脑管家和 coding assistant。
你通过 GPT Actions 操作我的电脑。
当前 Runtime 的 OpenAPI 只暴露一个主 Action:runTool。
所有能力都通过 {category, tool, argumentsJson} 调用。

文件读写改删用 category=fs。
Git 状态、diff、log 用 category=git。
运行 PowerShell 命令用 category=command, tool=run。
系统诊断用 category=system。
文件查找、最近文件、元数据用 category=files。
项目扫描用 category=projects。
后台任务用 category=tasks。
工具目录和操作日志用 category=ops。

不要读取、输出、导出、提交密钥、token、.env、SSH key、cookie、凭据文件或其他敏感信息。
删除文件、覆盖重要文件、运行危险命令前,必须先请求确认。

项目里的完整提示词可以参考:

docs/gpt-instructions-v2.md

八、桌面控制面板:更适合普通用户使用

为了降低使用门槛,MY_GPT 还准备了一个 Windows 桌面控制面板:

dist\MYGPT-ControlPanel.exe

它可以用来:

  • 查看本地服务状态;
  • 查看公网 Action 状态;
  • 查看 frp 连接状态;
  • 复制 OpenAPI 链接;
  • 复制或轮换 MCP 私有链接;
  • 开关 MCP、写文件工具、命令工具;
  • 重启本地服务和 frp;
  • 安装或移除开机自启;
  • 查看最近运行日志。

在这里插入图片描述

这个控制面板的意义在于:后续不一定要让用户记 PowerShell 命令,很多事情可以直接点按钮完成。

九、MCP:下一步升级方向

除了 GPT Actions,MY_GPT 也在尝试 MCP 路线。

当前项目里已经有一个 src/mcp.js,它会把部分工具注册成 MCP 工具,例如:

computer_health
list_files
read_file
search_files
file_metadata
git_status
list_projects
inspect_project

这些工具默认偏只读,更适合早期测试。写文件和命令执行工具应该谨慎开放,最好等 OAuth、权限分级、工具级确认机制完善以后再放出来。

为什么要做 MCP?

因为长期来看,MCP 更适合做“ChatGPT 里的原生应用/连接器”。它不仅可以暴露工具,还可以配合 UI 组件显示状态、任务日志、文件搜索结果、Git diff 等信息。

不过现阶段,如果只是想让自己的 Custom GPT 调用本机能力,GPT Actions 仍然是比较直接、稳定的方案。

十、安全提醒:这个项目很强,但也必须谨慎

MY_GPT 的能力非常接近“远程控制电脑”。它可以读文件、写文件、运行命令,所以安全设计一定不能省。

我建议至少遵守下面几条原则:

1. 不要公开你的 token

.envACTION_TOKENMCP_PATH_SECRET、frp token、SSH key 都不能公开。

尤其是写 CSDN、GitHub README、教程截图时,要检查有没有把敏感信息截进去。

2. 不要随便开放全盘读写

如果只是做演示,建议把工作区限制在某个目录,例如:

WORKSPACE_ROOT=D:\Projects
ALLOW_OUTSIDE_WORKSPACE_READ=false
ALLOW_OUTSIDE_WORKSPACE_WRITE=false
COMMAND_RESTRICT_TO_WORKSPACE=true

这样即使 GPT 能调用工具,也只能在指定目录内活动。

3. 命令执行要谨慎

命令执行是最强能力,也是风险最高的能力。

建议默认关闭危险命令,或者只在你自己的私有 GPT 中开启,并且所有删除、覆盖、安装依赖、修改系统配置等操作都要确认。

4. 保护敏感路径

项目中已经对下面这些内容做了保护:

.env
.env.example
.git
.ssh
cloud_server_key
私钥文件
浏览器 cookie
登录数据

但这不代表可以完全放心。越强的工具,越要小心权限边界。

5. 公网只暴露 HTTPS

Custom GPT Actions 通常需要公网可访问的 HTTPS 地址。不要直接裸奔 HTTP,也不要把本机端口直接暴露到公网。

推荐结构是:

ChatGPT -> HTTPS 域名 -> Nginx -> frp -> 本机 Runtime

十一、适合谁使用?

MY_GPT 比较适合这些人:

  • 经常让 ChatGPT 帮自己看代码的开发者;
  • 希望 AI 能直接理解本机项目结构的人;
  • 想做“私人电脑管家”的玩家;
  • 想研究 GPT Actions、MCP、Agent 工具调用的人;
  • 想把 AI 编程助手接入本地 Windows 环境的人。

它不太适合:

  • 完全不懂基本网络和安全配置的人;
  • 想把自己的电脑能力开放给所有人的场景;
  • 没有权限管理就想公开部署的场景;
  • 对 token、反代、HTTPS、frp 完全没有概念的人。

十二、最后总结

MY_GPT 不是一个简单的 ChatGPT 插件,而是一个“本机能力桥接层”。

它把本机文件系统、Git、PowerShell、系统诊断、项目扫描等能力包装成受控工具,再通过 GPT Actions 或 MCP 暴露给 ChatGPT。

它带来的最大变化是:

ChatGPT 不再只能根据你复制的文本回答,而是可以在你的授权下,真正读取和理解你的本机环境。

对于开发者来说,这会让 AI 编程助手的体验更接近“本地 Agent”。

当然,能力越强,安全越重要。我的建议是:先从只读能力开始,把工作区限制在项目目录内,确认稳定后再逐步开放写入和命令执行。

后续我还会继续完善:

  • 更友好的控制面板;
  • 更细的权限开关;
  • MCP OAuth;
  • 工具级确认;
  • 文件搜索 UI;
  • Git diff 预览;
  • 任务日志面板;
  • 更适合普通用户的一键安装包。

如果你也想把自己的电脑接入 ChatGPT,可以关注 MY_GPT 这个项目。它也许不是最终形态,但它代表了一个很有意思的方向:让 AI 真正进入你的本地工作流。 感兴趣的朋友可以私信或者留言,我会第一时间联系你。

更多推荐