From 6fcac65bdfb38581a8c2710b8cef5c1aa9ad44f2 Mon Sep 17 00:00:00 2001 From: Soulter <905617992@qq.com> Date: Fri, 19 Jun 2026 10:52:13 +0800 Subject: [PATCH] fix: address workspace skills review comments --- astrbot/core/skills/skill_manager.py | 4 ++-- tests/unit/test_astr_main_agent.py | 20 ++++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/astrbot/core/skills/skill_manager.py b/astrbot/core/skills/skill_manager.py index 6fc4b675b..d4149c079 100644 --- a/astrbot/core/skills/skill_manager.py +++ b/astrbot/core/skills/skill_manager.py @@ -398,14 +398,14 @@ class SkillManager: with resolved_skill_md.open(encoding="utf-8") as f: content = f.read(WORKSPACE_SKILL_FRONTMATTER_MAX_CHARS) description = _parse_frontmatter_description(content) - except Exception: + except (OSError, UnicodeError): description = "" skills.append( SkillInfo( name=skill_name, description=description, - path=str(resolved_skill_md).replace("\\", "/"), + path=resolved_skill_md.as_posix(), active=True, source_type="workspace", source_label="workspace", diff --git a/tests/unit/test_astr_main_agent.py b/tests/unit/test_astr_main_agent.py index e6572b02f..06c14e258 100644 --- a/tests/unit/test_astr_main_agent.py +++ b/tests/unit/test_astr_main_agent.py @@ -818,9 +818,8 @@ class TestEnsurePersonaAndSkills: encoding="utf-8", ) - workspace_root = ( - workspaces_dir - / module.normalize_umo_for_workspace(mock_event.unified_msg_origin) + workspace_root = workspaces_dir / module.normalize_umo_for_workspace( + mock_event.unified_msg_origin ) workspace_skill_dir = workspace_root / "skills" / "workspace-skill" workspace_skill_dir.mkdir(parents=True) @@ -849,8 +848,11 @@ class TestEnsurePersonaAndSkills: req = ProviderRequest() req.conversation = MagicMock(persona_id=None) + runtime_config = {"computer_use_runtime": "local"} - await module._ensure_persona_and_skills(req, {}, mock_context, mock_event) + await module._ensure_persona_and_skills( + req, runtime_config, mock_context, mock_event + ) assert "**workspace-skill**" in req.system_prompt assert "Workspace scoped skill." in req.system_prompt @@ -876,9 +878,8 @@ class TestEnsurePersonaAndSkills: for path in (data_dir, global_skills_dir, plugins_dir): path.mkdir(parents=True, exist_ok=True) - workspace_root = ( - workspaces_dir - / module.normalize_umo_for_workspace(mock_event.unified_msg_origin) + workspace_root = workspaces_dir / module.normalize_umo_for_workspace( + mock_event.unified_msg_origin ) workspace_skill_dir = workspace_root / "skills" / "workspace-skill" workspace_skill_dir.mkdir(parents=True) @@ -933,9 +934,8 @@ class TestEnsurePersonaAndSkills: for path in (data_dir, global_skills_dir, plugins_dir): path.mkdir(parents=True, exist_ok=True) - workspace_root = ( - workspaces_dir - / module.normalize_umo_for_workspace(mock_event.unified_msg_origin) + workspace_root = workspaces_dir / module.normalize_umo_for_workspace( + mock_event.unified_msg_origin ) workspace_skill_dir = workspace_root / "skills" / "workspace-skill" workspace_skill_dir.mkdir(parents=True)