config.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.pluginConfigSchematics = void 0;
const sdk_1 = require("@lmstudio/sdk");
exports.pluginConfigSchematics = (0, sdk_1.createConfigSchematics)()
.field("dataPath", "string", {
displayName: "Data Path",
subtitle: "Directory for SQLite database. Leave blank to use ~/research-data/.",
}, "")
.field("searxngUrl", "string", {
displayName: "SearXNG URL",
subtitle: "Base URL of your self-hosted SearXNG instance (e.g. http://localhost:8080). Leave blank to use DDG/Bing scraper.",
}, "")
.field("maxResultsPerQuery", "numeric", {
int: true, min: 1, max: 20,
displayName: "Max Results Per Query",
subtitle: "Maximum search results returned per query.",
slider: { min: 1, max: 20, step: 1 },
}, 8)
.field("searchRecencyWindow", "string", {
displayName: "Search Recency Window",
subtitle: "Limit searches to results within this window. Options: day, week, month, year, any.",
}, "year")
.field("researchMode", "string", {
displayName: "Research Mode",
subtitle: "auto = LLM drives the full pipeline. guided = LLM suggests next step, user confirms.",
}, "auto")
.field("enableWikipediaGrounding", "string", {
displayName: "Wikipedia Grounding",
subtitle: "Auto-fetch Wikipedia summaries for named entities found in sources. Options: true, false.",
}, "true")
.field("googleFactCheckApiKey", "string", {
displayName: "Google Fact Check API Key",
subtitle: "Optional. Enables check_fact tool. Leave blank for unauthenticated access (rate-limited).",
}, "")
.build();