AllToken Go SDK

官方 Go SDK,原生 HTTP 封装支持 OpenAI 和 Anthropic 双端口。

安装

go get
$ go get github.com/alltoken-ai/alltoken-go

需要 Go 1.24+

快速开始

一个 API Key 同时支持 OpenAI 兼容和 Anthropic 兼容两个端口:

Go
1package main
2
3import (
4 "context"
5 "encoding/json"
6 "fmt"
7 "os"
8
9 "github.com/alltoken-ai/alltoken-go"
10)
11
12func main() {
13 client, _ := alltoken.New(alltoken.Config{
14 APIKey: os.Getenv("ALLTOKEN_API_KEY"),
15 })
16
17 // OpenAI 兼容(映射到 /v1)
18 resp, _ := client.OpenAI.Raw.Do(context.Background(), "POST", "/chat/completions", map[string]any{
19 "model": "gpt-4o",
20 "messages": []map[string]string{{"role": "user", "content": "你好!"}},
21 })
22 defer resp.Body.Close()
23
24 var out map[string]any
25 json.NewDecoder(resp.Body).Decode(&out)
26 fmt.Println(out)
27}

配置

Go
1client, err := alltoken.New(alltoken.Config{
2 APIKey: "...", // 必填
3 BaseURL: "https://api.alltoken.ai", // 可选
4 HTTPClient: &http.Client{Timeout: 60 * time.Second}, // 可选
5 DefaultHeaders: map[string]string{"X-My-Tag": "a"}, // 可选
6})

API 接口

.Raw 是 HTTP 客户端封装。Base URL 和认证已设置好,调用 .Do(ctx, method, path, body) 访问任意路由。Body 自动进行 JSON 编码。通过 oapi-codegen 从 OpenAPI 规范生成的类型位于 internal/gen/ 目录下。

字段Base URL
client.OpenAI.Rawhttps://api.alltoken.ai/v1
client.Anthropic.Rawhttps://api.alltoken.ai/anthropic