把你的电脑接入 ChatGPT:我做了一个“小龙虾平替”,让 GPT 真正操作本机文件、项目和命令行
MY_GPT:把自己的电脑接入 ChatGPT,让 AI 真正操作你的电脑

一、为什么要做这个项目?
平时我们使用 ChatGPT,大多数时候都是“问一句,答一句”。它可以帮我们分析代码、写方案、解释报错,但它并不能直接看到你电脑里的项目,也不能主动读取本地文件,更不能帮你查看 Git 状态、搜索目录、检查运行环境。
所以我做了一个小项目:MY_GPT。
它的目标很简单:把自己的电脑安全地接入 ChatGPT,让 ChatGPT 从一个聊天助手,变成一个真正能理解你本机环境的电脑管家。
举个例子,以前你可能要这样做:
- 复制报错信息给 ChatGPT;
- 手动发项目结构;
- 手动复制某个文件内容;
- ChatGPT 给出修改建议;
- 你再手动回到电脑上改代码。
接入 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\"}"
}
这种设计的好处是:
- OpenAPI schema 非常简洁;
- GPT 的工具调用格式稳定;
- 后端可以继续扩展工具,不需要频繁改 GPT Action;
- 所有工具都可以统一做权限、日志、超时和错误处理。
五、如何部署:本机启动 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
.env、ACTION_TOKEN、MCP_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 真正进入你的本地工作流。 感兴趣的朋友可以私信或者留言,我会第一时间联系你。
更多推荐

所有评论(0)