From d144bfbdcf9551ebf079326cadbc65408e7cc2e7 Mon Sep 17 00:00:00 2001 From: syui Date: Tue, 24 Mar 2026 15:26:33 +0900 Subject: [PATCH] refactor(headless): default to single-run mode with --loop flag for continuous execution --- src/headless.rs | 5 +++-- src/main.rs | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/headless.rs b/src/headless.rs index e56bac7..05f8d1c 100644 --- a/src/headless.rs +++ b/src/headless.rs @@ -13,7 +13,8 @@ pub fn run(config_or_task: &str, cwd_override: Option<&str>, name_override: Opti create_state_dir(); let args: Vec = std::env::args().collect(); - let once = args.iter().any(|a| a == "--once"); + let loop_mode = args.iter().any(|a| a == "--loop"); + let once = !loop_mode; let is_multi = config_or_task.ends_with(".json") || std::path::Path::new(config_or_task).is_dir(); let (configs, interval) = if is_multi { @@ -149,7 +150,7 @@ pub fn run(config_or_task: &str, cwd_override: Option<&str>, name_override: Opti pub fn run_preset(preset_name: &str) -> Result<(), String> { let configs = config::preset(preset_name) .ok_or_else(|| format!("unknown preset: {preset_name}"))?; - let once = std::env::args().any(|a| a == "--once"); + let once = !std::env::args().any(|a| a == "--loop"); if once { execute_once(configs) } else { diff --git a/src/main.rs b/src/main.rs index 7e4ddcf..14c0fa4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -143,6 +143,7 @@ fn print_help() { println!(" aishell run Run single agent"); println!(" aishell run -p Preset: daily, review, improve, report"); println!(" aishell run -f Custom config file"); + println!(" --loop Loop mode (default: run once)"); println!(" aishell plan -p Preview agent config without running"); println!(" aishell commit Git commit with AI-suggested message"); println!(" aishell status [-v] Show agent status");