基于 Vibe Coding 理念:我是如何零代码经验开发出 Chrome 扩展的

107 阅读7分钟

从观望到实践:我的 AI 辅助开发之旅

作为一个对 Chrome 扩展开发充满好奇但从未尝试过的前端开发者,我一直在寻找一个合适的入门机会。直到接触了 Vibe Coding 理念,我才发现原来开发一个功能完整的 Chrome 扩展并不需要深厚的专业知识,关键在于清晰的表达和有效的协作

今天,我想通过一个实际案例——Hulk 背景色修改扩展,完整分享我如何通过与 AI 的协作,在零经验情况下成功开发出第一个 Chrome 扩展。

什么是 Vibe Coding?重新定义开发流程

Vibe Coding 的核心不是让 AI 完全替代开发者,而是建立一种高效的协作模式

  • 文档驱动:清晰的文档比代码更重要
  • 上下文完整:为 AI 提供充足的背景信息
  • 角色分明:人类负责设计和监督,AI 负责实现细节
  • 迭代优化:通过持续对话完善需求

实战记录:Hulk 扩展的诞生过程

第一阶段:需求澄清 - 让 AI 理解我要什么

我的第一步不是写代码,而是准备一份清晰的需求说明:

项目目标:开发一个名为 Hulk 的 Chrome 扩展
核心功能:点击按钮将网页背景色改为绿色
设计参考:提供 ux.jpg 设计稿
图标资源:使用 icons 文件夹中的图标
交互流程:
  1. 点击扩展图标打开弹出窗口
  2. 窗口显示操作说明和按钮
  3. 点击按钮改变当前页面背景色

这份文档看似简单,但包含了所有关键信息:项目名称、功能描述、设计参考、资源文件、操作流程。这正是 Vibe Coding 强调的完整上下文

第二阶段:技术规划 - 定义项目结构

在让 AI 开始编码前,我先规划了项目的基础架构:

我需要以下文件:
1. manifest.json - 扩展配置文件
2. popup.html - 弹出窗口界面
3. popup.js - 业务逻辑代码
4. 图标文件 - 使用提供的图标资源

这个步骤很重要,它让 AI 理解了 Chrome 扩展的基本组成,避免了生成不完整的代码。

第三阶段:分步实现 - 与 AI 的深度对话

对话示例 1:配置清单文件

我告诉 AI: "请创建 manifest.json 文件,要求:

  • 使用 Manifest V3
  • 名称为 Hulk
  • 描述为背景色修改扩展
  • 需要 activeTab 和 scripting 权限
  • 配置弹出窗口和图标"

AI 返回了完整的 manifest.json,并解释了每个配置项的作用。

对话示例 2:用户界面设计

我提供设计稿描述: "参考 ux.jpg,弹出窗口包含:

  • 标题'改变背景颜色'
  • 说明文字'点击下方按钮将当前页面背景色改为绿色'
  • 一个绿色按钮,文字为'改变颜色'
  • 整体风格简洁明了"

AI 生成了符合设计的 popup.html,包括完整的样式代码。

对话示例 3:核心逻辑实现

我描述功能逻辑: "点击按钮后需要:

  1. 获取当前活动标签页
  2. 注入 CSS 将背景色改为绿色
  3. 确保颜色覆盖所有元素
  4. 提供操作成功的反馈"

AI 提供了 popup.js 的完整实现,并采用了多重保障策略来应对复杂的网页样式。

第四阶段:问题解决 - 应对实际挑战

在测试过程中,我发现某些网站的背景色修改不生效。通过与 AI 的进一步对话:

"背景色修改在某些网站无效,可能是什么原因?如何解决?"

AI 分析后提供了解决方案:

  • 使用 !important 提升 CSS 优先级
  • 通过 JavaScript 直接修改元素样式
  • 动态创建样式表确保全局应用

这种问题驱动的迭代正是 Vibe Coding 的精髓。

Vibe Coding 的核心技巧

1. 提供充足的上下文

不好的提示:"写一个 Chrome 扩展"
好的提示:"开发一个修改网页背景色的 Chrome 扩展,包含弹出窗口和按钮,使用 Manifest V3,需要处理样式优先级问题"

2. 分步骤描述需求

将复杂需求拆解为原子任务:

  • 先定义项目结构
  • 再实现配置文件
  • 然后开发用户界面
  • 最后编写业务逻辑

3. 明确技术约束

指定技术要求和限制:

  • "使用 Manifest V3"
  • "需要兼容现代浏览器"
  • "代码需要添加适当注释"

4. 持续迭代优化

基于测试结果不断改进:

  • "这个方案在某某网站不生效"
  • "如何提升样式优先级"
  • "能否添加错误处理"

遇到的挑战与解决方案

挑战 1:样式覆盖问题

某些网站使用复杂的 CSS 框架,简单的背景色设置容易被覆盖。

解决方案:通过与 AI 讨论,采用了三级保障策略:

  1. CSS 注入带 !important
  2. JavaScript 直接修改样式
  3. 动态创建样式表

挑战 2:权限配置

Manifest V3 的权限要求更严格,需要精确声明。

解决方案:AI 帮助确定了最小权限原则,只申请必要的 activeTab 和 scripting 权限。

挑战 3:用户体验

操作后需要给用户明确的反馈。

解决方案:添加了完成提示,让用户知道操作已生效。

开发成果与体验

最终完成的 Hulk 扩展具备:

  • 简洁的弹出窗口界面
  • 一键修改背景色功能
  • 良好的网站兼容性
  • 清晰的用户反馈

整个开发过程让我深刻体会到 Vibe Coding 的优势:

效率提升:从零开始到完整可用的扩展,只用了不到 2 小时
学习曲线平缓:不需要预先掌握 Chrome 扩展开发的所有细节
代码质量:生成的代码结构清晰,注释完整
问题解决:遇到问题时能快速获得解决方案

给新手的 Vibe Coding 建议

如果你也想尝试这种开发模式:

  1. 从简单项目开始:选择功能明确的小项目练手
  2. 准备清晰的需求文档:花时间整理需求,这是最重要的投资
  3. 学会提问:描述问题要具体,提供足够的上下文
  4. 理解生成代码:不要盲目复制,要理解 AI 提供的解决方案
  5. 迭代优化:基于测试结果持续改进

未来展望

通过这次实践,我看到 Vibe Coding 在更多场景的应用潜力:

  • 复杂业务系统:通过详细的需求文档驱动开发
  • 原型验证:快速实现产品概念,验证想法
  • 学习新技术:作为学习新框架和工具的有效途径
  • 代码重构:帮助理解和改进现有代码

结语

Vibe Coding 不是魔法,而是一种结构化的协作方法。它改变了传统的开发模式,让我们从"怎么写代码"转向"怎么描述需求",从"技术实现"转向"问题解决"。

这次开发 Hulk 扩展的经历让我明白:技术的门槛正在降低,但思考和表达的能力变得更加重要。当我们学会清晰地描述问题、规划方案、监督执行时,AI 就成为我们最得力的技术伙伴。

无论你是经验丰富的开发者还是刚入门的新手,我都鼓励你尝试 Vibe Coding 理念。它不仅能提高开发效率,更能培养我们系统思考和清晰表达的能力——这些能力在 AI 时代将变得越来越珍贵。