📝 中文教程(推荐新手先看)

Absolutely / PoloAPI 使用
完全指南

这是一份面向普通用户与开发者的文档首页。你可以从这里快速完成接入,也可以跳转查看常见问题与错误排查页。

推荐 Base URL
https://api.fengsuan.online/v1
未复制
“如果你是第一次使用,只需要先看 快速开始。按照顺序完成 4 步后,就可以开始在 Cherry Studio、NextChat、LobeChat、Open WebUI、OpenAI SDK 或你自己的程序中直接调用。”

文档结构

0. 快速开始

第一次接入时,建议按下面 4 步操作。整个过程通常只需要几分钟。

1

充值余额

登录控制台后,先进入左侧的钱包管理页面完成充值。接口调用会从账户余额中扣费,因此余额需要大于 0。

2

创建 API Key

进入左侧令牌管理,点击“添加令牌”,创建你的接口密钥。创建完成后请立即复制并妥善保存,后续请求都需要带上它。

3

选择调用模型

在模型广场查看支持的模型名称、价格与分组要求。请求里的 model 字段必须与站内展示的模型名完全一致,不要自行改写。

4

发起请求

使用 Base URL 和 API Key 发起请求。本站兼容常见 OpenAI 风格调用方式,可直接接入大多数支持 OpenAI 接口格式的客户端或程序。

提示:如果你只是想在第三方客户端中使用,比如 Cherry Studio、NextChat、LobeChat、Open WebUI 等,一般只需要填写 Base URL、API Key 和模型名即可。

1. 充值余额

登录控制台后,点击左侧导航栏的钱包管理。你会看到当前余额、历史消费和相关账单信息。

普通用户怎么充值

进入钱包页面,选择在线充值或管理员开放的支付方式,按提示完成即可。

为什么先充值

大模型调用是按量计费的。没有余额时,请求可能会被拒绝,或者返回余额不足相关提示。

2. 创建 API Key

在左侧进入令牌管理,点击“添加令牌”。你可以设置令牌名称、额度上限、所属分组、是否允许聊天等权限。

  1. 进入控制台 → 令牌管理
  2. 点击“添加令牌”
  3. 填写名称,选择对应分组
  4. 按需设置额度或无限额度
  5. 保存后复制生成的密钥
注意:API Key 只会完整显示一次。请在创建后立刻复制保存,不要泄露给他人,也不要直接写进前端网页代码中。
示例:Authorization 请求头 Bearer 方式
Authorization: Bearer sk-your-key

3. 选择调用模型

在模型广场中可以查看当前站点支持的模型、模型价格、调用说明以及是否有分组要求。

  • 请求中的 model 字段必须填写站内展示的模型名称
  • 不要自行省略后缀或改写模型名
  • 如果某些模型提示无权限,通常是因为你的令牌分组不匹配
  • 不同模型价格不同,请先查看模型价格和倍率说明
项目 说明
模型名称 必须与模型广场一致,例如具体的 Claude / GPT / Gemini 模型名
可用分组 有些模型只允许特定用户分组或令牌分组调用
价格 按输入 / 输出 / 固定价格 / 倍率等方式计费,以站内显示为准
特殊说明 某些模型可能有图片输入、缓存、搜索等附加计费项目

4. 发起接口请求

下面给你一个最常见的 OpenAI 风格请求示例。你只需要替换掉:

  • Base URL
  • sk-your-key
  • model
python 示例 POST /v1/chat/completions
import requests
import json
import sys
import time
from datetime import datetime

API_KEY = "sk-your-key"
URL = "https://api.fengsuan.online/v1/chat/completions"

CURRENT_MODEL = "your-model"

def get_model_display_name(model_name):
    if "claude" in model_name.lower():
        return "Claude"
    elif "gpt" in model_name.lower():
        return "GPT"
    elif "gemini" in model_name.lower():
        return "Gemini"
    elif "deepseek" in model_name.lower():
        return "DeepSeek"
    else:
        return "AI"

def print_banner():
    banner = f"""
{'=' * 60}
枫算网络 - 智能对话平台
Powered by Fengsuan Online
{'=' * 60}
输入 'quit' 退出 | 'clear' 清屏 | 'model' 查看当前模型
{'=' * 60}
    """
    print(banner)

def print_model_info():
    info = f"""
当前模型: {CURRENT_MODEL}
API 节点: {URL}
会话开始: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}
{'=' * 60}
"""
    print(info)

def clear_screen():
    print('\033[2J\033[H')

def format_reply(reply):
    if "<think>" in reply and "</think>" in reply:
        return reply.split("</think>")[-1].strip()
    return reply.strip()

clear_screen()
print_banner()
print_model_info()

messages = []
conversation_count = 0

ai_display_name = get_model_display_name(CURRENT_MODEL)

while True:
    try:
        user_input = input(f"\n你 › ")

        if user_input.lower() == 'quit':
            print(f"\n感谢使用枫算网络,再见!\n")
            break
        elif user_input.lower() == 'clear':
            clear_screen()
            print_banner()
            print_model_info()
            continue
        elif user_input.lower() == 'model':
            print(f"当前模型: {CURRENT_MODEL}")
            print(f"更多模型请访问: https://api.fengsuan.online")
            continue
        elif not user_input.strip():
            continue

        messages.append({"role": "user", "content": user_input})
        conversation_count += 1

        response = requests.post(
            URL,
            headers={"Authorization": f"Bearer {API_KEY}"},
            json={
                "model": CURRENT_MODEL,
                "messages": messages,
                "max_tokens": 500,
                "temperature": 0.7
            },
            timeout=30
        )

        if response.status_code == 200:
            result = response.json()
            reply = result['choices'][0]['message']['content']

            formatted_reply = format_reply(reply)
            print(f"\n{ai_display_name} › {formatted_reply}")

            messages.append({"role": "assistant", "content": reply})

            if conversation_count % 5 == 0:
                print(f"\n--- 已完成 {conversation_count} 轮对话 ---")

        elif response.status_code == 401:
            print(f"\n错误: API Key 无效,请检查配置")
            break
        elif response.status_code == 429:
            print(f"\n错误: 请求过于频繁,请稍后再试")
            time.sleep(2)
        else:
            print(f"\n错误 {response.status_code}: {response.text}")

    except requests.exceptions.Timeout:
        print(f"\n错误: 请求超时,请检查网络连接")
    except requests.exceptions.ConnectionError:
        print(f"\n错误: 连接失败,请检查 API 地址")
    except KeyboardInterrupt:
        print(f"\n\n已退出对话")
        break
    except Exception as e:
        print(f"\n错误: {e}")

推荐填写方式

Base URL

https://api.fengsuan.online/v1

认证方式

HTTP Header 中使用 Authorization: Bearer sk-xxx

说明:如果你使用的是 Cherry Studio、NextChat、LobeChat、Open WebUI、OpenAI SDK 或其他 OpenAI 兼容客户端,Base URL 请填写到 /v1,也就是 https://api.fengsuan.online/v1不要再手动追加 /chat/completions,客户端会自动拼接完整接口路径。
接入建议:第三方客户端通常填写的是 Base URL;只有你自己直接发 HTTP 请求时,才需要填写完整接口地址 /v1/chat/completions

5. 第三方客户端 / 编程工具接入

如果你想把本站模型配置到 VS Code、Cursor、Cherry Studio、NextChat、LobeChat、Open WebUI 或自己的程序里, 通常只需要填写 3 项:Base URL、API Key、模型名

推荐 Base URL:https://api.fengsuan.online/v1
注意:大多数客户端只需要填写到 /v1,不要手动追加 /chat/completions, 客户端或 SDK 会自动拼接完整接口路径。

第 1 步:创建 API Key

登录控制台后,进入左侧「令牌管理」,点击「添加令牌」。

创建完成后请立即复制并保存,后续客户端或代码请求都需要使用这个 Key。

示例格式:sk-xxxxxxxx

第 2 步:复制模型名

进入「模型广场」或「操练场」,复制你要调用的完整模型名称。

模型名必须和站内展示完全一致,不要自行缩写、改名或去掉日期后缀。

示例:gpt-5.4-mini-2026-03-17

第 3 步:填写客户端

在第三方客户端中选择 OpenAI 或 OpenAI 兼容接口。

填写 Base URL、API Key、Model 后保存即可。

如果客户端支持测试连接,建议先点击测试。

通用填写模板

Base URL: https://api.fengsuan.online/v1
API Key: sk-your-key
Model: 站内模型广场中的完整模型名

VS Code / Cursor 插件

如果你使用 Cline、Roo Code、Continue、CodeGPT 等插件,服务商请选择 OpenAI CompatibleCustom OpenAIOpenAI API Compatible 或类似选项。

然后填写:

  • Base URLhttps://api.fengsuan.online/v1
  • API Key:你的 sk-xxx 令牌
  • Model:模型广场中的完整模型名

如果插件让你填写 Endpoint、API Base、Base Path、OpenAI Base URL,本质上通常都是填写 Base URL。

Cherry Studio / NextChat / LobeChat

服务商类型选择 OpenAI 或 OpenAI 兼容接口。

接口地址填写 https://api.fengsuan.online/v1

密钥填写你的 sk-xxx,模型名填写模型广场中展示的完整名称。

不要把接口地址写成 /v1/chat/completions,否则部分客户端会重复拼接路径。

Open WebUI / 其它兼容工具

只要工具兼容 OpenAI API 格式,一般都可以接入。

优先确认以下 3 项是否填写正确:

  • Base URL 是否为 https://api.fengsuan.online/v1
  • API Key 是否复制完整,没有多余空格
  • 模型名是否与模型广场完全一致

什么时候需要完整接口地址

大多数第三方客户端填写的是 Base URL,只需要到 /v1

只有你自己直接写 HTTP 请求时,才需要使用完整接口地址:

https://api.fengsuan.online/v1/chat/completions

OpenAI SDK 示例

如果你使用 Node.js 的 OpenAI SDK,可以这样调用:

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "你的 API Key",
  baseURL: "https://api.fengsuan.online/v1",
});

const completion = await client.chat.completions.create({
  model: "gpt-5.4-mini-2026-03-17", // 替换为模型广场中的完整模型名
  messages: [
    { role: "user", content: "你好" }
  ],
});

console.log(completion.choices[0].message.content);

Python requests 示例

如果你不使用 SDK,也可以直接发起 HTTP 请求:

import requests

API_KEY = "你的 API Key"
URL = "https://api.fengsuan.online/v1/chat/completions"

response = requests.post(
    URL,
    headers={
        "Authorization": f"Bearer {API_KEY}",
        "Content-Type": "application/json"
    },
    json={
        "model": "gpt-5.4-mini-2026-03-17",
        "messages": [
            {"role": "user", "content": "你好"}
        ],
        "max_tokens": 500,
        "temperature": 0.7
    },
    timeout=30
)

print(response.json()["choices"][0]["message"]["content"])

VS Code / Cursor 测试建议

接入编程插件前,建议先在终端测试 API 是否可用:

curl https://api.fengsuan.online/v1/chat/completions \
  -H "Authorization: Bearer 你的 API Key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4-mini-2026-03-17",
    "messages": [
      {
        "role": "user",
        "content": "请只回复:接口测试成功"
      }
    ],
    "max_tokens": 100
  }'

如果返回内容里能看到「接口测试成功」,说明 Base URL、API Key、模型名和账户余额基本都没有问题。

常见错误排查

401 / Unauthorized

通常是 API Key 错误。

  • 检查 Key 是否复制完整
  • 检查前后是否有空格
  • 确认使用的是本站控制台创建的令牌

模型不存在

通常是模型名填写错误,或当前令牌分组不支持该模型。

  • 到模型广场复制完整模型名
  • 不要手动改写模型名
  • 到操练场选择同一分组和模型测试

余额不足

接口调用会按量扣费。

  • 进入钱包管理检查余额
  • 确认账户余额大于 0
  • 查看使用日志确认扣费情况

404 / 路径错误

通常是 Base URL 填错。

  • 第三方客户端填 https://api.fengsuan.online/v1
  • 不要填成 /v1/chat/completions
  • 自己写 HTTP 请求时才使用完整接口路径
总结:第三方客户端一般填写 Base URL、API Key、Model 三项即可; 自己写代码请求时才使用完整接口地址 /v1/chat/completions

6. 计费与分组说明

本站的计费通常由以下几个因素共同决定:

  • 你调用的模型本身价格
  • 所在分组倍率
  • 是否有补全倍率、图片倍率、缓存倍率等附加计费规则
  • 是否为按次收费模型
最终扣费以控制台中的使用日志与模型价格说明为准。如果首页余额与用户管理中的总额度 / 剩余额不完全一致,通常是因为界面展示维度不同:一个显示“当前余额”,另一个显示“总额度 / 剩余额”。