开头

过去两个月我一直跟 Claude Code 较劲。从连它用的是什么模型都搞不清楚,到现在能配 MCP、写中间代理、连浏览器自动截后台数据。这篇文章记录的就是这个过程——全部是实际踩过的坑。

另外,这篇文章的「写作」和「编辑」整个过程也是 Claude Code 通过浏览器帮我完成的——配 Puppeteer MCP 连到 Chrome,打开 CSDN 编辑器,把 Markdown 写进 CKEditor,然后保存预览。这个流程我会在最后讲。


一、第一次打交道,我第一个问题是「你到底是什么模型」

2025 年 5 月底,刚装上 Claude Code。打开终端跑 claude,先问了句它是什么模型。

它是 Anthropic 做的,不是那种 IDE 里自动补全代码的工具,也比 Cursor 要底层——直接在终端里跟你对话,能碰你的文件系统、跑命令。

我当时主要试了它能不能:

  • 读文件、改文件(能)
  • 跑 PowerShell 命令(能,但 Windows 上有时抽风)
  • 搜网页(能,但仅限于允许的域名)
  • 操作桌面上的浏览器(不能直接操作,这个后来才知道要配 MCP)
  • 启动交互式终端应用比如 codex(不能,stdin 不是 terminal 会报错)

搞清楚边界之后,后面就不会浪费时间去让它做做不到的事了。


二、第一个实战:修 Codex + CC Switch 的 400 错误

这个事儿挺小但很典型。

我装了个 CC Switch 给 Codex 做 API 中转。结果某些请求的 tool schema 里面 type 字段是 null,CC Switch 不认,直接扔 400。

让 Claude Code 帮我写了根代理:

// cc-switch-fix-proxy.js 核心逻辑
// 监听 :15722,把 type: null 全改成 type: "object",然后转发给 CC Switch(:15721)

涉及到的改动:

  • cc-switch-fix-proxy.js —— 代理脚本
  • start-fix-proxy.vbs —— 扔到启动文件夹,开机自启
  • .codex\config.toml —— base_url 改成指向代理

然后翻车了:改了 config.toml 后 Codex 整个启动不了。又让 Claude Code 改回去。

教训:中转配置别乱动。加一层代理够用就行,原始配置能不动就不动。


三、美化终端界面,改了好几次就是不生效

我想在启动 Claude Code 的时候看到自己的 ASCII Art、随机句子什么的。

让 Claude Code 改了 PowerShell Profile 加启动脚本。结果:

  • 用命令行敲 claude 进去——有特效
  • 用桌面快捷方式或开始菜单打开——啥也没有,原样
  • 开新对话——又回到原始 UI

原因后来才搞清楚:应用启动的入口路径跟终端环境不是一回事。桌面快捷方式不会走你的 .profile / PowerShell Profile 里的自定义脚本。

折腾了几次放弃了。如果你也想改,直接去改终端配置文件而不是 Claude Code 本体。

初始界面改了,换了图像和颜色风格,每次进入都会变,还有名言


四、关自动更新

右下角老弹「自动更新失败」红字,很烦。

我让 Claude Code 关了 Claude 和 Codex 两边的自动更新。改完还在弹,查了发现是 daemon 没重启。重启后不再弹了。

关键:改配置之后 daemon/后台进程要重启,不是改了就生效。


五、MCP 连 Chrome 浏览器,坑最多的一次

需求很简单:让 Claude Code 操作浏览器打开 CSDN 创作中心看文章数据。

过程:

  1. 先问能不能连浏览器——答:不能直接连,要 MCP
  2. 让我装 Puppeteer MCP——我当时更本不知道怎么配
  3. 说可以用远程调试模式连我的 Chrome——但 Chrome 默认没开调试端口
  4. 试 chrome --remote-debugging-port=9222——端口不通
  5. 排查发现旧 Chrome 进程还挂着没完全退出
  6. 从任务管理器杀掉所有 chrome.exe 后重新带端口启动——这次通了
  7. 但连上之后 navigate 又报 Connection closed
  8. 换 127.0.0.1 和 localhost 来回试,偶尔能行偶尔跪

能用的两种方案

  • 方案 A:用 Puppeteer 自己启动的新浏览器窗口(和你的 Chrome 是分开的实例)
  • 方案 B:彻底关闭 Chrome → 终端跑 Start-Process chrome -ArgumentList "--remote-debugging-port=9222" → 再连接

两种都试过都能跑。方案 A 适合自动化,方案 B 适合需要你当前 Chrome 里的登录态。


六、PowerShell 两个小问题

问题 1:打开 PowerShell 报「无法加载 PowerShell_profile.ps1,执行策略限制」

解决:管理员 PowerShell 跑 Set-ExecutionPolicy RemoteSigned

问题 2:报「找不到参数 PredictionSource」

这个参数是较新版本 PowerShell 才有的,当前装的版本不支持。升级 PS 就行。


七、实战:用 Claude Code 自动化写 CSDN 博客

这篇文章本身就是 Claude Code 帮我写的,全过程如下:

步骤 1:让 Claude Code 找自己的对话记录

Claude Code 的对话记录存在 C:\Users\yz\.claude\projects\ 下面,按项目哈希分目录,每个对话是一个 JSONL 文件。我让它扫了 18 个对话文件,提取所有我发过的消息,从里面找有价值的实战内容。

步骤 2:写文章草稿

Claude Code 根据这些对话记录整理出了文章结构:第一次接触→修复代理→美化 UI→关更新→MCP 连浏览器→写 CSDN 博文的经验。

步骤 3:打开 CSDN 编辑器

通过 Puppeteer MCP 连到 Chrome,导航到 mp.csdn.net/mp_blog/creation/editor。

步骤 4:填内容——这一步翻车两次

CSDN 编辑器有三个输入区域:标题(#txtTitle)、正文、摘要(#txtSammary)。但正文编辑器不是普通的 textarea,它是CKEditor——正文内容在 CKEditor 内部的 iframe 里,通过 contentDocument.body 才能访问。

第一次翻车:把正文写到了摘要字段(#txtSammary),导致正文空的无法保存。

第二次翻车:CSDN 有两个编辑器系统——mp.csdn.net 用的是 CKEditor 富文本,editor.csdn.net 用的是独立 Markdown 编辑器。两个系统的 content textarea 是不同的。我跳到了 editor.csdn.net 去编辑,结果那边是默认模板,之前写的内容不在那里。

第三次才搞对:

  • 标题 → document.querySelector('#txtTitle')
  • 正文 → document.querySelector('.cke_1 iframe').contentDocument.body
  • 摘要 → document.querySelector('#txtSammary')

步骤 5:保存 + 预览

点保存草稿按钮,然后跳转文章详情页确认内容正确。

这件事说明什么

让 AI 操作网页编辑器,你得先搞清楚 DOM 结构。不是所有编辑器都是一个 textarea,有的是 CKEditor、有的是 iframe、有的是 Vue/React 控制的组件。AI 不知道这个网站的实现细节,它只能试。你给它指路,它才能把事干成。


八、日常用下来的几个感受

  1. /clear 清上下文比退出重开快得多,任务之间清一下避免上下文污染
  2. /model 切换模型——简单活儿用 Haiku(便宜)、复杂重构用 Opus
  3. 把「少弹确认框」写进记忆——否则每次点鼠标确认能烦死
  4. Claude Code 会自信地犯错——它改 UI 好几次没生效,因为它不懂 Windows 桌面应用启动的逻辑
  5. 它不能操作用户当前桌面窗口——你想让它操作你正在看的东西,它做不到,只能通过 MCP 自己启动新的
  6. Windows 路径问题——Claude 配置里用 /,不是 \;有些 MCP 在 Windows 上要 cmd /c 包装

总结

Claude Code 最值的地方不是「替你写一个完整的项目」,而是那些你知道要做、但不太想投入时间的脏活——写个代理、排查配置、改脚本、接个中间层。

你跟它交代清楚需求,它写代码跑起来给你看结果。你只要做 Code Review 和决策。

但也有它不行的地方:它不懂你桌面上各个应用的交互方式,改错之后可能自己发现不了。你的判断力还是最核心的东西——把它当个干活快但有时候想歪的搭档 

写在最后:作者手敲

文章以上部分99%内容由Claude CLI操作生成,接的模型是DeepSeek v4 pro,在这个过程中我基本上都是在聊天框和他对话让他调整,要么就是疯狂点Enter让他继续运行。当然图片是我自己截图添加的,素材来自于我从下载claude以来的所有聊天记录。当AI能帮我自动进行这么多操作的时候其实蛮感慨的,切切实实看到了AI在帮我提升效率,这完全不是之前在网上看看和听说到能比的。在未来我会更加深入得使用和探索AI,有也欢迎大家能给我点赞关注或者在评论区交流任何想法与思考!

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐