从观望到实践:我的 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:核心逻辑实现
我描述功能逻辑: "点击按钮后需要:
- 获取当前活动标签页
- 注入 CSS 将背景色改为绿色
- 确保颜色覆盖所有元素
- 提供操作成功的反馈"
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 讨论,采用了三级保障策略:
- CSS 注入带 !important
- JavaScript 直接修改样式
- 动态创建样式表
挑战 2:权限配置
Manifest V3 的权限要求更严格,需要精确声明。
解决方案:AI 帮助确定了最小权限原则,只申请必要的 activeTab 和 scripting 权限。
挑战 3:用户体验
操作后需要给用户明确的反馈。
解决方案:添加了完成提示,让用户知道操作已生效。
开发成果与体验
最终完成的 Hulk 扩展具备:
- 简洁的弹出窗口界面
- 一键修改背景色功能
- 良好的网站兼容性
- 清晰的用户反馈
整个开发过程让我深刻体会到 Vibe Coding 的优势:
效率提升:从零开始到完整可用的扩展,只用了不到 2 小时
学习曲线平缓:不需要预先掌握 Chrome 扩展开发的所有细节
代码质量:生成的代码结构清晰,注释完整
问题解决:遇到问题时能快速获得解决方案
给新手的 Vibe Coding 建议
如果你也想尝试这种开发模式:
- 从简单项目开始:选择功能明确的小项目练手
- 准备清晰的需求文档:花时间整理需求,这是最重要的投资
- 学会提问:描述问题要具体,提供足够的上下文
- 理解生成代码:不要盲目复制,要理解 AI 提供的解决方案
- 迭代优化:基于测试结果持续改进
未来展望
通过这次实践,我看到 Vibe Coding 在更多场景的应用潜力:
- 复杂业务系统:通过详细的需求文档驱动开发
- 原型验证:快速实现产品概念,验证想法
- 学习新技术:作为学习新框架和工具的有效途径
- 代码重构:帮助理解和改进现有代码
结语
Vibe Coding 不是魔法,而是一种结构化的协作方法。它改变了传统的开发模式,让我们从"怎么写代码"转向"怎么描述需求",从"技术实现"转向"问题解决"。
这次开发 Hulk 扩展的经历让我明白:技术的门槛正在降低,但思考和表达的能力变得更加重要。当我们学会清晰地描述问题、规划方案、监督执行时,AI 就成为我们最得力的技术伙伴。
无论你是经验丰富的开发者还是刚入门的新手,我都鼓励你尝试 Vibe Coding 理念。它不仅能提高开发效率,更能培养我们系统思考和清晰表达的能力——这些能力在 AI 时代将变得越来越珍贵。