区分素材提取的完成与问题节点

仅将已绑定节点标记为 DONE,达到返工上限的节点继续作为上下文提供给提取模型。
This commit is contained in:
2026-09-12 21:24:25 +08:00
parent 9d9f1b8164
commit 9052ff14f8
@@ -1,6 +1,8 @@
use crate::ui_editor::commands::separation::model::{SeparationState, SeparationTree};
use crate::ui_editor::commands::separation::workflow::batch::terminal_node_ids;
use crate::ui_editor::commands::separation::{sanitize_prompt_text, SeparationNode, SeparationNodeKind, MAX_NOTE_DESCRIPTION_CHARS, MAX_REWORK_NOTE_CHARS};
use crate::ui_editor::commands::separation::{
sanitize_prompt_text, SeparationNode, SeparationNodeKind, MAX_NOTE_DESCRIPTION_CHARS,
MAX_REWORK_NOTE_CHARS,
};
use crate::ui_editor::utils::NodeId;
use serde::Serialize;
use std::collections::HashSet;
@@ -63,7 +65,11 @@ pub(crate) fn gen_extract_prompt(
.iter()
.map(|node| node.id.clone())
.collect::<HashSet<_>>();
let terminal_ids = terminal_node_ids(state);
let terminal_ids = state
.bound
.iter()
.map(|node| node.node_id.clone())
.collect::<HashSet<_>>();
let mut index = 1;
let document = ExtractPromptDocument {
ui_layer_tree: project_node(&tree.root, &target_ids, &terminal_ids, &mut index),