前言
目前使用 Claude 模型的方式主要有两类:一类是通过官方渠道直接调用,另一类是通过第三方中转服务接入。官方渠道相对稳定,但免费额度和可用量通常比较有限,长期使用成本也比较高;而中转服务虽然使用门槛更低,但背后的实现方式和稳定性也参差不齐。
最近了解到,不少 Claude 中转站会采用基于 Kiro 的反向代理方案,将请求转发到对应的模型接口。出于学习和技术实践的目的,我也尝试搭建并配置了一套 Kiro Gateway 接入方案。
这篇文章主要记录整个折腾过程,包括环境准备、服务启动、后台守护、端口转发,以及接入 Claude Code / CCSwitch 时遇到的一些问题,方便以后复现和排查。
环境搭建
本次配置需要如下环境设置(我使用的macbook,win版本按照如下操作可能需要改一些配置)
- python运行环境
- uv,一个轻量级的 Python 包管理和虚拟环境工具
- git,下载Kiro Gateway代码
- Supervisor,用于macos和linux后台守护服务
- Claude Code 或 CCSwitch,用于客户端接入
- 还需要提前下载好kiro IDE,并登录好pro账号(可以通过闲鱼购买,闲鱼商家大部分通过虚拟信用卡试用一个月,来获得kiro pro账户,也可以自己尝试)
kiro IDE下载
Kiro Gateway项目配置
基础环境准备完成后,就可以开始配置 Kiro Gateway 项目了。这里主要包括拉取项目代码、创建 Python 虚拟环境、安装依赖以及配置环境变量。
拉取项目代码
git clone https://github.com/Jwadow/kiro-gateway.git && cd kiro-gateway
创建虚拟环境并激活
uv venv && source .venv/bin/activate && uv pip install -r requirements.txt
编辑配置
cp .env.example .env && vim .env
...
PROXY_API_KEY="<配置你自己的apikey,用于Claude Code验证>"
# ===========================================
# OPTION 1: Kiro IDE credentials (JSON file)
# ===========================================
# Path to JSON credentials file from Kiro IDE
KIRO_CREDS_FILE="~/.aws/sso/cache/kiro-auth-token.json" # IDE授权文件路径
...
启动supervisor
Supervisor 用于管理后台进程。由于 Kiro Gateway 需要长期运行,如果直接在终端中启动,一旦关闭终端,服务就会停止。因此这里使用 Supervisor 将其作为后台服务进行管理。
# 启动supervisor,每次开机都会启动
brew services start supervisor
# 查看后台服务启动的程序
brew services list
配置 Kiro Gateway 后台服务
前面如果直接在终端里运行 Kiro Gateway,一旦关闭终端,服务就会停止。为了让它能够长期在后台运行,这里使用 Supervisor 来管理 Kiro Gateway 进程。
首先进入 Supervisor 的配置目录:
mkdir -p /opt/homebrew/etc/supervisor.d/ && cd /opt/homebrew/etc/supervisor.d/
创建一个新的配置文件
vim kiro-gateway.ini
在配置文件中填写配置
[program:kiro-gateway]
directory=<kiro-gateway项目路径>
command=<kiro-gateway项目路径>/.venv/bin/python main.py --port 8989
autostart=true
autorestart=true
startsecs=3
stopasgroup=true
killasgroup=true
stdout_logfile=/tmp/kiro-gateway.out.log
stderr_logfile=/tmp/kiro-gateway.err.log
stdout_logfile_maxbytes=50MB
stderr_logfile_maxbytes=50MB
stdout_logfile_backups=5
stderr_logfile_backups=5
user=<user>
environment=PYTHONUNBUFFERED="1"
完成 kiro-gateway.ini 配置后,需要让 Supervisor 重新读取配置并启动服务
supervisorctl reread && supervisorctl update && tail -f /tmp/kiro-gateway.out.log
查看Kiro Gateway是否启动
正常启动应该是running
supervisorctl status
重启Kiro Gateway
运行supervisorctl status如果报fatal
这时候需要打开IDE,并重新启动
supervisorctl restart kiro-gateway
CCSwitch或者Claude Code连接代理的API
我们配置里设置了API-Key和相应的端口,这两个是我们之前设置好的,按要求填写就行

测试成功

SSH转发服务
Kiro Gateway 默认运行在本地端口,例如:
127.0.0.1:8989
但我常用远程服务器写代码,如果希望远程服务器也能访问本地运行的 Kiro Gateway,可以使用 SSH 反向端口转发:
ssh -N -R 127.0.0.1:8989:127.0.0.1:8989 root@xx.xx.xx.xx
这条命令的作用是:将本地 Mac 上的 127.0.0.1:8989 映射到远程服务器的 127.0.0.1:8989。
也就是说,命令执行成功后,在远程服务器上访问:
http://127.0.0.1:8989
实际请求会被转发到本地 Mac 上运行的 Kiro Gateway 服务。
其中:
-N:表示只建立 SSH 隧道,不执行远程命令;-R:表示反向端口转发;- 第一个
127.0.0.1:8989:远程服务器监听的地址和端口; - 第二个
127.0.0.1:8989:本地 Mac 上的目标服务地址和端口; root@xx.xx.xx.xx:远程服务器的登录用户和地址。
参考文献
Kiro Gateway 搭建教程
另外,可以试试一个star比较多的kiro account manage项目:Kiro account manager