给初学者的 WebMCP

如果你以为 WebMCP 只是一个 MCP 服务器,请举手。我认罪。我也这么以为。事实证明它是一项 W3C 标准,使用与 MCP 相似的概念。下面是它实际是什么。

如果你以为 WebMCP 只是一个 MCP 服务器,请举手。我认罪。我也这么以为。事实证明它是一项 W3C 标准,使用与 MCP 相似的概念。下面是它实际是什么。

2026 年元旦,当许多人还在从前一晚恢复时,另一种宿醉抓住了每一个被 AI 浸透、长期在线的软件工程师。Steve Yegge 发表了一篇新博客:《欢迎来到 Gas Town》。有些人离开时受到激励,终于要最优地使用他们的智能体;另一些人则纯粹困惑。如果你像我一样,你会两者都有一点。
Yegge 那篇 34 分钟的文章是一幅铺开的愿景,充满未来想法、好玩的角色,以及足够让你头晕的旁支。但传说之下是一次巨大的架构转变。我想退一步,为所有人简化这个“大想法”:Gas Town 是一种哲学,也是一个概念验证,帮助人们协调多个一起工作的智能体。

智能体从根本上改变了我们编程的方式。它们让开发者通过去掉传统开发工作流的中间环节而更快前进。这意味着在专门工具之间切换的时间更少,对其他团队的依赖也更少。既然智能体能执行复杂任务,开发者面临一个新挑战:在长会话中有效地使用它们。
最大的挑战是上下文腐烂。因为智能体的记忆有限,跑得太久的会话会让它们“忘记”更早的指令。这导致不可靠的输出、挫败感,以及代码库里微妙但严重的错误。一个有希望的解决方案是 Code Mode。

MCP Apps 让你直接在任何支持模型上下文协议的智能体内部渲染交互 UI。你的智能体现在可以提供一个能用的图表、一张结账表单或一个视频播放器,而不是一堵文字墙。这补上了智能体工作流里的缺口:点击一个按钮,往往比描述你希望智能体执行的动作更清楚。
MCP Apps 起源于 MCP-UI,一个实验项目。在 goose 等早期客户端采用之后,MCP 维护者把它纳入为官方扩展。今天,goose、MCPJam、Claude、ChatGPT 和 Postman 等客户端都支持它。
尽管 MCP Apps 使用 Web 技术,构建一个并不等同于构建传统 Web 应用。你的 UI 跑在你不控制的智能体里,与一个看不见用户交互的模型通信,并且需要在多个宿主上看起来像原生的。
在我们自己的宿主里实现 MCP App 支持,并构建了几个在其上运行的单独应用之后,下面是我们沿途捡到的实用教训。

随着 AI 智能体能力增长,更多人感到自己有能力写代码、为开源做贡献。天花板感觉比以往都高。这对生态是净收益,但也改变了维护者的日常现实。像 goose 团队这样的维护者面对着不断增长的拉取请求和 issue,速度往往快过他们现实中能处理的程度。
我们接受了这个现实,并让 goose 去处理它自己的积压。

有一天,我们会告诉孩子,我们曾经得等智能体,但他们不会知道那个世界,因为他们那个时代的智能体会快得多。我和 OpenAI 的 MCP 指导委员会成员 Nick Cooper,以及 goose 的创造者 Bradley Axen 开过这个玩笑。他们都笑了,因为他们确切知道,我们当前这种智能体工作流的“拨号时代”有多笨拙、多实验。
模型上下文协议(MCP) 通过引入一种新常态推动了进展:把智能体连接到日常应用的能力。然而体验并不完美。我们仍在弄清楚如何在这些工具的力量和模型自身的技术约束之间取得平衡。

本文描述的 CLI /plan 命令后来已从 goose 中移除,GOOSE_PLANNER_PROVIDER 和 GOOSE_PLANNER_MODEL 设置也一并移除。这里描述的其他做法仍然有效。
做计划还是不做计划,这是个错误的问题。计划不是非此即彼的是或否,它存在于一个光谱上。真正的问题是哪种做法适合你当前的任务和工作风格。
不同的开发者以不同方式做计划。有的构建者在碰键盘之前会起草详细的伪代码,有的则实践测试驱动开发,让架构有机地浮现。你会看到有的团队在白板上画复杂图表,有的则快速做出原型,以便“快速失败”,稍后再重构。
如果手工编码时计划是一个光谱,用智能体编码时为什么不也是一个光谱?

AI 智能体常被形容成聪明、过分热心的实习生。它们急着帮忙,但这股热情有时会带来你从没要求过的改动。这是设计使然:驱动智能体的大语言模型被训练成乐于助人。但在代码里,不受约束的热心会造成混乱。即便指令清楚、计划周密,你仍可能听到:“让我把这个也改一下……”这种修改要么没必要,更糟的是,从未拿出来给你审阅。
当然,你可以翻遍 git diff 找出问题并还原。但在一个触及几十个文件的多步过程里,把一处小小的多余改动理清楚,会变成一场手工噩梦。我曾经花几个小时在 70 个文件里翻找,只为撤销一处“热心”的调整。让智能体自己还原往往没用,因为对话记忆并不是代码库的快照。

你已经听到这股热潮:AI 正在重塑我们的工作。也许你摆弄过 ChatGPT,或者公司在推动你“升级”。但在炒作和无尽教程之间,一个挥之不去的问题仍然在:你如何从理论走到真正做出东西?
答案是练习。不只是按步骤走,而是去创造、解决问题,并在做中学。
所以我们推出 Advent of AI,一个从 12 月 1 日开始、为期 17 天的挑战系列。无论你是迈出第一步的初学者,还是在探索 AI 智能体的资深开发者,这都适合你。每个工作日,你都会得到一个新的动手项目,旨在把你从 AI 的旁观者变成有把握的构建者。

“把我的应用从 x 语言迁到 y 语言。”你按下回车,看着 AI 智能体空转,最终你听过的每一个成功故事都像一场精心编排的谎言。
大多数失败与智能体的能力关系较小,与糟糕的提示和上下文策略关系更大。想想看:如果有人把你丢进一个复杂、不熟悉的代码库,说“把这个迁了”,没有计划你会迷路。你需要探索代码,问关于结构的问题,并把工作拆成可管理的步骤。
你的 AI 智能体需要同样的做法:有引导的探索、有策略的问题,以及拆开的任务。

我写代码写得最好的时候,是盘腿坐在床上或沙发上,笔记本放在腿上,旁边有零食,没有额外的屏幕来争注意力。有时我把编辑器和浏览器并排放;有时我让它们全屏,在应用之间切换。我不喜欢用多台显示器,我的开发环境简陋得有点不好意思。
这样的布置让我进入深度心流,这对作为软件工程师保持产出至关重要。它给我专注力,去挖到问题表面之下,追溯根因,并思考每一处修复或改进如何同时影响用户和整个系统。对其他领域来说,短促的多任务可能很有效,但工程里真正的产出,往往来自长时间不被打断的思考。
最近,我的工作流变了。

你不应该需要信用卡才能用 goose 做 vibe coding。虽然 goose 本身完全免费,但现实是大多数高性能 LLM 并不免费。你希望体验 goose 的实际效果,又不必花很多钱或走很多弯路。我们一直在想,如何让 goose 新手的第一步更容易。
所以我们对最新的提供商集成感到兴奋:Tetrate 的 Agent Router Service。新的 goose 用户可以获得 10 美元额度,用 Tetrate 平台上的任意模型配合 goose。

和 AI 工具一起工作,可能感觉像和一个靠不住、混乱、但又过度自信的同事一起工作。你知道的,那种会忘记任务、无缘无故撒谎、不告诉你就开始新项目、然后做到一半就撂挑子的人。这足以让你说:「算了。我自己来。」但在我们完全放弃 AI 之前,值得理解引擎盖下实际发生了什么,这样我们才能避开常见陷阱,让 AI 工具值得使用。

「最好的 AI 智能体工作流超越演示。它们带来真实的生产力。」
Block 的 DevRel 团队是 PulseMCP 的忠实读者。他们的每周通讯一直是我们发现热门 MCP 服务器、跟上生态变化的绝佳方式。当 PulseMCP 的创作者 Mike 和 Tadas 分享他们用 goose 自动化通讯工作流中乏味部分的目标时,我们很期待看到他们会做出什么。
他们的实现恰好说明了我们为什么这样设计 goose 的功能集,而且他们记录了整个过程,帮助其他人从他们的经验中学习。

我做了给 10 岁孩子的 Postman 遇上 Google Docs。
配上唱片刮擦声。
配上定格画面。
配上电影老套桥段。
你大概在想我是怎么到这里的。

开发者值得玩得开心。曾经有一段时间,互联网感觉很神奇。我记得去图书馆只是为了在 The Doll Palace 上创建一个角色。在家里,我会花几个小时用 WordArt 改字体。但随着我长大,这个行业也长大了。我们离开了跑马灯和闪闪发光的光标。长大的我开始用一和零,为保险、银行和医疗公司构建可靠的系统。这值得骄傲,但要证明「只是因为好玩」而去做某件事,变得更难了。
所以我唤起内心的小孩,用 goose 构建了一个会对用户情绪做出反应的 UI。

我永远淹没在打开的标签页里。是的,我确实需要同时打开 Bluesky、ChatGPT、Claude、goose、Cursor、Discord、Slack、Netflix 和 Google Docs。我已经明白,标签管理不是我唯一的毛病。
「嗨,我叫 Rizel,我是一个本地端口囤积者。👋🏿」

《料理鼠王》不只是一部温暖(也有点不卫生)的老鼠大厨电影。它也像极了眼下流行的技术趋势:AI 智能体和模型上下文协议(MCP)。

「别再用 AI 了」,又一条病毒式帖子这样写。我懂。审阅同事自动生成的作品令人沮丧,里面满是 AI 的经典破绽,比如泛泛的代码注释,以及「在当今快节奏的世界里……」这类句子。
尽管如此,AI 在我的职业生涯里仍扮演关键角色。我不靠 AI 替我干活,但我用它帮我头脑风暴、更高效地工作。 模型上下文协议(MCP)的出现让这件事更容易了。MCP 是一项开放标准,给 AI 工具提供它们在真实世界里派上用场所需的上下文。它让 AI 智能体能以结构化方式与 API、应用和系统交互。我用的是 codename goose,一个基于 MCP 构建的开源 AI 智能体。
下面是我在不牺牲本色、创造力或质量的前提下使用 AI 智能体的 11 种真实方式: