Skip to content

Kiro IDE API 反向代理服务器

Notifications You must be signed in to change notification settings

RealSeek/KiroProxy

 
 

Repository files navigation

Kiro Proxy

Kiro API Proxy

Kiro IDE API 反向代理服务器,支持多账号轮询、Token 自动刷新、配额管理

功能快速开始CLI 配置API许可证

中文 | English


⚠️ 测试说明

本项目支持 Claude CodeCodex CLIGemini CLI 三种客户端,工具调用功能已全面支持。

功能特性

核心功能

  • 多协议支持 - OpenAI / Anthropic / Gemini 三种协议兼容
  • 完整工具调用 - 三种协议的工具调用功能全面支持
  • 图片理解 - 支持 Claude Code / Codex CLI 图片输入
  • 网络搜索 - 支持 Claude Code / Codex CLI 网络搜索工具
  • 多账号轮询 - 支持添加多个 Kiro 账号,自动负载均衡
  • 会话粘性 - 同一会话 60 秒内使用同一账号,保持上下文
  • Web UI - 简洁的管理界面,支持监控、日志、设置
  • 多语言界面 - 支持中文和英文界面切换

v1.7.2 新功能

  • 多语言支持 - WebUI 完整支持中英文切换
  • 双语启动器 - 端口/语言设置,清晰的启动按钮
  • 英文帮助文档 - 全部 5 篇文档已翻译为英文

v1.7.1 新功能

  • Windows 支持补强 - 注册表浏览器检测 + PATH 回退,兼容便携版
  • 打包资源修复 - PyInstaller 打包后可正常加载图标与内置文档
  • Token 扫描稳定性 - Windows 路径编码处理修复

v1.6.3 新功能

  • 命令行工具 (CLI) - 无 GUI 服务器也能轻松管理
    • python run.py accounts list - 列出账号
    • python run.py accounts export/import - 导出/导入账号
    • python run.py accounts add - 交互式添加 Token
    • python run.py accounts scan - 扫描本地 Token
    • python run.py login google/github - 命令行登录
    • python run.py login remote - 生成远程登录链接
  • 远程登录链接 - 在有浏览器的机器上完成授权,Token 自动同步
  • 账号导入导出 - 跨机器迁移账号配置
  • 手动添加 Token - 直接粘贴 accessToken/refreshToken

v1.6.2 新功能

  • Codex CLI 完整支持 - 使用 OpenAI Responses API (/v1/responses)
    • 完整工具调用支持(shell、file 等所有工具)
    • 图片输入支持(input_image 类型)
    • 网络搜索支持(web_search 工具)
    • 错误代码映射(rate_limit、context_length 等)
  • Claude Code 增强 - 图片理解和网络搜索完整支持
    • 支持 Anthropic 和 OpenAI 两种图片格式
    • 支持 web_search / web_search_20250305 工具

v1.6.1 新功能

  • 请求限速 - 通过限制请求频率降低账号封禁风险
    • 每账号最小请求间隔
    • 每账号每分钟最大请求数
    • 全局每分钟最大请求数
    • WebUI 设置页面可配置
  • 账号封禁检测 - 自动检测 TEMPORARILY_SUSPENDED 错误
    • 友好的错误日志输出
    • 自动禁用被封禁账号
    • 自动切换到其他可用账号
  • 统一错误处理 - 三种协议使用统一的错误分类和处理

v1.6.0 功能

  • 历史消息管理 - 4 种策略处理对话长度限制,可自由组合
    • 自动截断:发送前优先保留最新上下文并摘要前文,必要时按数量/字符数截断
    • 智能摘要:用 AI 生成早期对话摘要,保留关键信息
    • 摘要缓存:历史变化不大时复用最近摘要,减少重复 LLM 调用(默认启用)
    • 错误重试:遇到长度错误时自动截断重试(默认启用)
    • 预估检测:预估 token 数量,超限预先截断
  • Gemini 工具调用 - 完整支持 functionDeclarations/functionCall/functionResponse
  • 设置页面 - WebUI 新增设置标签页,可配置历史消息管理策略

v1.5.0 功能

  • 用量查询 - 查询账号配额使用情况,显示已用/余额/使用率
  • 多登录方式 - 支持 Google / GitHub / AWS Builder ID 三种登录方式
  • 流量监控 - 完整的 LLM 请求监控,支持搜索、过滤、导出
  • 浏览器选择 - 自动检测已安装浏览器,支持无痕模式
  • 文档中心 - 内置帮助文档,左侧目录 + 右侧 Markdown 渲染

v1.4.0 功能

  • Token 预刷新 - 后台每 5 分钟检查,提前 15 分钟自动刷新
  • 健康检查 - 每 10 分钟检测账号可用性,自动标记状态
  • 请求统计增强 - 按账号/模型统计,24 小时趋势
  • 请求重试机制 - 网络错误/5xx 自动重试,指数退避

工具调用支持

功能 Anthropic (Claude Code) OpenAI (Codex CLI) Gemini
工具定义 tools tools.function functionDeclarations
工具调用响应 tool_use tool_calls functionCall
工具结果 tool_result tool 角色消息 functionResponse
强制工具调用 tool_choice tool_choice toolConfig.mode
工具数量限制 ✅ 50 个 ✅ 50 个 ✅ 50 个
历史消息修复
图片理解
网络搜索

已知限制

对话长度限制

Kiro API 有输入长度限制。当对话历史过长时,会返回错误:

Input is too long. (CONTENT_LENGTH_EXCEEDS_THRESHOLD)

自动处理(v1.6.0+)

代理内置了历史消息管理功能,可在「设置」页面配置:

  • 错误重试(默认):遇到长度错误时自动截断并重试
  • 智能摘要:用 AI 生成早期对话摘要,保留关键信息
  • 摘要缓存(默认):历史变化不大时复用最近摘要,减少重复 LLM 调用
  • 自动截断:每次请求前优先保留最新上下文并摘要前文,必要时按数量/字符数截断
  • 预估检测:预估 token 数量,超限预先截断

摘要缓存可通过以下配置项调整(默认值):

  • summary_cache_enabled: true
  • summary_cache_min_delta_messages: 3
  • summary_cache_min_delta_chars: 4000
  • summary_cache_max_age_seconds: 180

手动处理

  1. 在 Claude Code 中输入 /clear 清空对话历史
  2. 告诉 AI 你之前在做什么,它会读取代码文件恢复上下文

快速开始

方式一:下载预编译版本

Releases 下载对应平台的安装包,解压后直接运行。

方式二:从源码运行

# 克隆项目
git clone https://github.com/yourname/kiro-proxy.git
cd kiro-proxy

# 创建虚拟环境
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# 安装依赖
pip install -r requirements.txt

# 运行
python run.py

# 或指定端口
python run.py 8081

启动后访问 http://localhost:8080

命令行工具 (CLI)

无 GUI 服务器可使用 CLI 管理账号:

# 账号管理
python run.py accounts list              # 列出账号
python run.py accounts export -o acc.json  # 导出账号
python run.py accounts import acc.json   # 导入账号
python run.py accounts add               # 交互式添加 Token
python run.py accounts scan --auto       # 扫描并自动添加本地 Token

# 登录
python run.py login google               # Google 登录
python run.py login github               # GitHub 登录
python run.py login remote --host myserver.com:8080  # 生成远程登录链接

# 服务
python run.py serve                      # 启动服务 (默认 8080)
python run.py serve -p 8081              # 指定端口
python run.py status                     # 查看状态

登录获取 Token

方式一:在线登录(推荐)

  1. 打开 Web UI,点击「在线登录」
  2. 选择登录方式:Google / GitHub / AWS Builder ID
  3. 在浏览器中完成授权
  4. 账号自动添加

方式二:扫描 Token

  1. 打开 Kiro IDE,使用 Google/GitHub 账号登录
  2. 登录成功后 token 自动保存到 ~/.aws/sso/cache/
  3. 在 Web UI 点击「扫描 Token」添加账号

CLI 配置

模型对照表

Kiro 模型 能力 Claude Code Codex
claude-sonnet-4 ⭐⭐⭐ 推荐 claude-sonnet-4 gpt-4o
claude-sonnet-4.5 ⭐⭐⭐⭐ 更强 claude-sonnet-4.5 gpt-4o
claude-haiku-4.5 ⚡ 快速 claude-haiku-4.5 gpt-4o-mini
claude-opus-4.5 ⭐⭐⭐⭐⭐ 最强 claude-opus-4.5 o1

Claude Code 配置

名称: Kiro Proxy
API Key: any
Base URL: http://localhost:8080
模型: claude-sonnet-4

Codex 配置

Codex CLI 使用 OpenAI Responses API,配置如下:

# 设置环境变量
export OPENAI_API_KEY=any
export OPENAI_BASE_URL=http://localhost:8080/v1

# 运行 Codex
codex

或在 ~/.codex/config.toml 中配置:

[providers.openai]
api_key = "any"
base_url = "http://localhost:8080/v1"

API 端点

协议 端点 用途
OpenAI POST /v1/chat/completions Chat Completions API
OpenAI POST /v1/responses Responses API (Codex CLI)
OpenAI GET /v1/models 模型列表
Anthropic POST /v1/messages Claude Code
Anthropic POST /v1/messages/count_tokens Token 计数
Gemini POST /v1/models/{model}:generateContent Gemini CLI

管理 API

端点 方法 说明
/api/accounts GET 获取所有账号状态
/api/accounts/{id} GET 获取账号详情
/api/accounts/{id}/usage GET 获取账号用量信息
/api/accounts/{id}/refresh POST 刷新账号 Token
/api/accounts/{id}/restore POST 恢复账号(从冷却状态)
/api/accounts/refresh-all POST 刷新所有即将过期的 Token
/api/flows GET 获取流量记录
/api/flows/stats GET 获取流量统计
/api/flows/{id} GET 获取流量详情
/api/quota GET 获取配额状态
/api/stats GET 获取统计信息
/api/health-check POST 手动触发健康检查
/api/browsers GET 获取可用浏览器列表
/api/docs GET 获取文档列表
/api/docs/{id} GET 获取文档内容

项目结构

kiro_proxy/
├── main.py                    # FastAPI 应用入口
├── config.py                  # 全局配置
├── converters.py              # 协议转换
│
├── core/                      # 核心模块
│   ├── account.py            # 账号管理
│   ├── state.py              # 全局状态
│   ├── persistence.py        # 配置持久化
│   ├── scheduler.py          # 后台任务调度
│   ├── stats.py              # 请求统计
│   ├── retry.py              # 重试机制
│   ├── browser.py            # 浏览器检测
│   ├── flow_monitor.py       # 流量监控
│   └── usage.py              # 用量查询
│
├── credential/                # 凭证管理
│   ├── types.py              # KiroCredentials
│   ├── fingerprint.py        # Machine ID 生成
│   ├── quota.py              # 配额管理器
│   └── refresher.py          # Token 刷新
│
├── auth/                      # 认证模块
│   └── device_flow.py        # Device Code Flow / Social Auth
│
├── handlers/                  # API 处理器
│   ├── anthropic.py          # /v1/messages
│   ├── openai.py             # /v1/chat/completions
│   ├── responses.py          # /v1/responses (Codex CLI)
│   ├── gemini.py             # /v1/models/{model}:generateContent
│   └── admin.py              # 管理 API
│
├── cli.py                     # 命令行工具
│
├── docs/                      # 内置文档
│   ├── 01-quickstart.md      # 快速开始
│   ├── 02-features.md        # 功能特性
│   ├── 03-faq.md             # 常见问题
│   └── 04-api.md             # API 参考
│
└── web/
    └── html.py               # Web UI (组件化单文件)

构建

# 安装构建依赖
pip install pyinstaller

# 构建
python build.py

输出文件在 dist/ 目录。

免责声明

本项目仅供学习研究,禁止商用。使用本项目产生的任何后果由使用者自行承担,与作者无关。

本项目与 Kiro / AWS / Anthropic 官方无关。

About

Kiro IDE API 反向代理服务器

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%