mirror of
https://github.com/pchuan98/codex.git
synced 2026-07-01 00:31:56 +08:00
chore: enable sub agents (#11173)
This commit is contained in:
@@ -95,7 +95,6 @@ Rules:
|
|||||||
reasoning_effort: Some(ReasoningEffort::Medium),
|
reasoning_effort: Some(ReasoningEffort::Medium),
|
||||||
description: r#"Use `explorer` for all codebase questions.
|
description: r#"Use `explorer` for all codebase questions.
|
||||||
Explorers are fast and authoritative.
|
Explorers are fast and authoritative.
|
||||||
Always prefer them over manual search or file reading.
|
|
||||||
Rules:
|
Rules:
|
||||||
- Ask explorers first and precisely.
|
- Ask explorers first and precisely.
|
||||||
- Do not re-read or re-search code they cover.
|
- Do not re-read or re-search code they cover.
|
||||||
|
|||||||
@@ -432,6 +432,12 @@ pub const FEATURES: &[FeatureSpec] = &[
|
|||||||
stage: Stage::Deprecated,
|
stage: Stage::Deprecated,
|
||||||
default_enabled: false,
|
default_enabled: false,
|
||||||
},
|
},
|
||||||
|
FeatureSpec {
|
||||||
|
id: Feature::Collab,
|
||||||
|
key: "collab",
|
||||||
|
stage: Stage::Stable,
|
||||||
|
default_enabled: true,
|
||||||
|
},
|
||||||
// Experimental program. Rendered in the `/experimental` menu for users.
|
// Experimental program. Rendered in the `/experimental` menu for users.
|
||||||
FeatureSpec {
|
FeatureSpec {
|
||||||
id: Feature::RuntimeMetrics,
|
id: Feature::RuntimeMetrics,
|
||||||
@@ -511,16 +517,6 @@ pub const FEATURES: &[FeatureSpec] = &[
|
|||||||
stage: Stage::Stable,
|
stage: Stage::Stable,
|
||||||
default_enabled: true,
|
default_enabled: true,
|
||||||
},
|
},
|
||||||
FeatureSpec {
|
|
||||||
id: Feature::Collab,
|
|
||||||
key: "collab",
|
|
||||||
stage: Stage::Experimental {
|
|
||||||
name: "Sub-agents",
|
|
||||||
menu_description: "Ask Codex to spawn multiple agents to parallelize the work and win in efficiency.",
|
|
||||||
announcement: "NEW: Sub-agents can now be spawned by Codex. Enable in /experimental and restart Codex!",
|
|
||||||
},
|
|
||||||
default_enabled: false,
|
|
||||||
},
|
|
||||||
FeatureSpec {
|
FeatureSpec {
|
||||||
id: Feature::Apps,
|
id: Feature::Apps,
|
||||||
key: "apps",
|
key: "apps",
|
||||||
|
|||||||
@@ -1666,6 +1666,11 @@ mod tests {
|
|||||||
external_web_access: Some(true),
|
external_web_access: Some(true),
|
||||||
},
|
},
|
||||||
create_view_image_tool(),
|
create_view_image_tool(),
|
||||||
|
create_spawn_agent_tool(),
|
||||||
|
create_send_input_tool(),
|
||||||
|
create_resume_agent_tool(),
|
||||||
|
create_wait_tool(),
|
||||||
|
create_close_agent_tool(),
|
||||||
] {
|
] {
|
||||||
expected.insert(tool_name(&spec).to_string(), spec);
|
expected.insert(tool_name(&spec).to_string(), spec);
|
||||||
}
|
}
|
||||||
@@ -1860,6 +1865,11 @@ mod tests {
|
|||||||
"apply_patch",
|
"apply_patch",
|
||||||
"web_search",
|
"web_search",
|
||||||
"view_image",
|
"view_image",
|
||||||
|
"spawn_agent",
|
||||||
|
"send_input",
|
||||||
|
"resume_agent",
|
||||||
|
"wait",
|
||||||
|
"close_agent",
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -1882,6 +1892,11 @@ mod tests {
|
|||||||
"apply_patch",
|
"apply_patch",
|
||||||
"web_search",
|
"web_search",
|
||||||
"view_image",
|
"view_image",
|
||||||
|
"spawn_agent",
|
||||||
|
"send_input",
|
||||||
|
"resume_agent",
|
||||||
|
"wait",
|
||||||
|
"close_agent",
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -1906,6 +1921,11 @@ mod tests {
|
|||||||
"apply_patch",
|
"apply_patch",
|
||||||
"web_search",
|
"web_search",
|
||||||
"view_image",
|
"view_image",
|
||||||
|
"spawn_agent",
|
||||||
|
"send_input",
|
||||||
|
"resume_agent",
|
||||||
|
"wait",
|
||||||
|
"close_agent",
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -1930,6 +1950,11 @@ mod tests {
|
|||||||
"apply_patch",
|
"apply_patch",
|
||||||
"web_search",
|
"web_search",
|
||||||
"view_image",
|
"view_image",
|
||||||
|
"spawn_agent",
|
||||||
|
"send_input",
|
||||||
|
"resume_agent",
|
||||||
|
"wait",
|
||||||
|
"close_agent",
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -1951,6 +1976,11 @@ mod tests {
|
|||||||
"request_user_input",
|
"request_user_input",
|
||||||
"web_search",
|
"web_search",
|
||||||
"view_image",
|
"view_image",
|
||||||
|
"spawn_agent",
|
||||||
|
"send_input",
|
||||||
|
"resume_agent",
|
||||||
|
"wait",
|
||||||
|
"close_agent",
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -1973,6 +2003,11 @@ mod tests {
|
|||||||
"apply_patch",
|
"apply_patch",
|
||||||
"web_search",
|
"web_search",
|
||||||
"view_image",
|
"view_image",
|
||||||
|
"spawn_agent",
|
||||||
|
"send_input",
|
||||||
|
"resume_agent",
|
||||||
|
"wait",
|
||||||
|
"close_agent",
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -1994,6 +2029,11 @@ mod tests {
|
|||||||
"request_user_input",
|
"request_user_input",
|
||||||
"web_search",
|
"web_search",
|
||||||
"view_image",
|
"view_image",
|
||||||
|
"spawn_agent",
|
||||||
|
"send_input",
|
||||||
|
"resume_agent",
|
||||||
|
"wait",
|
||||||
|
"close_agent",
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -2016,6 +2056,11 @@ mod tests {
|
|||||||
"apply_patch",
|
"apply_patch",
|
||||||
"web_search",
|
"web_search",
|
||||||
"view_image",
|
"view_image",
|
||||||
|
"spawn_agent",
|
||||||
|
"send_input",
|
||||||
|
"resume_agent",
|
||||||
|
"wait",
|
||||||
|
"close_agent",
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -2062,6 +2107,11 @@ mod tests {
|
|||||||
"apply_patch",
|
"apply_patch",
|
||||||
"web_search",
|
"web_search",
|
||||||
"view_image",
|
"view_image",
|
||||||
|
"spawn_agent",
|
||||||
|
"send_input",
|
||||||
|
"resume_agent",
|
||||||
|
"wait",
|
||||||
|
"close_agent",
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -2085,6 +2135,11 @@ mod tests {
|
|||||||
"request_user_input",
|
"request_user_input",
|
||||||
"web_search",
|
"web_search",
|
||||||
"view_image",
|
"view_image",
|
||||||
|
"spawn_agent",
|
||||||
|
"send_input",
|
||||||
|
"resume_agent",
|
||||||
|
"wait",
|
||||||
|
"close_agent",
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,6 +81,11 @@ async fn model_selects_expected_tools() {
|
|||||||
"request_user_input",
|
"request_user_input",
|
||||||
"web_search",
|
"web_search",
|
||||||
"view_image",
|
"view_image",
|
||||||
|
"spawn_agent",
|
||||||
|
"send_input",
|
||||||
|
"resume_agent",
|
||||||
|
"wait",
|
||||||
|
"close_agent",
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
"codex-mini-latest should expose the local shell tool",
|
"codex-mini-latest should expose the local shell tool",
|
||||||
@@ -100,6 +105,11 @@ async fn model_selects_expected_tools() {
|
|||||||
"apply_patch",
|
"apply_patch",
|
||||||
"web_search",
|
"web_search",
|
||||||
"view_image",
|
"view_image",
|
||||||
|
"spawn_agent",
|
||||||
|
"send_input",
|
||||||
|
"resume_agent",
|
||||||
|
"wait",
|
||||||
|
"close_agent",
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
"gpt-5-codex should expose the apply_patch tool",
|
"gpt-5-codex should expose the apply_patch tool",
|
||||||
@@ -119,6 +129,11 @@ async fn model_selects_expected_tools() {
|
|||||||
"apply_patch",
|
"apply_patch",
|
||||||
"web_search",
|
"web_search",
|
||||||
"view_image",
|
"view_image",
|
||||||
|
"spawn_agent",
|
||||||
|
"send_input",
|
||||||
|
"resume_agent",
|
||||||
|
"wait",
|
||||||
|
"close_agent",
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
"gpt-5.1-codex should expose the apply_patch tool",
|
"gpt-5.1-codex should expose the apply_patch tool",
|
||||||
@@ -137,6 +152,11 @@ async fn model_selects_expected_tools() {
|
|||||||
"request_user_input",
|
"request_user_input",
|
||||||
"web_search",
|
"web_search",
|
||||||
"view_image",
|
"view_image",
|
||||||
|
"spawn_agent",
|
||||||
|
"send_input",
|
||||||
|
"resume_agent",
|
||||||
|
"wait",
|
||||||
|
"close_agent",
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
"gpt-5 should expose the apply_patch tool",
|
"gpt-5 should expose the apply_patch tool",
|
||||||
@@ -156,6 +176,11 @@ async fn model_selects_expected_tools() {
|
|||||||
"apply_patch",
|
"apply_patch",
|
||||||
"web_search",
|
"web_search",
|
||||||
"view_image",
|
"view_image",
|
||||||
|
"spawn_agent",
|
||||||
|
"send_input",
|
||||||
|
"resume_agent",
|
||||||
|
"wait",
|
||||||
|
"close_agent",
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
"gpt-5.1 should expose the apply_patch tool",
|
"gpt-5.1 should expose the apply_patch tool",
|
||||||
@@ -173,7 +198,12 @@ async fn model_selects_expected_tools() {
|
|||||||
"request_user_input".to_string(),
|
"request_user_input".to_string(),
|
||||||
"apply_patch".to_string(),
|
"apply_patch".to_string(),
|
||||||
"web_search".to_string(),
|
"web_search".to_string(),
|
||||||
"view_image".to_string()
|
"view_image".to_string(),
|
||||||
|
"spawn_agent".to_string(),
|
||||||
|
"send_input".to_string(),
|
||||||
|
"resume_agent".to_string(),
|
||||||
|
"wait".to_string(),
|
||||||
|
"close_agent".to_string()
|
||||||
],
|
],
|
||||||
"exp-5.1 should expose the apply_patch tool",
|
"exp-5.1 should expose the apply_patch tool",
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -153,6 +153,11 @@ async fn prompt_tools_are_consistent_across_requests() -> anyhow::Result<()> {
|
|||||||
"apply_patch",
|
"apply_patch",
|
||||||
"web_search",
|
"web_search",
|
||||||
"view_image",
|
"view_image",
|
||||||
|
"spawn_agent",
|
||||||
|
"send_input",
|
||||||
|
"resume_agent",
|
||||||
|
"wait",
|
||||||
|
"close_agent",
|
||||||
]);
|
]);
|
||||||
let body0 = req1.single_request().body_json();
|
let body0 = req1.single_request().body_json();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user