Aller au contenu principal

API de requête de modèles

@grant CAT.agent.model

L'API de requête de modèles fournit un accès en lecture seule aux modèles que l'utilisateur a configurés sur la page de gestion. Pour des raisons de sécurité, la clé API n'est jamais exposée au script.

list — lister tous les modèles

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

Retourne ModelSummary[] :

ChampTypeDescription
idstringID de configuration du modèle
namestringNom d'affichage défini par l'utilisateur (ex. « GPT-4o », « Claude Sonnet »)
provider"openai" | "anthropic"Type de fournisseur
apiBaseUrlstringURL de base de l'API
modelstringIdentifiant du modèle envoyé à l'API du fournisseur (ex. gpt-4o, claude-sonnet-4-20250514)
maxTokensnumberNombre maximal de jetons de sortie (omis s'il n'est pas défini)

Remarque : les objets retournés n'incluent pas de champ apiKey.

get — obtenir un modèle spécifique

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

Retourne null si le modèle n'existe pas.

getDefault — obtenir l'ID du modèle par défaut

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

Retourne l'ID du modèle par défaut configuré par l'utilisateur ; retourne une chaîne vide si aucun n'est défini.

getSummary — obtenir l'ID du modèle de synthèse

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

Retourne l'ID du modèle léger que l'utilisateur a configuré spécifiquement pour les tâches de synthèse (comme la compression automatique de l'historique de dialogue). Si aucun n'est configuré séparément, le système utilise le modèle par défaut et cette méthode retourne une chaîne vide.

Scénarios d'utilisation

Laisser l'utilisateur choisir un modèle

// ==UserScript==
// @name Model picker example
// @grant CAT.agent.model
// @grant CAT.agent.conversation
// ==/UserScript==

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

// Show the list to the user and let them pick
const selectedModel = models.find(m => m.id === defaultId) || models[0];

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

Obtenir les détails d'un modèle spécifique

const model = await CAT.agent.model.get("my-model-id");
if (model) {
console.log(`${model.name} (${model.provider}), max output ${model.maxTokens ?? "unset"} tokens`);
}