没有不值得去解决的问题,也没有不值得去学习的技术!

用 Desktop Commander 把 ChatGPT 接入本地开发环境:我的 Remote MCP 实际使用体验

【图 7:Desktop Commander 当前 Tool calls 使用量与升级 Pro 入口】

作者:

以前使用 ChatGPT 辅助开发时,我经常遇到一个问题:

ChatGPT 可以分析代码、给出命令、生成修改方案,但真正执行时,很多操作还是需要我自己在本地终端完成。

一个很常见的流程是:

Plaintext
ChatGPT 给出命令

复制命令

切换到终端执行

复制执行结果

回到 ChatGPT

继续分析下一步

如果只是执行一两条命令,这当然没有什么问题。

但如果维护的是一个长期项目,一个任务需要连续读取多个文件、检查 Git 状态、执行测试、分析结果、再次修改,那么这种在 ChatGPT 和本地终端之间不断“复制—粘贴—切换”的操作,很快就会变成明显的效率损耗。

最近我开始实际使用 Desktop Commander 的 Remote MCP,把 ChatGPT 和自己的 Ubuntu 开发环境连接起来。

使用一段时间之后,我发现:

Desktop Commander 真正提高的,并不只是“执行命令”的效率,而是减少了 ChatGPT 与本地开发环境之间大量没有必要的人工中转。

当然,它也不是无限制使用的。Remote MCP 本身存在 Tool calls 使用额度,而且如果工作流中还涉及 Codex,也需要额外注意 Codex 自己的额度消耗。

这篇文章记录一下我实际安装、连接和使用 Desktop Commander 的过程。


一、Desktop Commander 解决的是什么问题?

Desktop Commander 可以通过 Remote MCP,让 ChatGPT 在经过授权以后访问自己的电脑。

它能够让 ChatGPT 接触到真实的:

Plaintext
文件系统
Git 仓库
项目源代码
配置文件
本地终端
命令执行结果

以前如果我问 ChatGPT:

Plaintext
这个测试为什么失败?

ChatGPT 本身并不知道我的本地项目当前到底是什么状态。

我通常需要手动把这些东西提供给它:

Bash
git status --short
git log -1 --oneline
git diff

然后再复制测试输出、相关代码和配置文件。

有时候一个问题需要检查五六个文件,我还需要继续把不同文件的内容粘贴到聊天里。

Desktop Commander 的意义,就是在 ChatGPT 和本地电脑之间增加了一座桥。

从原来的:

Plaintext
ChatGPT



本地电脑

逐渐变成:

Plaintext
ChatGPT

Desktop Commander

Remote MCP

本地电脑

这样一来,很多原本必须由我负责传递的信息,就可以由 ChatGPT 自己获取。


二、通过 Remote MCP 连接自己的电脑

Desktop Commander 首先需要把电脑注册为一个可以通过 Remote MCP 访问的设备。

进入设备连接页面以后,会看到类似下面的命令:

Bash
npx @wonderwhy-er/desktop-commander@latest remote
【图 1:Desktop Commander 提供 Remote MCP 设备连接命令】
【图 1:Desktop Commander 提供 Remote MCP 设备连接命令】

我目前使用的是 Ubuntu,所以直接在本地终端运行这条命令。

运行以后,Desktop Commander 会引导浏览器完成设备授权。

这里有一个很重要的点:

ChatGPT 并不是安装插件以后就自动拥有本机访问权限。

电脑必须先经过明确的 Remote MCP 设备授权。


三、验证设备

Remote MCP 启动以后,浏览器会进入设备验证页面。

页面中会显示设备验证码,并要求确认:

Plaintext
Verify Device
【图 2:Remote MCP 设备验证码确认页面】
【图 2:Remote MCP 设备验证码确认页面】

确认以后,页面会显示:

Plaintext
Device verified

This device is now authorized.
【图 3:Remote MCP 设备验证成功】
【图 3:Remote MCP 设备验证成功】

到这里,这台电脑才正式成为一个已经授权的 Remote MCP 设备。


四、确认电脑已经 Online

返回 Desktop Commander 控制台以后,可以看到已经授权的设备。

我的设备显示为:

Plaintext
wangqiang-ThinkPad-T570

状态:

Plaintext
Online
【图 4:Desktop Commander 中本机设备已经 Online】
【图 4:Desktop Commander 中本机设备已经 Online】

这个页面还有一个我比较在意的设计:

可以随时点击:

Plaintext
Revoke

撤销某台设备的授权。

也就是说,Remote MCP 并不是授权以后就完全失去控制。

如果以后某台电脑不再使用,可以主动断开。

页面同时还能看到 Desktop Commander 支持的使用入口,包括 ChatGPT、Claude 和其他 MCP Client。

所以更准确地说,Desktop Commander 提供的是一条 Remote MCP 通道,而 ChatGPT 是可以使用这条通道的客户端之一。


五、在 ChatGPT 中安装 Remote Desktop Commander

设备连接完成以后,还需要在 ChatGPT 中安装 Remote Desktop Commander。

插件页面对它的功能描述其实已经比较清楚:

ChatGPT 可以通过 Desktop Commander 的 Remote MCP,访问已经授权电脑的文件系统和终端。

【图 5:ChatGPT 中的 Remote Desktop Commander 插件页面】
【图 5:ChatGPT 中的 Remote Desktop Commander 插件页面】

安装完成以后,可以看到:

Plaintext
Remote Desktop Commander 插件已安装

并且可以直接:

Plaintext
在聊天中试用
【图 6:Remote Desktop Commander 已安装,可以直接在 ChatGPT 中使用】
【图 6:Remote Desktop Commander 已安装,可以直接在 ChatGPT 中使用】

到这里,完整链路基本建立:

Plaintext
ChatGPT

Remote Desktop Commander

Remote MCP

我的 Ubuntu

本地文件 / Git 仓库 / Terminal

六、真正有价值的不是“帮我执行一条命令”

一开始看到 Remote MCP 时,我其实没有马上觉得它特别重要。

因为单纯从功能上来看:

ChatGPT 可以帮我运行终端命令。

这件事情似乎也没有多复杂。

但真正使用以后,我发现,它最重要的价值其实不是执行某一条命令,而是:

让 ChatGPT 可以直接获取开发环境的上下文。

这两件事情的价值完全不同。

例如以前排查一个问题,我可能需要自己告诉 ChatGPT:

Plaintext
当前 Git HEAD 是什么
working tree 是否 clean
最近修改了哪些文件
某个测试为什么失败
配置文件现在是什么内容
相关文档规定的流程是什么

现在 ChatGPT 在获得授权以后,可以自己去检查其中很多内容。

于是开发模式从:

Plaintext
我负责收集信息

我把信息发送给 ChatGPT

ChatGPT 分析

ChatGPT 给我命令

我执行命令

我再把结果发回来

变成了:

Plaintext
我定义任务目标和边界

ChatGPT 自己获取必要上下文

ChatGPT 分析

ChatGPT 执行部分操作

根据真实结果继续处理

我负责关键决策和最终确认

这才是我感觉效率提升最明显的地方。


七、我目前主要把它用于 go-tour-i18n

我现在比较典型的实际使用场景,是自己的:

Plaintext
go-tour-i18n

项目。

这是我长期维护的 A Tour of Go 多语言翻译项目

随着语言数量不断增加,现在这个项目早就已经不只是“把英文翻译成其他语言”。

它逐渐形成了一套比较完整的工程工作流:

Plaintext
Locale 初始化

Glossary

TranslationUnit export

语言生成

Process

Validation

Candidate Snapshot

独立 Quality Check

Revision

Promotion

Course SEO

Locale Surface Review

Preview

Production

其中很多阶段又存在严格的:

Plaintext
输入文件
状态检查
Git identity
validation
review gate
promotion gate
production gate

以前即使 ChatGPT 理解整个流程,它依然有一个天然限制:

它不知道我本地仓库此刻到底处于哪个状态。

于是我需要不停告诉它:

Plaintext
当前 HEAD 是什么
git status 是什么
刚刚执行的 CLI 返回什么
哪个 batch 已经完成
哪个文件发生了修改
当前 diff 是什么

现在有了 Desktop Commander,这部分信息中的很多内容可以直接从本地环境读取。

对于这种长期维护、状态很多、流程又比较严格的项目,价值尤其明显。


八、我最喜欢它处理的几类任务

目前实际使用下来,我认为 Desktop Commander 最适合的是那些需要不断读取上下文和连续判断的开发任务。

例如阅读仓库规则。

我的项目里有很多正式文档:

Plaintext
AGENTS.md
docs/...

以前为了避免 ChatGPT 使用旧规则,我需要不断提醒:

请以当前仓库文件为准,不要使用聊天里的旧内容。

现在它可以直接读取当前文件。

另一个很适合的场景是 Git 状态检查。

开发过程中下面这些命令出现得非常频繁:

Bash
git status --short
git diff
git diff --cached
git log -1 --oneline

这些操作本身几乎没有什么思考价值,但以前必须由我负责执行和复制。

还有一些问题需要同时检查:

Plaintext
源代码
测试
配置
manifest
glossary
文档

如果完全依靠聊天上传和复制,操作会非常繁琐。

Remote MCP 对这种问题帮助很明显。


九、Desktop Commander 也不意味着“所有事情都让 AI 做”

不过,在开始使用 Remote MCP 以后,我反而更加确定了一件事情:

能自动执行,并不意味着所有操作都应该自动执行。

我现在更愿意把 Desktop Commander 当成一个能够真正进入开发环境的高级助手,而不是把整台电脑完全交给 AI。

例如 Production 发布、DNS/CDN 修改、破坏性命令、重要 Git 提交、线上服务变更,以及必须人工完成的视觉验收,我仍然会保留明确的人工控制。

尤其是:

Plaintext
rm
部署
发布
DNS 修改
线上配置修改
账号操作
付款操作

这类操作的风险和简单读取文件完全不是一个级别。

所以我更喜欢的使用方式是:

Plaintext
AI 负责读取、分析和机械性操作
人负责边界、风险和最终决策

而不是追求“全自动”。


十、Desktop Commander 本身也有使用额度

这一点是我真正开始频繁使用以后才特别关注的。

Desktop Commander 控制台左下角会显示:

Plaintext
Tool calls

我截图时的状态是:

Plaintext
12%

1,234 of 10,000 this month

下面同时还有:

Plaintext
Upgrade to Pro
【图 7:Desktop Commander 当前 Tool calls 使用量与升级 Pro 入口】
【图 7:Desktop Commander 当前 Tool calls 使用量与升级 Pro 入口】

也就是说,至少我目前使用的方案并不是无限调用。

如果只是偶尔让 ChatGPT:

Plaintext
看一个文件
查一次 Git 状态
运行一条命令

那么调用量可能增长得比较慢。

但如果真正开始把它用于持续开发,一个“任务”背后往往并不只是一条 Tool call。

ChatGPT 可能需要:

Plaintext
列目录

读取文件

搜索代码

读取第二个文件

运行命令

读取命令结果

修改文件

再次测试

所以一个看起来并不复杂的任务,实际上可能产生多次调用。

这一点让我开始意识到:

Remote MCP 本身也是一种需要管理的开发资源。


十一、Desktop Commander 的 Tool calls 和 Codex 额度不是一回事

这里还有一个很容易混淆的问题。

我现在同时也会使用 Codex。

在相关开发界面中,可以看到:

Plaintext
本地
关联 Codex Web
云端

以及:

Plaintext
5 小时
1 周
剩余用量
【图 8:本地开发模式与 Codex 剩余用量】
【图 8:本地开发模式与 Codex 剩余用量】

Desktop Commander 和 Codex 的额度需要分开理解。

Desktop Commander 这一侧,我现在最直观能够看到的是:

Plaintext
Remote MCP Tool calls

例如:

Plaintext
1,234 / 10,000 this month

而 Codex 则有自己的使用额度。

但这里还有一个我实际使用以后才注意到的细节:

Codex 的额度并不只是我主动进入 Codex、手动发送任务时才可能消耗。

在使用 ChatGPT 处理开发任务的过程中,我有时会看到 ChatGPT 把部分任务继续交给 Codex 执行。

也就是说,从我的实际使用角度看:

Plaintext
我没有主动打开 Codex

并不能简单等同于:

Plaintext
这一轮一定没有使用 Codex 额度

因此现在我会把这几个资源分开观察:

Plaintext
ChatGPT 本身的使用
Desktop Commander Remote MCP Tool calls
Codex 使用额度

一次完整的开发任务,有可能涉及其中不止一种。

这也改变了我后面对工具的分工。

我的目标不是所有开发任务都让 Codex 完成。

相反,我更希望:

Plaintext
能够安全由普通 ChatGPT + Desktop Commander 完成

尽量使用这套组合

真正需要 repository-level 修改、复杂诊断或更重开发任务

再使用 Codex

这样可以让不同工具各自做更适合的事情,同时也更容易控制额度。


十二、它真正节省的是“人工中转”

用了几天以后,如果一定要我总结 Desktop Commander 最大的价值,我觉得不是:

AI 能运行终端了。

而是:

大量人工中转消失了。

以前我有很多时间花在:

Plaintext
复制 ChatGPT 命令

切到 Terminal

执行

复制输出

切回 ChatGPT

粘贴结果

等待下一条命令

这里绝大部分动作几乎不包含真正的判断。

但它们会持续打断思路。

当一个任务持续半个小时甚至几个小时以后,这种切换次数非常可观。

Remote MCP 并没有替代最重要的技术判断。

它更多是在减少这些:

人其实没有必要亲自做,但以前又不得不做的机械操作。

这可能也是为什么我用了以后会明显感觉开发效率提高。


十三、为什么我现在越来越看重这种模式?

最近这一两年,AI 编程工具越来越多。

很多工具都在强调:

Plaintext
生成代码
自动修改项目
自动完成任务

但我现在越来越觉得,真正影响长期开发效率的,并不只有模型能不能生成正确代码。

还有一个很现实的问题:

模型能不能看到真实的工作环境。

如果 AI 每次开始任务,都只能看到用户复制进去的一小段内容,那么即使模型本身很聪明,也会产生大量上下文传递成本。

而 Remote MCP 这种模式解决的是:

Plaintext
AI

直接接触真实开发环境

这使得 ChatGPT 不再只是“根据我提供的一小块材料回答问题”。

它开始能够主动获取完成任务需要的信息。

我觉得这个变化可能比单纯再提高一点代码生成能力更加实际。


十四、哪些人可能最适合使用?

如果平时只是偶尔问 ChatGPT:

Plaintext
这段代码是什么意思?

或者:

Plaintext
帮我写一个函数。

那么 Desktop Commander 带来的提升可能没有那么明显。

但是如果平时经常维护真实项目,而且工作中存在大量:

  • Git 仓库操作
  • 多文件分析
  • 测试排错
  • 日志分析
  • 配置检查
  • CLI 工作流
  • 重复性的项目维护

那么 Remote MCP 的价值会更加明显。

我自己显然属于后一种情况。

尤其是 go-tour-i18n 这种越来越工程化的项目,很多工作其实并不难,但步骤非常多。

这类项目恰好很适合减少人工中转。


十五、现在我对 Desktop Commander 的定位

经过这次实际使用,我暂时不会把 Desktop Commander 定义成:

AI 全自动开发工具。

我更愿意把它理解成:

ChatGPT 和真实开发环境之间缺少的那座桥。

ChatGPT 本身已经可以:

Plaintext
理解需求
分析代码
设计方案
生成修改
判断错误
解释测试结果

而 Desktop Commander 补上的则是:

Plaintext
真实文件系统
真实 Git 仓库
真实 Terminal
真实项目状态
真实执行结果

当这两部分连接起来以后,开发体验确实发生了比较明显的变化。


十六、目前还需要继续观察的问题

虽然我现在已经确认 Desktop Commander 对自己的开发工作有帮助,但还没有到“以后所有开发工作都依赖它”的程度。

我目前最关心的还是两个实际问题。

第一个是:

每月的 Tool calls 对我的真实开发强度到底够不够?

我现在已经开始把它用于比较长的开发流程。

如果调用量持续增加,那么后面是否需要升级方案,需要根据实际使用数据判断。

第二个是:

哪些任务交给 ChatGPT + Desktop Commander 最划算,哪些任务仍然更适合 Codex?

现在我已经发现,两者并不是简单的替代关系。

Desktop Commander 更适合帮助 ChatGPT获得真实本地环境,而 Codex 在复杂代码修改和更重的 repository-level 工作上仍然有自己的价值。

我现在更希望形成一种稳定的分工,而不是所有任务都塞给同一个工具。


总结

以前我使用 ChatGPT 做开发时,它更像一个坐在旁边的技术顾问:

Plaintext
我给它材料

它分析

它告诉我怎么做

我自己执行

连接 Desktop Commander Remote MCP 以后,它开始更接近一个真正进入开发环境的协作者:

Plaintext
我提出目标

ChatGPT 查看真实仓库

读取需要的文件

运行部分命令

根据真实结果继续分析

我负责关键决策和最终确认

我觉得这才是这类工具最有价值的方向。

不是让 AI 代替人承担所有决定,而是:

把没有必要由人承担的机械操作交给工具,把真正需要判断的事情留给人。

至少从我目前在 go-tour-i18n 项目中的实际体验来看,Desktop Commander 确实已经开始提高我的开发效率。

接下来我还会继续观察它的 Remote MCP Tool calls 消耗、长期稳定性,以及 ChatGPT、Desktop Commander 和 Codex 三者怎样分工最合理。

如果后面使用方式有比较明显的变化,我再继续记录。

需要长期技术维护或远程问题排查?

我是拥有 15+ 年经验的 PHP / Go 后端工程师,长期关注已有系统维护、Bug 修复、性能优化、服务器排查、WordPress 网站维护和小功能迭代。

如果你的项目遇到以下情况,可以先从一次小问题排查开始合作:

  • ✅ PHP / Laravel / Yii2 老项目无人维护
  • ✅ Go / Gin 后端接口需要排查或优化
  • ✅ WordPress 网站访问慢、报错或插件冲突
  • ✅ Nginx / MySQL / Redis / Linux 服务器异常
  • ✅ CDN / Cloudflare / DNS / HTTPS 配置问题
  • ✅ 需要长期远程技术支持或兼职维护

更多介绍请查看:关于我 & 合作

微信:13980074657
邮箱:shuijingwanwq@gmail.com
Telegram:@shuijingwan
GitHub:https://github.com/shuijingwan