MrKop One API 提供 Python / Go / Node.js 三种官方 SDK,覆盖全部 AI API 和完整的企业管理 API。
语言
包管理器安装
源码压缩包
源码仓库
最低版本
Python
pip install mrkop-one-apimrkop-python-sdk-v0.2.0.tar.gz
Gitee
Python 3.9+
Go
go get github.com/mrkop/mr-kop-one-api/sdks/go/mrkopmrkop-go-sdk-v0.2.0.tar.gz
Gitee
Go 1.22+
Node.js / TypeScript
npm install mrkop-one-apimrkop-node-sdk-v0.2.0.tar.gz
Gitee
Node.js 18+
源码压缩包托管在 MrKop CDN,通过 ESA 边缘节点加速下载。也可从 Gitee 直接 Clone 源码。
SDK 支持双认证模式,自动根据端点类型选择:
端点类型
认证方式
说明
AI 端点 (
/v1/chat/*, /v1/embeddings 等)API Key
构造客户端时传入
api_key
管理端点 (
/v1/admin/, /v1/enterprise/, /api/*)JWT Bearer Token
调用
login() 获取,7 天有效
from mrkop_one_api import MrKopClient
client = MrKopClient(api_key="mrkop-xxxx")
# 聊天补全
resp = client.chat_completions(
model="kimi-for-coding",
messages=[{"role": "user", "content": "用 Python 写一个快速排序"}]
)
print(resp["choices"][0]["message"]["content"])
# 流式聊天
for event in client.chat_completions(
model="kimi-for-coding",
messages=[{"role": "user", "content": "讲个笑话"}],
stream=True
):
delta = event["choices"][0].get("delta", {})
if "content" in delta:
print(delta["content"], end="", flush=True)
# 嵌入
resp = client.embeddings(
model="text-embedding-3-small",
input="Hello world"
)
print(resp["data"][0]["embedding"][:5])
# 模型列表
models = client.models()
for m in models["data"]:
print(m["id"])package main
import (
"context"
"fmt"
"github.com/mrkop/mr-kop-one-api/sdks/go/mrkop"
)
func main() {
client := mrkop.NewClient(mrkop.WithAPIKey("mrkop-xxxx"))
// 聊天补全
resp, err := client.ChatCompletions(context.Background(), &mrkop.ChatRequest{
Model: "kimi-for-coding",
Messages: []mrkop.ChatMessage{
{Role: "user", Content: "用 Go 写一个快速排序"},
},
})
if err != nil {
panic(err)
}
fmt.Println(resp.Choices[0].Message.Content)
// 流式
events, errs := client.ChatCompletionsStream(context.Background(), &mrkop.ChatRequest{
Model: "kimi-for-coding",
Messages: []mrkop.ChatMessage{
{Role: "user", Content: "讲个笑话"},
},
})
for {
select {
case ev, ok := <-events:
if !ok { return }
if ev.Choices[0].Delta != nil {
fmt.Print(ev.Choices[0].Delta.Content)
}
case err := <-errs:
panic(err)
}
}
}import { MrKopClient } from "mrkop-one-api";
const client = new MrKopClient({ apiKey: "mrkop-xxxx" });
// 聊天补全
const resp = await client.chatCompletions({
model: "kimi-for-coding",
messages: [{ role: "user", content: "用 TypeScript 写一个快速排序" }],
});
console.log(resp.choices[0].message.content);
// 流式
for await (const ev of client.chatCompletionsStream({
model: "kimi-for-coding",
messages: [{ role: "user", content: "讲个笑话" }],
})) {
const delta = ev.choices[0]?.delta;
if (delta?.content) process.stdout.write(delta.content);
}
// 嵌入
const embResp = await client.embeddings({
model: "text-embedding-3-small",
input: "Hello world",
});
console.log(embResp.data[0].embedding.slice(0, 5));SDK 内置完整的企业管理能力,涵盖人员目录、统计日志、密钥管理、钱包充值等 40+ 方法。
# 登录
client.login(phone="13800138000", password="your-password")
# 企业人员目录
members = client.enterprise.list_members("enterprise-id", page=1, limit=20)
# 创建企业密钥
new_key = client.enterprise.create_key("enterprise-id", name="生产密钥", monthly_budget=1000000)
# 管理统计
stats = client.admin.dashboard_stats(period="7d")
logs = client.admin.recent_logs(page=1, limit=50)
# 企业钱包
wallet = client.enterprise.wallet("enterprise-id")
# 邀请成员
client.admin.invite_enterprise_member("enterprise-id", email="dev@company.com", role="employee")
# 退出
client.logout()// 登录
loginResp, _ := client.Login(ctx, "13800138000", "password")
// 企业人员目录
members, _ := client.Enterprise.ListMembers(ctx, "enterprise-id", 1, 20)
// 创建企业密钥
newKey, _ := client.Enterprise.CreateKey(ctx, "enterprise-id", "生产密钥", 1000000, 80)
// 统计日志
stats, _ := client.Admin.DashboardStats(ctx, "7d")
logs, _ := client.Admin.RecentLogs(ctx, 1, 50, "", "", "", "")
// 退出
client.Logout()// 登录
await client.login("13800138000", "your-password");
// 企业人员目录
const members = await client.enterprise.listMembers("enterprise-id", 1, 20);
// 创建企业密钥
const newKey = await client.enterprise.createKey("enterprise-id", "生产密钥", 1000000);
// 统计日志
const stats = await client.admin.dashboardStats("7d");
const logs = await client.admin.recentLogs(1, 50);
// 退出
client.logout();
API
端点
Python
Go
Node.js
聊天补全
POST /v1/chat/completionschat_completions()ChatCompletions()chatCompletions()
流式聊天
POST /v1/chat/completionschat_completions(stream=True)ChatCompletionsStream()chatCompletionsStream()
Anthropic Messages
POST /v1/messagesmessages()Messages()messages()
嵌入
POST /v1/embeddingsembeddings()Embeddings()embeddings()
重排序
POST /v1/rerankrerank()Rerank()rerank()
图像生成
POST /v1/images/generationsimages_generations()ImageGenerations()imageGenerations()
视频生成
POST /v1/video/generationsvideo_generations()VideoGenerations()videoGenerations()
模型列表
GET /v1/modelsmodels()ListModels()listModels()
健康检查
GET /healthhealth()Health()health()
功能
Python
Go
Node.js
仪表盘统计 admin.dashboard_stats(period)Admin.DashboardStats(ctx, period)admin.dashboardStats(period)用量统计 admin.usage_stats(period)Admin.UsageStats(ctx, period)admin.usageStats(period)Key 统计 admin.key_stats()Admin.KeyStats(ctx)admin.keyStats()中继性能 admin.relay_stats()Admin.RelayStats(ctx)admin.relayStats()请求日志 admin.recent_logs(page, limit)Admin.RecentLogs(ctx, ...)admin.recentLogs(page, limit)日志详情 admin.log_detail(log_id)Admin.LogDetail(ctx, id)admin.logDetail(logId)用户列表 admin.list_users()Admin.ListUsers(ctx)admin.listUsers()企业列表 admin.list_enterprises(page, limit)Admin.ListEnterprises(ctx, page, limit)admin.listEnterprises(page, limit)企业详情 admin.get_enterprise(id)Admin.GetEnterprise(ctx, id)admin.getEnterprise(id)创建企业 admin.create_enterprise(data)Admin.CreateEnterprise(ctx, data)admin.createEnterprise(data)企业成员 admin.list_enterprise_users(id, ...)Admin.ListEnterpriseUsers(ctx, ...)admin.listEnterpriseUsers(id, ...)邀请成员 admin.invite_enterprise_member(id, email, role)Admin.InviteEnterpriseMember(ctx, ...)admin.inviteEnterpriseMember(id, ...)修改成员 admin.update_enterprise_member(id, uid, data)Admin.UpdateEnterpriseMember(ctx, ...)admin.updateEnterpriseMember(id, ...)移除成员 admin.remove_enterprise_member(id, uid)Admin.RemoveEnterpriseMember(ctx, ...)admin.removeEnterpriseMember(id, uid)企业钱包 admin.get_enterprise_wallet(id)Admin.GetEnterpriseWallet(ctx, id)admin.getEnterpriseWallet(id)钱包充值 admin.top_up_enterprise_wallet(id, amount)Admin.TopUpEnterpriseWallet(ctx, ...)admin.topUpEnterpriseWallet(id, ...)部门树 admin.list_departments(id)Admin.ListDepartments(ctx, id)admin.listDepartments(id)创建部门 admin.create_department(id, name)Admin.CreateDepartment(ctx, ...)admin.createDepartment(id, ...)加入申请 admin.list_join_requests(id)Admin.ListJoinRequests(ctx, ...)admin.listJoinRequests(id)批准加入 admin.approve_join_request(id, req)Admin.ApproveJoinRequest(ctx, ...)admin.approveJoinRequest(id, ...)
功能
Python
Go
Node.js
我的企业 enterprise.my()Enterprise.My(ctx)enterprise.my()企业成员 enterprise.list_members(id, ...)Enterprise.ListMembers(ctx, ...)enterprise.listMembers(id, ...)邀请成员 enterprise.invite_member(id, email, role)Enterprise.InviteMember(ctx, ...)enterprise.inviteMember(id, ...)修改成员 enterprise.update_member(id, uid, data)Enterprise.UpdateMember(ctx, ...)enterprise.updateMember(id, ...)移除成员 enterprise.remove_member(id, uid)Enterprise.RemoveMember(ctx, ...)enterprise.removeMember(id, uid)密钥列表 enterprise.list_keys(id)Enterprise.ListKeys(ctx, id)enterprise.listKeys(id)创建密钥 enterprise.create_key(id, name, budget)Enterprise.CreateKey(ctx, ...)enterprise.createKey(id, ...)启停密钥 enterprise.toggle_key(id, key_id)Enterprise.ToggleKey(ctx, ...)enterprise.toggleKey(id, ...)删除密钥 enterprise.delete_key(id, key_id)Enterprise.DeleteKey(ctx, ...)enterprise.deleteKey(id, ...)企业钱包 enterprise.wallet(id)Enterprise.Wallet(ctx, id)enterprise.wallet(id)用量统计 enterprise.stats(id)Enterprise.Stats(ctx, id)enterprise.stats(id)企业日志 enterprise.logs(id)Enterprise.Logs(ctx, id)enterprise.logs(id)搜索企业 enterprise.search(phone)Enterprise.Search(ctx, phone)enterprise.search(phone)申请加入 enterprise.request_join(id)Enterprise.RequestJoin(ctx, id)enterprise.requestJoin(id)接受邀请 enterprise.accept_invitation(token)Enterprise.AcceptInvitation(ctx, token)enterprise.acceptInvitation(token)
所有 SDK 支持以下配置:
选项
说明
默认值
api_keyAPI 密钥(AI 端点必填)
—
access_tokenJWT Token(管理端点,也可 login 获取)
—
base_urlAPI 基础地址
https://gw.mrkop.com
timeout超时时间
60 秒
max_retries最大重试次数
3
SDK 在以下情况抛出异常:
状态码
异常类型
说明
401 AuthenticationErrorAPI Key 无效或未登录 429 RateLimitError请求频率超限(自动重试) 网络错误 ConnectionError / TimeoutError网络超时或连接失败 其他 4xx/5xx APIError服务端错误,包含 status_code 和 message