Files
kirogo/README_CN.md

7.3 KiB
Raw Blame History

Kiro-Go

Go Version Docker License

将 Kiro 账号转换为 OpenAI / Anthropic 兼容的 API 服务。

English | 中文

功能特性

  • 🔄 Anthropic Claude API - 完整支持 /v1/messages 端点
  • 🤖 OpenAI Chat API - 兼容 /v1/chat/completions
  • ⚖️ 多账号池 - 轮询负载均衡
  • 🔐 自动刷新 Token - 无缝 Token 管理
  • 📡 流式响应 - 实时 SSE 输出
  • 🎛️ Web 管理面板 - 便捷的账号管理
  • 🔑 多种认证方式 - AWS Builder ID、IAM Identity Center (企业 SSO)、SSO Token、本地缓存、凭证 JSON
  • 📊 用量追踪 - 监控请求数、Token、Credits
  • 📦 账号导入导出 - 兼容 Kiro Account Manager 格式
  • 🔄 动态模型列表 - 自动从 Kiro API 同步并缓存
  • 🔔 版本更新检测 - 自动提醒新版本
  • 🌐 中英双语 - 管理面板支持中文 / 英文

快速开始

Docker Compose推荐

git clone https://github.com/Quorinex/Kiro-Go.git
cd Kiro-Go

# 创建数据目录用于持久化
mkdir -p data

docker-compose up -d

Docker 运行

# 创建数据目录
mkdir -p /path/to/data

docker run -d \
  --name kiro-go \
  -p 8080:8080 \
  -e ADMIN_PASSWORD=your_secure_password \
  -v /path/to/data:/app/data \
  --restart unless-stopped \
  ghcr.io/quorinex/kiro-go:latest

📁 /app/data 卷存储 config.json(包含账号和设置),挂载此目录以实现数据持久化。

源码编译

git clone https://github.com/Quorinex/Kiro-Go.git
cd Kiro-Go
go build -o kiro-go .
./kiro-go

配置

首次运行会自动创建 data/config.json

{
  "password": "changeme",
  "port": 8080,
  "host": "127.0.0.1",
  "requireApiKey": false,
  "apiKey": "",
  "accounts": []
}

⚠️ 生产环境请务必修改默认密码!

环境变量

变量 说明 默认值
CONFIG_PATH 配置文件路径 data/config.json
ADMIN_PASSWORD 管理面板密码(覆盖配置文件) -

使用方法

1. 访问管理面板

打开 http://localhost:8080/admin,输入密码登录。

2. 添加账号

支持多种方式:

方式 说明
AWS Builder ID 通过 AWS Builder ID 授权登录(个人账号)
IAM Identity Center (企业 SSO) 登录 通过 IAM Identity Center (企业 SSO) 授权登录(企业账号)
SSO Token 通过浏览器 x-amz-sso_authn Token 添加账号
Kiro 本地缓存 通过 Kiro IDE 本地缓存文件添加账号
凭证 JSON 通过 Kiro Account Manager 导出的凭证添加账号

凭证格式

{
  "refreshToken": "eyJ...",
  "accessToken": "eyJ...",
  "clientId": "xxx",
  "clientSecret": "xxx"
}

3. 调用 API

Claude API

curl http://localhost:8080/v1/messages \
  -H "Content-Type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "你好!"}]
  }'

OpenAI API

curl http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer any" \
  -d '{
    "model": "gpt-4o",
    "messages": [{"role": "user", "content": "你好!"}]
  }'

模型映射

请求模型 实际模型
claude-sonnet-4-20250514 claude-sonnet-4-20250514
claude-sonnet-4.5 claude-sonnet-4.5
claude-haiku-4.5 claude-haiku-4.5
claude-opus-4.5 claude-opus-4.5
claude-opus-4.6 claude-opus-4.6
gpt-4o, gpt-4 claude-sonnet-4-20250514
gpt-3.5-turbo claude-sonnet-4-20250514

思考模式

在模型名称后添加后缀(默认:-thinking)即可启用扩展思考模式。

使用方法

# OpenAI API 启用思考
curl http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4.5-thinking",
    "messages": [{"role": "user", "content": "一步步解决15 * 23"}],
    "stream": true
  }'

# Claude API 启用思考
curl http://localhost:8080/v1/messages \
  -H "Content-Type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-sonnet-4.5-thinking",
    "max_tokens": 4096,
    "messages": [{"role": "user", "content": "分析这个问题"}]
  }'

配置

在管理面板的 设置 > Thinking 模式设置 中配置:

设置 说明 选项
触发后缀 启用思考的模型名称后缀 默认:-thinking(可自定义,如 -think-sikao
OpenAI 输出格式 OpenAI API 中思考内容的返回方式 reasoning_contentDeepSeek 兼容)、<thinking> 标签、<think> 标签
Claude 输出格式 Claude API 中思考内容的返回方式 <thinking> 标签(默认)、<think> 标签、纯文本

输出格式说明

OpenAI API (/v1/chat/completions)

  • reasoning_content - 思考内容放在单独的 reasoning_content 字段DeepSeek 兼容)
  • thinking - 思考内容用 <thinking>...</thinking> 标签包裹在 content 中
  • think - 思考内容用 <think>...</think> 标签包裹在 content 中

Claude API (/v1/messages)

  • thinking - 思考内容用 <thinking>...</thinking> 标签包裹(默认)
  • think - 思考内容用 <think>...</think> 标签包裹
  • reasoning_content - 纯文本输出

API 端点

端点 说明
GET /health 健康检查
GET /v1/models 模型列表
GET /v1/stats 统计数据
POST /v1/messages Claude Messages API
POST /v1/messages/count_tokens Token 计数
POST /v1/chat/completions OpenAI Chat API
GET /admin 管理面板

项目结构

Kiro-Go/
├── main.go              # 入口
├── version.json         # 版本信息(用于更新检测)
├── config/              # 配置管理
├── pool/                # 账号池 & 负载均衡
├── proxy/               # API 处理 & Kiro 客户端
│   ├── handler.go       # HTTP 路由 & 管理 API
│   ├── kiro.go          # Kiro API 客户端
│   ├── kiro_api.go      # Kiro REST API用量、模型
│   └── translator.go    # 请求/响应转换
├── auth/                # 认证
│   ├── builderid.go     # AWS Builder ID 登录
│   ├── iam_sso.go       # IAM SSO 登录
│   ├── oidc.go          # OIDC Token 刷新
│   └── sso_token.go     # SSO Token 导入
├── web/                 # 管理面板前端
├── Dockerfile
└── docker-compose.yml

免责声明

本项目仅供学习和研究目的使用。

  • 本软件与 Amazon、AWS 或 Kiro 没有任何关联、认可或合作关系
  • 用户需自行确保其使用行为符合所有适用的服务条款和法律法规
  • 作者不对因使用本软件而产生的任何滥用或违规行为承担责任
  • 使用风险自负

使用本软件即表示您已阅读并理解本免责声明。

许可证

MIT