Descrizione della funzionalità:
Aggiungere una chiave all’oggetto restituito dalla funzione discourse.getUser dell’API dello strumento Discourse che fornisca il numero di argomenti creati dall’utente.
Comportamento attuale:
Ulteriori capacità possono essere fornite alle persona di Discourse AI creando “strumenti” personalizzati che l’LLM può utilizzare. Discourse fornisce un’API che può essere utilizzata nel codice dello strumento.
I dati relativi a un account utente possono essere ottenuti tramite la funzione discourse.getUser.
L’oggetto restituito dalla funzione ha una chiave post_count. Si scopre che, nel contesto delle statistiche dell’utente, “post” in realtà significa “risposta”. Pertanto, il valore di questa chiave non include il numero di post originali degli argomenti creati dall’utente.
Avrebbe senso fornire i dati per questi due tipi distinti di attività tramite due chiavi separate, ma inspiegabilmente la funzione non restituisce i dati sul conteggio degli argomenti, sebbene questa sia una delle statistiche principali dell’utente.
Non è possibile ottenere un quadro completo dell’attività dell’utente tramite la funzione discourse.getUser. Sarà scomodo o impraticabile ottenere queste informazioni in altri modi.
Passaggi riproducibili:
- Accedi a un forum in cui disponi dei privilegi di amministratore.
- Naviga alla pagina Admin > Plugins > AI > Tools (
/admin/plugins/discourse-ai/ai-tools). - Fai clic sul pulsante “+ New tool”.
Si aprirà un menu. - Seleziona “Start from blank…” dal menu.
Si aprirà la pagina per la configurazione di un nuovo strumento. - Inserisci qualsiasi valore nei seguenti campi della pagina:
- Name
- Tool Name
- Description
- Summary
- Inserisci il seguente codice nel campo “Script”:
ⓘ L’ID utentefunction invoke() { return discourse.getUser(-1); }-1è stato selezionato arbitrariamente poiché è probabile che sia presente su qualsiasi forum. Qualsiasi altro ID utente o nome utente può essere passato adiscourse.getUserse preferisci. - Fai clic sul pulsante “Save” in fondo alla pagina.
- Fai clic sul pulsante “Run test” in fondo alla pagina.
Si aprirà la finestra di dialogo “Test AI tool”. - Fai clic sul pulsante “Run test” nella finestra di dialogo.
Il risultato del test non fornisce il numero di argomenti creati dall’utente.
Versione di Discourse:
f8f53ac5e8e4348ae308fcddc078766463d5e5f3
Contesto aggiuntivo:
Sono consapevole di poter ottenere queste informazioni dall’endpoint /user-badges/{username}/summary.json dell’API di Discourse, e che le richieste API possono essere effettuate tramite la funzione http.get dell’API dello strumento. Non è fattibile farlo perché l’impostazione del sito hide_new_user_profiles è abilitata sul forum che gestisco, e quindi l’endpoint per i nuovi utenti è accessibile solo per richieste autenticate. Sarebbe quindi necessario memorizzare una chiave API nel codice dello strumento per utilizzare l’API. Non lo farò.