从 0 到 1 开发 Hulk 插件:解锁「Vibe Coding」与 AI 协作的新姿势

161 阅读7分钟

当我们被「写代码」的门槛拦住创新脚步时,AIGC 正悄悄改写开发规则。你是否想过,不用死磕语法,只需理清思路、备好文档,就能和 AI 联手做出实用的 Chrome 插件?今天就以「Hulk 背景色切换插件」为例,拆解「Vibe Coding」协作模式的核心逻辑,带你体验「文档先行,AI 编码」的高效开发流程。

一、重新理解开发:「Vibe Coding」不是玄学,是方法论

初次看到「Vibe Coding」这个词时,我以为是随性的开发方式,深入实践后才发现,它本质是一种「人机协作的高效范式」——把 AI 擅长的代码生成交给工具,把人类擅长的需求拆解、逻辑梳理握在手中,用「清晰的上下文」替代「反复的改稿沟通」。

这种模式的核心颠覆在于:coding 不再是开发的核心,文档才是人机协作的「共同语言」。就像建筑前必须先画图纸,和 AI 合作开发前,我们需要备好这套「协作说明书」:

  • 需求文档:明确插件要做什么(如 Hulk 插件需实现弹窗交互与背景色切换);
  • 设计稿 / 线框图:定义界面元素布局(弹窗提示文本位置、按钮样式);
  • 技术文档:约定技术规范(如采用 Manifest V3、需注入内容脚本);
  • 测试文档:明确验证标准(点击按钮后网页需变为指定绿色)。

而 Trae 这类 Coding Agent,就是能读懂这份「说明书」并转化为代码的执行者。这就像 JSONView 插件让杂乱的 JSON 数据变清晰,「Vibe Coding」让模糊的开发需求变具体,本质都是「降低信息交互成本」。

二、实战 Hulk 插件:「文档先行 + AI 落地」全流程拆解

1. 备好「协作燃料」:3 分钟搞定核心文档

在召唤 AI 之前,我们要先完成「人类专属任务」—— 搭建清晰的需求框架。这一步是「Vibe Coding」的灵魂,直接决定 AI 输出的精准度。

(1)需求文档(核心指令)

plaintext

插件名称:Hulk
核心功能:点击插件图标弹出窗口,点击按钮将当前网页背景色改为绿色
交互步骤:
1. 弹窗默认展示:标题"改变背景颜色"、说明文本"点击下方按钮将当前页面背景色改为绿色""改变颜色"按钮;
2. 点击按钮后,立即修改当前激活网页的背景色为绿色;
资源要求:使用icons文件夹下的图标作为插件图标(尺寸含16x16、48x48、128x128);
技术规范:遵循Chrome Manifest V3标准。

(2)极简线框图(文字版亦可)

无需专业设计工具,用文字描述界面布局即可:

plaintext

弹窗尺寸:宽220px,高150px
内容层级:
- 顶部:标题文本(16px,居中)
- 中部:说明文本(14px,灰色,居中,margin-top:15px)
- 底部:"改变颜色"按钮(宽180px,高36px,绿色背景,margin-top:20px,居中)

有了这两份文档,AI 就不会陷入「背景色要哪种绿?弹窗要多大?」的迷茫,这正是「Vibe Coding」中「我们做 AI 不擅长的事」的精髓。

2. 召唤 Trae:精准 Prompt 让 AI 高效干活

很多人用 AI 开发时总抱怨「生成的代码不能用」,问题往往出在指令模糊。结合「提示工程」技巧,给 Trae 的 Prompt 可以这样写:

plaintext

你现在是资深Chrome插件开发者,精通Manifest V3规范,擅长开发轻量交互插件。
请根据以下需求开发Hulk插件,输出完整可运行的代码及项目结构:

【需求文档】(此处粘贴上述需求文档内容)
【界面说明】(此处粘贴上述线框图描述)

输出要求:
1. 提供完整项目文件列表及每个文件的代码,含注释;
2. 说明插件加载与测试的步骤;
3. 解释content脚本与popup脚本的交互逻辑。

这里的关键是「身份设定 + 需求具象化 + 输出约束」—— 先给 AI 明确角色,再用文档提供上下文,最后规定输出格式,这比单纯说「做个改背景色的插件」高效 10 倍。

3. 代码验收与微调:做 AI 的「质量监督员」

Trae 很快会返回完整项目结构,和我们熟悉的 Chrome 插件架构一致:

plaintext

Hulk/
├── manifest.json       # 插件配置核心文件
├── popup.html          # 弹窗界面
├── popup.js            # 弹窗交互逻辑
├── content.js          # 网页DOM操作脚本
└── icons/              # 插件图标文件夹
    ├── icon16.png
    ├── icon48.png
    └── icon128.png

(1)核心文件解析

Manifest.json 是插件的「身份证」,需明确权限与配置:

json

{
  "manifest_version": 3,  // 必须为V3版本
  "name": "Hulk",
  "version": "1.0",
  "description": "一键将网页背景改为绿色的轻量插件",
  "action": {
    "default_popup": "popup.html",
    "default_icon": {
      "16": "icons/icon16.png",
      "48": "icons/icon48.png",
      "128": "icons/icon128.png"
    }
  },
  "permissions": ["activeTab", "scripting"],  // 操作当前标签页的必要权限
  "content_scripts": [
    {
      "matches": ["<all_urls>"],
      "js": ["content.js"]
    }
  ]
}

弹窗交互的核心逻辑在 popup.js 中,通过 Chrome API 向内容脚本发送指令:

javascript

运行

// popup.js
document.getElementById('changeBtn').addEventListener('click', async () => {
  // 获取当前激活的标签页
  const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
  try {
    // 向当前标签页注入脚本并执行背景色修改
    await chrome.scripting.executeScript({
      target: { tabId: tab.id },
      func: () => {
        document.body.style.backgroundColor = '#00FF00'; // 明确绿色色值
      }
    });
  } catch (error) {
    console.error('修改背景色失败:', error);
  }
});

(2)AI 输出的「质检清单」

按照我们准备的测试文档验收:

  • ✅ 点击图标弹出窗口,显示指定文本与按钮;
  • ✅ 点击按钮后,网页背景立即变为绿色;
  • ✅ 插件图标正常显示,无报错。

如果 AI 生成的色值不对(比如偏黄),只需补充提示「请将背景色值改为 #00FF00 纯绿色」,无需重新写全套代码 —— 这就是「文档先行」的灵活性。

三、「Vibe Coding」的底层逻辑:人机各归其位

开发 Hulk 插件的过程,完美印证了「Vibe Coding」的协作哲学:不是让人类模仿 AI,也不是让 AI 替代人类,而是让两者做各自最擅长的事

1. 人类的「不可替代性」

Trae 再强大,也无法凭空理解「用户需要一个简单的背景色工具」—— 这需要我们做需求拆解、画逻辑框图、定验收标准。就像建筑师画图纸,工人负责施工,我们是「需求架构师」,AI 是「代码施工队」。

这些能力正是 AI 目前的短板:

  • 无法精准把握模糊需求的核心(如「简单好用」的具体定义);
  • 缺乏场景化的优先级判断(如优先保证交互流畅而非界面华丽);
  • 不能自主形成可复用的开发框架(如后续扩展多色切换功能的预留设计)。

2. AI 的「效率优势」

反之,编写重复的 HTML 结构、调用 Chrome API 的语法、配置 Manifest 文件等机械性工作,正是 AI 的强项。Hulk 插件的代码量虽小,但如果手动开发,需要熟悉 V3 规范、调试跨脚本通信、处理权限问题,至少耗费 1 小时;而用 AI 协作,从准备文档到测试成功,仅需 20 分钟。

这种效率提升在复杂项目中更明显 —— 比如开发类似 JSONView 的格式化工具,我们只需备好「解析规则文档」「界面交互图」,AI 就能生成核心的 JSON 解析与渲染代码,我们则专注于优化展示效果与用户体验。

四、下一步:从「改背景」到「做产品」

Hulk 插件只是「Vibe Coding」的入门实践,掌握这种模式后,你可以解锁更多可能性:

  • 扩展功能:给 Hulk 增加「颜色选择器」「恢复默认色」按钮,只需补充需求文档;
  • 开发新工具:做「网页字体调整插件」「图片压缩助手」,复用现有协作框架;
  • 团队协作:把需求文档、技术文档同步给同事,实现「多人定需求,AI 生代码」的高效流程。

最后想强调的是,「Vibe Coding」的「vibe」不是懒散,而是「松弛且高效的协作状态」—— 当我们不用再死磕语法错误,就能把更多精力放在「解决用户问题」上,这才是开发的本质。

如果你也被代码门槛拦住了创意,不妨从一个简单的插件开始,试试「备好文档,召唤 AI」的协作方式。毕竟,真正限制我们的从来不是代码能力,而是没被落地的好想法。

现在就打开 Trae,准备好你的第一份需求文档,开始你的「Vibe Coding」之旅吧!🚀