Skip to content

一个用于查询 AI 中转站余额和调用日志的桌面工具(开梯)

License

Notifications You must be signed in to change notification settings

xiaopenghuang/KonataAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KonataAPI - 此方API查查

一个用于查询 AI 中转站余额和调用日志的桌面工具。

功能特性

  • 支持多中转站配置管理 alt text
  • 查询账户余额(USD / Token 两种统计方式) alt text
  • 查询调用日志 alt text
  • 批量查询所有配置的余额
  • 自定义 API 接口路径
  • 多种认证方式 - 支持 Bearer Token 和 URL Key 两种认证
  • 多种 API 格式 - 自动检测 OpenAI、NewAPI、sub2api 等多种格式
  • 按站点配置日志代理(解决部分站点限制)
  • 查看原始 API 返回数据
  • 系统托盘支持 - 最小化到托盘,右键菜单快捷操作
  • 开机自启动 - 可选随 Windows 启动自动运行
  • 自动批量查询 - 定时自动查询所有站点余额
  • 站点统计模块 - 管理站点档案、手动记录余额、记录充值、统计消费
  • 站点测试模块 - 连通性测试、Claude 真伪性检测、原生对话
    • 多种 API 预设 - 支持原生 Anthropic/OpenAI、OpenAI Responses、中转站格式、Claude CLI 真实格式
    • Claude CLI 真实格式 - 完全模拟 Claude Code CLI 请求,可绕过部分中转站验证
  • 一键签到功能 - 支持自动 API 签到和浏览器签到两种方式
    • 配置 Cookie 的站点自动调用 API 签到
    • 未配置 Cookie 的站点打开浏览器手动签到
    • 签到结果自动更新余额,签到日志可查看
  • Cookie 查询余额 - 使用 Cookie 直接查询账户余额(无需 API Key) alt text alt text

界面布局

主界面采用标签页切换设计,左侧为全局站点列表,右侧分为三个功能标签页:

标签页 功能 说明
📊 数据统计 站点档案管理 管理站点信息、记录充值、配置签到网址、查看统计图表
💰 余额查询 查询余额/日志 查询余额和调用日志,支持高级接口设置
🧪 站点测试 连通性/真伪性测试 测试站点连通性、检测模型真伪、原生对话

使用流程:

  1. 在左侧「中转站列表」点击选择站点(或点击「➕ 添加站点」新建)
  2. 站点信息自动同步到所有标签页
  3. 在「📊 数据统计」中编辑站点详细信息
  4. 切换标签页执行余额查询或站点测试

左侧列表操作按钮:

  • ➕ 添加站点 - 新建站点,自动跳转到数据统计编辑
  • 🔄 刷新列表 - 刷新站点列表
  • 💰 查询全部余额 - 批量查询所有站点余额(使用 API Key)
  • 🍪 Cookie查余额并保存 - 使用 Cookie 批量查询余额并自动保存到站点数据
  • 🎁 一键签到 - 自动签到所有配置了签到网址的站点
  • 📋 签到记录 - 查看签到历史记录
  • 🗑️ 删除选中 - 删除当前选中的站点

数据架构

KonataAPI 使用两个配置文件分别管理不同类型的数据:

文件 用途 说明
stats.json 站点数据 站点列表主数据源,包含名称、URL、API Key、签到网址、统计数据等
config.json 全局设置 API 端点配置、托盘设置、自动查询设置等应用级配置

注意:站点管理统一在「📊 数据统计」模块中进行,左侧列表展示的是 stats.json 中的站点。

支持的 API 格式

KonataAPI 支持自动检测多种中转站 API 格式:

格式 余额接口 日志接口 认证方式 说明
OpenAI 兼容 /v1/dashboard/billing/subscription - Bearer sk-xxx 大部分中转站默认格式
NewAPI / One-API /api/usage/token/ /api/log/token Bearer sk-xxx 国内常见中转站
sub2api /v1/usage ❌ 不支持 Bearer sk-xxx Claude 订阅转 API

自动检测顺序

程序会按以下顺序自动尝试不同的 API 格式:

  1. OpenAI 兼容格式 - /v1/dashboard/billing/subscription
  2. sub2api 格式 - /v1/usage(返回余额+用量统计)
  3. JWT Token 格式 - /api/v1/auth/me(需要登录态)
  4. NewAPI Token 格式 - /api/usage/token/

大多数情况下无需手动配置,程序会自动识别站点类型。

sub2api 站点说明

基于 sub2api 的站点(如 Forward):

  • 余额查询:支持,通过 /v1/usage 接口
  • 日志查询:不支持,sub2api 的日志接口需要 JWT Token(登录态)

安装

依赖

  • Python 3.8+
  • Windows(GUI 基于 tkinter)

安装步骤

# 克隆仓库
git clone https://github.com/your-username/KonataAPI.git
cd KonataAPI

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

使用方法

运行程序

python main.py

添加站点

  1. 点击左侧「➕ 添加站点」按钮
  2. 自动跳转到「📊 数据统计」标签页
  3. 填写站点名称、Base URL、API Key 等信息
  4. 点击「💾 保存修改」

一键签到

  1. 在「📊 数据统计」标签页选择站点
  2. 填写「签到网址」(如 https://xxx.com/console/personal
  3. (可选)填写「签到Cookie」和「签到UserID」实现自动签到
    • 点击 📋 按钮获取 Cookie 的方法指引
    • 从浏览器 F12 → 网络 → 右键复制 cURL 命令 → 粘贴解析
  4. 点击「💾 保存修改」
  5. 点击左侧「🎁 一键签到」执行签到
    • 有 Cookie 的站点:自动调用 API 签到,结果自动更新余额
    • 无 Cookie 的站点:打开浏览器手动签到
  6. 点击「📋 签到记录」查看历史签到日志

Cookie 查询余额

对于支持 Cookie 认证的站点,可以直接用 Cookie 查询余额:

  1. 在站点的「签到Cookie」和「签到UserID」字段填��信息
  2. 点击 💰 按钮查询余额
  3. 余额会自动更新到站点数据中

高级接口设置

每个站点可以独立配置 API 接口路径和认证方式:

  1. 选择站点后,在「💰 余额查询」标签页点击「⚙️ 高级设置」
  2. 可配置的选项:
    • 余额查询认证方式 - Bearer Token 或 URL Key
    • 日志查询认证方式 - Bearer Token 或 URL Key
    • 日志代理地址 - 部分站点需要代理访问
    • 自定义接口路径 - 覆盖全局默认的 API 路径
  3. 点击「保存」,设置将保存到站点数据中

日志代理(可选)

部分中转站的日志接口有访问限制,需要通过代理访问。可以在「高级设置」中为单个站点配置代理地址。

站点测试:OpenAI Responses 预设

测试模块新增 OpenAI Responses 预设(/v1/responses),并支持流式解析。常用参数:

  • metadata:可写入自定义键值对,方便服务端侧追踪或统计。
  • text.format:Responses 的结构化输出配置,默认 type: "text";可切换为 json_objectjson_schema 以获得结构化输出。

多模态输入示例(可在“接口设置”里编辑请求体):

{
  "model": "gpt-4o",
  "input": [
    {
      "role": "user",
      "content": [
        { "type": "input_text", "text": "描述这张图" },
        { "type": "input_image", "image_url": "https://example.com/image.png" }
      ]
    }
  ],
  "stream": true
}

配置文件格式

全局设置 - config.json

全局设置文件位于 config/config.json,格式如下:

{
  "api_endpoints": {
    "balance_subscription": "/v1/dashboard/billing/subscription",
    "balance_usage": "/v1/dashboard/billing/usage",
    "logs": "/api/log/token",
    "logs_page_size": 50
  },
  "minimize_to_tray": true,
  "auto_query": {
    "enabled": false,
    "interval_minutes": 30
  },
  "low_balance_threshold": 10
}

字段说明:

  • api_endpoints - 全局接口路径配置(可在设置中修改)
    • balance_subscription - 余额订阅接口路径
    • balance_usage - 用量统计接口路径
    • logs - 日志查询接口路径
    • logs_page_size - 日志每页数量
  • minimize_to_tray - 关闭窗口时是否最小化到托盘
  • auto_query - 自动查询设置
    • enabled - 是否启用自动查询
    • interval_minutes - 查询间隔(分钟)
  • low_balance_threshold - 低余额警告阈值

站点数据 - stats.json

站点数据文件位于 config/stats.json,这是站点列表的主数据源

{
  "sites": [
    {
      "id": "uuid-xxx-xxx",
      "name": "站点名称",
      "url": "https://api.example.com",
      "api_key": "sk-your-api-key",
      "type": "paid",
      "tags": ["claude", "gpt"],
      "balance": 100.0,
      "balance_unit": "USD",
      "checkin_url": "https://example.com/console/personal",
      "checkin_api_path": "/api/user/checkin",
      "session_cookie": "session=xxx; cf_clearance=xxx",
      "checkin_headers": {
        "User-Agent": "Mozilla/5.0 ...",
        "Referer": "https://example.com/console"
      },
      "checkin_cookie_updated_at": "2026-02-07 10:30:00",
      "checkin_user_id": "123",
      "notes": "备注信息",
      "balance_auth_type": "bearer",
      "log_auth_type": "url_key",
      "proxy": "",
      "endpoints": {
        "balance_subscription": "/v1/dashboard/billing/subscription",
        "balance_usage": "/v1/dashboard/billing/usage",
        "logs": "/api/log/token"
      },
      "recharge_records": [
        {
          "date": "2024-01-01",
          "amount": 50.0,
          "note": "首次充值"
        }
      ]
    }
  ]
}

字段说明:

  • id - 站点唯一标识(UUID,自动生成)
  • name - 站点名称
  • url - API 基础地址
  • api_key - API Key
  • type - 站点类型(paid 付费 / free 免费)
  • tags - 标签列表
  • balance - 当前余额(手动记录)
  • balance_unit - 余额单位
  • checkin_url - 签到网址(用于一键签到,必填才会参与签到)
  • checkin_api_path - 签到接口路径(默认 /api/user/checkin
  • session_cookie - 签到 Cookie(用于自动 API 签到)
  • checkin_headers - 签到额外 Headers(JSON 对象,用于 WAF 站点)
  • checkin_cookie_updated_at - Cookie 最近更新时间(自动维护)
  • checkin_user_id - 签到用户 ID(部分站点需要 new-api-user Header)
  • notes - 备注信息
  • balance_auth_type - 余额查询认证方式(bearer / url_key
  • log_auth_type - 日志查询认证方式(bearer / url_key
  • proxy - 日志代理地址(可选)
  • endpoints - 站点级别自定义接口路径(可选,覆盖全局设置)
  • recharge_records - 充值记录列表

打包为可执行文件

方式一:使用 spec 文件(推荐)

pip install pyinstaller
pyinstaller KonataAPI.spec --clean

方式二:使用打包脚本

  1. 编辑 build.bat,填写你的 Conda 路径和环境:

    set CONDA_PATH=
    set CONDA_ENV=
  2. 双击运行 build.bat

  3. 打包完成后,可执行文件位于 dist/KonataAPI.exe

项目结构

KonataAPI/
├── main.py                     # 入口文件
├── build.bat                   # 打包脚本
├── KonataAPI.spec              # PyInstaller 打包配置
├── src/
│   └── konata_api/
│       ├── __init__.py
│       ├── app.py              # GUI 主应用(标签页布局)
│       ├── dialogs.py          # 对话框组件
│       ├── tray.py             # 系统托盘模块
│       ├── utils.py            # 工具函数
│       ├── api.py              # API 查询逻辑
│       ├── api_presets.py      # API 接口预设配置
│       ├── stats.py            # 站点统计数据管理
│       ├── stats_dialog.py     # 站点统计模块(StatsFrame)
│       ├── conversation_test.py # Claude 真伪检测核心
│       ├── test_dialog.py      # 站点测试模块(TestFrame)
│       └── test_settings_dialog.py # 测试设置对话框
├── assets/
│   ├── icon.ico                # 程序图标
│   └── background.jpg          # 背景图片
├── config/
│   ├── config.example.json     # 配置文件示例
│   ├── cli_tools.json          # Claude CLI 工具定义(模型检测用)
│   ├── cli_system.json         # Claude CLI System Prompt(模型检测用)
│   └── stats.json              # 站点数据(主数据源,自动生成)
├── requirements.txt
├── README.md
└── .gitignore

致谢

感谢 L 站此方佬(@user2996)分享 Claude 模型真伪性检测思路;本项目参考了以下站点并做了针对性改进:

https://apikey.cifang.xyz/

License

MIT License. See LICENSE.

About

一个用于查询 AI 中转站余额和调用日志的桌面工具(开梯)

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors