Saltar al contenido principal

API de consulta de modelos

@grant CAT.agent.model

La API de consulta de modelos proporciona acceso de solo lectura a los modelos que el usuario ha configurado en la página de administración. Por seguridad, la clave de API nunca se expone al script.

list — listar todos los modelos

const models = await CAT.agent.model.list();

Devuelve ModelSummary[]:

CampoTipoDescripción
idstringID de configuración del modelo
namestringNombre para mostrar definido por el usuario (ej. "GPT-4o", "Claude Sonnet")
provider"openai" | "anthropic"Tipo de proveedor
apiBaseUrlstringURL base de la API
modelstringIdentificador del modelo enviado a la API del proveedor (ej. gpt-4o, claude-sonnet-4-20250514)
maxTokensnumberTokens de salida máximos (omitido si no está configurado)

Nota: los objetos devueltos no incluyen un campo apiKey.

get — obtener un modelo específico

const model = await CAT.agent.model.get(modelId);

Devuelve null si el modelo no existe.

getDefault — obtener el ID del modelo predeterminado

const defaultId = await CAT.agent.model.getDefault();

Devuelve el ID del modelo predeterminado configurado por el usuario; devuelve una cadena vacía si no hay ninguno configurado.

getSummary — obtener el ID del modelo de resumen

const summaryModelId = await CAT.agent.model.getSummary();

Devuelve el ID del modelo ligero que el usuario ha configurado específicamente para tareas de resumen (como la compactación automática del historial de conversaciones). Si no hay ninguno configurado por separado, el sistema recurre al modelo predeterminado y este método devuelve una cadena vacía.

Casos de uso

Permitir que el usuario elija un modelo

// ==UserScript==
// @name Ejemplo de selector de modelos
// @grant CAT.agent.model
// @grant CAT.agent.conversation
// ==/UserScript==

const models = await CAT.agent.model.list();
const defaultId = await CAT.agent.model.getDefault();

// Mostrar la lista al usuario y permitirle elegir
const selectedModel = models.find(m => m.id === defaultId) || models[0];

const conv = await CAT.agent.conversation.create({
model: selectedModel.id
});

Obtener detalles de un modelo específico

const model = await CAT.agent.model.get("my-model-id");
if (model) {
console.log(`${model.name} (${model.provider}), salida máxima ${model.maxTokens ?? "no configurado"} tokens`);
}