Show local AI activity feedback
Build and publish static assets / publish (push) Successful in 8m21s
Build and publish static assets / publish (push) Successful in 8m21s
This commit is contained in:
+19
-4
@@ -1,6 +1,6 @@
|
||||
/* Browser-only, best-effort assistance. All executable/model/prompt assets come from our static service. */
|
||||
(function (global) {
|
||||
const base = '/static/wllama-gemma3-v1/';
|
||||
const base = '/static/wllama-gemma3-v2/';
|
||||
const dbName = 'ai-spel-local-assistance-v1';
|
||||
let enginePromise;
|
||||
let loadedEngine;
|
||||
@@ -161,12 +161,27 @@
|
||||
}
|
||||
async function assist(message, transcript, worldSnapshot) {
|
||||
if (!enabled || !loadedEngine || !await isAccepted()) return {};
|
||||
return boundedInfer('prepare_turn', {player_message: message.slice(0, 1200), recent_dialogue: transcript.slice(-12).map(line => line.slice(0, 240)), world_snapshot: JSON.stringify(worldSnapshot).slice(0, 1200)}, 5000);
|
||||
announce({type: 'activity', text: 'Lokal Gemma 3 körs på den här enheten för att förbereda handlingen.'});
|
||||
try {
|
||||
const result = await boundedInfer('prepare_turn', {player_message: message.slice(0, 1200), recent_dialogue: transcript.slice(-12).map(line => line.slice(0, 240)), world_snapshot: JSON.stringify(worldSnapshot).slice(0, 1200)}, 5000);
|
||||
announce({type: 'activity', text: 'Lokal Gemma 3 är klar. Originalhandlingen skickas nu vidare till berättartjänsten.'});
|
||||
return result;
|
||||
} catch (error) {
|
||||
announce({type: 'activity', text: 'Lokal Gemma 3 kunde inte förbereda handlingen. Originaltexten skickas ändå vidare till berättartjänsten.'});
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
async function offline(message, transcript, worldSnapshot) {
|
||||
if (!enabled || !loadedEngine || !await isAccepted()) return '';
|
||||
const result = await boundedInfer('offline_help', {player_message: message.slice(0, 1200), recent_dialogue: transcript.slice(-12).map(line => line.slice(0, 240)), world_snapshot: JSON.stringify(worldSnapshot).slice(0, 1200)}, 10000);
|
||||
return String(result.offline_reply || 'Jag kan inte skapa ett lokalt förslag med den information som finns sparad.');
|
||||
announce({type: 'activity', text: 'Lokal Gemma 3 arbetar offline med ett osparat hjälpförslag.'});
|
||||
try {
|
||||
const result = await boundedInfer('offline_help', {player_message: message.slice(0, 1200), recent_dialogue: transcript.slice(-12).map(line => line.slice(0, 240)), world_snapshot: JSON.stringify(worldSnapshot).slice(0, 1200)}, 10000);
|
||||
announce({type: 'activity', text: 'Lokal Gemma 3 har skapat ett osparat hjälpförslag.'});
|
||||
return String(result.offline_reply || 'Jag kan inte skapa ett lokalt förslag med den information som finns sparad.');
|
||||
} catch (error) {
|
||||
announce({type: 'activity', text: 'Lokal Gemma 3 kunde inte skapa ett offlineförslag.'});
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
async function settings(command) {
|
||||
const normalized = command.trim().toLocaleLowerCase('sv');
|
||||
|
||||
Reference in New Issue
Block a user