mirror of
https://github.com/Wei-Shaw/claude-relay-service.git
synced 2026-03-30 04:47:00 +00:00
改进 PR #1016 的全局拦截逻辑,将 1M 上下文窗口(context-1m)的拦截 从全局一刀切改为按 API Key 精细控制。 新增 `allow1mContext` 布尔字段,默认 false(向后兼容)。管理员可在 创建/编辑 API Key 时为需要的用户单独开启 1M 上下文窗口权限。 双层保护机制: - 第一层:API Key 未启用 allow1mContext 时直接返回 403 - 第二层:已启用但调度到的账户类型不支持 1M(非 Bedrock)时返回 403 修改文件: - src/models/redis.js: 新增 allow1mContext 布尔字段解析 - src/services/apiKeyService.js: 创建 Key 时支持 allow1mContext 参数 - src/middleware/auth.js: 将 allow1mContext 附加到 req.apiKey - src/routes/admin/apiKeys.js: 创建/批量创建/更新/批量更新接口支持 - src/routes/api.js: 替换全局拦截为按 Key + 账户类型双层检查 - CreateApiKeyModal.vue: 新增"允许 1M 上下文"复选框 - EditApiKeyModal.vue: 新增复选框,支持从已有数据加载 - BatchEditApiKeyModal.vue: 新增三态单选(启用/禁用/不修改)