- Introduced new skills tools: `skills_categories`, `skills_list`, and `skill_view` in `model_tools.py`, allowing for better organization and access to skill-related functionalities. - Updated `toolsets.py` to include a new `skills` toolset, providing a dedicated space for skill tools. - Enhanced `batch_runner.py` to recognize and validate skills tools during batch processing. - Added comprehensive tool definitions for skills tools, ensuring compatibility with OpenAI's expected format. - Created new shell script `test_skills_kimi.sh` for testing skills tool functionality with Kimi K2.5. - Added example skill files demonstrating the structure and usage of skills within the Hermes-Agent framework, including `SKILL.md` for example and audiocraft skills. - Improved documentation for skills tools and their integration into the existing tool framework, ensuring clarity for future development and usage.
136 lines
3.4 KiB
Python
136 lines
3.4 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Tools Package
|
|
|
|
This package contains all the specific tool implementations for the Hermes Agent.
|
|
Each module provides specialized functionality for different capabilities:
|
|
|
|
- web_tools: Web search, content extraction, and crawling
|
|
- terminal_tool: Command execution using mini-swe-agent (local/docker/modal backends)
|
|
- terminal_hecate: Command execution on MorphCloud/Hecate cloud VMs (alternative backend)
|
|
- vision_tools: Image analysis and understanding
|
|
- mixture_of_agents_tool: Multi-model collaborative reasoning
|
|
- image_generation_tool: Text-to-image generation with upscaling
|
|
|
|
The tools are imported into model_tools.py which provides a unified interface
|
|
for the AI agent to access all capabilities.
|
|
"""
|
|
|
|
# Export all tools for easy importing
|
|
from .web_tools import (
|
|
web_search_tool,
|
|
web_extract_tool,
|
|
web_crawl_tool,
|
|
check_firecrawl_api_key
|
|
)
|
|
|
|
# Primary terminal tool (mini-swe-agent backend: local/docker/singularity/modal)
|
|
from .terminal_tool import (
|
|
terminal_tool,
|
|
check_terminal_requirements,
|
|
cleanup_vm,
|
|
cleanup_all_environments,
|
|
get_active_environments_info,
|
|
TERMINAL_TOOL_DESCRIPTION
|
|
)
|
|
|
|
# Alternative terminal tool (Hecate/MorphCloud cloud VMs)
|
|
from .terminal_hecate import (
|
|
terminal_hecate_tool,
|
|
check_hecate_requirements,
|
|
TERMINAL_HECATE_DESCRIPTION
|
|
)
|
|
|
|
from .vision_tools import (
|
|
vision_analyze_tool,
|
|
check_vision_requirements
|
|
)
|
|
|
|
from .mixture_of_agents_tool import (
|
|
mixture_of_agents_tool,
|
|
check_moa_requirements
|
|
)
|
|
|
|
from .image_generation_tool import (
|
|
image_generate_tool,
|
|
check_image_generation_requirements
|
|
)
|
|
|
|
from .skills_tool import (
|
|
skills_categories,
|
|
skills_list,
|
|
skill_view,
|
|
check_skills_requirements,
|
|
SKILLS_TOOL_DESCRIPTION
|
|
)
|
|
|
|
# Browser automation tools (agent-browser + Browserbase)
|
|
from .browser_tool import (
|
|
browser_navigate,
|
|
browser_snapshot,
|
|
browser_click,
|
|
browser_type,
|
|
browser_scroll,
|
|
browser_back,
|
|
browser_press,
|
|
browser_close,
|
|
browser_get_images,
|
|
browser_vision,
|
|
cleanup_browser,
|
|
cleanup_all_browsers,
|
|
get_active_browser_sessions,
|
|
check_browser_requirements,
|
|
BROWSER_TOOL_SCHEMAS
|
|
)
|
|
|
|
__all__ = [
|
|
# Web tools
|
|
'web_search_tool',
|
|
'web_extract_tool',
|
|
'web_crawl_tool',
|
|
'check_firecrawl_api_key',
|
|
# Terminal tools (mini-swe-agent backend)
|
|
'terminal_tool',
|
|
'check_terminal_requirements',
|
|
'cleanup_vm',
|
|
'cleanup_all_environments',
|
|
'get_active_environments_info',
|
|
'TERMINAL_TOOL_DESCRIPTION',
|
|
# Terminal tools (Hecate/MorphCloud backend)
|
|
'terminal_hecate_tool',
|
|
'check_hecate_requirements',
|
|
'TERMINAL_HECATE_DESCRIPTION',
|
|
# Vision tools
|
|
'vision_analyze_tool',
|
|
'check_vision_requirements',
|
|
# MoA tools
|
|
'mixture_of_agents_tool',
|
|
'check_moa_requirements',
|
|
# Image generation tools
|
|
'image_generate_tool',
|
|
'check_image_generation_requirements',
|
|
# Skills tools
|
|
'skills_categories',
|
|
'skills_list',
|
|
'skill_view',
|
|
'check_skills_requirements',
|
|
'SKILLS_TOOL_DESCRIPTION',
|
|
# Browser automation tools
|
|
'browser_navigate',
|
|
'browser_snapshot',
|
|
'browser_click',
|
|
'browser_type',
|
|
'browser_scroll',
|
|
'browser_back',
|
|
'browser_press',
|
|
'browser_close',
|
|
'browser_get_images',
|
|
'browser_vision',
|
|
'cleanup_browser',
|
|
'cleanup_all_browsers',
|
|
'get_active_browser_sessions',
|
|
'check_browser_requirements',
|
|
'BROWSER_TOOL_SCHEMAS',
|
|
]
|
|
|