auto-sync: 2026-05-22 13:22:20

This commit is contained in:
cfdaily
2026-05-22 13:22:20 +08:00
parent 8ded6b8dc1
commit e66e4a2be4
+11 -6
View File
@@ -235,29 +235,34 @@ curl -X POST http://{self.api_host}:{self.api_port}/api/projects/{project_id}/ta
new_session: bool = False,
task_id: Optional[str] = None,
on_complete: Optional[Any] = None,
use_main_session: bool = False,
) -> str:
"""Spawn Full Agent(异步非阻塞)
Args:
on_complete: async callback(agent_id, outcome) — Agent 完成后调用
use_main_session: True = 投递到主 Agent session(不传 --session-id
Returns:
session_id
"""
session_id = str(uuid.uuid4())
session_id = None if use_main_session else str(uuid.uuid4())
if self.dry_run:
logger.info("[DRY RUN] Would spawn agent %s (session=%s)", agent_id, session_id)
self._register_session(session_id, agent_id, task_id, pid=None)
return session_id
logger.info("[DRY RUN] Would spawn agent %s (session=%s)", agent_id, session_id or "main")
self._register_session(session_id or "main", agent_id, task_id, pid=None)
return session_id or "main"
cmd = [
"openclaw", "agent",
"--agent", agent_id,
"--session-id", session_id,
]
if session_id:
cmd.extend(["--session-id", session_id])
cmd.extend([
"--message", message,
"--json",
]
])
try:
proc = await asyncio.create_subprocess_exec(