# codeflicker2api **Repository Path**: zhiw/codeflicker2api ## Basic Information - **Project Name**: codeflicker2api - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-01-17 - **Last Updated**: 2026-01-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CodeFlicker2API 一个基于 Python 标准库实现的 Kwaipilot OpenAI 兼容 API 代理服务器,无需任何外部依赖。 ## 功能特点 - 🔧 **零依赖**:仅使用 Python 3.7+ 标准库实现 - 🔄 **兼容**:支持 OpenAI API 格式,包括流式/非流式/工具调用 - 🔐 **鉴权支持**:支持 API Key 鉴权和 JWT 认证 - 📊 **模型映射**:自动获取和映射 Kwaipilot 模型 - 🛠️ **工具调用**:支持支持工具调用的模型 ## 注册账户 在开始使用之前,您需要注册一个 CodeFlicker 账户: - 注册地址:https://www.codeflicker.ai/login - 推荐使用邮箱注册,可以使用临时邮箱服务去注册 ## 快速开始 ### 安装要求 - Python 3.7 或更高版本 - CodeFlicker 账户(用于获取 JWT) ### 运行服务器 #### 方式一:使用邮箱密码登录(推荐首次使用) ```bash python server.py --email your_email@example.com --password your_password ``` #### 方式二:使用环境变量中的 JWT ```bash export KWAIPILOT_JWT="your_jwt_token" python server.py ``` #### 方式三:指定端口 ```bash python server.py --port 8080 ``` ### 环境变量配置 | 变量名 | 描述 | 必需 | |--------|------|------| | `API_KEY` | API 鉴权密钥,为空则不验证 | 否 | | `KWAIPILOT_JWT` | JWT token,与邮箱密码登录二选一 | 否 | ## API 使用 ### 设置 API 端点 将您的 OpenAI 客户端端点设置为: ``` http://localhost:8888/v1 ``` ### 示例代码 #### Python (OpenAI 库) ```python from openai import OpenAI client = OpenAI( api_key="your_api_key", # 如果设置了 API_KEY base_url="http://localhost:8888/v1" ) response = client.chat.completions.create( model="kat-coder", # 使用 Kwaipilot 模型 messages=[ {"role": "user", "content": "你好,请用中文回复"} ] ) print(response.choices[0].message.content) ``` #### cURL ```bash curl http://localhost:8888/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer your_api_key" \ -d '{ "model": "kat-coder", "messages": [{"role": "user", "content": "你好!"}] }' ``` ## 支持的模型 服务器会自动从 Kwaipilot API 获取最新的可用模型列表。常见的模型别名包括: - `kat-coder` - Kat Coder - `gpt-5.2` - GPT 5.2 - `claude-4.5` - Claude 4.5 - `claude-opus-4.5` - Claude Opus 4.5 - `glm-4.6` - GLM 4.6 - `glm-4.7` - GLM 4.7 启动服务器时会显示完整的可用模型列表。 ## 工具调用支持 部分模型支持工具调用功能,服务器会自动识别这些模型。使用方式与 OpenAI API 完全相同: ```python response = client.chat.completions.create( model="kat-coder", messages=[{"role": "user", "content": "现在几点了?"}], tools=[ { "type": "function", "function": { "name": "get_current_time", "description": "获取当前时间" } } ] ) ``` ## 流式响应 支持流式响应,与 OpenAI API 使用方式相同: ```python stream = client.chat.completions.create( model="kat-coder", messages=[{"role": "user", "content": "写一首诗"}], stream=True ) for chunk in stream: print(chunk.choices[0].delta.content or "", end="") ``` ## 文件说明 - `server.py` - 主服务器文件 - `jwt_token.json` - JWT 令牌缓存(自动生成) - `models.json` - 模型映射缓存(自动生成) - `api_server.log` - 服务器日志(自动生成) ## 注意事项 - JWT 令牌有效期约为一个月,过期后需要重新登录 - 首次使用推荐使用邮箱密码方式登录,JWT 会自动保存 - 服务器默认监听端口为 8888,可通过 `--port` 参数修改 - 如果设置了 API_KEY 环境变量,客户端请求需要提供有效的 Authorization 头 ## 命令行参数 ```bash python server.py --help ``` - `--email` - CodeFlicker 邮箱 - `--password` - CodeFlicker 密码 - `--port` - 服务器端口(默认:8888) - `--usage` - 显示详细的环境变量提示 ## 故障排除 ### 获取 JWT 令牌 如果需要手动获取 JWT 令牌: 1. 登录 CodeFlicker 网站 2. 打开浏览器开发者工具 3. 在网络请求中找到 `ide_auth_token` 的值 4. 设置为环境变量:`export KWAIPILOT_JWT="your_token"` ### 常见问题 1. **模型不可用**:检查网络连接和 JWT 令牌是否有效 2. **认证失败**:确认 API_KEY 环境变量设置正确(如果需要) 3. **端口占用**:使用 `--port` 参数指定其他端口 ## 许可证 本项目仅供学习和研究使用。