auto-sync: 2026-05-22 13:22:20
This commit is contained in:
+11
-6
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user