feat: realign zhihu browser callback runtime

Keep Zhihu browser-attached execution on the callback-host path so direct routes, runtime wiring, and service startup stay aligned for the current websocket browser flow.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
木炎
2026-04-06 12:09:47 +08:00
parent 3e18350320
commit 6068a8228b
9 changed files with 1907 additions and 116 deletions

View File

@@ -276,13 +276,16 @@ pub fn is_zhihu_hotlist_task(
|| normalized_url.contains("zhihu.com")
|| normalized_title.contains("zhihu")
|| page_title.unwrap_or_default().contains("知乎");
let is_hotlist = normalized_instruction.contains("hotlist")
|| instruction.contains("热榜")
|| normalized_url.contains("/hot")
let hotlist_in_instruction = normalized_instruction.contains("hotlist")
|| instruction.contains("热榜");
let hotlist_in_context = normalized_url.contains("/hot")
|| normalized_title.contains("hotlist")
|| page_title.unwrap_or_default().contains("热榜");
is_zhihu && is_hotlist
// "热榜"/"hotlist" directly in the instruction implies Zhihu (the only
// hotlist feature sgClaw supports). Context-only signals (URL/title)
// still require the "知乎" qualifier to avoid false positives.
(is_zhihu && (hotlist_in_instruction || hotlist_in_context)) || hotlist_in_instruction
}
fn task_needs_office_export(instruction: &str) -> bool {