【Cursor实战】AI 赋能 Chrome 插件开发:从零打造豆包图片去水印插件

【Cursor实战】AI 赋能 Chrome 插件开发:从零打造豆包图片去水印插件

前言

 📫 大家好,我是陈三心,热爱技术和分享,欢迎大家交流,一起学习进步!

 🍅 个人主页:陈三心

AI 编程工具

目前,人工智能(AI)正以前所未有的速度渗透到各个领域,编程领域也不例外。它们凭借强大的智能算法,为开发者们带来了全新的编程体验,极大地提升了开发效率。目前主流的AI 编程工具有很多,比如:

  • github 的 copilot
  • 字节豆包的 marscode
  • 阿里的 通义灵码

不过,目前最被大家推荐的当属 Cursor 了。Cursor 凭借其独特的优势,在众多工具中脱颖而出。

Cursor 简介

Cursor 作为一款 AI 编程IDE,真正做到了将 AI 深度融入编程工作流程。它最大的亮点在于实现了 “0 代码编程”,用户只需通过自然语言与它进行对话,清晰描述自己的需求,Cursor 就能自动生成代码片段,甚至可以自动创建文件并添加代码,极大降低了编程门槛,让编程变得更加简单高效。


相比其它编程工具,它的主要优势有两点:

代码生成与编辑能力更强大:Cursor 在代码生成方面能力全面,不仅能逐行补全,还能依据自然语言描述创建整个函数甚至多文件结构。反观部分主流工具,可能仅能针对单个函数或局部代码进行补全,难以从项目层面构建完整的多文件代码体系。在代码编辑上,Cursor 能快速定位并批量修改相关文件,而一些其他工具可能仅局限于单个文件内操作,面对跨文件复杂编辑任务则力不从心。

强上下文理解能力:Cursor 的 codeBase 是基于整个工程,能参考多个文件提供建议,全面理解项目架构和文件间关系,这是许多同类工具所不及的。如 GitHub Copilot 只是基于当前文件的,无论是代码解释、优化、生成注释,都是基于当前文件的内容,因此可能无法全面关联上下文,需开发者多次细化描述,难以一次性准确生成符合整体项目需求的代码。

  • 原理

像 copilot 这些 AI 编程工具的运行逻辑,从当前文件中获得代码的上下文再结合你的提问(prompt),一起发给 LLM,最后得到结果。其实这已经能解决不少问题了,在没有 cursor 之前感觉很不错,写程序确实能提高效率。

cursor 的逻辑是,先将工程内的所有代码进行索引和向量化(Embedding),再之后你的所有提问都是基于整个工程给你答案,它会将你的提问结合整个工程的代码一起提交给 LLM。


下面就来展示如何借助 Cursor,从零基础开始,逐步完成一个功能完备的 Chrome 翻译朗读插件开发流程。

Cursor 开发 Chrome 插件

不管你之前有没有接触过 Chrome 浏览器插件开发,现在你只需要负责输入 prompt 描述你的需求,然后就可以把一切交给 Cursor 去完成。

下图是 cursor官网 提供的开发流程指导:

接下来就按这个步骤实现一个浏览器插件的开发。

需求分析与设计

现在 文生图 的工具有很多,比如豆包,下面通过豆包生成了一张猫的图像,但是会发现左上角带有 AI生成 的水印,往往我生成的图片是需要保存的,但是不想要这个水印,于是就想开发一个 Chrome浏览器插件来去除这个水印。

现在就明确了插件的需求:开发一个能在豆包上下载保存图片的Chrome插件,能够自动去除下载图片时的水印。

  • 优化Prompt

需求分析与设计是项目开发的起点,使用 Cursor 时,Prompt的质量 决定了 AI生成代码的准确性,因此需要通过优化 Prompt 来得到更符合预期的需求。比如明确 AI 的角色、提供具体的细节要求、提供示例等,优化 Prompt 可以参考 智谱AI开放平台 的总结。

优化后的Prompt: 

你是一名精通Chrome浏览器插件开发的专家,拥有10年以上的Chrome浏览器插件开发经验。你的任务是根据用户的描述,开发chrome浏览器插件。 我想开发一个能在豆包上下载保存图片的Chrome插件,能够去除我直接从网站下载图片时出现的水印问题。 豆包的网站类似: @https://www.doubao.com/chat/11260882687670274 它所生成的图片,我按F12看到的元素是这个:<img src="https://p9-flow-imagex-sign.byteimg.com/ocean-cloud-tos/image_skill/e01886c2-4122-47b5-a5f9-161766e58316_1751779454414810674~tplv-a9rns2rl98-web-preview-watermark.png?rk3s=b14c611d&amp;x-expires=1783315454&amp;x-signature=yMspA%2BJ17wj4zftydHtouxSbcoE%3D"> 

代码实现

cursor中准备一个project工程文件夹,输入下面提示词:

接下来 Cursor 的 Agent模式 就会自主探索、规划来创建项目了。

可以看到项目目录结构都已经创建完毕,并且添加了相应的 README 文档,按照文档进行插件的安装,在管理扩展程序界面,打开该文件夹,即可进行插件的安装。 

调试验证

添加插件时出现问题

cursor不给我们生成缺少的图片,安全原因,那么就需要我们自己手动添加。输入 prompt:

将插件文件夹发布到chrome浏览器,报图片的错误,你给我从网上查找几张图片放在对应的位置

使用cursor调试:

添加图片后重新加载插件即可:

插件有错误信息显示

错误信息:Uncaught TypeError: images.push is not a function

cursor调试

错误信息已解决:

测试和调试功能

现在 豆包 图片的界面变成这个样子了,右上角多了下载的按钮。

先来测试下功能是否可用,选中图片点击下载,发现下载失败。

控制台报错误:下载图片 doubao_selected_1.png 失败: Error: HTTP 403

让curosr修复:

下载图片 doubao_selected_1.png 失败: Error: HTTP 403 解决错误信息

再次测试,能正常下载,但是发现水印没去除:

cursor调试:

现在点击右上角的下载选中图片,能正常下载图片,但下载后的图片左上角的水印还是存在,没有去除,请进行修复

再次测试,水印已成功去除:

此时你就已经完成整个 Crhome浏览器插件 的开发了,你发现没,是不是零基础,不需要写一行代码,cursor就能帮你完成项目的开发和调试。

当然,后续如果你要上架到 Chrome应用商店 的话也是可以的,先去 注册 成为 Chrome应用商店开发者,然后就可以发布自己的插件了。

结语

🔥如果此文对你有帮助的话,欢迎💗关注、👍点赞、⭐收藏、✍️评论,支持一下博主~

Read more

人工智能、机器学习和深度学习,其实不是一回事

人工智能、机器学习和深度学习,其实不是一回事

一、人工智能、机器学习与深度学习的真正区别 在当今科技领域,我们经常听到人工智能、机器学习和深度学习这三个词。它们虽然相关,但含义不同。 1.1 人工智能 人工智能是计算机科学的一个分支,旨在研究如何合成与分析能够像人一样行动的计算主体。简单来说,AI 的目标是利用计算机来模拟甚至替代人类大脑的功能。 一个理想的 AI 系统通常具备以下特征:像人一样思考、像人一样行动、理性地思考与行动。 1.2 机器学习 机器学习是实现人工智能的一种途径。它的核心定义是:赋予计算机在没有被显式编程的情况下进行学习的能力。 与传统的基于规则的编程不同,机器学习不依赖程序员手写每一条逻辑指令,而是通过算法让机器从大量数据中寻找规律,从而对新的数据产生预测或判断。 1.3 深度学习 深度学习是机器学习的一种特殊方法,也称为深度神经网络。它受人类大脑结构的启发,通过设计多层的神经元网络结构,来模拟万事万物的特征表示。 1.4 三者之间的层级关系 厘清这三者的关系对于初学者至关重要。人工智能 AI是最宏大的概念,包含了所有让机器变聪明的技术。机器学习 ML是 AI

AI入门系列:AI新手必看:人工智能发展历程与现状分析

AI入门系列:AI新手必看:人工智能发展历程与现状分析

写在前面:为什么AI发展历史很重要? 记得刚开始学习AI的时候,我总觉得历史这种东西很枯燥,不如直接学习最新的技术来得实在。但后来我发现,了解AI的发展历程,就像了解一个人的成长经历一样,能帮助我们更好地理解现在的AI是如何走到今天的,也能帮助我们预测未来可能的发展方向。 有一次,我和一位从事AI研究多年的教授聊天,他告诉我:"现在的学生总想直接学习深度学习,但如果不了解符号主义AI的兴衰,就无法理解为什么深度学习会成功,也无法预见它可能面临的挑战。"这句话让我深受启发。 所以,在这篇文章中,我想和大家一起回顾一下AI的发展历程,不是为了考试背诵那些枯燥的年代和事件,而是为了让我们能够站在历史的高度,更好地理解现在的AI技术,以及它在我们生活中的应用。 人工智能的诞生:一个充满想象力的开始 说起AI的诞生,我们不得不提到1956年的达特茅斯会议。这次会议被公认为人工智能学科的诞生标志。 想象一下那个场景:一群来自不同领域的顶尖科学家,包括约翰·麦卡锡、马文·明斯基、克劳德·香农等,聚集在一起,讨论着一个看似疯狂的问题:"机器能思考吗?"他们相信,只要给机器输入足够多的规则

用快马AI一键生成《无尽冬日》自动化脚本,解放双手轻松游戏

快速体验 1. 打开 InsCode(快马)平台 https://www.inscode.net 2. 点击'项目生成'按钮,等待项目生成完整后预览效果 输入框内输入如下内容: 开发一个《无尽冬日》游戏自动化脚本,功能包括自动挂机、资源收集、任务完成和战斗辅助。脚本应支持定时任务、异常检测和日志记录,确保稳定运行。使用Python编写,界面简洁易用,提供配置选项调整自动化行为。脚本需兼容主流模拟器,并支持多开功能。代码需模块化设计,便于后续扩展和维护。 最近在玩《无尽冬日》这款生存游戏,发现重复的挂机、采集资源等操作特别耗时。作为程序员,自然想到写个自动化脚本解放双手。但手动从头开发要处理模拟操作、异常检测等复杂逻辑,直到发现InsCode(快马)平台的AI生成功能,整个过程变得异常简单。 一、脚本核心功能设计 1.

Spring AI系列——开发MCP Server和MCP Client(SSE方式)

Spring AI系列——开发MCP Server和MCP Client(SSE方式)

文章目录 * 一、概述 * MCP架构图 * MCP生命周期 * 二、创建MCP SERVER的java工程 * 生成初始化工程代码 * 修改pom.xml文件 * 定义服务类MathTool * 通过配置类的方式把MathTool注入到Spring容器中 * 修改配置文件application.yaml * 启动服务 * 三、如何使用MCP Server * 方式一:使用Chatbox连接MCP Server * 设置AI模型提供方 * 配置MCP服务器 * 使用MCP Server * 方式二:开发一个Client来连接Server * 创建java工程 * 修改pom.xml,添加核心依赖 * 配置application.yaml * 创建Controller * 启动Client服务 * 访问接口进行测试 * 四、资料 一、概述 MCP架构图 MCP生命周期 二、创建MCP SERVER的java工程