mirror of
https://github.com/openai/codex.git
synced 2026-11-13 14:46:14 +00:00
Add a dedicated codex agents dashboard command (#39114)
## What changed - Add `codex agents` to open the shared agents overview without creating a new session. - Start the local background app server automatically on Unix, or connect to a server supplied with `--remote`. - Reject invocation-specific session overrides that cannot apply to shared sessions. - When the overview is opened from an embedded session, offer to start the background server without moving or interrupting the current session. ## Testing - Cover command-line parsing and rejection of incompatible overrides. - Snapshot the embedded-session background-server prompt. GitOrigin-RevId: 60845dfebc48d820dc4ff090626d30452127f062
This commit is contained in:
1 parent
13dfaab446
commit
fd5018e044
14 files changed
+343
-30
No files matched your search
@@ -191,7 +191,9 @@ impl App {
|
||||
}
|
||||
}
|
||||
}
|
||||
SessionSelection::Exit | SessionSelection::StartFresh => {
|
||||
SessionSelection::Exit
|
||||
| SessionSelection::StartFresh
|
||||
| SessionSelection::AgentsOverview => {
|
||||
self.refresh_in_memory_config_from_disk_best_effort(
|
||||
"closing the session picker",
|
||||
)
|
||||
@@ -2326,6 +2328,9 @@ impl App {
|
||||
.select_agents_overview_thread(tui, app_server, thread_id)
|
||||
.await?
|
||||
{
|
||||
AppRunControl::Continue if self.primary_thread_id.is_none() => {
|
||||
self.open_agents_overview(app_server);
|
||||
}
|
||||
AppRunControl::Continue => {}
|
||||
AppRunControl::Exit(reason) => return Ok(AppRunControl::Exit(reason)),
|
||||
}
|
||||
@@ -2348,6 +2353,21 @@ impl App {
|
||||
self.stop_agents_overview_thread(app_server, thread_id)
|
||||
.await;
|
||||
}
|
||||
#[cfg(unix)]
|
||||
AppEvent::StartAgentsDaemon => {
|
||||
self.start_agents_daemon();
|
||||
}
|
||||
#[cfg(unix)]
|
||||
AppEvent::AgentsDaemonStarted { result } => match result {
|
||||
Ok(()) => self.chat_widget.add_info_message(
|
||||
"Background server started. Run `codex agents` in another terminal; this session remains unchanged."
|
||||
.to_string(),
|
||||
/*hint*/ None,
|
||||
),
|
||||
Err(error) => self
|
||||
.chat_widget
|
||||
.add_error_message(format!("Failed to start the background server: {error}")),
|
||||
},
|
||||
AppEvent::OpenAgentPicker => {
|
||||
self.open_agent_picker(app_server).await;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user