补全Linux持久命令沙箱说明

恢复 command.start 的 workspace-write 与 network-disabled 合同
增加 Linux 平台持久命令沙箱回归断言
This commit is contained in:
2026-08-03 19:52:25 +08:00
parent d367ded584
commit f725e15382
@@ -25,7 +25,7 @@ fn provider_command_exec_contract() -> &'static str {
#[cfg(target_os = "linux")]
fn provider_command_start_contract() -> &'static str {
"command.start 使用 {\"program\":\"受信任 PATH 中的裸可执行名\",\"args\":[\"逐项 argv\"],\"cwd\":\"项目内相对目录\",\"timeoutSeconds\":300}"
"command.start 使用 {\"program\":\"受信任 PATH 中的裸可执行名\",\"args\":[\"逐项 argv\"],\"cwd\":\"项目内相对目录\",\"timeoutSeconds\":300};Linux 持久进程同样固定运行在 bubblewrap workspace-write、network-disabled 沙箱内"
}
#[cfg(not(target_os = "linux"))]
@@ -493,9 +493,12 @@ mod tests {
assert_eq!(supervisor_prompt.matches("command.exec 使用").count(), 1);
assert_eq!(supervisor_prompt.matches("command.start 使用").count(), 1);
#[cfg(target_os = "linux")]
assert!(
!supervisor_prompt.contains("command.exec 使用 {\"program\":\"cargo|npm|node|git|rg\"")
);
{
assert!(!supervisor_prompt
.contains("command.exec 使用 {\"program\":\"cargo|npm|node|git|rg\""));
assert!(provider_command_start_contract().contains("workspace-write"));
assert!(provider_command_start_contract().contains("network-disabled"));
}
let ordinary_state = start_game_creator_agent_runtime_task_at(
&root,