2
0

refactor(headless): default to single-run mode with --loop flag for continuous execution

This commit is contained in:
2026-03-24 15:26:33 +09:00
parent 652fbada48
commit d144bfbdcf
2 changed files with 4 additions and 2 deletions

View File

@@ -13,7 +13,8 @@ pub fn run(config_or_task: &str, cwd_override: Option<&str>, name_override: Opti
create_state_dir();
let args: Vec<String> = 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 {

View File

@@ -143,6 +143,7 @@ fn print_help() {
println!(" aishell run <task> Run single agent");
println!(" aishell run -p <preset> Preset: daily, review, improve, report");
println!(" aishell run -f <config> Custom config file");
println!(" --loop Loop mode (default: run once)");
println!(" aishell plan -p <preset> Preview agent config without running");
println!(" aishell commit Git commit with AI-suggested message");
println!(" aishell status [-v] Show agent status");