diff --git a/server/src/modules/book-generator/langgraph-generator.ts b/server/src/modules/book-generator/langgraph-generator.ts index 3f502c6..5128bdc 100644 --- a/server/src/modules/book-generator/langgraph-generator.ts +++ b/server/src/modules/book-generator/langgraph-generator.ts @@ -335,7 +335,25 @@ async function writeChaptersNode(state: typeof GraphState.State): Promise(); + for (const ch of book.outline.chapters) { + const chapter = await bookStore.getChapter(state.bookId, ch.number); + if (chapter && chapter.status === 'completed') { + completedChapterNumbers.add(ch.number); + } + } + + if (completedChapterNumbers.size > 0) { + console.log(`[LangGraph] ✅ 跳过 ${completedChapterNumbers.size} 个已完成的章节: [${Array.from(completedChapterNumbers).join(', ')}]`); + } + for (const chapterOutline of book.outline.chapters) { + // 跳过已完成的章节 + if (completedChapterNumbers.has(chapterOutline.number)) { + console.log(`[LangGraph] 跳过第${chapterOutline.number}章(已完成)`); + continue; + } // ===== 额度监控:在生成章节前检查额度 ===== console.log(`[LangGraph] 检查第${chapterOutline.number}章额度,当前累计: ${currentWordCount}字`); try {