打造专属 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 '{}'

   
# 要求
- 请首先确认你理解以上需求,然后开始实现。如有疑问请直接提出,而不是假设实现方式。
相关推荐
Victor3561 分钟前
Redis(6)Redis的单线程模型是如何工作的?
后端
Victor3562 分钟前
Redis(7)Redis如何实现高效的内存管理?
后端
David爱编程1 小时前
进程 vs 线程到底差在哪?一文吃透操作系统视角与 Java 视角的关键差异
后端
smileNicky11 小时前
SpringBoot系列之从繁琐配置到一键启动之旅
java·spring boot·后端
David爱编程12 小时前
为什么必须学并发编程?一文带你看懂从单线程到多线程的演进史
java·后端
long31612 小时前
java 策略模式 demo
java·开发语言·后端·spring·设计模式
rannn_11113 小时前
【Javaweb学习|黑马笔记|Day1】初识,入门网页,HTML-CSS|常见的标签和样式|标题排版和样式、正文排版和样式
css·后端·学习·html·javaweb
柏油14 小时前
Spring @Cacheable 解读
redis·后端·spring
柏油14 小时前
Spring @TransactionalEventListener 解读
spring boot·后端·spring
两码事16 小时前
告别繁琐的飞书表格API调用,让飞书表格操作像操作Java对象一样简单!
java·后端