feat: auto-group agent tabs by default in local Chromium

This commit is contained in:
leeguooooo
2026-03-03 11:37:53 +09:00
parent 0a257ad2c1
commit d04cf59238
14 changed files with 366 additions and 31 deletions
+18 -2
View File
@@ -287,6 +287,7 @@ fn main() {
flags.session_name.as_deref(),
flags.debug,
flags.download_path.as_deref(),
flags.tab_group.as_deref(),
) {
Ok(result) => result,
Err(e) => {
@@ -338,6 +339,7 @@ fn main() {
flags.ignore_https_errors.then_some("--ignore-https-errors"),
flags.cli_allow_file_access.then_some("--allow-file-access"),
flags.cli_download_path.then_some("--download-path"),
flags.cli_tab_group.then_some("--tab-group"),
]
.into_iter()
.flatten()
@@ -424,6 +426,9 @@ fn main() {
if let Some(ref dp) = flags.download_path {
launch_cmd["downloadPath"] = json!(dp);
}
if let Some(ref tg) = flags.tab_group {
launch_cmd["tabGroup"] = json!(tg);
}
let err = match send_command(launch_cmd, &flags.session) {
Ok(resp) if resp.success => None,
@@ -516,6 +521,9 @@ fn main() {
if let Some(ref dp) = flags.download_path {
launch_cmd["downloadPath"] = json!(dp);
}
if let Some(ref tg) = flags.tab_group {
launch_cmd["tabGroup"] = json!(tg);
}
let err = match send_command(launch_cmd, &flags.session) {
Ok(resp) if resp.success => None,
@@ -549,6 +557,9 @@ fn main() {
if let Some(ref cs) = flags.color_scheme {
launch_cmd["colorScheme"] = json!(cs);
}
if let Some(ref tg) = flags.tab_group {
launch_cmd["tabGroup"] = json!(tg);
}
match send_command(launch_cmd, &flags.session) {
Ok(resp) => {
@@ -589,7 +600,8 @@ fn main() {
&& flags.user_agent.is_none()
&& !flags.ignore_https_errors
&& !flags.allow_file_access
&& flags.extensions.is_empty();
&& flags.extensions.is_empty()
&& flags.tab_group.is_none();
if can_try_default_cdp {
let mut launch_cmd = json!({
@@ -643,7 +655,8 @@ fn main() {
|| flags.allow_file_access
|| flags.debug
|| flags.color_scheme.is_some()
|| flags.download_path.is_some())
|| flags.download_path.is_some()
|| flags.tab_group.is_some())
&& flags.cdp.is_none()
&& flags.provider.is_none()
&& !attached_to_existing_browser
@@ -708,6 +721,9 @@ fn main() {
if let Some(ref dp) = flags.download_path {
launch_cmd["downloadPath"] = json!(dp);
}
if let Some(ref tg) = flags.tab_group {
launch_cmd["tabGroup"] = json!(tg);
}
match send_command(launch_cmd, &flags.session) {
Ok(resp) => {