diff --git a/src/agent.rs b/src/agent.rs index 8db8928..876cf40 100644 --- a/src/agent.rs +++ b/src/agent.rs @@ -627,6 +627,12 @@ pub fn spawn(job: Job, bot_id: u64, tx: Sender<(u64, StreamEvent)>, cancel: Arc< // …and so does screen control: it's the person's own screen. let target = if is_screen { screen_target(&job, &call.args) + } else if is_web && device_named(&job, &call.args).is_some() { + // The browser on another computer of the account, as named. + target_for(&job, &call.args) + } else if is_web && call.name.starts_with("browser_") && !crate::botbrowser::available() && job.computers.iter().any(|t| matches!(t.place, tools::Place::Device { .. })) { + // No browser here (a brain on a server): the 手腳 computer's. + job.computers.iter().find(|t| matches!(t.place, tools::Place::Device { .. })).cloned().ok_or_else(|| "找不到這台電腦".to_string()) } else if is_mac || web::uses_this_computer(&call.name, &call.args) { job.computers.iter().find(|t| t.name == crate::model::THIS_COMPUTER_NAME).cloned().ok_or_else(|| "找不到這台電腦".to_string()) } else {