用途
setup-saaskit 用于为项目配置 SaaSKit,使其具备环境凭据、已注册的重定向 URI 以及首个登录 URL。当用户希望设置 SaaSKit 或为此应用添加登录能力时使用该技能。该技能在产出首个登录 URL 后即停止,不涉及登录、回调或会话代码的编写。
主要能力
- 从 Scalekit 仪表盘获取 API 凭据,包括 SCALEKIT_ENVIRONMENT_URL、SCALEKIT_CLIENT_ID、SCALEKIT_CLIENT_SECRET。
- 注册重定向 URI,并确保 SCALEKIT_REDIRECT_URI 与仪表盘中的 Allowed callback URL 逐字符一致。
- 将四个环境变量写入项目的 env 文件,并保持密钥不进入源码。
- 使用项目中已有的 Scalekit SDK 生成首个授权登录 URL;仅当仓库尚无 Scalekit SDK 时才安装 @scalekit-sdk/node。
- 在完成后指明下一步应使用的技能并停止。
使用方式
技能按以下步骤执行:
- 获取 API 凭据:打开 app.scalekit.com → Developers → Settings → API Credentials,收集 SCALEKIT_ENVIRONMENT_URL、SCALEKIT_CLIENT_ID、SCALEKIT_CLIENT_SECRET。自托管场景使用对应管理仪表盘中的环境 URL 和凭据。
- 注册重定向 URI:选择回调 URL,优先使用项目已有的回调路径,否则使用 http://localhost:3000/auth/callback。在仪表盘 Authentication → Redirect URLs → Allowed callback URLs 中添加该确切 URL,并将 SCALEKIT_REDIRECT_URI 设为相同字符串。
- 写入项目 env:将四个变量放入项目的 env 文件。
- 生成首个登录 URL:使用项目已有的 Scalekit SDK;若仓库尚无 SDK,则安装 @scalekit-sdk/node。示例代码:
import { ScalekitClient } from '@scalekit-sdk/node';
const scalekit = new ScalekitClient(
process.env.SCALEKIT_ENVIRONMENT_URL,
process.env.SCALEKIT_CLIENT_ID,
process.env.SCALEKIT_CLIENT_SECRET
);
const loginUrl = scalekit.getAuthorizationUrl(process.env.SCALEKIT_REDIRECT_URI, {
scopes: ['openid', 'profile', 'email', 'offline_access']
});
console.log(loginUrl);
若仓库为 Python,则在 scalekit-sdk-python 上调用 get_authorization_url,使用相同的环境变量名。生成的 URL 形如 <SCALEKIT_ENVIRONMENT_URL>/oauth/authorize?....。
- 指明下一步技能并停止:Next.js App Router 指向 implement-saaskit-nextjs;Django、FastAPI 或 Flask 指向 implement-saaskit-python;其他情况指向 implement-saaskit。
适用场景
- 需要为项目快速接入 SaaSKit 登录能力的前置配置。
- 需要统一管理 Scalekit 环境凭据与回调地址的项目。
- 作为后续 implement-saaskit 系列技能的前置步骤。
限制与约束
- 必须等待用户从仪表盘提供凭据值,不得自行编造。
- SCALEKIT_REDIRECT_URI 必须与仪表盘 Allowed callback URL 完全一致。
- 不得编写登录、回调或会话代码,这些应交给 implement-saaskit。
- 该技能在首个登录 URL 处停止。
- 若插件缺失,可使用 setup-scalekit;向导完成后可用 run-dryrun 检查凭据;本地部署环境可使用 deploy-self-hosted;若用户需要连接和工具,可使用 setup-agentkit。
相关资源
- 文档索引:https://docs.scalekit.com/llms.txt
- MCP:https://mcp.scalekit.com