«Server is busy» — не ответ, а ошибка
Мост сам жмёт Retry, но попытки там не бесконечны. Если текст про занятость всё же доехал, разбирать его как ответ нельзя: блоков-запросов в нём нет, и цикл решил бы, что запросов не поступило, и молча закончил работу. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
97eefb57c7
commit
3586e32a89
@@ -267,9 +267,22 @@ async function callBridge(cfg, text, { fresh, temp, n, log }) {
|
||||
|
||||
const answer = await readFile(aFile, 'utf8');
|
||||
log(` ответ ${answer.length} символов за ${Math.round((Date.now() - started) / 1000)} с`);
|
||||
|
||||
// Мост сам жмёт Retry, когда DeepSeek отвечает «Server is busy», но попытки
|
||||
// там не бесконечны. Если такой текст всё-таки доехал — это не ответ, и
|
||||
// разбирать его как ответ нельзя: в блоках-запросах и правках его нет,
|
||||
// а цикл решил бы, что запросов не поступило, и молча закончил работу.
|
||||
if (isServerBusy(answer)) throw new Error(
|
||||
'DeepSeek занят: «Server is busy». Мост исчерпал повторы — попробуйте позже.');
|
||||
return answer;
|
||||
}
|
||||
|
||||
// Ответ, которого на самом деле нет: сервер занят и просит повторить.
|
||||
function isServerBusy(text) {
|
||||
const t = String(text || '').trim();
|
||||
return t.length < 400 && /server is busy|сервер занят|try again later/i.test(t);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------ цикл
|
||||
|
||||
async function buildFirst(root, files, question) {
|
||||
|
||||
Reference in New Issue
Block a user