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:
2026-05-20 13:22:26 +09:00
parent fce6938e1c
commit 9e7c7fe605
13 changed files with 666 additions and 59 deletions
+34
View File
@@ -24,6 +24,13 @@
const cnRefreshModels = $('cnRefreshModels');
const cnModelHint = $('cnModelHint');
// ---- Datacollect ----
const dcBridgeUrl = $('dcBridgeUrl');
const dcSavePath = $('dcSavePath');
const dcCrawlDepth = $('dcCrawlDepth');
const dcMaxPages = $('dcMaxPages');
const dcSynthTemp = $('dcSynthTemp');
// ---- Memory ----
const memEnabled = $('memEnabled');
const memShort = $('memShort');
@@ -113,6 +120,23 @@
vscode.postMessage({ type: 'connection.update', requestTimeout: Number(cnTimeout.value) })
);
// ---- Datacollect listeners ----
document.querySelector('[data-save="datacollect.bridgeUrl"]').addEventListener('click', () =>
vscode.postMessage({ type: 'datacollect.update', bridgeUrl: dcBridgeUrl.value })
);
document.querySelector('[data-save="datacollect.savePath"]').addEventListener('click', () =>
vscode.postMessage({ type: 'datacollect.update', savePath: dcSavePath.value })
);
document.querySelector('[data-save="datacollect.crawlDepth"]').addEventListener('click', () =>
vscode.postMessage({ type: 'datacollect.update', crawlDepth: Number(dcCrawlDepth.value) })
);
document.querySelector('[data-save="datacollect.maxPages"]').addEventListener('click', () =>
vscode.postMessage({ type: 'datacollect.update', maxPages: Number(dcMaxPages.value) })
);
document.querySelector('[data-save="datacollect.synthesisTemperature"]').addEventListener('click', () =>
vscode.postMessage({ type: 'datacollect.update', synthesisTemperature: Number(dcSynthTemp.value) })
);
// ---- Memory listeners ----
memEnabled.addEventListener('change', (e) =>
vscode.postMessage({ type: 'memory.update', memoryEnabled: e.target.checked })
@@ -338,6 +362,16 @@
? '모델 목록 가져오는 중…'
: `사이드바에서 선택한 모델이 여기에도 동기화됩니다. (${list.length}개 발견)`;
// ---- Datacollect ----
const dc = state.datacollect;
if (dc) {
setIfNotFocused(dcBridgeUrl, dc.bridgeUrl);
setIfNotFocused(dcSavePath, dc.savePath);
setIfNotFocused(dcCrawlDepth, dc.crawlDepth);
setIfNotFocused(dcMaxPages, dc.maxPages);
setIfNotFocused(dcSynthTemp, dc.synthesisTemperature);
}
// ---- Memory ----
const mem = state.memory;
memEnabled.checked = !!mem.memoryEnabled;