打造专属 Cursor 的账号自动删除插件:从零到酷的奇幻之旅

打造专属 Cursor 的账号自动删除插件:从零到酷的奇幻之旅

Hey 小伙伴们!今天我要和大家分享一个有趣的的工具------打造专属的 Cursor 账号的 Chrome 插件。这不仅是一次技术挑战,更是一场充满惊喜的冒险!

初衷:为啥要搞这个插件?

在使用 Cursor 的过程中,我们总是会遇到额度不够的时候,此时需要我们进行账号的删除。于是,萌生了打造一个插件的想法,让这些操作一键完成,简单又高效。

功能规划:我要的插件长这样!

我想象中的插件,得有这些厉害的功能:

  1. 自动删除设置:能指定时间,让账号自动"隐身",省心又省力。
  2. 手动删除按钮:关键时刻,一键清除,干净利落。
  3. 科技感爆棚的界面:暗黑风格搭配霓虹蓝,酷炫十足,操作起来那叫一个爽!

技术攻关:这些难题都被我征服啦!

JWT获取:从Cookie里"挖宝"

通过 Chrome 的 cookies API,成功从 Cursor 网站获取了 JWT 令牌。这就像在数据海洋里精准定位宝藏,一旦找到,就能解锁账号管理的诸多功能。

lua 复制代码
chrome.cookies.get({
  url: 'https://www.cursor.com',
  name: 'WorkosCursorSessionToken'
}, function(cookie) {
  if (cookie) {
    chrome.storage.local.set({
      'cursorToken': cookie.value
    });
  }
});

权限设置:让插件"有权有势"

在 manifest.json 里,需要精心配置权限,确保插件能顺利访问 Cursor 网站的相关数据。这一步很关键,后续操作依赖此步骤。

json 复制代码
{
  "permissions": [
    "cookies",
    "storage",
    "alarms"
  ],
  "host_permissions": [
    "https://*.cursor.com/*",
    "https://*.cursor.sh/*"
  ]
}

图标生成:给插件"穿新衣"

利用 Python脚本,我快速生成了不同尺寸的图标。这不仅提升了开发效率,还让插件在视觉上更加专业。

arduino 复制代码
from PIL import Image, ImageDraw, ImageFont
​
def create_icon(size, output_path):
    img = Image.new('RGBA', (size, size))
    draw = ImageDraw.Draw(img)
    draw.ellipse((0, 0, size, size), fill=(52, 152, 219))
    center_size = size // 3
    offset = (size - center_size) // 2
    draw.ellipse((offset, offset, offset + center_size, offset + center_size), fill=(231, 76, 60))
    img.save(output_path)
​
create_icon(16, 'images/icon16.png')
create_icon(48, 'images/icon48.png')
create_icon(128, 'images/icon128.png')

界面简化:只留最"硬核"的功能

我大胆砍掉了多余的状态显示和复杂功能,只保留自动删除设置、时间调整和手动删除按钮。这种极简设计,让用户操作起来毫无压力。

酷炫风格:让插件"潮"起来!

采用暗黑主题搭配霓虹蓝,界面瞬间科技感拉满。渐变色、发光效果、科技感图标......这些元素的加入,让插件不仅实用,更是一场视觉盛宴。

css 复制代码
:root {
  --primary-color: #00d2ff;
  --primary-dark: #3a7bd5;
  --primary-glow: rgba(0, 210, 255, 0.5);
  --danger-color: #ff416c;
  --danger-hover: #f02849;
  --danger-glow: rgba(255, 65, 108, 0.5);
  --dark-text: #e0e0e0;
  --light-text: #a0a0a0;
  --lighter-text: #777777;
}
​
body {
  font-family: 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
  background-color: #0a0f1e;
}
​
.container {
  background-color: #111827;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.3);
  border-radius: 12px;
}
​
.btn.danger {
  background: linear-gradient(135deg, #ff416c, #f02849);
  color: white;
  box-shadow: 0 4px 14px rgba(255, 65, 108, 0.25);
}

总结:这次冒险超值得!

通过这次插件开发,我不仅实现了账号管理的个性化需求,还在技术上有了质的飞跃。从JWT获取到权限设置,从图标生成到界面设计,每一步都充满了挑战和乐趣。

最让我自豪的是,这个插件完全是按照我的想法打造的,没有多余的累赘,只有最实用的功能和最酷炫的外观。下次,我还想尝试更多新功能,让这个插件变得更加强大!

markdown 复制代码
# 我需要开发一个Chrome扩展,用于管理Cursor账号,关键功能包括:
1. 核心目标:
   - 允许用户在特定时间自动删除账号
   - 提供简单的手动删除选项
   - 界面应保持极简,只保留必要功能

2. 具体设计要求:
   - 配色方案:暗黑科技风,主色调为霓虹蓝
   - 视觉元素:包含科技感图标、动画效果和适当的发光元素
   - 避免频繁自动刷新或任何可能干扰用户输入的机制
   - icon需要自动生成

3. 功能实现指南:
   - 状态更新应仅在必要时进行(如打开界面、完成操作后)
   - 用户输入应当得到尊重,避免被其他操作覆盖
   - 对于JWT或状态信息,直接在界面显示而非使用弹窗
   - JWT获取:从Chrome存储中读取(chrome.storage.local.get(['cursorToken'])
   - JWT解码:使用Base64解码展示关键信息如有效期、用户ID等

4. 技术实现原则:
   - 代码应简洁明了,避免过度复杂
   - 保留核心功能,移除不必要的状态显示
   - 使用渐变色、阴影和动画增强视觉效果
   
# 你可以参考下边删除账号时触发的请求
curl 'https://www.cursor.com/api/dashboard/delete-account' \
  -H 'accept: */*' \
  -H 'accept-language: zh-CN,zh;q=0.9,en;q=0.8' \
  -H 'content-type: application/json' \
  -b 'NEXT_LOCALE=cn; WorkosCursorSessionToken=xxxxx' \
  -H 'origin: https://www.cursor.com' \
  -H 'priority: u=1, i' \
  -H 'referer: https://www.cursor.com/cn/settings' \
  -H 'sec-ch-ua: "Chromium";v="134", "Not:A-Brand";v="24", "Google Chrome";v="134"' \
  -H 'sec-ch-ua-mobile: ?0' \
  -H 'sec-ch-ua-platform: "macOS"' \
  -H 'sec-fetch-dest: empty' \
  -H 'sec-fetch-mode: cors' \
  -H 'sec-fetch-site: same-origin' \
  -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36' \
  --data-raw '{}'

   
# 要求
- 请首先确认你理解以上需求,然后开始实现。如有疑问请直接提出,而不是假设实现方式。
相关推荐
.生产的驴1 小时前
SpringBoot 集成滑块验证码AJ-Captcha行为验证码 Redis分布式 接口限流 防爬虫
java·spring boot·redis·分布式·后端·爬虫·tomcat
野犬寒鸦2 小时前
MySQL索引使用规则详解:从设计到优化的完整指南
java·数据库·后端·sql·mysql
思考的橙子2 小时前
Springboot之会话技术
java·spring boot·后端
兆。5 小时前
电子商城后台管理平台-Flask Vue项目开发
前端·vue.js·后端·python·flask
weixin_437398215 小时前
RabbitMQ深入学习
java·分布式·后端·spring·spring cloud·微服务·rabbitmq
西京刀客10 小时前
Go多服务项目结构优化:为何每个服务单独设置internal目录?
开发语言·后端·golang
李匠202411 小时前
C++GO语言微服务之gorm框架操作MySQL
开发语言·c++·后端·golang
源码云商11 小时前
基于Spring Boot + Vue的高校心理教育辅导系统
java·spring boot·后端
黄俊懿12 小时前
【深入理解SpringCloud微服务】手写实现一个微服务分布式事务组件
java·分布式·后端·spring·spring cloud·微服务·架构师
Themberfue13 小时前
RabbitMQ ②-工作模式
开发语言·分布式·后端·rabbitmq