cc 收尾解析补不过脱敏的失败诊断
Project CI / AI game creator shell Rust crates (push) Successful in 1m48s
Project CI / AI game creator shell Rust lane 1/2 (push) Has been cancelled
Project CI / Frontend tests (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
Project CI / AI game creator shell Rust crates (push) Successful in 1m48s
Project CI / AI game creator shell Rust lane 1/2 (push) Has been cancelled
Project CI / Frontend tests (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
- claude_code_cli:parse 之后写 claude-parse-done chars=N / claude-parse-error 分段 trace,失败时再往 stderr 打一行 [agc-cc-direct] parse failed: <原因> - 起因:2026-10-02 18:19 那轮模型已回复(33/103 tokens,149 秒)却在 claude-parse-start 之后被丢弃收成 host_dropped,AppData 日志因文本含 turnToken= 被整体脱敏,看不到原因
This commit is contained in:
@@ -831,7 +831,17 @@ pub(crate) async fn direct_game_creator_claude_code_chat_at(
|
||||
.collect::<Vec<_>>();
|
||||
stream.push(String::new());
|
||||
direct_turn_trace("claude-parse-start");
|
||||
parse_direct_stream_result(stream.join("\n").as_bytes(), observer)
|
||||
let parsed = parse_direct_stream_result(stream.join("\n").as_bytes(), observer);
|
||||
match &parsed {
|
||||
Ok(text) => direct_turn_trace(&format!("claude-parse-done chars={}", text.chars().count())),
|
||||
Err(error) => {
|
||||
// 这一段必须走 stderr:AppData 日志的脱敏会把含 turnToken= 的整行替换掉,
|
||||
// 收尾失败时看不到任何原因(真实案例:2026-10-02 18:19 模型已回复但回合被丢弃)。
|
||||
eprintln!("[agc-cc-direct] parse failed: {error}");
|
||||
direct_turn_trace("claude-parse-error");
|
||||
}
|
||||
}
|
||||
parsed
|
||||
}
|
||||
|
||||
fn parse_direct_stream_result(
|
||||
|
||||
Reference in New Issue
Block a user