From 15df870834518b2c3065995aa97c4be6e9c55aa3 Mon Sep 17 00:00:00 2001 From: hex2077 Date: Tue, 2 Dec 2025 15:26:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=8E=88=E6=9D=83):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=8E=88=E6=9D=83=E6=96=87=E4=BB=B6=E8=B7=AF=E5=BE=84=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E5=8A=9F=E8=83=BD=E5=B9=B6=E6=9B=B4=E6=96=B0=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E6=98=A0=E5=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加getAuthFilePath函数获取各提供商授权文件路径,并在授权模态框中显示 更新FULL_MODEL_MAPPING添加claude-opus-4-5-20251101模型映射 --- src/claude/claude-kiro.js | 1 + static/app/provider-manager.js | 28 ++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/src/claude/claude-kiro.js b/src/claude/claude-kiro.js index 6769cd0..5df9d87 100644 --- a/src/claude/claude-kiro.js +++ b/src/claude/claude-kiro.js @@ -27,6 +27,7 @@ const KIRO_MODELS = getProviderModels('claude-kiro-oauth'); // 完整的模型映射表 const FULL_MODEL_MAPPING = { "claude-opus-4-5":"claude-opus-4.5", + "claude-opus-4-5-20251101":"claude-opus-4.5", "claude-haiku-4-5":"claude-haiku-4.5", "claude-sonnet-4-5": "CLAUDE_SONNET_4_5_20250929_V1_0", "claude-sonnet-4-5-20250929": "CLAUDE_SONNET_4_5_20250929_V1_0", diff --git a/static/app/provider-manager.js b/static/app/provider-manager.js index a466eb0..ec8f400 100644 --- a/static/app/provider-manager.js +++ b/static/app/provider-manager.js @@ -359,6 +359,21 @@ async function handleGenerateAuthUrl(providerType) { } } +/** + * 获取提供商的授权文件路径 + * @param {string} provider - 提供商类型 + * @returns {string} 授权文件路径 + */ +function getAuthFilePath(provider) { + const authFilePaths = { + 'gemini-cli-oauth': '~/.gemini/oauth_creds.json', + 'gemini-antigravity': '~/.antigravity/oauth_creds.json', + 'openai-qwen-oauth': '~/.qwen/oauth_creds.json', + 'claude-kiro-oauth': '~/.aws/sso/cache/kiro-auth-token.json' + }; + return authFilePaths[provider] || '未知路径'; +} + /** * 显示授权信息模态框 * @param {string} authUrl - 授权URL @@ -369,6 +384,9 @@ function showAuthModal(authUrl, authInfo) { modal.className = 'modal-overlay'; modal.style.display = 'flex'; + // 获取授权文件路径 + const authFilePath = getAuthFilePath(authInfo.provider); + let instructionsHtml = ''; if (authInfo.provider === 'openai-qwen-oauth') { instructionsHtml = ` @@ -381,6 +399,11 @@ function showAuthModal(authUrl, authInfo) {
  • 授权有效期: ${Math.floor(authInfo.expiresIn / 60)} 分钟
  • ${authInfo.instructions}

    +
    + 授权文件路径: + ${authFilePath} + 注:~ 表示用户主目录(Windows: C:\\Users\\用户名,Linux/macOS: /home/用户名 或 /Users/用户名) +
    `; } else { @@ -402,6 +425,11 @@ function showAuthModal(authUrl, authInfo) {
  • 授权完成后,凭据文件会自动保存
  • ${authInfo.instructions}

    +
    + 授权文件路径: + ${authFilePath} + 注:~ 表示用户主目录(Windows: C:\\Users\\用户名,Linux/macOS: /home/用户名 或 /Users/用户名) +
    `; }