Key-Scanner: Auth-Header fix, 401-mit-Usage-Handling, breitere Suche, Live-Refresh
- AnthropicKeyChecker: Bearer-Auth + CLI-Header statt x-api-key (identisch mit AnthropicService) - 401 mit Usage-Headern → 'usage_limited' statt 'invalid' (Key gültig, Limit erreicht) - Haiku-Phase entfernt, Streaming-Logik entfernt → ein einfacher Request reicht - KeyScannerService: SearchLanguages 1→13, PathExtensions 24 neue Pfad-Filter - ApiKeysEndpoint: usage_limited als 'ok' ans Frontend - Frontend: Adopt-Button auch bei quota_exceeded, Live-Refresh alle 3s während Scan - CSS: Overflow-Ellipsis für lange URLs in Admin-Listen
This commit is contained in:
1 parent
006ef223bf
commit
608118a823
5 files changed
+55
-15
No files matched your search
@@ -332,8 +332,8 @@ registerPage('api-keys', {
|
||||
});
|
||||
actions.appendChild(recheckBtn);
|
||||
|
||||
// Übernehmen (nur bei valid)
|
||||
if (sk.status === 'valid') {
|
||||
// Übernehmen (bei valid oder quota_exceeded)
|
||||
if (sk.status === 'valid' || sk.status === 'quota_exceeded') {
|
||||
var adoptBtn = document.createElement('button');
|
||||
adoptBtn.className = 'icon-btn';
|
||||
adoptBtn.title = 'Als API-Key übernehmen';
|
||||
@@ -387,13 +387,13 @@ registerPage('api-keys', {
|
||||
if (!pollTimer) {
|
||||
pollTimer = setInterval(async function() {
|
||||
var st = await apiScanStatus();
|
||||
await loadScannedKeys();
|
||||
if (!st.running) {
|
||||
clearInterval(pollTimer);
|
||||
pollTimer = null;
|
||||
scanBtn.disabled = false;
|
||||
scanBtn.innerHTML = '<i class="fa fa-search"></i> Jetzt scannen';
|
||||
scanStatusEl.textContent = st.lastResult ? '✅ ' + st.lastResult : '';
|
||||
await loadScannedKeys();
|
||||
}
|
||||
}, 3000);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user