From c71aeabea7a8dedb0d57cbca06ca70c795927a44 Mon Sep 17 00:00:00 2001 From: tjc66666666 <3428979959@qq.com> Date: Thu, 14 May 2026 01:52:23 +0800 Subject: [PATCH 1/2] Fix path separator for remote_zip in computer_client.py Ensure remote_zip uses forward slashes for compatibility. --- astrbot/core/computer/computer_client.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/astrbot/core/computer/computer_client.py b/astrbot/core/computer/computer_client.py index 9be646265e..32ffcf6ef5 100644 --- a/astrbot/core/computer/computer_client.py +++ b/astrbot/core/computer/computer_client.py @@ -504,7 +504,8 @@ async def _sync_skills_to_sandbox(booter: ComputerBooter) -> None: for skill_name, skill_dir in sync_skill_dirs: shutil.copytree(skill_dir, bundle_root / skill_name) shutil.make_archive(str(zip_base), "zip", str(bundle_root)) - remote_zip = Path(SANDBOX_SKILLS_ROOT) / "skills.zip" + # 强制使用沙盒支持的正斜杠 /,彻底解决路径分隔符问题 + remote_zip = f"{SANDBOX_SKILLS_ROOT}/skills.zip" logger.info("Uploading skills bundle to sandbox...") await booter.shell.exec(f"mkdir -p {SANDBOX_SKILLS_ROOT}") upload_result = await booter.upload_file(str(zip_path), str(remote_zip)) From c6e83e4d6ef54c82787e1f6e1e6788802c22e27f Mon Sep 17 00:00:00 2001 From: tjc66666666 <3428979959@qq.com> Date: Fri, 15 May 2026 15:55:58 +0800 Subject: [PATCH 2/2] Update astrbot/core/computer/computer_client.py Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- astrbot/core/computer/computer_client.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/astrbot/core/computer/computer_client.py b/astrbot/core/computer/computer_client.py index 32ffcf6ef5..0b0264eadf 100644 --- a/astrbot/core/computer/computer_client.py +++ b/astrbot/core/computer/computer_client.py @@ -504,8 +504,8 @@ async def _sync_skills_to_sandbox(booter: ComputerBooter) -> None: for skill_name, skill_dir in sync_skill_dirs: shutil.copytree(skill_dir, bundle_root / skill_name) shutil.make_archive(str(zip_base), "zip", str(bundle_root)) - # 强制使用沙盒支持的正斜杠 /,彻底解决路径分隔符问题 - remote_zip = f"{SANDBOX_SKILLS_ROOT}/skills.zip" + # Force forward slashes for sandbox compatibility. + remote_zip = (Path(SANDBOX_SKILLS_ROOT) / "skills.zip").as_posix() logger.info("Uploading skills bundle to sandbox...") await booter.shell.exec(f"mkdir -p {SANDBOX_SKILLS_ROOT}") upload_result = await booter.upload_file(str(zip_path), str(remote_zip))