feat: add LLM scraping toggles to Settings page

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
master
oabrivard 3 months ago
parent 8a061c98db
commit c8779f6ca2

@ -151,6 +151,9 @@ const fr = {
'settings.rateLimitHelp': "Configurez le nombre maximum de requetes autorisees pendant la fenetre de temps specifiee. Laissez vide pour utiliser les valeurs par defaut de l'administrateur.", 'settings.rateLimitHelp': "Configurez le nombre maximum de requetes autorisees pendant la fenetre de temps specifiee. Laissez vide pour utiliser les valeurs par defaut de l'administrateur.",
'settings.rateLimitEffective': '{max} requetes / {window} secondes', 'settings.rateLimitEffective': '{max} requetes / {window} secondes',
'settings.rateLimitReset': 'Reinitialiser', 'settings.rateLimitReset': 'Reinitialiser',
'settings.advancedExtraction': 'Extraction avancee',
'settings.useLlmForSourceLinks': "Utiliser l'IA pour extraire les liens",
'settings.useLlmForArticleExtraction': "Utiliser l'IA pour extraire le contenu",
'settings.export': 'Exporter', 'settings.export': 'Exporter',
'settings.import': 'Importer', 'settings.import': 'Importer',
'settings.exportIncludeKeys': 'Inclure les cles API', 'settings.exportIncludeKeys': 'Inclure les cles API',

@ -454,6 +454,49 @@ const Settings: Component = () => {
</div> </div>
</div> </div>
{/* Advanced extraction */}
<div class="mt-6">
<h3 class="text-lg font-medium text-gray-900 mb-4">
{t('settings.advancedExtraction')}
</h3>
<div class="space-y-4">
<div class="flex items-center">
<input
type="checkbox"
id="useLlmSourceLinks"
checked={settings().use_llm_for_source_links}
onChange={(e) =>
setSettings((prev) => ({
...prev,
use_llm_for_source_links: e.currentTarget.checked,
}))
}
class="h-4 w-4 text-indigo-600 focus:ring-indigo-500 border-gray-300 rounded"
/>
<label for="useLlmSourceLinks" class="ml-2 block text-sm text-gray-700">
{t('settings.useLlmForSourceLinks')}
</label>
</div>
<div class="flex items-center">
<input
type="checkbox"
id="useLlmArticleExtraction"
checked={settings().use_llm_for_article_extraction}
onChange={(e) =>
setSettings((prev) => ({
...prev,
use_llm_for_article_extraction: e.currentTarget.checked,
}))
}
class="h-4 w-4 text-indigo-600 focus:ring-indigo-500 border-gray-300 rounded"
/>
<label for="useLlmArticleExtraction" class="ml-2 block text-sm text-gray-700">
{t('settings.useLlmForArticleExtraction')}
</label>
</div>
</div>
</div>
{/* Search agent behavior */} {/* Search agent behavior */}
<div> <div>
<label <label

@ -45,6 +45,8 @@ export interface UserSettings {
max_items_per_category: number; max_items_per_category: number;
max_articles_per_source: number; max_articles_per_source: number;
source_diversity_window: number; source_diversity_window: number;
use_llm_for_source_links: boolean;
use_llm_for_article_extraction: boolean;
search_agent_behavior: string; search_agent_behavior: string;
ai_model: string; ai_model: string;
ai_model_writing: string; ai_model_writing: string;
@ -60,6 +62,8 @@ export const DEFAULT_SETTINGS: UserSettings = {
max_items_per_category: 4, max_items_per_category: 4,
max_articles_per_source: 3, max_articles_per_source: 3,
source_diversity_window: 3, source_diversity_window: 3,
use_llm_for_source_links: false,
use_llm_for_article_extraction: false,
search_agent_behavior: search_agent_behavior:
"Tu peux egalement utiliser d'autres sources pertinentes trouvees via la recherche Google.", "Tu peux egalement utiliser d'autres sources pertinentes trouvees via la recherche Google.",
ai_model: '', ai_model: '',

Loading…
Cancel
Save