[GH-ISSUE #11] 请问能否添加kiro转API后的使用方法? #7

Closed
opened 2026-02-27 07:17:18 +03:00 by kerem · 23 comments
Owner

Originally created by @icychick-liu on GitHub (Jul 31, 2025).
Original GitHub issue: https://github.com/justlovemaki/AIClient-2-API/issues/11

请问MODEL_PROVIDER选择为claude-kiro-oauth后,cherrystudio客户端中的模型应该怎么设置呢?是claude-nonnet-4吗?好像模型怎么设置都无法生效,大佬方便简单说明下使用方法吗?💗

Originally created by @icychick-liu on GitHub (Jul 31, 2025). Original GitHub issue: https://github.com/justlovemaki/AIClient-2-API/issues/11 请问MODEL_PROVIDER选择为claude-kiro-oauth后,cherrystudio客户端中的模型应该怎么设置呢?是claude-nonnet-4吗?好像模型怎么设置都无法生效,大佬方便简单说明下使用方法吗?💗
kerem closed this issue 2026-02-27 07:17:18 +03:00
Author
Owner

@justlovemaki commented on GitHub (Jul 31, 2025):

claude-sonnet-4-20250514, claude-3-7-sonnet-20250219 只支持这两个模型,如果填错了,默认是会路由到claude-sonnet-4-20250514,也应该是可以正常使用的。
方便的话把报错贴上来看看,还有你的接入配置。

<!-- gh-comment-id:3138822069 --> @justlovemaki commented on GitHub (Jul 31, 2025): claude-sonnet-4-20250514, claude-3-7-sonnet-20250219 只支持这两个模型,如果填错了,默认是会路由到claude-sonnet-4-20250514,也应该是可以正常使用的。 方便的话把报错贴上来看看,还有你的接入配置。
Author
Owner

@icychick-liu commented on GitHub (Jul 31, 2025):

claude-sonnet-4-20250514, claude-3-7-sonnet-20250219 只支持这两个模型,如果填错了,默认是会路由到claude-sonnet-4-20250514,也应该是可以正常使用的。 方便的话把报错贴上来看看,还有你的接入配置。

好的。我的config.json是这样配置的

UW PICO 5.09                                               File: config.json                                                  

{
    "REQUIRED_API_KEY": "123456",
    "SERVER_PORT": 3000,
    "HOST": "localhost",
    "MODEL_PROVIDER": "claude-kiro-oauth",
    "OPENAI_API_KEY": "sk-your-openai-key",
    "OPENAI_BASE_URL": "https://api.openai.com/v1",
    "CLAUDE_API_KEY": "sk-ant-your-claude-key",
    "CLAUDE_BASE_URL": "https://api.anthropic.com/v1",
    "PROJECT_ID": "your-gcp-project-id",
    "PROMPT_LOG_MODE": "console"
}

这是cherry studio中的配置

Image

下面是报错信息

➜  AIClient-2-API git:(main) ✗ node src/api-server.js
[Config] Loaded configuration from config.json
[System Prompt] Specified system prompt file not found: /Users/icychick/Projects/AIClient-2-API/input_system_prompt.txt
[Initialization] Initializing service adapter for gemini-cli-oauth...
[Gemini] Initializing Gemini API Service...
[Initialization] Initializing service adapter for openai-custom...
[Initialization] Initializing service adapter for claude-custom...
[Initialization] Initializing service adapter for claude-kiro-oauth...
[Kiro] Initializing Gemini API Service...
[Kiro Auth] Attempting to load credentials from specified file: /Users/icychick/.aws/sso/cache/kiro-auth-token.json
[Gemini Auth] Authentication configured successfully from file.
[Gemini] Using provided Project ID: your-gcp-project-id
[Gemini] Using fixed models: [gemini-2.5-pro, gemini-2.5-flash]
[Gemini] Initialization complete. Project ID: your-gcp-project-id
[Kiro Auth] Successfully loaded credentials from /Users/icychick/.aws/sso/cache/kiro-auth-token.json.
[Kiro Auth] Attempting to load credentials from directory: /Users/icychick/.aws/sso/cache
--- Unified API Server Configuration ---
  Model Provider: claude-kiro-oauth
  Kiro OAuth Creds File Path: Default
  System Prompt File: /Users/icychick/Projects/AIClient-2-API/input_system_prompt.txt
  System Prompt Mode: undefined
  Host: localhost
  Port: 3000
  Required API Key: 123456
  Prompt Logging: console
------------------------------------------

Unified API Server running on http://localhost:3000
Supports multiple API formats:
  • OpenAI-compatible: /v1/chat/completions, /v1/models
  • Gemini-compatible: /v1beta/models, /v1beta/models/{model}:generateContent
  • Claude-compatible: /v1/messages
  • Health check: /health
[Kiro Auth] Region not found in credentials. Using default region for URLs.

7/31/2025, 3:26:13 PM
[Server] Received request: POST http://localhost:3000/v1/messages
[Config] Ignoring invalid MODEL_PROVIDER in path segment: v1
[Request Convert] Request format matches backend provider. No conversion needed.
[Content Generation] Model: claude-sonnet-4-20250514, Stream: true
[System Prompt Manager] System prompt updated in file for provider 'claude'.
7/31/2025, 3:26:13 PM [INPUT]:
hi
--------------------------------------

[Kiro] API call failed: Request failed with status code 400
[Kiro] Error calling API: AxiosError: Request failed with status code 400
    at settle (file:///Users/icychick/Projects/AIClient-2-API/node_modules/axios/lib/core/settle.js:19:12)
    at IncomingMessage.handleStreamEnd (file:///Users/icychick/Projects/AIClient-2-API/node_modules/axios/lib/adapters/http.js:599:11)
    at IncomingMessage.emit (node:events:519:35)
    at endReadableNT (node:internal/streams/readable:1701:12)
    at process.processTicksAndRejections (node:internal/process/task_queues:90:21)
    at Axios.request (file:///Users/icychick/Projects/AIClient-2-API/node_modules/axios/lib/core/Axios.js:45:41)
    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    at async KiroApiService.callApi (file:///Users/icychick/Projects/AIClient-2-API/src/claude/claude-kiro.js:751:30)
    at async KiroApiService.streamApi (file:///Users/icychick/Projects/AIClient-2-API/src/claude/claude-kiro.js:846:20)
    at async KiroApiService.generateContentStream (file:///Users/icychick/Projects/AIClient-2-API/src/claude/claude-kiro.js:859:30)
    at async KiroApiServiceAdapter.generateContentStream 
    },
    data: '<html>\r\n' +
      '<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>\r\n' +
      '<body>\r\n' +
      '<center><h1>400 Bad Request</h1></center>\r\n' +
      '<center>The plain HTTP request was sent to HTTPS port</center>\r\n' +
      '</body>\r\n' +
      '</html>\r\n'
  },
  status: 400
}

7/31/2025, 3:26:14 PM [OUTPUT]:
Error: Request failed with status code 400
--------------------------------------


<!-- gh-comment-id:3138853404 --> @icychick-liu commented on GitHub (Jul 31, 2025): > claude-sonnet-4-20250514, claude-3-7-sonnet-20250219 只支持这两个模型,如果填错了,默认是会路由到claude-sonnet-4-20250514,也应该是可以正常使用的。 方便的话把报错贴上来看看,还有你的接入配置。 好的。我的config.json是这样配置的 ``` UW PICO 5.09 File: config.json { "REQUIRED_API_KEY": "123456", "SERVER_PORT": 3000, "HOST": "localhost", "MODEL_PROVIDER": "claude-kiro-oauth", "OPENAI_API_KEY": "sk-your-openai-key", "OPENAI_BASE_URL": "https://api.openai.com/v1", "CLAUDE_API_KEY": "sk-ant-your-claude-key", "CLAUDE_BASE_URL": "https://api.anthropic.com/v1", "PROJECT_ID": "your-gcp-project-id", "PROMPT_LOG_MODE": "console" } ``` 这是cherry studio中的配置 <img width="1176" height="1148" alt="Image" src="https://github.com/user-attachments/assets/49aeeadd-945c-4f11-aefc-6d8bcdbf7205" /> 下面是报错信息 ``` ➜ AIClient-2-API git:(main) ✗ node src/api-server.js [Config] Loaded configuration from config.json [System Prompt] Specified system prompt file not found: /Users/icychick/Projects/AIClient-2-API/input_system_prompt.txt [Initialization] Initializing service adapter for gemini-cli-oauth... [Gemini] Initializing Gemini API Service... [Initialization] Initializing service adapter for openai-custom... [Initialization] Initializing service adapter for claude-custom... [Initialization] Initializing service adapter for claude-kiro-oauth... [Kiro] Initializing Gemini API Service... [Kiro Auth] Attempting to load credentials from specified file: /Users/icychick/.aws/sso/cache/kiro-auth-token.json [Gemini Auth] Authentication configured successfully from file. [Gemini] Using provided Project ID: your-gcp-project-id [Gemini] Using fixed models: [gemini-2.5-pro, gemini-2.5-flash] [Gemini] Initialization complete. Project ID: your-gcp-project-id [Kiro Auth] Successfully loaded credentials from /Users/icychick/.aws/sso/cache/kiro-auth-token.json. [Kiro Auth] Attempting to load credentials from directory: /Users/icychick/.aws/sso/cache --- Unified API Server Configuration --- Model Provider: claude-kiro-oauth Kiro OAuth Creds File Path: Default System Prompt File: /Users/icychick/Projects/AIClient-2-API/input_system_prompt.txt System Prompt Mode: undefined Host: localhost Port: 3000 Required API Key: 123456 Prompt Logging: console ------------------------------------------ Unified API Server running on http://localhost:3000 Supports multiple API formats: • OpenAI-compatible: /v1/chat/completions, /v1/models • Gemini-compatible: /v1beta/models, /v1beta/models/{model}:generateContent • Claude-compatible: /v1/messages • Health check: /health [Kiro Auth] Region not found in credentials. Using default region for URLs. 7/31/2025, 3:26:13 PM [Server] Received request: POST http://localhost:3000/v1/messages [Config] Ignoring invalid MODEL_PROVIDER in path segment: v1 [Request Convert] Request format matches backend provider. No conversion needed. [Content Generation] Model: claude-sonnet-4-20250514, Stream: true [System Prompt Manager] System prompt updated in file for provider 'claude'. 7/31/2025, 3:26:13 PM [INPUT]: hi -------------------------------------- [Kiro] API call failed: Request failed with status code 400 [Kiro] Error calling API: AxiosError: Request failed with status code 400 at settle (file:///Users/icychick/Projects/AIClient-2-API/node_modules/axios/lib/core/settle.js:19:12) at IncomingMessage.handleStreamEnd (file:///Users/icychick/Projects/AIClient-2-API/node_modules/axios/lib/adapters/http.js:599:11) at IncomingMessage.emit (node:events:519:35) at endReadableNT (node:internal/streams/readable:1701:12) at process.processTicksAndRejections (node:internal/process/task_queues:90:21) at Axios.request (file:///Users/icychick/Projects/AIClient-2-API/node_modules/axios/lib/core/Axios.js:45:41) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async KiroApiService.callApi (file:///Users/icychick/Projects/AIClient-2-API/src/claude/claude-kiro.js:751:30) at async KiroApiService.streamApi (file:///Users/icychick/Projects/AIClient-2-API/src/claude/claude-kiro.js:846:20) at async KiroApiService.generateContentStream (file:///Users/icychick/Projects/AIClient-2-API/src/claude/claude-kiro.js:859:30) at async KiroApiServiceAdapter.generateContentStream }, data: '<html>\r\n' + '<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>\r\n' + '<body>\r\n' + '<center><h1>400 Bad Request</h1></center>\r\n' + '<center>The plain HTTP request was sent to HTTPS port</center>\r\n' + '</body>\r\n' + '</html>\r\n' }, status: 400 } 7/31/2025, 3:26:14 PM [OUTPUT]: Error: Request failed with status code 400 -------------------------------------- ```
Author
Owner

@justlovemaki commented on GitHub (Jul 31, 2025):

试试最新版,看问题修复了吗?我测试用的最新版cherrystudio

<!-- gh-comment-id:3140301098 --> @justlovemaki commented on GitHub (Jul 31, 2025): 试试最新版,看问题修复了吗?我测试用的最新版cherrystudio
Author
Owner

@icychick-liu commented on GitHub (Jul 31, 2025):

试试最新版,看问题修复了吗?我测试用的最新版cherrystudio

嗯嗯,拉取新版后还是一样的报错。我让gemini帮忙分析了下,原因如下,修复后就可以正常使用了。

Image Image
<!-- gh-comment-id:3141664739 --> @icychick-liu commented on GitHub (Jul 31, 2025): > 试试最新版,看问题修复了吗?我测试用的最新版cherrystudio 嗯嗯,拉取新版后还是一样的报错。我让gemini帮忙分析了下,原因如下,修复后就可以正常使用了。 <img width="1864" height="958" alt="Image" src="https://github.com/user-attachments/assets/b563c6dd-7738-4953-adf0-b72c2976ad30" /> <img width="1754" height="1204" alt="Image" src="https://github.com/user-attachments/assets/8c6cde51-12a0-4a48-9d65-71408edc8a51" />
Author
Owner

@justlovemaki commented on GitHub (Aug 1, 2025):

可以把修改的文件提交一个pull 请求吗?很奇怪,我不改这里可以用,而你却不行。

<!-- gh-comment-id:3142051229 --> @justlovemaki commented on GitHub (Aug 1, 2025): 可以把修改的文件提交一个pull 请求吗?很奇怪,我不改这里可以用,而你却不行。
Author
Owner

@icychick-liu commented on GitHub (Aug 1, 2025):

可以把修改的文件提交一个pull 请求吗?很奇怪,我不改这里可以用,而你却不行。

pull了哦,pull后执行还是报错,我用gemini-cli修改后再次执行就可以了哈

<!-- gh-comment-id:3142158650 --> @icychick-liu commented on GitHub (Aug 1, 2025): > 可以把修改的文件提交一个pull 请求吗?很奇怪,我不改这里可以用,而你却不行。 pull了哦,pull后执行还是报错,我用gemini-cli修改后再次执行就可以了哈
Author
Owner

@justlovemaki commented on GitHub (Aug 1, 2025):

仓库没看到你的pull request呢

<!-- gh-comment-id:3142206504 --> @justlovemaki commented on GitHub (Aug 1, 2025): 仓库没看到你的pull request呢
Author
Owner

@boycgit commented on GitHub (Aug 1, 2025):

可以把修改的文件提交一个pull 请求吗?很奇怪,我不改这里可以用,而你却不行。

pull了哦,pull后执行还是报错,我用gemini-cli修改后再次执行就可以了哈

@icychick-liu 我这边也遇到这个问题... 你要不提个 pr 给仓库,或者贴一下你具体的修改 diff ? 感谢~

<!-- gh-comment-id:3143255633 --> @boycgit commented on GitHub (Aug 1, 2025): > > 可以把修改的文件提交一个pull 请求吗?很奇怪,我不改这里可以用,而你却不行。 > > pull了哦,pull后执行还是报错,我用gemini-cli修改后再次执行就可以了哈 @icychick-liu 我这边也遇到这个问题... 你要不提个 pr 给仓库,或者贴一下你具体的修改 diff ? 感谢~
Author
Owner

@boycgit commented on GitHub (Aug 1, 2025):

@justlovemaki 我将这里的报错信息提交给 kiro 分析并解决,大模型给出的修复结论如下,修改的地方还是挺多的:

Image

修改后的代码就能正常运行了:
Image

我单独把修改后的 src/claude/claude-kiro.js 打成压缩包作为附件作为你调整源码的参考:

claude-kiro.zip

<!-- gh-comment-id:3143539412 --> @boycgit commented on GitHub (Aug 1, 2025): @justlovemaki 我将这里的报错信息提交给 kiro 分析并解决,大模型给出的修复结论如下,修改的地方还是挺多的: <img width="778" height="971" alt="Image" src="https://github.com/user-attachments/assets/beca9cc0-b061-48e4-9792-0eb84ecdcb19" /> 修改后的代码就能正常运行了: ![Image](https://github.com/user-attachments/assets/d63bee1a-5546-49b6-a8a1-efa303fdfa29) 我单独把修改后的 src/claude/claude-kiro.js 打成压缩包作为附件作为你调整源码的参考: [claude-kiro.zip](https://github.com/user-attachments/files/21543612/claude-kiro.zip)
Author
Owner

@justlovemaki commented on GitHub (Aug 1, 2025):

看上面的图,cluade是想的挺多的,真正的原因应该就是第3点。
你们是设置了https的代理,再启动的吗?或者是全局的系统代理?
我是:$env:http_proxy="http://127.0.0.1:1089"

<!-- gh-comment-id:3143860140 --> @justlovemaki commented on GitHub (Aug 1, 2025): 看上面的图,cluade是想的挺多的,真正的原因应该就是第3点。 你们是设置了https的代理,再启动的吗?或者是全局的系统代理? 我是:$env:http_proxy="http://127.0.0.1:1089"
Author
Owner

@icychick-liu commented on GitHub (Aug 1, 2025):

可以把修改的文件提交一个pull 请求吗?很奇怪,我不改这里可以用,而你却不行。

pull了哦,pull后执行还是报错,我用gemini-cli修改后再次执行就可以了哈

@icychick-liu 我这边也遇到这个问题... 你要不提个 pr 给仓库,或者贴一下你具体的修改 diff ? 感谢~

这两处区别哈

Image Image
<!-- gh-comment-id:3144490429 --> @icychick-liu commented on GitHub (Aug 1, 2025): > > > 可以把修改的文件提交一个pull 请求吗?很奇怪,我不改这里可以用,而你却不行。 > > > > > > pull了哦,pull后执行还是报错,我用gemini-cli修改后再次执行就可以了哈 > > [@icychick-liu](https://github.com/icychick-liu) 我这边也遇到这个问题... 你要不提个 pr 给仓库,或者贴一下你具体的修改 diff ? 感谢~ 这两处区别哈 <img width="2276" height="650" alt="Image" src="https://github.com/user-attachments/assets/09a210d0-da69-4214-a72f-9926f14174be" /> <img width="2278" height="1078" alt="Image" src="https://github.com/user-attachments/assets/641de0dc-026f-4aaa-a3cb-4f623fe3d87a" />
Author
Owner

@icychick-liu commented on GitHub (Aug 1, 2025):

仓库没看到你的pull request呢

哦哦,我理解错了。我不太会github协作哈。我是在本地git pull你的更新了。我现在把修改版的文件贴上来。

claude-kiro.js.zip

<!-- gh-comment-id:3144499443 --> @icychick-liu commented on GitHub (Aug 1, 2025): > 仓库没看到你的pull request呢 哦哦,我理解错了。我不太会github协作哈。我是在本地git pull你的更新了。我现在把修改版的文件贴上来。 [claude-kiro.js.zip](https://github.com/user-attachments/files/21548587/claude-kiro.js.zip)
Author
Owner

@justlovemaki commented on GitHub (Aug 1, 2025):

仓库没看到你的pull request呢

哦哦,我理解错了。我不太会github协作哈。我是在本地git pull你的更新了。我现在把修改版的文件贴上来。

claude-kiro.js.zip

但是这样,以后url如果被屏蔽了,需要用代理的话就用不了了。你们是设置了https的代理,再启动的吗?或者是全局的系统代理?

<!-- gh-comment-id:3144857991 --> @justlovemaki commented on GitHub (Aug 1, 2025): > > 仓库没看到你的pull request呢 > > 哦哦,我理解错了。我不太会github协作哈。我是在本地git pull你的更新了。我现在把修改版的文件贴上来。 > > [claude-kiro.js.zip](https://github.com/user-attachments/files/21548587/claude-kiro.js.zip) 但是这样,以后url如果被屏蔽了,需要用代理的话就用不了了。你们是设置了https的代理,再启动的吗?或者是全局的系统代理?
Author
Owner

@icychick-liu commented on GitHub (Aug 1, 2025):

仓库没看到你的pull request呢

哦哦,我理解错了。我不太会github协作哈。我是在本地git pull你的更新了。我现在把修改版的文件贴上来。
claude-kiro.js.zip

但是这样,以后url如果被屏蔽了,需要用代理的话就用不了了。你们是设置了https的代理,再启动的吗?或者是全局的系统代理?

我的是mac系统,本地终端设置了代理哈,另外我把修改后的项目文件部署到我的亚马逊(美区)服务器上,没有设置代理环境,也可以正常使用哦。

本地mac环境~/.zshrc 里面设置了代理,亚马逊服务器上没有哈。

export http_proxy=http://127.0.0.1:10808
export https_proxy=http://127.0.0.1:10808

<!-- gh-comment-id:3144912422 --> @icychick-liu commented on GitHub (Aug 1, 2025): > > > 仓库没看到你的pull request呢 > > > > > > 哦哦,我理解错了。我不太会github协作哈。我是在本地git pull你的更新了。我现在把修改版的文件贴上来。 > > [claude-kiro.js.zip](https://github.com/user-attachments/files/21548587/claude-kiro.js.zip) > > 但是这样,以后url如果被屏蔽了,需要用代理的话就用不了了。你们是设置了https的代理,再启动的吗?或者是全局的系统代理? 我的是mac系统,本地终端设置了代理哈,另外我把修改后的项目文件部署到我的亚马逊(美区)服务器上,没有设置代理环境,也可以正常使用哦。 本地mac环境~/.zshrc 里面设置了代理,亚马逊服务器上没有哈。 ``` export http_proxy=http://127.0.0.1:10808 export https_proxy=http://127.0.0.1:10808 ```
Author
Owner

@justlovemaki commented on GitHub (Aug 1, 2025):

你得把修改前得文件放到服务器上测试,如果没问题,就确定是设置代理造成的。
你本机用修改前得文件,export http_proxy=http://127.0.0.1:10808
只设置这一个试试,不设置https_proxy,应该也没问题。

<!-- gh-comment-id:3145038674 --> @justlovemaki commented on GitHub (Aug 1, 2025): 你得把修改前得文件放到服务器上测试,如果没问题,就确定是设置代理造成的。 你本机用修改前得文件,export http_proxy=http://127.0.0.1:10808 只设置这一个试试,不设置https_proxy,应该也没问题。
Author
Owner

@boycgit commented on GitHub (Aug 2, 2025):

看上面的图,cluade是想的挺多的,真正的原因应该就是第3点。 你们是设置了https的代理,再启动的吗?或者是全局的系统代理? 我是:$env:http_proxy="http://127.0.0.1:1089"

感谢答复~
是的,我这边是同时设置了 http_proxy 和 https_proxy 这两个代理;好像大部分人也都是同时设置这两个代理的情况居多...

全局代理我倒是没开(偶尔会开,但是很少),基本是使用 pac 代理模式

<!-- gh-comment-id:3146181626 --> @boycgit commented on GitHub (Aug 2, 2025): > 看上面的图,cluade是想的挺多的,真正的原因应该就是第3点。 你们是设置了https的代理,再启动的吗?或者是全局的系统代理? 我是:$env:http_proxy="http://127.0.0.1:1089" 感谢答复~ 是的,我这边是同时设置了 http_proxy 和 https_proxy 这两个代理;好像大部分人也都是同时设置这两个代理的情况居多... 全局代理我倒是没开(偶尔会开,但是很少),基本是使用 pac 代理模式
Author
Owner

@justlovemaki commented on GitHub (Aug 2, 2025):

http_proxy

我只设置http_proxy ,需要代理得谷歌服务,也能正常使用,在windows系统下

<!-- gh-comment-id:3146189755 --> @justlovemaki commented on GitHub (Aug 2, 2025): > http_proxy 我只设置http_proxy ,需要代理得谷歌服务,也能正常使用,在windows系统下
Author
Owner

@justlovemaki commented on GitHub (Aug 2, 2025):

Image

这是gemini的回答。 @icychick-liu @boycgit

<!-- gh-comment-id:3146204025 --> @justlovemaki commented on GitHub (Aug 2, 2025): <img width="1981" height="917" alt="Image" src="https://github.com/user-attachments/assets/d6720571-5a39-4ca2-8f7a-b9defb4cf5e3" /> 这是gemini的回答。 @icychick-liu @boycgit
Author
Owner

@icychick-liu commented on GitHub (Aug 2, 2025):

你得把修改前得文件放到服务器上测试,如果没问题,就确定是设置代理造成的。 你本机用修改前得文件,export http_proxy=http://127.0.0.1:10808 只设置这一个试试,不设置https_proxy,应该也没问题。

测试了,不行哈,报错如下

2api-v0  | 
aiclient2api-v0  | Unified API Server running on http://0.0.0.0:3000
aiclient2api-v0  | Supports multiple API formats:
aiclient2api-v0  |   • OpenAI-compatible: /v1/chat/completions, /v1/models
aiclient2api-v0  |   • Gemini-compatible: /v1beta/models, /v1beta/models/{model}:generateContent
aiclient2api-v0  |   • Claude-compatible: /v1/messages
aiclient2api-v0  |   • Health check: /health
aiclient2api-v0  | [Gemini Auth] Credentials file 'gemini_oauth_creds.json' not found. Starting new authentication flow...
aiclient2api-v0  | 
aiclient2api-v0  | [Gemini Auth] Please open this URL in your browser to authenticate:
aiclient2api-v0  | https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&response_type=code&client_id=681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com&redirect_uri=http%3A%2F%2F0.0.0.0%3A8085 
aiclient2api-v0  | 
aiclient2api-v0  | [Kiro Auth] Credential file not found: kiro-auth-token.json
aiclient2api-v0  | [Kiro Auth] Could not load credentials from specified file path: kiro-auth-token.json
aiclient2api-v0  | [Kiro Auth] Attempting to load credentials from directory: /home/nextjs/.aws/sso/cache
aiclient2api-v0  | [Kiro Auth] Loaded credentials from e909a0580879b06ece1202964fbe9dda95ea4ce3.json
aiclient2api-v0  | [Kiro Auth] Region not found in credentials. Using default region for URLs.
aiclient2api-v0  | Failed to initialize kiroApiService: Error: No access token available after initialization and refresh attempts.
aiclient2api-v0  |     at KiroApiService.initializeAuth (file:///app/src/claude/claude-kiro.js:441:15)
aiclient2api-v0  |     at async KiroApiService.initialize (file:///app/src/claude/claude-kiro.js:264:9)
<!-- gh-comment-id:3146279021 --> @icychick-liu commented on GitHub (Aug 2, 2025): > 你得把修改前得文件放到服务器上测试,如果没问题,就确定是设置代理造成的。 你本机用修改前得文件,export http_proxy=http://127.0.0.1:10808 只设置这一个试试,不设置https_proxy,应该也没问题。 测试了,不行哈,报错如下 ``` 2api-v0 | aiclient2api-v0 | Unified API Server running on http://0.0.0.0:3000 aiclient2api-v0 | Supports multiple API formats: aiclient2api-v0 | • OpenAI-compatible: /v1/chat/completions, /v1/models aiclient2api-v0 | • Gemini-compatible: /v1beta/models, /v1beta/models/{model}:generateContent aiclient2api-v0 | • Claude-compatible: /v1/messages aiclient2api-v0 | • Health check: /health aiclient2api-v0 | [Gemini Auth] Credentials file 'gemini_oauth_creds.json' not found. Starting new authentication flow... aiclient2api-v0 | aiclient2api-v0 | [Gemini Auth] Please open this URL in your browser to authenticate: aiclient2api-v0 | https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&response_type=code&client_id=681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com&redirect_uri=http%3A%2F%2F0.0.0.0%3A8085 aiclient2api-v0 | aiclient2api-v0 | [Kiro Auth] Credential file not found: kiro-auth-token.json aiclient2api-v0 | [Kiro Auth] Could not load credentials from specified file path: kiro-auth-token.json aiclient2api-v0 | [Kiro Auth] Attempting to load credentials from directory: /home/nextjs/.aws/sso/cache aiclient2api-v0 | [Kiro Auth] Loaded credentials from e909a0580879b06ece1202964fbe9dda95ea4ce3.json aiclient2api-v0 | [Kiro Auth] Region not found in credentials. Using default region for URLs. aiclient2api-v0 | Failed to initialize kiroApiService: Error: No access token available after initialization and refresh attempts. aiclient2api-v0 | at KiroApiService.initializeAuth (file:///app/src/claude/claude-kiro.js:441:15) aiclient2api-v0 | at async KiroApiService.initialize (file:///app/src/claude/claude-kiro.js:264:9) ```
Author
Owner

@justlovemaki commented on GitHub (Aug 2, 2025):

Credential file not found: kiro-auth-token.json 你这是初始化问题,kiro-auth-token.json都没有找到

<!-- gh-comment-id:3146327123 --> @justlovemaki commented on GitHub (Aug 2, 2025): Credential file not found: kiro-auth-token.json 你这是初始化问题,kiro-auth-token.json都没有找到
Author
Owner

@icychick-liu commented on GitHub (Aug 2, 2025):

Credential file not found: kiro-auth-token.json 你这是初始化问题,kiro-auth-token.json都没有找到

kiro-auth-token.json在根目录中,config.json也配置哈。我发现修改package-lock.json这里的GeminiCli2API改为AIClient-2-API后就可以找到了。但是运行还是会报错哈

Image

报错消息

aiclient2api-v0  | [Config] Loaded configuration from config.json
aiclient2api-v0  | [System Prompt] Specified system prompt file not found: /app/input_system_prompt.txt
aiclient2api-v0  | [Initialization] Initializing service adapter for gemini-cli-oauth...
aiclient2api-v0  | [Gemini] Initializing Gemini API Service...
aiclient2api-v0  | [Initialization] Initializing service adapter for openai-custom...
aiclient2api-v0  | [Initialization Warning] Failed to initialize service adapter for openai-custom: OpenAI API Key is required for OpenAIApiService.
aiclient2api-v0  | [Initialization] Initializing service adapter for claude-custom...
aiclient2api-v0  | [Initialization Warning] Failed to initialize service adapter for claude-custom: Claude API Key is required for ClaudeApiService.
aiclient2api-v0  | [Initialization] Initializing service adapter for claude-kiro-oauth...
aiclient2api-v0  | [Kiro] Initializing Gemini API Service...
aiclient2api-v0  | [Kiro Auth] Attempting to load credentials from specified file: kiro-auth-token.json
aiclient2api-v0  | --- Unified API Server Configuration ---
aiclient2api-v0  |   Model Provider: claude-kiro-oauth
aiclient2api-v0  |   Kiro OAuth Creds File Path: kiro-auth-token.json
aiclient2api-v0  |   System Prompt File: /app/input_system_prompt.txt
aiclient2api-v0  |   System Prompt Mode: overwrite
aiclient2api-v0  |   Host: 0.0.0.0
aiclient2api-v0  |   Port: 3000
aiclient2api-v0  |   Required API Key: 123456
aiclient2api-v0  |   Prompt Logging: console
aiclient2api-v0  | ------------------------------------------
aiclient2api-v0  | 
aiclient2api-v0  | Unified API Server running on http://0.0.0.0:3000
aiclient2api-v0  | Supports multiple API formats:
aiclient2api-v0  |   • OpenAI-compatible: /v1/chat/completions, /v1/models
aiclient2api-v0  |   • Gemini-compatible: /v1beta/models, /v1beta/models/{model}:generateContent
aiclient2api-v0  |   • Claude-compatible: /v1/messages
aiclient2api-v0  |   • Health check: /health
aiclient2api-v0  | [Kiro Auth] Successfully loaded credentials from kiro-auth-token.json.
aiclient2api-v0  | [Kiro Auth] Attempting to load credentials from directory: /home/nextjs/.aws/sso/cache
aiclient2api-v0  | [Gemini Auth] Authentication configured successfully from file.
aiclient2api-v0  | [Gemini] Discovering Project ID...
aiclient2api-v0  | [Gemini] Using fixed models: [gemini-2.5-flash, gemini-2.5-pro]
aiclient2api-v0  | [Kiro Auth] Loaded credentials from e909a0580879b06ece1202964fbe9dda95ea4ce3.json
aiclient2api-v0  | [Kiro Auth] Region not found in credentials. Using default region for URLs.
aiclient2api-v0  | [Gemini] Initialization complete. Project ID: spatial-operative-zvgdw
aiclient2api-v0  | 
aiclient2api-v0  | 8/2/2025, 11:48:52 AM
aiclient2api-v0  | [Server] Received request: POST http://****:3005/v1/messages
aiclient2api-v0  | [Config] Ignoring invalid MODEL_PROVIDER in path segment: v1
aiclient2api-v0  | [Request Convert] Request format matches backend provider. No conversion needed.
aiclient2api-v0  | [Content Generation] Model: claude-3-7-sonnet-20250219, Stream: true
aiclient2api-v0  | [System Prompt Manager] System prompt updated in file for provider 'claude'.
aiclient2api-v0  | 8/2/2025, 11:48:52 AM [INPUT]:
aiclient2api-v0  | hi
aiclient2api-v0  | --------------------------------------
aiclient2api-v0  | 
aiclient2api-v0  | [Kiro] Received 403. Attempting token refresh and retrying...
aiclient2api-v0  | [Kiro Auth] Attempting to load credentials from specified file: kiro-auth-token.json
aiclient2api-v0  | [Kiro Auth] Successfully loaded credentials from kiro-auth-token.json.
aiclient2api-v0  | [Kiro Auth] Attempting to load credentials from directory: /home/nextjs/.aws/sso/cache
aiclient2api-v0  | [Kiro Auth] Loaded credentials from e909a0580879b06ece1202964fbe9dda95ea4ce3.json
aiclient2api-v0  | [Kiro Auth] Region not found in credentials. Using default region for URLs.
aiclient2api-v0  | [Kiro Auth] Token refresh failed: Request failed with status code 400
aiclient2api-v0  | [Kiro] Token refresh failed during 403 retry: Token refresh failed: Request failed with status code 400
aiclient2api-v0  | [Kiro] Error calling API: Error: Token refresh failed: Request failed with status code 400
aiclient2api-v0  |     at KiroApiService.initializeAuth (file:///app/src/claude/claude-kiro.js:436:19)
aiclient2api-v0  |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
aiclient2api-v0  |     at async KiroApiService.callApi (file:///app/src/claude/claude-kiro.js:757:21)
aiclient2api-v0  |     at async KiroApiService.streamApi (file:///app/src/claude/claude-kiro.js:846:20)
aiclient2api-v0  |     at async KiroApiService.generateContentStream (file:///app/src/claude/claude-kiro.js:859:30)
aiclient2api-v0  |     at async KiroApiServiceAdapter.generateContentStream (file:///app/src/adapter.js:149:9)
aiclient2api-v0  |     at async handleStreamRequest (file:///app/src/common.js:213:26)
aiclient2api-v0  |     at async handleContentGenerationRequest (file:///app/src/common.js:367:9)
aiclient2api-v0  |     at async Server.requestHandler (file:///app/src/api-server.js:455:28)
aiclient2api-v0  | [Kiro] Error in streaming generation: Error: Token refresh failed: Request failed with status code 400
aiclient2api-v0  |     at KiroApiService.initializeAuth (file:///app/src/claude/claude-kiro.js:436:19)
aiclient2api-v0  |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
aiclient2api-v0  |     at async KiroApiService.callApi (file:///app/src/claude/claude-kiro.js:757:21)
aiclient2api-v0  |     at async KiroApiService.streamApi (file:///app/src/claude/claude-kiro.js:846:20)
aiclient2api-v0  |     at async KiroApiService.generateContentStream (file:///app/src/claude/claude-kiro.js:859:30)
aiclient2api-v0  |     at async KiroApiServiceAdapter.generateContentStream (file:///app/src/adapter.js:149:9)
aiclient2api-v0  |     at async handleStreamRequest (file:///app/src/common.js:213:26)
aiclient2api-v0  |     at async handleContentGenerationRequest (file:///app/src/common.js:367:9)
aiclient2api-v0  |     at async Server.requestHandler (file:///app/src/api-server.js:455:28)
aiclient2api-v0  | 8/2/2025, 11:48:52 AM [OUTPUT]:
aiclient2api-v0  | Error: Token refresh failed: Request failed with status code 400
aiclient2api-v0  | --------------------------------------
aiclient2api-v0  | 
aiclient2api-v0  | 
aiclient2api-v0  | 8/2/2025, 11:49:02 AM
aiclient2api-v0  | [Server] Received request: POST http://*****:3005/v1/messages
aiclient2api-v0  | [Config] Ignoring invalid MODEL_PROVIDER in path segment: v1
aiclient2api-v0  | [Request Convert] Request format matches backend provider. No conversion needed.
aiclient2api-v0  | [Content Generation] Model: claude-3-7-sonnet-20250219, Stream: true
aiclient2api-v0  | [System Prompt Manager] System prompt updated in file for provider 'claude'.
aiclient2api-v0  | 8/2/2025, 11:49:02 AM [INPUT]:
aiclient2api-v0  | 你好
aiclient2api-v0  | --------------------------------------
aiclient2api-v0  | 
aiclient2api-v0  | [Kiro] Received 403. Attempting token refresh and retrying...
aiclient2api-v0  | [Kiro Auth] Attempting to load credentials from specified file: kiro-auth-token.json
aiclient2api-v0  | [Kiro Auth] Successfully loaded credentials from kiro-auth-token.json.
aiclient2api-v0  | [Kiro Auth] Attempting to load credentials from directory: /home/nextjs/.aws/sso/cache
aiclient2api-v0  | [Kiro Auth] Region not found in credentials. Using default region for URLs.
aiclient2api-v0  | [Kiro Auth] Loaded credentials from e909a0580879b06ece1202964fbe9dda95ea4ce3.json
aiclient2api-v0  | [Kiro Auth] Token refresh failed: Request failed with status code 400
aiclient2api-v0  | [Kiro] Token refresh failed during 403 retry: Token refresh failed: Request failed with status code 400
aiclient2api-v0  | [Kiro] Error calling API: Error: Token refresh failed: Request failed with status code 400
aiclient2api-v0  |     at KiroApiService.initializeAuth (file:///app/src/claude/claude-kiro.js:436:19)
aiclient2api-v0  |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
aiclient2api-v0  |     at async KiroApiService.callApi (file:///app/src/claude/claude-kiro.js:757:21)
aiclient2api-v0  |     at async KiroApiService.streamApi (file:///app/src/claude/claude-kiro.js:846:20)
aiclient2api-v0  |     at async KiroApiService.generateContentStream (file:///app/src/claude/claude-kiro.js:859:30)
aiclient2api-v0  |     at async KiroApiServiceAdapter.generateContentStream (file:///app/src/adapter.js:149:9)
aiclient2api-v0  |     at async handleStreamRequest (file:///app/src/common.js:213:26)
aiclient2api-v0  |     at async handleContentGenerationRequest (file:///app/src/common.js:367:9)
aiclient2api-v0  |     at async Server.requestHandler (file:///app/src/api-server.js:455:28)
aiclient2api-v0  | [Kiro] Error in streaming generation: Error: Token refresh failed: Request failed with status code 400
aiclient2api-v0  |     at KiroApiService.initializeAuth (file:///app/src/claude/claude-kiro.js:436:19)
aiclient2api-v0  |     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
aiclient2api-v0  |     at async KiroApiService.callApi (file:///app/src/claude/claude-kiro.js:757:21)
aiclient2api-v0  |     at async KiroApiService.streamApi (file:///app/src/claude/claude-kiro.js:846:20)
aiclient2api-v0  |     at async KiroApiService.generateContentStream (file:///app/src/claude/claude-kiro.js:859:30)
aiclient2api-v0  |     at async KiroApiServiceAdapter.generateContentStream (file:///app/src/adapter.js:149:9)
aiclient2api-v0  |     at async handleStreamRequest (file:///app/src/common.js:213:26)
aiclient2api-v0  |     at async handleContentGenerationRequest (file:///app/src/common.js:367:9)
aiclient2api-v0  |     at async Server.requestHandler (file:///app/src/api-server.js:455:28)
aiclient2api-v0  | 8/2/2025, 11:49:03 AM [OUTPUT]:
aiclient2api-v0  | Error: Token refresh failed: Request failed with status code 400
aiclient2api-v0  | --------------------------------------
aiclient2api-v0  | 
<!-- gh-comment-id:3146458274 --> @icychick-liu commented on GitHub (Aug 2, 2025): > Credential file not found: kiro-auth-token.json 你这是初始化问题,kiro-auth-token.json都没有找到 kiro-auth-token.json在根目录中,config.json也配置哈。我发现修改package-lock.json这里的GeminiCli2API改为AIClient-2-API后就可以找到了。但是运行还是会报错哈 <img width="948" height="590" alt="Image" src="https://github.com/user-attachments/assets/740e557d-8268-4376-9153-ca3f93e62e1c" /> 报错消息 ``` aiclient2api-v0 | [Config] Loaded configuration from config.json aiclient2api-v0 | [System Prompt] Specified system prompt file not found: /app/input_system_prompt.txt aiclient2api-v0 | [Initialization] Initializing service adapter for gemini-cli-oauth... aiclient2api-v0 | [Gemini] Initializing Gemini API Service... aiclient2api-v0 | [Initialization] Initializing service adapter for openai-custom... aiclient2api-v0 | [Initialization Warning] Failed to initialize service adapter for openai-custom: OpenAI API Key is required for OpenAIApiService. aiclient2api-v0 | [Initialization] Initializing service adapter for claude-custom... aiclient2api-v0 | [Initialization Warning] Failed to initialize service adapter for claude-custom: Claude API Key is required for ClaudeApiService. aiclient2api-v0 | [Initialization] Initializing service adapter for claude-kiro-oauth... aiclient2api-v0 | [Kiro] Initializing Gemini API Service... aiclient2api-v0 | [Kiro Auth] Attempting to load credentials from specified file: kiro-auth-token.json aiclient2api-v0 | --- Unified API Server Configuration --- aiclient2api-v0 | Model Provider: claude-kiro-oauth aiclient2api-v0 | Kiro OAuth Creds File Path: kiro-auth-token.json aiclient2api-v0 | System Prompt File: /app/input_system_prompt.txt aiclient2api-v0 | System Prompt Mode: overwrite aiclient2api-v0 | Host: 0.0.0.0 aiclient2api-v0 | Port: 3000 aiclient2api-v0 | Required API Key: 123456 aiclient2api-v0 | Prompt Logging: console aiclient2api-v0 | ------------------------------------------ aiclient2api-v0 | aiclient2api-v0 | Unified API Server running on http://0.0.0.0:3000 aiclient2api-v0 | Supports multiple API formats: aiclient2api-v0 | • OpenAI-compatible: /v1/chat/completions, /v1/models aiclient2api-v0 | • Gemini-compatible: /v1beta/models, /v1beta/models/{model}:generateContent aiclient2api-v0 | • Claude-compatible: /v1/messages aiclient2api-v0 | • Health check: /health aiclient2api-v0 | [Kiro Auth] Successfully loaded credentials from kiro-auth-token.json. aiclient2api-v0 | [Kiro Auth] Attempting to load credentials from directory: /home/nextjs/.aws/sso/cache aiclient2api-v0 | [Gemini Auth] Authentication configured successfully from file. aiclient2api-v0 | [Gemini] Discovering Project ID... aiclient2api-v0 | [Gemini] Using fixed models: [gemini-2.5-flash, gemini-2.5-pro] aiclient2api-v0 | [Kiro Auth] Loaded credentials from e909a0580879b06ece1202964fbe9dda95ea4ce3.json aiclient2api-v0 | [Kiro Auth] Region not found in credentials. Using default region for URLs. aiclient2api-v0 | [Gemini] Initialization complete. Project ID: spatial-operative-zvgdw aiclient2api-v0 | aiclient2api-v0 | 8/2/2025, 11:48:52 AM aiclient2api-v0 | [Server] Received request: POST http://****:3005/v1/messages aiclient2api-v0 | [Config] Ignoring invalid MODEL_PROVIDER in path segment: v1 aiclient2api-v0 | [Request Convert] Request format matches backend provider. No conversion needed. aiclient2api-v0 | [Content Generation] Model: claude-3-7-sonnet-20250219, Stream: true aiclient2api-v0 | [System Prompt Manager] System prompt updated in file for provider 'claude'. aiclient2api-v0 | 8/2/2025, 11:48:52 AM [INPUT]: aiclient2api-v0 | hi aiclient2api-v0 | -------------------------------------- aiclient2api-v0 | aiclient2api-v0 | [Kiro] Received 403. Attempting token refresh and retrying... aiclient2api-v0 | [Kiro Auth] Attempting to load credentials from specified file: kiro-auth-token.json aiclient2api-v0 | [Kiro Auth] Successfully loaded credentials from kiro-auth-token.json. aiclient2api-v0 | [Kiro Auth] Attempting to load credentials from directory: /home/nextjs/.aws/sso/cache aiclient2api-v0 | [Kiro Auth] Loaded credentials from e909a0580879b06ece1202964fbe9dda95ea4ce3.json aiclient2api-v0 | [Kiro Auth] Region not found in credentials. Using default region for URLs. aiclient2api-v0 | [Kiro Auth] Token refresh failed: Request failed with status code 400 aiclient2api-v0 | [Kiro] Token refresh failed during 403 retry: Token refresh failed: Request failed with status code 400 aiclient2api-v0 | [Kiro] Error calling API: Error: Token refresh failed: Request failed with status code 400 aiclient2api-v0 | at KiroApiService.initializeAuth (file:///app/src/claude/claude-kiro.js:436:19) aiclient2api-v0 | at process.processTicksAndRejections (node:internal/process/task_queues:95:5) aiclient2api-v0 | at async KiroApiService.callApi (file:///app/src/claude/claude-kiro.js:757:21) aiclient2api-v0 | at async KiroApiService.streamApi (file:///app/src/claude/claude-kiro.js:846:20) aiclient2api-v0 | at async KiroApiService.generateContentStream (file:///app/src/claude/claude-kiro.js:859:30) aiclient2api-v0 | at async KiroApiServiceAdapter.generateContentStream (file:///app/src/adapter.js:149:9) aiclient2api-v0 | at async handleStreamRequest (file:///app/src/common.js:213:26) aiclient2api-v0 | at async handleContentGenerationRequest (file:///app/src/common.js:367:9) aiclient2api-v0 | at async Server.requestHandler (file:///app/src/api-server.js:455:28) aiclient2api-v0 | [Kiro] Error in streaming generation: Error: Token refresh failed: Request failed with status code 400 aiclient2api-v0 | at KiroApiService.initializeAuth (file:///app/src/claude/claude-kiro.js:436:19) aiclient2api-v0 | at process.processTicksAndRejections (node:internal/process/task_queues:95:5) aiclient2api-v0 | at async KiroApiService.callApi (file:///app/src/claude/claude-kiro.js:757:21) aiclient2api-v0 | at async KiroApiService.streamApi (file:///app/src/claude/claude-kiro.js:846:20) aiclient2api-v0 | at async KiroApiService.generateContentStream (file:///app/src/claude/claude-kiro.js:859:30) aiclient2api-v0 | at async KiroApiServiceAdapter.generateContentStream (file:///app/src/adapter.js:149:9) aiclient2api-v0 | at async handleStreamRequest (file:///app/src/common.js:213:26) aiclient2api-v0 | at async handleContentGenerationRequest (file:///app/src/common.js:367:9) aiclient2api-v0 | at async Server.requestHandler (file:///app/src/api-server.js:455:28) aiclient2api-v0 | 8/2/2025, 11:48:52 AM [OUTPUT]: aiclient2api-v0 | Error: Token refresh failed: Request failed with status code 400 aiclient2api-v0 | -------------------------------------- aiclient2api-v0 | aiclient2api-v0 | aiclient2api-v0 | 8/2/2025, 11:49:02 AM aiclient2api-v0 | [Server] Received request: POST http://*****:3005/v1/messages aiclient2api-v0 | [Config] Ignoring invalid MODEL_PROVIDER in path segment: v1 aiclient2api-v0 | [Request Convert] Request format matches backend provider. No conversion needed. aiclient2api-v0 | [Content Generation] Model: claude-3-7-sonnet-20250219, Stream: true aiclient2api-v0 | [System Prompt Manager] System prompt updated in file for provider 'claude'. aiclient2api-v0 | 8/2/2025, 11:49:02 AM [INPUT]: aiclient2api-v0 | 你好 aiclient2api-v0 | -------------------------------------- aiclient2api-v0 | aiclient2api-v0 | [Kiro] Received 403. Attempting token refresh and retrying... aiclient2api-v0 | [Kiro Auth] Attempting to load credentials from specified file: kiro-auth-token.json aiclient2api-v0 | [Kiro Auth] Successfully loaded credentials from kiro-auth-token.json. aiclient2api-v0 | [Kiro Auth] Attempting to load credentials from directory: /home/nextjs/.aws/sso/cache aiclient2api-v0 | [Kiro Auth] Region not found in credentials. Using default region for URLs. aiclient2api-v0 | [Kiro Auth] Loaded credentials from e909a0580879b06ece1202964fbe9dda95ea4ce3.json aiclient2api-v0 | [Kiro Auth] Token refresh failed: Request failed with status code 400 aiclient2api-v0 | [Kiro] Token refresh failed during 403 retry: Token refresh failed: Request failed with status code 400 aiclient2api-v0 | [Kiro] Error calling API: Error: Token refresh failed: Request failed with status code 400 aiclient2api-v0 | at KiroApiService.initializeAuth (file:///app/src/claude/claude-kiro.js:436:19) aiclient2api-v0 | at process.processTicksAndRejections (node:internal/process/task_queues:95:5) aiclient2api-v0 | at async KiroApiService.callApi (file:///app/src/claude/claude-kiro.js:757:21) aiclient2api-v0 | at async KiroApiService.streamApi (file:///app/src/claude/claude-kiro.js:846:20) aiclient2api-v0 | at async KiroApiService.generateContentStream (file:///app/src/claude/claude-kiro.js:859:30) aiclient2api-v0 | at async KiroApiServiceAdapter.generateContentStream (file:///app/src/adapter.js:149:9) aiclient2api-v0 | at async handleStreamRequest (file:///app/src/common.js:213:26) aiclient2api-v0 | at async handleContentGenerationRequest (file:///app/src/common.js:367:9) aiclient2api-v0 | at async Server.requestHandler (file:///app/src/api-server.js:455:28) aiclient2api-v0 | [Kiro] Error in streaming generation: Error: Token refresh failed: Request failed with status code 400 aiclient2api-v0 | at KiroApiService.initializeAuth (file:///app/src/claude/claude-kiro.js:436:19) aiclient2api-v0 | at process.processTicksAndRejections (node:internal/process/task_queues:95:5) aiclient2api-v0 | at async KiroApiService.callApi (file:///app/src/claude/claude-kiro.js:757:21) aiclient2api-v0 | at async KiroApiService.streamApi (file:///app/src/claude/claude-kiro.js:846:20) aiclient2api-v0 | at async KiroApiService.generateContentStream (file:///app/src/claude/claude-kiro.js:859:30) aiclient2api-v0 | at async KiroApiServiceAdapter.generateContentStream (file:///app/src/adapter.js:149:9) aiclient2api-v0 | at async handleStreamRequest (file:///app/src/common.js:213:26) aiclient2api-v0 | at async handleContentGenerationRequest (file:///app/src/common.js:367:9) aiclient2api-v0 | at async Server.requestHandler (file:///app/src/api-server.js:455:28) aiclient2api-v0 | 8/2/2025, 11:49:03 AM [OUTPUT]: aiclient2api-v0 | Error: Token refresh failed: Request failed with status code 400 aiclient2api-v0 | -------------------------------------- aiclient2api-v0 | ```
Author
Owner

@justlovemaki commented on GitHub (Aug 2, 2025):

Region not found in credentials.
kiro-auth-token.json,项目代码都确定是最新的吗?更新试试。
不要改json里面的内容,直接复制文件。
json里面的 authMethod, region是什么?

<!-- gh-comment-id:3146463682 --> @justlovemaki commented on GitHub (Aug 2, 2025): Region not found in credentials. kiro-auth-token.json,项目代码都确定是最新的吗?更新试试。 不要改json里面的内容,直接复制文件。 json里面的 authMethod, region是什么?
Author
Owner

@icychick-liu commented on GitHub (Aug 3, 2025):

Region not found in credentials. kiro-auth-token.json,项目代码都确定是最新的吗?更新试试。 不要改json里面的内容,直接复制文件。 json里面的 authMethod, region是什么?

大佬,可以了,拉取最新版后正常了。👍

Image
<!-- gh-comment-id:3146985302 --> @icychick-liu commented on GitHub (Aug 3, 2025): > Region not found in credentials. kiro-auth-token.json,项目代码都确定是最新的吗?更新试试。 不要改json里面的内容,直接复制文件。 json里面的 authMethod, region是什么? 大佬,可以了,拉取最新版后正常了。👍 <img width="1780" height="910" alt="Image" src="https://github.com/user-attachments/assets/fbc04af7-a231-4126-8e9e-010ffa3f6856" />
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/AIClient-2-API-justlovemaki#7
No description provided.