v0.0.59
New Features
-
Dynamic Tool Management: Added
/toolscommand with subcommands/tools enableand/tools disablefor listing, enabling, or disabling tools
dynamically -
Three Built-in Tools:
get_current_weather- Fetches real-time temperature from German Weather
Service (DWD)get_cve- Retrieves CVE details from MITRE APIget_endoflife- Queries endoflife.date API for software lifecycle
information
Technical Improvements
- Tool Calling System: Implemented comprehensive tool management using
@enabled_toolsarray - Configuration Support: Added tool configurations in
default_config.yml - Integration: Enhanced
Ollama::Chatwith proper tool calling integration
andOllama::Toolsupport - Error Handling: Robust error handling for external API calls with proper
fallbacks
Documentation & Testing
- Updated README with new tool management commands
- Added comprehensive RSpec tests for all three new tools
- Enhanced gemspec with updated file listings and dependencies
- Implemented caching for HTTP responses using
OllamaChat::Utils::CacheFetcher
Code Structure
- New Modules:
OllamaChat::ToolCalling,OllamaChat::Tools::CVE,
OllamaChat::Tools::EndOfLife,OllamaChat::Tools::Weather - Enhanced Classes:
OllamaChat::Chatwith tool management andDWDSensor
for weather data retrieval - Dependency: Added
rubyzipfor DWD data processing
This release transforms OllamaChat from a chat interface into a smart assistant
capable of executing external tools and accessing real-world data.