import type { BladeClient } from "../blade-client"; export interface ModelOption { id: string; label: string; /** * 把这个模型发给 `baseUrl` 时该用的名字。`id` 是平台内部标识,接了多个模型服务时 * 形如 `provider-xxx::name`,直接发过去会被拒。不在 `baseUrl` 那个服务上的模型 * 这里是空串——自己做模型选择器时据此过滤。 */ serviceModelId?: string; } export interface ModelCatalog { default: string; models: ModelOption[]; unavailableProviderIds?: string[]; unavailableModelIds?: string[]; /** * 平台默认模型服务的 OpenAI 兼容地址(Server ≥ 提供 `baseUrl` 的版本才有,否则为空)。 * 自建应用可以带用户的 PAT 直接调它,不必让用户自己填地址——网关端口各部署不同, * 推算不出来。 * * 这是**服务端视角**的地址:平台可能配的是 `http://127.0.0.1:30000/v1`,从自己后端 * 转发没问题,直接丢给浏览器就指向用户自己的机器了。默认形态是后端透传(密钥也不该 * 进浏览器),浏览器直连只适合这个地址对浏览器同样可达的场景。 */ baseUrl?: string; /** * 直接调 `baseUrl` 时该用的默认模型名。**不要用 `default`**——那是平台内部标识, * 平台默认模型来自额外接的模型服务时它带 `provider-xxx::` 前缀,发过去只会得到 * 「模型不存在」。没有可直调的模型时为空串。 */ defaultServiceModel?: string; } /** Server 可供当前用户选择的模型目录。 */ export declare class ModelsResource { private client; constructor(client: BladeClient); list(): Promise; }