打造专属 Cursor 的账号自动删除插件:从零到酷的奇幻之旅
Hey 小伙伴们!今天我要和大家分享一个有趣的的工具------打造专属的 Cursor 账号的 Chrome 插件。这不仅是一次技术挑战,更是一场充满惊喜的冒险!
初衷:为啥要搞这个插件?
在使用 Cursor 的过程中,我们总是会遇到额度不够的时候,此时需要我们进行账号的删除。于是,萌生了打造一个插件的想法,让这些操作一键完成,简单又高效。
功能规划:我要的插件长这样!
我想象中的插件,得有这些厉害的功能:
- 自动删除设置:能指定时间,让账号自动"隐身",省心又省力。
- 手动删除按钮:关键时刻,一键清除,干净利落。
- 科技感爆棚的界面:暗黑风格搭配霓虹蓝,酷炫十足,操作起来那叫一个爽!
技术攻关:这些难题都被我征服啦!
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 '{}'
# 要求
- 请首先确认你理解以上需求,然后开始实现。如有疑问请直接提出,而不是假设实现方式。