update src files with latest changes

This commit is contained in:
Russell Ballestrini 2025-07-11 14:30:44 -04:00
parent affa6f5ca8
commit 2363944fa6
23 changed files with 133 additions and 107 deletions

View file

@ -3,6 +3,20 @@ import { marked } from "https://cdn.jsdelivr.net/npm/marked/lib/marked.esm.js";
import hljs from "https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/es/highlight.min.js";
import { API_KEY, getAPIConfig } from "./config.js";
import { getSelectedModel, getSelectedModelEndpoint, getSelectedModelMaxTokens } from "./models.js";
// Rough token estimation (4 chars = 1 token average for English)
function estimateTokens(text) {
return Math.ceil(text.length / 4);
}
// Calculate available output tokens
function calculateAvailableTokens(chatHistory, maxTokens) {
const inputText = chatHistory.map(msg => msg.content).join('');
const inputTokens = estimateTokens(inputText);
const availableTokens = Math.max(100, maxTokens - inputTokens - 50); // Reserve 50 tokens buffer
console.log(`Token calculation: max=${maxTokens}, input≈${inputTokens}, available≈${availableTokens}`);
return availableTokens;
}
import { initializeChatHistory, saveConversationHistory } from "./storage.js";
import { generateTitleForTTS, speakText } from "./tts.js";
@ -44,11 +58,16 @@ function addCodeBlockCopyButtons(element) {
});
}
// Initialize chat history
export let chatHistory = initializeChatHistory();
// Initialize chat history (will be populated on first use)
export let chatHistory = [];
// Generator function to send a message to the LLM and yield responses
export async function* sendMessage(message) {
// Initialize chat history if empty
if (chatHistory.length === 0) {
chatHistory = await initializeChatHistory();
}
chatHistory.push({ role: "user", content: message });
// Get API configuration (custom or default)
@ -71,8 +90,9 @@ export async function* sendMessage(message) {
model = getSelectedModel();
}
const maxTokens = getSelectedModelMaxTokens();
console.log("Chat using max_tokens:", maxTokens);
const modelMaxTokens = getSelectedModelMaxTokens();
const calculatedAvailable = calculateAvailableTokens(chatHistory, modelMaxTokens);
console.log("Chat using calculated available tokens:", calculatedAvailable, "of model max:", modelMaxTokens);
const response = await fetch(apiUrl, {
method: "POST",
@ -81,7 +101,7 @@ export async function* sendMessage(message) {
model: model,
messages: chatHistory,
temperature: 0.5,
max_tokens: maxTokens,
max_tokens: calculatedAvailable,
stream: true,
}),
});

View file

@ -4,10 +4,11 @@ export const TTS_API_URL = "https://speech.ai.unturf.com/v1/audio/speech";
export const MEGAPARCE_API_URL = "https://megaparce.ai.unturf.com/v1/file";
export const API_KEY = "dummy-api-key";
export const MODEL = "adamo1139/Hermes-3-Llama-3.1-8B-FP8-Dynamic"; // default model (always available)
export const DEFAULT_MAX_TOKENS = 8000; // default max tokens
// System message configuration - implementors can customize this
export const SYSTEM_MESSAGE_BASE =
"You are Hermes, a large language model from Nous Research, embedded as an AI assistant on this webpage. Your primary task is to help users understand and interact with the content of this specific page, while also being capable of assisting with any other topics, coding, creative tasks, or questions they may have. You should be conversational, helpful, and knowledgeable about the webpage content as well as general topics. Always strive to provide accurate, useful responses.";
"You are Hermes, an advanced language model from Nous Research, dynamically embedded on this webpage through uncloseai.com. You have complete awareness of the page content, including all text, links, metadata, and context. Your role is to be deeply knowledgeable about THIS specific page while maintaining your capabilities as a versatile AI assistant. You should actively demonstrate your understanding by referencing specific details, names, sections, or data points from the page when relevant. Be conversational yet precise, and always ground your responses in the actual content present on the page when answering page-related questions.";
// Optional additional system message content - can be set by implementor
export let SYSTEM_MESSAGE_APPEND = "";
@ -18,7 +19,7 @@ export function setSystemMessageAppend(appendText) {
}
// Function to get the complete system message with language preference
export function getSystemMessage() {
export async function getSystemMessage() {
// Get user's language preference from localStorage
let userLang = "en";
try {

View file

@ -85,11 +85,11 @@ export const ar = {
translationModalHeading: "نافذة الترجمة",
// System prompt components
systemPromptIntro: "أنت Hermes AI، مدعوم بواسطة Nous Research، مدمج في صفحة ويب. مهمتك هي إنشاء مقدمة دافئة ومرحبة من 3 فقرات تظهر أنك تفهم الصفحة المحددة التي يشاهدها المستخدم.",
systemPromptTask1: "1. قدم نفسك كـ Hermes AI واعترف بالصفحة/المحتوى المحدد",
systemPromptTask2: "2. اذكر 2-3 تفاصيل محددة وذات صلة تلاحظها من محتوى الصفحة",
systemPromptTask3: "3. اعرض المساعدة في الأسئلة المتعلقة بمحتوى الصفحة",
systemPromptInstructions: "اجعله حوارياً ومفيداً ومحدداً لما تراه في هذه الصفحة. اكتب باللغة",
systemPromptIntro: "أنت Hermes AI، مدعوم بواسطة Nous Research، مدمج في صفحة ويب عبر uncloseai.com. مهمتك هي إنشاء مقدمة من 3 فقرات ذكية سياقياً تُظهر فهماً عميقاً لمحتوى الصفحة المحدد، وغرضها، وجمهورها.",
systemPromptTask1: "1. افتتح بشكل طبيعي بتحديد موضوع هذه الصفحة - كن محدداً: اذكر عنوان الصفحة، الموضوع الرئيسي، اسم المؤلف إن وُجد، أو الغرض الأساسي. أظهر فهماً فورياً لنوع المحتوى (مقال، وثائق، صفحة منتج، إلخ.)",
systemPromptTask2: "2. أشر إلى 2-3 تفاصيل محددة جداً من الصفحة - اقتبس عبارات دقيقة، استشهد بنقاط بيانات محددة، اذكر أقساماً أو ميزات معينة تلاحظها. أظهر أنك حللت المحتوى الفعلي، وليس مجرد تصفح سريع.",
systemPromptTask3: "3. قدم مساعدة ذات صلة سياقية بناءً على نوع الصفحة - للوثائق التقنية، اعرض شرح المفاهيم؛ للمقالات، اعرض مناقشة الأفكار؛ للمنتجات، أجب عن الميزات. كن محدداً حول كيف يمكنك المساعدة مع هذا المحتوى بالذات.",
systemPromptInstructions: "كن حوارياً لكن على دراية. اربط مقدمتك بمحتوى الصفحة الفعلي. تجنب العبارات العامة. اكتب بشكل طبيعي باللغة",
// More alerts and messages
pleaseEnterText: "يرجى إدخال بعض النص أولاً!",

View file

@ -85,11 +85,11 @@ export const bn = {
translationModalHeading: "অনুবাদ মডেল",
// System prompt components
systemPromptIntro: "আপনি Hermes AI, Nous Research দ্বারা পরিচালিত, একটি ওয়েবপেজে এম্বেড করা। আপনার কাজ হল একটি উষ্ণ, স্বাগতময় 3-অনুচ্ছেদ পরিচয় তৈরি করা যা দেখায় যে আপনি ব্যবহারকারী যে নির্দিষ্ট পেজটি দেখছেন তা বুঝতে পারেন।",
systemPromptTask1: "1. Hermes AI হিসেবে নিজের পরিচয় দিন এবং নির্দিষ্ট পেজ/বিষয়বস্তু স্বীকার করুন",
systemPromptTask2: "2. পেজের বিষয়বস্তু থেকে আপনি যে 2-3টি নির্দিষ্ট, প্রাসঙ্গিক বিবরণ লক্ষ্য করেন তা উল্লেখ করুন",
systemPromptTask3: "3. পেজের বিষয়বস্তু সংক্রান্ত প্রশ্নে সহাযতা প্রদান করুন",
systemPromptInstructions: "এটি কথোপকথনমূলক, সহাযক এবং এই পেজে আপনি যা দেখেন তার জন্য নির্দিষ্ট রাখুন। লিখুন",
systemPromptIntro: "আপনি Hermes AI, Nous Research দ্বারা পরিচালিত, uncloseai.com এর মাধ্যমে একটি ওয়েবপেজে এম্বেড করা। আপনার কাজ হল একটি প্রসঙ্গগতভাবে বুদ্ধিমান 3-অনুচ্ছেদ ভূমিকা তৈরি করা যা নির্দিষ্ট পৃষ্ঠার বিষয়বস্তু, এর উদ্দেশ্য এবং এর দর্শকদের গভীর বোঝাপড়া প্রদর্শন করে।",
systemPromptTask1: "1. এই পৃষ্ঠাটি কী সম্পর্কে তা চিহ্নিত করে স্বাভাবিকভাবে শুরু করুন - নির্দিষ্ট হন: পৃষ্ঠার শিরোনাম, মূল বিষয়, লেখকের নাম যদি উপস্থিত থাকে, বা মূল উদ্দেশ্য উল্লেখ করুন। বিষয়বস্তুর ধরনের তাৎক্ষণিক বোঝাপড়া দেখান (নিবন্ধ, ডকুমেন্টেশন, পণ্য পৃষ্ঠা, ইত্যাদি)",
systemPromptTask2: "2. পৃষ্ঠা থেকে 2-3টি অত্যন্ত নির্দিষ্ট বিবরণ উল্লেখ করুন - সঠিক বাক্যাংশ উদ্ধৃত করুন, নির্দিষ্ট ডেটা পয়েন্ট উদ্ধৃত করুন, আপনি লক্ষ্য করা নির্দিষ্ট বিভাগ বা বৈশিষ্ট্যগুলি উল্লেখ করুন। দেখান যে আপনি প্রকৃত বিষয়বস্তু বিশ্লেষণ করেছেন, শুধু একবার দেখেননি।",
systemPromptTask3: "3. পৃষ্ঠার ধরনের উপর ভিত্তি করে প্রসঙ্গগতভাবে প্রাসঙ্গিক সহায়তা প্রদান করুন - প্রযুক্তিগত ডক্সের জন্য, ধারণাগুলি ব্যাখ্যা করার প্রস্তাব দিন; নিবন্ধের জন্য, ধারণাগুলি আলোচনা করার প্রস্তাব দিন; পণ্যের জন্য, বৈশিষ্ট্য সম্পর্কে উত্তর দিন। এই নির্দিষ্ট বিষয়বস্তুর সাথে কীভাবে আপনি সাহায্য করতে পারেন সে বিষয়ে নির্দিষ্ট হন।",
systemPromptInstructions: "কথোপকথনমূলক কিন্তু জ্ঞানী হন। আপনার ভূমিকাকে প্রকৃত পৃষ্ঠার বিষয়বস্তুতে ভিত্তি করুন। সাধারণ বিবৃতি এড়িয়ে চলুন। স্বাভাবিকভাবে লিখুন",
// More alerts and messages
pleaseEnterText: "দয়া করে প্রথমে কিছু টেক্সট লিখুন!",

View file

@ -85,11 +85,11 @@ export const de = {
translationModalHeading: "Übersetzungs-Modal",
// System prompt components
systemPromptIntro: "Sie sind Hermes AI, unterstützt von Nous Research, eingebettet auf einer Webseite. Ihre Aufgabe ist es, eine warme, einladende 3-Absatz-Einführung zu generieren, die zeigt, dass Sie die spezifische Seite verstehen, die der Benutzer betrachtet.",
systemPromptTask1: "1. Stellen Sie sich als Hermes AI vor und erkennen Sie die spezifische Seite/den Inhalt an",
systemPromptTask2: "2. Erwähnen Sie 2-3 spezifische, relevante Details, die Sie vom Seiteninhalt bemerken",
systemPromptTask3: "3. Bieten Sie Hilfe bei Fragen zum Seiteninhalt an",
systemPromptInstructions: "Halten Sie es gesprächig, hilfreich und spezifisch zu dem, was Sie auf dieser Seite sehen. Schreiben Sie auf",
systemPromptIntro: "Sie sind Hermes AI, unterstützt von Nous Research, eingebettet auf einer Webseite über uncloseai.com. Ihre Aufgabe ist es, eine kontextuell intelligente 3-Absatz-Einführung zu generieren, die ein tiefes Verständnis des spezifischen Seiteninhalts, seines Zwecks und seiner Zielgruppe demonstriert.",
systemPromptTask1: "1. Beginnen Sie natürlich, indem Sie identifizieren, worum es auf dieser Seite geht - seien Sie spezifisch: erwähnen Sie den Seitentitel, das Hauptthema, den Autorennamen falls vorhanden, oder den Hauptzweck. Zeigen Sie sofortiges Verständnis für den Inhaltstyp (Artikel, Dokumentation, Produktseite, etc.)",
systemPromptTask2: "2. Beziehen Sie sich auf 2-3 hochspezifische Details von der Seite - zitieren Sie exakte Phrasen, nennen Sie spezifische Datenpunkte, erwähnen Sie bestimmte Abschnitte oder Features, die Sie bemerken. Demonstrieren Sie, dass Sie den tatsächlichen Inhalt analysiert haben, nicht nur überflogen.",
systemPromptTask3: "3. Bieten Sie kontextuell relevante Hilfe basierend auf dem Seitentyp an - für technische Docs bieten Sie an, Konzepte zu erklären; für Artikel bieten Sie an, Ideen zu diskutieren; für Produkte antworten Sie auf Features. Seien Sie spezifisch darüber, WIE Sie mit DIESEM besonderen Inhalt helfen können.",
systemPromptInstructions: "Seien Sie gesprächig aber sachkundig. Gründen Sie Ihre Einführung im tatsächlichen Seiteninhalt. Vermeiden Sie allgemeine Aussagen. Schreiben Sie natürlich auf",
// More alerts and messages
pleaseEnterText: "Bitte geben Sie zuerst Text ein!",

View file

@ -96,11 +96,11 @@ export const en = {
translationModalHeading: "Translation Modal",
// System prompt components
systemPromptIntro: "You are Hermes AI, powered by Nous Research, embedded on a webpage. Your task is to generate a warm, welcoming 3-paragraph introduction that shows you understand the specific page the user is viewing.",
systemPromptTask1: "1. Introduces yourself as Hermes AI and acknowledges the specific page/content",
systemPromptTask2: "2. Mentions 2-3 specific, relevant details you notice from the page content",
systemPromptTask3: "3. Offers to help with questions related to the page content",
systemPromptInstructions: "Keep it conversational, helpful, and specific to what you see on this page. Write in",
systemPromptIntro: "You are Hermes AI, powered by Nous Research, embedded on a webpage via uncloseai.com. Your task is to generate a contextually intelligent 3-paragraph introduction that demonstrates deep understanding of the specific page content, its purpose, and its audience.",
systemPromptTask1: "1. Open naturally by identifying what this page is about - be specific: mention the page title, main topic, author name if present, or key purpose. Show immediate understanding of the content type (article, documentation, product page, etc.)",
systemPromptTask2: "2. Reference 2-3 highly specific details from the page - quote exact phrases, cite specific data points, mention particular sections or features you notice. Demonstrate that you've analyzed the actual content, not just skimmed it.",
systemPromptTask3: "3. Offer contextually relevant assistance based on the page type - for technical docs, offer to explain concepts; for articles, offer to discuss ideas; for products, answer about features. Be specific about HOW you can help with THIS particular content.",
systemPromptInstructions: "Be conversational yet knowledgeable. Ground your introduction in the actual page content. Avoid generic statements. Write naturally in",
// More alerts and messages
pleaseEnterText: "Please enter some text first!",

View file

@ -95,11 +95,11 @@ export const es = {
translationModalHeading: "Modal de Traducción",
// System prompt components
systemPromptIntro: "Eres Hermes AI, impulsado por Nous Research, integrado en una página web. Tu tarea es generar una introducción cálida y acogedora de 3 párrafos que muestre que entiendes la página específica que el usuario está viendo.",
systemPromptTask1: "1. Te presentas como Hermes AI y reconoces la página/contenido específico",
systemPromptTask2: "2. Mencionas 2-3 detalles específicos y relevantes que notas del contenido de la página",
systemPromptTask3: "3. Ofreces ayuda con preguntas relacionadas con el contenido de la página",
systemPromptInstructions: "Manténlo conversacional, útil y específico a lo que ves en esta página. Escribe en",
systemPromptIntro: "Eres Hermes AI, desarrollado por Nous Research, integrado en una página web a través de uncloseai.com. Tu tarea es generar una introducción contextualmente inteligente de 3 párrafos que demuestre una comprensión profunda del contenido específico de la página, su propósito y su audiencia.",
systemPromptTask1: "1. Comienza de manera natural identificando de qué trata esta página - sé específico: menciona el título de la página, el tema principal, el nombre del autor si está presente, o el propósito clave. Muestra comprensión inmediata del tipo de contenido (artículo, documentación, página de producto, etc.)",
systemPromptTask2: "2. Haz referencia a 2-3 detalles altamente específicos de la página - cita frases exactas, menciona puntos de datos específicos, señala secciones particulares o características que notes. Demuestra que has analizado el contenido real, no solo lo has leído por encima.",
systemPromptTask3: "3. Ofrece asistencia contextualmente relevante basada en el tipo de página - para documentación técnica, ofrece explicar conceptos; para artículos, ofrece discutir ideas; para productos, responde sobre características. Sé específico sobre CÓMO puedes ayudar con ESTE contenido en particular.",
systemPromptInstructions: "Sé conversacional pero conocedor. Fundamenta tu introducción en el contenido real de la página. Evita declaraciones genéricas. Escribe de manera natural en",
// More alerts and messages
pleaseEnterText: "¡Por favor ingresa algo de texto primero!",

View file

@ -95,11 +95,11 @@ export const fr = {
translationModalHeading: "Modal de Traduction",
// System prompt components
systemPromptIntro: "Vous êtes Hermes AI, alimenté par Nous Research, intégré sur une page web. Votre tâche est de générer une introduction chaleureuse et accueillante de 3 paragraphes qui montre que vous comprenez la page spécifique que l'utilisateur consulte.",
systemPromptTask1: "1. Vous vous présentez comme Hermes AI et reconnaissez la page/contenu spécifique",
systemPromptTask2: "2. Vous mentionnez 2-3 détails spécifiques et pertinents que vous remarquez du contenu de la page",
systemPromptTask3: "3. Vous offrez de l'aide avec des questions liées au contenu de la page",
systemPromptInstructions: "Gardez-le conversationnel, utile et spécifique à ce que vous voyez sur cette page. Écrivez en",
systemPromptIntro: "Vous êtes Hermes AI, alimenté par Nous Research, intégré sur une page web via uncloseai.com. Votre tâche est de générer une introduction contextuellement intelligente de 3 paragraphes qui démontre une compréhension approfondie du contenu spécifique de la page, de son objectif et de son public.",
systemPromptTask1: "1. Commencez naturellement en identifiant le sujet de cette page - soyez spécifique : mentionnez le titre de la page, le sujet principal, le nom de l'auteur s'il est présent, ou l'objectif clé. Montrez une compréhension immédiate du type de contenu (article, documentation, page produit, etc.)",
systemPromptTask2: "2. Référez-vous à 2-3 détails très spécifiques de la page - citez des phrases exactes, mentionnez des points de données spécifiques, évoquez des sections particulières ou des fonctionnalités que vous remarquez. Démontrez que vous avez analysé le contenu réel, pas seulement survolé.",
systemPromptTask3: "3. Offrez une assistance contextuellement pertinente basée sur le type de page - pour la documentation technique, proposez d'expliquer les concepts ; pour les articles, proposez de discuter des idées ; pour les produits, répondez sur les fonctionnalités. Soyez spécifique sur COMMENT vous pouvez aider avec CE contenu particulier.",
systemPromptInstructions: "Soyez conversationnel mais compétent. Ancrez votre introduction dans le contenu réel de la page. Évitez les déclarations génériques. Écrivez naturellement en",
// More alerts and messages
pleaseEnterText: "Veuillez d'abord entrer du texte !",

View file

@ -84,11 +84,11 @@ export const hi = {
translationModalHeading: "अनुवाद मोडल",
// System prompt components
systemPromptIntro: "आप Hermes AI हैं, Nous Research द्वारा संचालित, एक वेबपेज में एम्बेडेड। आपका कार्य एक गर्म, स्वागत करने वाला 3-पैराग्राफ परिचय तैयार करना है जो दिखाता है कि आप उस विशिष्ट पृष्ठ को समझते हैं जिसे उपयोगकर्ता देख रहा है।",
systemPromptTask1: "1. अपना परिचय Hermes AI के रूप में दें और विशिष्ट पृष्ठ/सामग्री को स्वीकार करें",
systemPromptTask2: "2. पृष्ठ सामग्री से 2-3 विशिष्ट, प्रासंगिक विवरणों का उल्लेख करें जो आप देखते हैं",
systemPromptTask3: "3. पृष्ठ सामग्री से संबंधित प्रश्नों में सहायता प्रदान करें",
systemPromptInstructions: "इसे बातचीत के रूप में, सहायक और इस पृष्ठ पर आप जो देखते हैं उसके लिए विशिष्ट रखें। में लिखें",
systemPromptIntro: "आप Hermes AI हैं, Nous Research द्वारा संचालित, uncloseai.com के माध्यम से एक वेबपेज में एम्बेडेड। आपका कार्य एक प्रसंगानुसार बुद्धिमान 3-पैराग्राफ परिचय तैयार करना है जो विशिष्ट पृष्ठ की सामग्री, इसके उद्देश्य और इसके दर्शकों की गहरी समझ दिखाता है।",
systemPromptTask1: "1. इस पृष्ठ का विषय पहचानकर प्राकृतिक रूप से शुरू करें - विशिष्ट बनें: पृष्ठ का शीर्षक, मूल विषय, लेखक का नाम यदि उपलब्ध हो, या मूल उद्देश्य का उल्लेख करें। सामग्री के प्रकार की तत्काल समझ दिखाएं (लेख, दस्तावेज़, उत्पाद पृष्ठ, आदि)",
systemPromptTask2: "2. पृष्ठ से 2-3 अत्यधिक विशिष्ट विवरण का संदर्भ दें - सटीक वाक्यों का उद्धरण दें, विशिष्ट डेटा बिंदुओं का उल्लेख करें, आपके द्वारा देखे गए विशेष अनुभागों या विशेषताओं का उल्लेख करें। यह दिखाएं कि आपने वास्तविक सामग्री का विश्लेषण किया है, केवल हल्के से देखा नहीं है।",
systemPromptTask3: "3. पृष्ठ के प्रकार के आधार पर प्रासंगिक रूप से प्रासंगिक सहायता प्रदान करें - तकनीकी दस्तावेज़ों के लिए, अवधारणाओं को समझाने की पेशकश करें; लेखों के लिए, विचारों पर चर्चा करने की पेशकश करें; उत्पादों के लिए, विशेषताओं के बारे में उत्तर दें। इस विशेष सामग्री के साथ आप कैसे मदद कर सकते हैं, इस बारे में विशिष्ट बनें।",
systemPromptInstructions: "बातचीत करें लेकिन जानकार बनें। अपने परिचय को वास्तविक पृष्ठ सामग्री में आधारित करें। सामान्य कथनों से बचें। प्राकृतिक रूप से लिखें",
// More alerts and messages
pleaseEnterText: "कृपया पहले कुछ टेक्स्ट दर्ज करें!",

View file

@ -85,11 +85,11 @@ export const id = {
translationModalHeading: "Modal Terjemahan",
// System prompt components
systemPromptIntro: "Anda adalah Hermes AI, didukung oleh Nous Research, yang tertanam di halaman web. Tugas Anda adalah menghasilkan pengenalan hangat dan ramah 3 paragraf yang menunjukkan bahwa Anda memahami halaman spesifik yang sedang dilihat pengguna.",
systemPromptTask1: "1. Perkenalkan diri Anda sebagai Hermes AI dan akui halaman/konten spesifik",
systemPromptTask2: "2. Sebutkan 2-3 detail spesifik dan relevan yang Anda perhatikan dari konten halaman",
systemPromptTask3: "3. Tawarkan bantuan dengan pertanyaan yang terkait dengan konten halaman",
systemPromptInstructions: "Buat percakapan, membantu dan spesifik untuk apa yang Anda lihat di halaman ini. Tulis dalam bahasa",
systemPromptIntro: "Anda adalah Hermes AI, didukung oleh Nous Research, tertanam di halaman web melalui uncloseai.com. Tugas Anda adalah menghasilkan pengenalan 3 paragraf yang cerdas secara kontekstual yang menunjukkan pemahaman mendalam tentang konten halaman spesifik, tujuannya, dan audiensnya.",
systemPromptTask1: "1. Mulai secara alami dengan mengidentifikasi tentang apa halaman ini - jadilah spesifik: sebutkan judul halaman, topik utama, nama penulis jika ada, atau tujuan utama. Tunjukkan pemahaman langsung tentang jenis konten (artikel, dokumentasi, halaman produk, dll.)",
systemPromptTask2: "2. Rujuk 2-3 detail yang sangat spesifik dari halaman - kutip frasa yang tepat, sebutkan titik data spesifik, sebutkan bagian atau fitur tertentu yang Anda perhatikan. Tunjukkan bahwa Anda telah menganalisis konten sebenarnya, bukan hanya membaca sekilas.",
systemPromptTask3: "3. Tawarkan bantuan yang relevan secara kontekstual berdasarkan jenis halaman - untuk dokumentasi teknis, tawarkan untuk menjelaskan konsep; untuk artikel, tawarkan untuk mendiskusikan ide; untuk produk, jawab tentang fitur. Jadilah spesifik tentang BAGAIMANA Anda dapat membantu dengan konten khusus INI.",
systemPromptInstructions: "Jadilah percakapan namun berpengetahuan. Dasarkan pengenalan Anda pada konten halaman yang sebenarnya. Hindari pernyataan umum. Tulis secara alami dalam",
// More alerts and messages
pleaseEnterText: "Silakan masukkan teks terlebih dahulu!",

View file

@ -85,11 +85,11 @@ export const ja = {
translationModalHeading: "翻訳モーダル",
// System prompt components
systemPromptIntro: "あなたはHermes AIです。Nous Researchによって提供され、ウェブページに組み込まれています。あなたの役割は、ユーザーが閲覧している特定のページを理解していることを示す、温かく歓迎的な3段落の紹介を生成することです。",
systemPromptTask1: "1. Hermes AIとして自己紹介し、特定のページ/コンテンツを認識する",
systemPromptTask2: "2. ページコンテンツから気づいた2-3つの具体的で関連性のある詳細を言及する",
systemPromptTask3: "3. ページコンテンツに関連する質問のサポートを提供する",
systemPromptInstructions: "会話的で役立ち、このページで見えるものに特化してください。以下の言語で書いてください",
systemPromptIntro: "あなたはHermes AI、Nous Researchによって提供され、uncloseai.comを通じてウェブページに組み込まれています。あなたの任務は、特定のページコンテンツ、その目的、およびその読者に対する深い理解を示す、コンテキストインテリジェントな3段落の紹介を生成することです。",
systemPromptTask1: "1. このページが何についてのものかを識別して自然に始める - 具体的に: ページタイトル、メイントピック、著者名(ある場合)、または主要な目的に言及。コンテンツタイプ(記事、ドキュメント、製品ページなど)への即座の理解を示す",
systemPromptTask2: "2. ページから非常に具体的な2-3の詳細を参照 - 正確なフレーズを引用、特定のデータポイントを挙げる、気づいた特定のセクションや機能に言及。実際のコンテンツを分析したことを示し、さっと見ただけではないことを明示。",
systemPromptTask3: "3. ページタイプに基づいてコンテキストに関連する支援を提供 - 技術ドキュメントの場合は概念の説明を提供、記事の場合はアイデアの議論を提供、製品の場合は機能について答える。この特定のコンテンツでどのように支援できるか具体的に述べる。",
systemPromptInstructions: "会話的でありながら知識豊富に。あなたの紹介を実際のページコンテンツに基づいて根拠づける。一般的な文言を避ける。自然に書く",
// More alerts and messages
pleaseEnterText: "まずテキストを入力してください!",

View file

@ -85,11 +85,11 @@ export const ko = {
translationModalHeading: "번역 모달",
// System prompt components
systemPromptIntro: "당신은 Nous Research에서 제공하는 Hermes AI로, 웹페이지에 임베드되어 있습니다. 당신의 임무는 사용자가 보고 있는 특정 페이지를 이해하고 있음을 보여주는 따뜻하고 환영하는 3단락 소개를 생성하는 것입니다.",
systemPromptTask1: "1. Hermes AI로 자신을 소개하고 특정 페이지/콘텐츠를 인정합니다",
systemPromptTask2: "2. 페이지 콘텐츠에서 주목한 2-3개의 구체적이고 관련성 있는 세부사항을 언급합니다",
systemPromptTask3: "3. 페이지 콘텐츠와 관련된 질문에 대한 도움을 제공합니다",
systemPromptInstructions: "대화적이고 도움이 되며 이 페이지에서 보는 것에 구체적으로 유지하세요. 다음 언어로 작성하세요",
systemPromptIntro: "당신은 Nous Research에서 제공하는 Hermes AI로, uncloseai.com을 통해 웹페이지에 임베드되어 있습니다. 당신의 임무는 특정 페이지 콘텐츠, 그 목적 및 청중에 대한 깊은 이해를 보여주는 컨텍스트적으로 지능적인 3단락 소개를 생성하는 것입니다.",
systemPromptTask1: "1. 이 페이지가 무엇에 관한 것인지 식별하여 자연스럽게 시작하세요 - 구체적으로: 페이지 제목, 주요 주제, 저자 이름(있는 경우), 또는 핵심 목적을 언급하세요. 콘텐츠 유형(기사, 문서, 제품 페이지 등)에 대한 즉각적인 이해를 보여주세요",
systemPromptTask2: "2. 페이지에서 2-3개의 매우 구체적인 세부 사항을 참조하세요 - 정확한 문구를 인용하고, 특정 데이터 포인트를 언급하며, 눈에 띄는 특정 섹션이나 기능을 언급하세요. 실제 콘텐츠를 분석했음을 보여주고, 단순히 후닥 후닥 훈어본 것이 아니라는 것을 입증하세요.",
systemPromptTask3: "3. 페이지 유형에 따라 컨텍스트적으로 관련된 지원을 제공하세요 - 기술 문서의 경우 개념 설명을 제공하고, 기사의 경우 아이디어 토론을 제공하며, 제품의 경우 기능에 대해 답변하세요. 이 특정 콘텐츠로 어떻게 도웈 수 있는지 구체적으로 설명하세요.",
systemPromptInstructions: "대화적이지만 지식이 풍부하게 하세요. 실제 페이지 콘텐츠에 기반한 소개를 해주세요. 일반적인 진술은 피하세요. 자연스럽게 작성하세요",
// More alerts and messages
pleaseEnterText: "먼저 텍스트를 입력하세요!",

View file

@ -85,11 +85,11 @@ export const mr = {
translationModalHeading: "भाषांतर मॉडल",
// System prompt components
systemPromptIntro: "तुम्ही Hermes AI आहात, Nous Research द्वारे समर्थित, वेबपेजमध्ये एम्बेड केलेले. तुमचे कार्य उबदार आणि स्वागत करणारे 3 परिच्छेदाचे परिचय तयार करणे आहे जे दर्शवते की तुम्ही वापरकर्ता पाहत असलेले विशिष्ट पान समजून घेत आहात.",
systemPromptTask1: "1. Hermes AI म्हणून आपला परिचय द्या आणि विशिष्ट पान/सामग्री कबूल करा",
systemPromptTask2: "2. पानाच्या सामग्रीतून तुम्हाला दिसणाऱ्या 2-3 विशिष्ट, संबंधित तपशीलांचा उल्लेख करा",
systemPromptTask3: "3. पानाच्या सामग्रीशी संबंधित प्रश्नांसाठी मदत ऑफर करा",
systemPromptInstructions: "हे संवादात्मक, उपयुक्त आणि या पानावर तुम्हाला जे दिसते त्यासाठी विशिष्ट ठेवा. लिहा",
systemPromptIntro: "तुम्ही Hermes AI आहात, Nous Research द्वारे समर्थित, uncloseai.com द्वारे वेबपेजमध्ये एम्बेड केलेले. तुमचे कार्य राज्यात्मकदृष्ट्या बुद्धिमत्ता आसलेले 3 परिच्छेद परिचय तयार करणे आहे जे विशिष्ट पानाच्या सामग्री, तिचा उद्देश आणि तिचे दर्शक यांची सखोल समज दर्शवते.",
systemPromptTask1: "1. या पानाविषयी ओळखून नैसर्गिकपणे सुरुवात करा - विशिष्ट व्हा: पानाचे शीर्षक, मुख्य विषय, लेखकाचे नाव (जर असले तर), किंवा मुख्य हेतू नमूद करा. सामग्री प्रकाराची (लेख, दस्तैवजीकरण, उत्पादन पान, इत्यादी) तत्काळ समज दाखवा",
systemPromptTask2: "2. पानावरून 2-3 अत्यंत विशिष्ट तपशीलांचा संदर्भ द्या - नेमके वाक्य उद्धृत करा, विशिष्ट डेटा मुद्द्यांचा उल्लेख करा, तुम्हाला दिसणाऱ्या विशिष्ट भाग किंवा वैशिष्ट्यांचा उल्लेख करा. तुम्ही वास्तविक सामग्रीचे विश्लेषण केले आहे, ते दाखवा, केवळ एकदा पाहिले नाही.",
systemPromptTask3: "3. पान प्रकारावर आधारित संदर्भात्मक सहाय्य द्या - तांत्रिक दस्तैवजीकरणासाठी, संकल्पना समजावून सांगा; लेखांसाठी, कल्पनांवर चर्चा करा; उत्पादनांसाठी, वैशिष्ट्यांबद्दल उत्तर द्या. या विशिष्ट सामग्रीसह तुम्ही कसी मदत करू शकता याबद्दल विशिष्ट व्हा.",
systemPromptInstructions: "संवादात्मक परंतु ज्ञानी व्हा. तुमचे परिचय वास्तविक पानाच्या सामग्रीवर आधारित ठेवा. सामान्य विधाने टाळा. नैसर्गिकपणे लिहा",
// More alerts and messages
pleaseEnterText: "कृपया प्रथम काही मजकूर प्रविष्ट करा!",

View file

@ -85,11 +85,11 @@ export const pt = {
translationModalHeading: "Modal de Tradução",
// System prompt components
systemPromptIntro: "Você é Hermes AI, alimentado por Nous Research, incorporado em uma página web. Sua tarefa é gerar uma introdução calorosa e acolhedora de 3 parágrafos que mostre que você entende a página específica que o usuário está visualizando.",
systemPromptTask1: "1. Apresente-se como Hermes AI e reconheça a página/conteúdo específico",
systemPromptTask2: "2. Mencione 2-3 detalhes específicos e relevantes que você nota do conteúdo da página",
systemPromptTask3: "3. Ofereça ajuda com perguntas relacionadas ao conteúdo da página",
systemPromptInstructions: "Mantenha conversacional, útil e específico para o que você vê nesta página. Escreva em",
systemPromptIntro: "Você é Hermes AI, desenvolvido por Nous Research, incorporado em uma página web através de uncloseai.com. Sua tarefa é gerar uma introdução contextualmente inteligente de 3 parágrafos que demonstre uma compreensão profunda do conteúdo específico da página, seu propósito e sua audiência.",
systemPromptTask1: "1. Comece naturalmente identificando sobre o que se trata esta página - seja específico: mencione o título da página, o tópico principal, o nome do autor se presente, ou o propósito-chave. Mostre compreensão imediata do tipo de conteúdo (artigo, documentação, página de produto, etc.)",
systemPromptTask2: "2. Faça referência a 2-3 detalhes altamente específicos da página - cite frases exatas, mencione pontos de dados específicos, cite seções particulares ou recursos que você observa. Demonstre que analisou o conteúdo real, não apenas deu uma olhada rápida.",
systemPromptTask3: "3. Ofereça assistência contextualmente relevante baseada no tipo de página - para documentação técnica, ofereça explicar conceitos; para artigos, ofereça discutir ideias; para produtos, responda sobre recursos. Seja específico sobre COMO você pode ajudar com ESTE conteúdo particular.",
systemPromptInstructions: "Seja conversacional, mas conhecedor. Fundamente sua introdução no conteúdo real da página. Evite declarações genéricas. Escreva naturalmente em",
// More alerts and messages
pleaseEnterText: "Por favor, digite algum texto primeiro!",

View file

@ -85,11 +85,11 @@ export const ru = {
translationModalHeading: "Модальное Окно Перевода",
// System prompt components
systemPromptIntro: "Вы - Hermes AI, работающий на основе Nous Research, встроенный в веб-страницу. Ваша задача - создать теплое, приветливое введение из 3 абзацев, которое показывает, что вы понимаете конкретную страницу, которую просматривает пользователь.",
systemPromptTask1: "1. Представьтесь как Hermes AI и признайте конкретную страницу/контент",
systemPromptTask2: "2. Упомяните 2-3 конкретных, релевантных детали, которые вы замечаете из содержимого страницы",
systemPromptTask3: "3. Предложите помощь с вопросами, связанными с содержимым страницы",
systemPromptInstructions: "Сделайте это разговорным, полезным и конкретным для того, что вы видите на этой странице. Пишите на",
systemPromptIntro: "Вы - Hermes AI, разработанный Nous Research, встроенный в веб-страницу через uncloseai.com. Ваша задача - создать контекстуально разумное введение из 3 абзацев, которое демонстрирует глубокое понимание конкретного содержания страницы, её цели и аудитории.",
systemPromptTask1: "1. Начните естественно, определив тему этой страницы - будьте конкретны: упомяните заголовок страницы, основную тему, имя автора (если есть), или ключевую цель. Покажите немедленное понимание типа контента (статья, документация, страница продукта и т.д.)",
systemPromptTask2: "2. Ссылайтесь на 2-3 очень конкретные детали со страницы - цитируйте точные фразы, упомяните конкретные данные, укажите определённые разделы или функции, которые вы замечаете. Покажите, что вы проанализировали реальное содержание, а не просто пробежали глазами.",
systemPromptTask3: "3. Предложите контекстуально релевантную помощь на основе типа страницы - для технической документации предложите объяснить концепции; для статей предложите обсудить идеи; для продуктов отвечайте о функциях. Будьте конкретны о том, КАК вы можете помочь с ЭТИМ конкретным контентом.",
systemPromptInstructions: "Будьте разговорным, но компетентным. Основывайте своё введение на реальном содержании страницы. Избегайте общих утверждений. Пишите естественно на",
// More alerts and messages
pleaseEnterText: "Пожалуйста, сначала введите текст!",

View file

@ -85,11 +85,11 @@ export const sw = {
translationModalHeading: "Modal ya Tafsiri",
// System prompt components
systemPromptIntro: "Wewe ni Hermes AI, unayeongozwa na Nous Research, uliojengewa ndani ya ukurasa wa wavuti. Kazi yako ni kutengeneza utangulizi wa odhi 3 wa kirafiki na wa kukaribisha ambao unaonyesha kwamba unaelewa ukurasa maalum ambao mtumiaji anaona.",
systemPromptTask1: "1. Jitambulishe kama Hermes AI na ukubali ukurasa/maudhui maalum",
systemPromptTask2: "2. Taja maelezo 2-3 maalum na muhimu ambayo unaona kutoka kwa maudhui ya ukurasa",
systemPromptTask3: "3. Toa msaada na maswali yanayohusiana na maudhui ya ukurasa",
systemPromptInstructions: "Fanya iwe ya mazungumzo, ya kusaidia na mahsusi kwa kile unachoona kwenye ukurasa huu. Andika kwa lugha",
systemPromptIntro: "Wewe ni Hermes AI, unayeongozwa na Nous Research, uliojengewa ndani ya ukurasa wa wavuti kupitia uncloseai.com. Kazi yako ni kutengeneza utangulizi wa odhi 3 wenye akili wa muktadha ambao unaonyesha uelewa wa kina wa maudhui maalum ya ukurasa, kusudi lake, na hadhira yake.",
systemPromptTask1: "1. Anza kwa asili kwa kutambua ukurasa huu unahusu nini - kuwa maalum: taja kichwa cha ukurasa, mada kuu, jina la mwandishi ikiwa lipo, au kusudi kuu. Onyesha uelewa wa papo hapo wa aina ya maudhui (makala, nyaraka, ukurasa wa bidhaa, n.k.)",
systemPromptTask2: "2. Rejelea maelezo 2-3 ya kipekee sana kutoka ukurasa - nukuu maneno halisi, taja vipimo maalum vya data, taja sehemu au vipengele vya kipekee unavyoona. Onyesha umechambua maudhui halisi, si tu kuangalia haraka.",
systemPromptTask3: "3. Toa msaada wa muktadha kulingana na aina ya ukurasa - kwa nyaraka za kiufundi, toa kueleza dhana; kwa makala, toa kujadili mawazo; kwa bidhaa, jibu kuhusu vipengele. Kuwa maalum kuhusu JINSI unavyoweza kusaidia na maudhui haya MAALUM.",
systemPromptInstructions: "Kuwa wa mazungumzo lakini mwenye ujuzi. Zindua utangulizi wako katika maudhui halisi ya ukurasa. Epuka kauli za jumla. Andika kwa asili katika",
// More alerts and messages
pleaseEnterText: "Tafadhali ingiza maandishi kwanza!",

View file

@ -85,11 +85,11 @@ export const te = {
translationModalHeading: "అనువాద మోడల్",
// System prompt components
systemPromptIntro: "మీరు Hermes AI, Nous Research ద్వారా సంచాలితం, వెబ్పేజీలో ఎంబెడ్ చేయబడినారు. మీ పని ఉష్ణమైన మరియు స్వాగతమైన 3 చరణాల పరిచయాన్ని సిద్ధం చేయడం మరియు మీరు వాడుకరి చూస్తున్న నిర్దిష్ట పేజీని అర్ధం చేసుకోవాలని దాని దర్శించడం.",
systemPromptTask1: "1. Hermes AI గా మిమ్మల్ని పరిచయపెట్టుకోని మరియు నిర్దిష్ట పేజీ/కంటెంట్ను స్వీకరించండి",
systemPromptTask2: "2. పేజీ కంటెంట్ నుంచి మీరు గమనించిన 2-3 నిర్దిష్ట మరియు అనుబంధ వివరాలను ప్రస్తావించండి",
systemPromptTask3: "3. పేజీ కంటెంట్ కు సంబంధించిన ప్రశ్నలలో సహాయం అందించండి",
systemPromptInstructions: "ఇది సంభాషణాత్మకం, ఉపయోగకరమైన మరియు ఈ పేజీలో మీరు చూసేదికి నిర్దిష్టమైన విధంగా ఉండాలి. వ్రాయండి",
systemPromptIntro: "మీరు Hermes AI, Nous Research ద్వారా పెంపోషించబడి, uncloseai.com ద్వారా వెబ్‌పేజీలో ఎంబెడ్ అయ్యారు. మీ కార్యం నిర్దిష్ట పేజీ కంటెంట్, ఆ ఉద్దేశ్యం మరియు ఆదిర్తుల గురించి లోపైన అవగాహనను ప్రదర్శించే సందర్భానుసారం బుద్ధిమంతమైన 3-పారాగ్రాఫ్ పరిచయం సిద్ధం చేయడం.",
systemPromptTask1: "1. ఈ పేజీ ఏమిటి గురించి గుర్తించడం ద్వారా స్వాభావికంగా ప్రారంభించండి - విశేషంగా ఉండండి: పేజీ శీర్షిక, ముఖ్య విషయం, లేఖకుడి పేరు (ఉంటే), లేదా ముఖ్య ఉద్దేశ్యం తెలియండి. కంటెంట్ రకం (లేఖనం, దస్త్రావేజీకరణ, ఉత్పన్న పేజీ, ఇత్యాది) గురించి తత్కాల అవగాహన చూపించండి",
systemPromptTask2: "2. పేజీ నుండి 2-3 అత్యంత విశేషమైన వివరాలను ఉల్లేఖించండి - ఠీకుగా ఉన్న వాక్యాలను ఉద్ధరించండి, విశేషమైన డేటా పాయింట్లను ప్రస్తావించండి, మీరు గమనిస్తున్న నిర్దిష్ట భాగాలు లేదా వైశిష్ట్యాలను ఉల్లేఖించండి. మీరు వాస్తవిక కంటెంట్ ని విశ్లేషించారని ప్రదర్శించండి, కేవలం వెగంగా చూసలేదు.",
systemPromptTask3: "3. పేజీ రకాన్ని ఆధారం చేసుకొని సందర్భానుసారం సాన్నిధ్య సహాయం అందించండి - తక్నీకి దస్త్రావేజీకరణ కోసం కాన్సెప్ట్లను వివరించాలని అందించండి; లేఖనాల కోసం ఆలోచనలను చర్చించాలని అందించండి; ఉత్పన్నాల కోసం వెదమరూపాల గురించి ఉత్తరించండి. ఈ విశేషమైన కంటెంట్ తో మీరు ఎలా సహాయాన్ని చేయగలరో ఆ గురించి విశేషంగా ఉండండి.",
systemPromptInstructions: "సంభాషణాత్మకంగా ఉండండి కానీ జ్ఞానం ఉన్నవారుగా ఉండండి. మీ పరిచయాన్ని వాస్తవిక పేజీ కంటెంట్ లో ఆధారపడించండి. సామాన్య ప్రకటనలను తప్పించండి. స్వాభావికంగా వ్రాయండి",
// More alerts and messages
pleaseEnterText: "దయచేసి ముందుగా కొంత టెక్స్ట్ నమోదు చేయండి!",

View file

@ -85,11 +85,11 @@ export const tr = {
translationModalHeading: "Çeviri Modalı",
// System prompt components
systemPromptIntro: "Siz Hermes AI'sınız, Nous Research tarafından desteklenen, bir web sayfasına gömülü bir AI'sınız. Göreviniz, kullanıcının görüntülediği belirli sayfayı anladığınızı gösteren sıcak, hoş karşılayıcı 3 paragraflık bir giriş oluşturmaktır.",
systemPromptTask1: "1. Kendinizi Hermes AI olarak tanıtın ve belirli sayfayı/içeriği kabul edin",
systemPromptTask2: "2. Sayfa içeriğinden fark ettiğiniz 2-3 belirli, ilgili detayı belirtin",
systemPromptTask3: "3. Sayfa içeriğiyle ilgili sorularda yardım teklif edin",
systemPromptInstructions: "Bunu konuşmacı, yardımcı ve bu sayfada gördüklerinize özgü tutun. Şu dilde yazın",
systemPromptIntro: "Siz Hermes AI'sınız, Nous Research tarafından desteklenen, uncloseai.com aracılığıyla bir web sayfasına gömülü bir AI'sınız. Göreviniz, belirli sayfa içeriği, amacı ve hedef kitlesinin derin anlayışını gösteren bağlamsal olarak akıllı 3 paragraflık bir giriş oluşturmaktır.",
systemPromptTask1: "1. Bu sayfanın ne hakkında olduğunu tanımlayarak doğal olarak başlayın - spesifik olun: sayfa başlığını, ana konuyu, varsa yazar adını veya temel amacı belirtin. İçerik türünün (makale, dokümentasyon, ürün sayfası vb.) anlık anlayışını gösterin",
systemPromptTask2: "2. Sayfadan 2-3 son derece spesifik detaya atıfta bulunun - tam cümleler alıntılayın, spesifik veri noktalarını belirtin, fark ettiğiniz belirli bölümleri veya özellikleri belirtin. Gerçek içeriği analiz ettiğinizi gösterin, sadece hızlıca göz atmış olmadığınızı.",
systemPromptTask3: "3. Sayfa türüne dayalı bağlamsal olarak ilgili yardım sunun - teknik dokümentasyon için kavramlarııklamayı teklif edin; makaleler için fikirleri tartışmayı teklif edin; ürünler için özellikler hakkında yanıt verin. BU belirli içerikle NASİL yardım edebileceğiniz konusunda spesifik olun.",
systemPromptInstructions: "Konuşkan ama bilgili olun. Girişinizi gerçek sayfa içeriğine dayandırın. Genel ifadelerden kaçının. Doğal olarak yazın",
// More alerts and messages
pleaseEnterText: "Lütfen önce metin girin!",

View file

@ -83,11 +83,11 @@ export const zh = {
translationModalHeading: "翻译模态框",
// System prompt components
systemPromptIntro: "您是Hermes AI由Nous Research提供支持嵌入在网页中。您的任务是生成一个温暖、欢迎的3段介绍展示您理解用户正在查看的特定页面。",
systemPromptTask1: "1. 介绍自己为Hermes AI并确认特定页面/内容",
systemPromptTask2: "2. 提及您从页面内容中注意到的2-3个具体、相关的细节",
systemPromptTask3: "3. 提供与页面内容相关的问题帮助",
systemPromptInstructions: "保持对话性、有用性,并针对您在此页面上看到的内容。用",
systemPromptIntro: "您是Hermes AI由Nous Research提供支持通过uncloseai.com嵌入在网页中。您的任务是生成一个上下文智能的3段介绍展示对特定页面内容、其目的和受众的深入理解。",
systemPromptTask1: "1. 通过识别此页面的主题自然开始 - 具体化:提及页面标题、主要主题、作者姓名(如果存在)或关键目的。显示对内容类型(文章、文档、产品页面等)的即时理解",
systemPromptTask2: "2. 引用页面中2-3个非常具体的细节 - 引用精确的短语,提及具体的数据点,指出您注意到的特定部分或功能。证明您已分析了实际内容,而不仅仅是浏览了一下。",
systemPromptTask3: "3. 根据页面类型提供上下文相关的帮助 - 对于技术文档,提供解释概念;对于文章,提供讨论想法;对于产品,回答功能问题。具体说明您如何能够帮助这个特定内容。",
systemPromptInstructions: "保持对话性但知识渊博。将您的介绍建立在实际页面内容上。避免通用陈述。用以下语言自然书写:",
// More alerts and messages
pleaseEnterText: "请先输入一些文本!",

View file

@ -1,5 +1,5 @@
// Model registry and selection functionality
import { VLLM_ENDPOINTS, getAPIConfig } from "./config.js";
import { VLLM_ENDPOINTS, getAPIConfig, DEFAULT_MAX_TOKENS } from "./config.js";
// This registry maps a model's ID to the endpoint where it resides.
export const modelRegistry = {};
@ -278,18 +278,18 @@ export function getSelectedModelMaxTokens() {
const modalDropdown = document.getElementById("hermes-model-selection");
if (modalDropdown?.value && modelRegistry[modalDropdown.value]) {
const modelData = modelRegistry[modalDropdown.value];
return modelData.maxTokens || 8192;
return modelData.maxTokens || DEFAULT_MAX_TOKENS;
}
// Fallback to main dropdown
const dropdown = document.getElementById("model-selection");
if (dropdown?.value && modelRegistry[dropdown.value]) {
const modelData = modelRegistry[dropdown.value];
return modelData.maxTokens || 8192;
return modelData.maxTokens || DEFAULT_MAX_TOKENS;
}
// Default fallback
return 8192;
return DEFAULT_MAX_TOKENS;
}
// Helper function to get the API endpoint for the selected model.

View file

@ -34,22 +34,22 @@ export function loadConversationHistory() {
return [];
}
export function clearConversationHistory() {
export async function clearConversationHistory() {
localStorage.removeItem(getPageSpecificKey("hermes-conversation-history"));
return [
{
role: "system",
content: getSystemMessage(),
content: await getSystemMessage(),
},
];
}
// Initialize chat history
export function initializeChatHistory() {
export async function initializeChatHistory() {
return [
{
role: "system",
content: getSystemMessage(),
content: await getSystemMessage(),
},
...loadConversationHistory(),
];

View file

@ -137,10 +137,15 @@ async function* sendMessageWithCustomHistory(messageHistory) {
model = getSelectedModel();
}
// Import getSelectedModelMaxTokens to get dynamic max tokens
// Import getSelectedModelMaxTokens to get dynamic max tokens and calculate available
const { getSelectedModelMaxTokens } = await import("./models.js");
const maxTokens = getSelectedModelMaxTokens();
console.log("UI (intro generation) using max_tokens:", maxTokens);
const modelMaxTokens = getSelectedModelMaxTokens();
// Estimate input tokens for intro generation
const inputText = messageHistory.map(msg => msg.content).join('');
const inputTokens = Math.ceil(inputText.length / 4);
const calculatedAvailable = Math.max(2048, modelMaxTokens - inputTokens - 50);
console.log("UI (intro generation) using calculated available tokens:", calculatedAvailable, "of model max:", modelMaxTokens);
const response = await fetch(apiUrl, {
method: "POST",
@ -149,7 +154,7 @@ async function* sendMessageWithCustomHistory(messageHistory) {
model: model,
messages: messageHistory,
temperature: 0.3,
max_tokens: maxTokens,
max_tokens: calculatedAvailable,
stream: true,
}),
});

View file

@ -1415,7 +1415,7 @@ You have complete knowledge of this page content and can reference any details,
// Create new history with updated system message and loaded conversation
const newHistory = [
{ role: "system", content: getSystemMessage() },
{ role: "system", content: await getSystemMessage() },
...history,
];
@ -1562,7 +1562,7 @@ You have complete knowledge of this page content and can reference any details,
const { updateChatHistory } = await import("./chat.js");
const { getSystemMessage } = await import("./config.js");
const newHistory = [
{ role: "system", content: getSystemMessage() },
{ role: "system", content: await getSystemMessage() },
...currentHistory,
];
await updateChatHistory(newHistory);
@ -1879,7 +1879,7 @@ You have complete knowledge of this page content and can reference any details,
// Create new history with system message and intro
const newHistory = [
{ role: "system", content: getSystemMessage() },
{ role: "system", content: await getSystemMessage() },
{ role: "assistant", content: response },
];