Astra v2.2.41: /benchmark LLM 4-lens synthesis + Datacollect settings
- /benchmark now runs the full scan -> LLM 3-stage 4-lens synthesis -> markdown report pipeline, matching the Datacollect web app output - Add settings: datacollectSynthesisTemperature (0.1), datacollectCrawlDepth, datacollectMaxPages, datacollectSavePath; new "Datacollect" Settings section - Fix slash result not rendering (missing streamStart) and /benchmark URL parsing when natural language is appended - Rename view container/view ids to g1nation-* to avoid conflict with the Antigravity built-in "Connect AI" extension - Version bump 2.2.34 -> 2.2.41 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -83,6 +83,14 @@ interface SettingsState {
|
||||
maxAutoSteps: number;
|
||||
maxContextSize: number;
|
||||
};
|
||||
datacollect: {
|
||||
bridgeUrl: string;
|
||||
/** Empty → results saved to the Bridge's WIKI_RAW_PATH default. */
|
||||
savePath: string;
|
||||
crawlDepth: number;
|
||||
maxPages: number;
|
||||
synthesisTemperature: number;
|
||||
};
|
||||
google: {
|
||||
clientId: string;
|
||||
/** secret 자체는 client 에 echo 안 함 — *설정 여부* 만. true 면 input placeholder 가 "저장됨" 으로 바뀜. */
|
||||
@@ -237,6 +245,9 @@ export class SettingsPanelProvider implements vscode.WebviewViewProvider {
|
||||
case 'advanced.update':
|
||||
await this._handleAdvancedUpdate(msg);
|
||||
return;
|
||||
case 'datacollect.update':
|
||||
await this._handleDatacollectUpdate(msg);
|
||||
return;
|
||||
case 'google.update':
|
||||
await this._handleGoogleUpdate(msg);
|
||||
return;
|
||||
@@ -572,6 +583,28 @@ export class SettingsPanelProvider implements vscode.WebviewViewProvider {
|
||||
}
|
||||
}
|
||||
|
||||
// ────────────── Datacollect (slash 명령) ──────────────
|
||||
// /research·/benchmark·/youtube 가 호출하는 Bridge URL 과, 결과물 저장 위치.
|
||||
// savePath 가 비어 있으면 Bridge 의 WIKI_RAW_PATH 환경변수가 저장 위치를 결정한다.
|
||||
|
||||
private async _handleDatacollectUpdate(msg: any): Promise<void> {
|
||||
if (typeof msg.bridgeUrl === 'string') {
|
||||
await this._safeConfigUpdate('datacollectBridgeUrl', msg.bridgeUrl.trim());
|
||||
}
|
||||
if (typeof msg.savePath === 'string') {
|
||||
await this._safeConfigUpdate('datacollectSavePath', msg.savePath.trim());
|
||||
}
|
||||
if (typeof msg.crawlDepth === 'number' && Number.isFinite(msg.crawlDepth)) {
|
||||
await this._safeConfigUpdate('datacollectCrawlDepth', Math.max(0, Math.min(3, Math.floor(msg.crawlDepth))));
|
||||
}
|
||||
if (typeof msg.maxPages === 'number' && Number.isFinite(msg.maxPages)) {
|
||||
await this._safeConfigUpdate('datacollectMaxPages', Math.max(1, Math.min(20, Math.floor(msg.maxPages))));
|
||||
}
|
||||
if (typeof msg.synthesisTemperature === 'number' && Number.isFinite(msg.synthesisTemperature)) {
|
||||
await this._safeConfigUpdate('datacollectSynthesisTemperature', Math.max(0, Math.min(2, msg.synthesisTemperature)));
|
||||
}
|
||||
}
|
||||
|
||||
private async _refreshState(): Promise<void> {
|
||||
if (!this._view && !this._panel) return;
|
||||
const cfg = vscode.workspace.getConfiguration('g1nation');
|
||||
@@ -620,6 +653,13 @@ export class SettingsPanelProvider implements vscode.WebviewViewProvider {
|
||||
maxAutoSteps: cfg.get<number>('maxAutoSteps', 50) ?? 50,
|
||||
maxContextSize: cfg.get<number>('maxContextSize', 32000) ?? 32000,
|
||||
},
|
||||
datacollect: {
|
||||
bridgeUrl: cfg.get<string>('datacollectBridgeUrl', '') || '',
|
||||
savePath: cfg.get<string>('datacollectSavePath', '') || '',
|
||||
crawlDepth: cfg.get<number>('datacollectCrawlDepth', 1) ?? 1,
|
||||
maxPages: cfg.get<number>('datacollectMaxPages', 8) ?? 8,
|
||||
synthesisTemperature: cfg.get<number>('datacollectSynthesisTemperature', 0.1) ?? 0.1,
|
||||
},
|
||||
google: this._buildGoogleState(),
|
||||
providers: await this._buildProvidersState(),
|
||||
devilAgent: { enabled: cfg.get<boolean>('devilAgent.enabled', false) },
|
||||
|
||||
Reference in New Issue
Block a user