关于 extension-backend
用于规划和构建 Chrome 扩展后端 API 的技能,推荐使用 NestJS 和 MongoDB。它指导开发者梳理需求、搭建项目、设计端点并落实安全措施,适用于认证、授权、同步和 API 代理等服务。
主要功能
- 01后端需求规划
- 02NestJS 与 MongoDB 搭建指南
- 03认证和授权端点模式
- 04支付 Webhook 与同步 API 模式
- 05安全清单和参考资料
适用场景
- 01为扩展添加账户认证
- 02验证许可证或订阅状态
- 03跨设备同步扩展数据
- 04代理外部 API 以隐藏密钥
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ quangpl/ browser-extension-skills --skill extension-backend安装后在 Claude Code 中输入/extension-backend确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/extension-api-patterns.mdmongoose-patterns.mdnestjs-setup.mdsecurity-patterns.md详细介绍
扩展后端
🚀 升级至 Premium 在 https://app.extensionbooster.net/dashboard/services/extension-ai-kit 获取 Premium 版本
为 Chrome 扩展构建安全、易于维护的后端 API。推荐技术栈:NestJS + MongoDB (Mongoose)。
何时启用
当扩展开发需要以下功能时,启用此技能:
- 许可证验证 / 支付 Webhook
- 用户身份验证 / 账户管理
- 跨设备数据同步
- 外部 API 代理(对扩展隐藏 API 密钥)
- 任何服务端逻辑
工作流(请按此执行)
步骤 1:请用户确认需求
- 是否需要后端?(说明原因:API 密钥、身份验证、支付、同步)
- 技术栈偏好:NestJS + MongoDB(推荐)还是自定义方案?
- 托管目标:Vercel / Railway / Fly.io / AWS / 自托管?
- 所需功能(从以下选取):
- 用户身份验证(通过 chrome.identity 进行 Google OAuth)
- 许可证 / 订阅验证
- 支付 Webhook(Stripe、Paddle 等)
- 数据同步 / 存储 API
- 外部 API 代理
- 速率限制
步骤 2:获取框架文档
使用 docs-seeker 技能获取最新文档:
- NestJS:https://docs.nestjs.com/
- Mongoose:https://mongoosejs.com/docs/
- TypeScript 风格指南:https://google.github.io/styleguide/tsguide.html
- JavaScript 风格指南:https://google.github.io/styleguide/jsguide.html
步骤 3:搭建后端
npx @nestjs/cli new extension-backend --strict --package-manager pnpm
cd extension-backend
pnpm add @nestjs/mongoose mongoose @nestjs/config class-validator class-transformer
pnpm add helmet @nestjs/throttler
pnpm add -D @types/express
步骤 4:项目结构
src/
├── main.ts # Bootstrap, CORS, helmet, validation
├── app.module.ts # Root module
├── config/
│ └── configuration.ts # Env-based config
├── auth/
│ ├── auth.module.ts # Auth module
│ ├── auth.controller.ts # POST /auth/verify-token
│ ├── auth.service.ts # Token validation logic
│ └── guards/auth.guard.ts # Global auth guard
├── license/
│ ├── license.module.ts
│ ├── license.controller.ts # GET /license/verify
│ ├── license.service.ts # License CRUD
│ └── schemas/license.schema.ts # Mongoose schema
├── webhook/
│ ├── webhook.module.ts
│ ├── webhook.controller.ts # POST /webhook/stripe
│ └── webhook.service.ts # Process payment events
└── common/
├── filters/http-exception.filter.ts
├── interceptors/logging.interceptor.ts
└── dto/ # Shared DTOs
步骤 5:必要端点
| 方法 | 端点 | 用途 | 身份验证 |
|---|---|---|---|
| POST | /auth/verify-token | 验证 Google OAuth 令牌 | 否 |
| GET | /license/verify | 检查用户订阅状态 | 是 |
| POST | /webhook/stripe | 接收支付事件 | 签名 |
| GET | /health | 健康检查 | 否 |
步骤 6:安全检查清单
实现详情请参阅 references/security-patterns.md。
- 已启用 Helmet 中间件
- CORS 限制为
chrome-extension://<ID>来源 - 速率限制(ThrottlerModule)
- 输入验证(对所有 DTO 使用 class-validator)
- Webhook 签名验证
- 响应正文中不包含机密信息
- 防止 MongoDB 注入(Mongoose 默认会进行清理)
- 生产环境仅使用 HTTPS
参考资料
references/nestjs-setup.md— 引导配置、模块、CORS、环境变量配置references/security-patterns.md— 身份验证守卫、速率限制、Webhook 验证、CORSreferences/mongoose-patterns.md— Schema、服务、查询、索引references/extension-api-patterns.md— 扩展调用的端点、令牌流程
相关技能
extension-payment— 支付网关集成(调用此后端)extension-dev— 扩展端功能开发extension-analyze— 扩展和后端的安全审计
评论
支持 Markdown