mirror of
https://github.com/AstrBotDevs/AstrBot
synced 2026-07-16 01:40:15 +08:00
* fix(skills): use actual sandbox path from cache instead of hardcoded workspace root Fixes #6273 When using Shipyard booter, the sandbox workspace directory is `/home/ship_{session_id}/workspace/` instead of the hardcoded `/workspace`. This caused Agent to fail reading SKILL.md files with 'No such file or directory'. Changes: - In build_skills_prompt: prefer skill.path (from sandbox cache) over hardcoded SANDBOX_WORKSPACE_ROOT for sandbox_only skills - In list_skills: always prefer sandbox_cached_paths over hardcoded path for sandbox_only skills The actual path is resolved at sandbox scan time via Path.resolve() in _build_scan_command, which returns the correct absolute path based on the sandbox's actual working directory. * docs: add comment explaining show_sandbox_path behavior for sandbox_only skills Address Sourcery AI review comment: - Clarify that show_sandbox_path is implicitly True for sandbox_only skills - Explain why the flag is effectively ignored (no local path exists) * refactor: simplify path_str fallback using or operator Address review feedback: use single-line fallback instead of if-not pattern. * style: format skill_manager.py with ruff Fix ruff format-check failure * fix(skills): sanitize cached sandbox skill paths Normalize sandbox cache paths before reading or writing them so invalid, empty, or mismatched entries fall back to a safe default SKILL.md path. This avoids using malformed cached paths, keeps path rendering consistent, and ensures sandbox skill listings always point to the expected workspace location. --------- Co-authored-by: ccsang <ccsang@users.noreply.github.com> Co-authored-by: RC-CHN <1051989940@qq.com>