feat(ollama): 支持 Cloud 官方用量自动刷新

This commit is contained in:
alfadb
2026-07-23 15:50:44 +08:00
parent 2c76506e07
commit 5ac4a9fac2
47 changed files with 5571 additions and 85 deletions
+55 -2
View File
@@ -22,7 +22,9 @@ import type {
CheckMixedChannelRequest,
CheckMixedChannelResponse,
UpstreamBillingProbeResult,
UpstreamBillingProbeSettings
UpstreamBillingProbeSettings,
OllamaCloudUsageSettings,
OllamaCloudUsageState
} from '@/types'
/**
@@ -882,6 +884,50 @@ export async function probeUpstreamBillingBatch(accountIds: number[]): Promise<U
return data.results
}
export async function getOllamaCloudUsageSettings(): Promise<OllamaCloudUsageSettings> {
const { data } = await apiClient.get<OllamaCloudUsageSettings>('/admin/accounts/ollama-cloud-usage/settings')
return data
}
export async function updateOllamaCloudUsageSettings(
settings: OllamaCloudUsageSettings
): Promise<OllamaCloudUsageSettings> {
const { data } = await apiClient.put<OllamaCloudUsageSettings>(
'/admin/accounts/ollama-cloud-usage/settings',
settings
)
return data
}
export async function getOllamaCloudUsage(id: number): Promise<OllamaCloudUsageState> {
const { data } = await apiClient.get<OllamaCloudUsageState>(`/admin/accounts/${id}/ollama-cloud-usage`)
return data
}
export async function saveOllamaCloudUsageSession(id: number, session: string): Promise<OllamaCloudUsageState> {
const { data } = await apiClient.put<OllamaCloudUsageState>(`/admin/accounts/${id}/ollama-cloud-usage/session`, {
session
})
return data
}
export async function deleteOllamaCloudUsageSession(id: number): Promise<OllamaCloudUsageState> {
const { data } = await apiClient.delete<OllamaCloudUsageState>(`/admin/accounts/${id}/ollama-cloud-usage/session`)
return data
}
export async function setOllamaCloudUsageAutoRefresh(id: number, enabled: boolean): Promise<OllamaCloudUsageState> {
const { data } = await apiClient.put<OllamaCloudUsageState>(`/admin/accounts/${id}/ollama-cloud-usage/auto-refresh`, {
enabled
})
return data
}
export async function refreshOllamaCloudUsage(id: number): Promise<OllamaCloudUsageState> {
const { data } = await apiClient.post<OllamaCloudUsageState>(`/admin/accounts/${id}/ollama-cloud-usage/refresh`)
return data
}
export const accountsAPI = {
list,
listWithEtag,
@@ -933,7 +979,14 @@ export const accountsAPI = {
updateUpstreamBillingProbeSettings,
setUpstreamBillingProbeEnabled,
probeUpstreamBilling,
probeUpstreamBillingBatch
probeUpstreamBillingBatch,
getOllamaCloudUsageSettings,
updateOllamaCloudUsageSettings,
getOllamaCloudUsage,
saveOllamaCloudUsageSession,
deleteOllamaCloudUsageSession,
setOllamaCloudUsageAutoRefresh,
refreshOllamaCloudUsage
}
export default accountsAPI