You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(tools): expand SharedTools with calculator, weather, and workflow capabilities
Add new gem dependencies (ffi, fiddle, macos, watir, webdrivers, selenium‑webdriver, rubyzip, watir, websocket, etc.) to Gemfile.lock, update the README to list 13 + production tools, and introduce CalculatorTool, WeatherTool, and WorkflowManagerTool. Update example usage and tool collection definitions accordingly.
Copy file name to clipboardExpand all lines: README.md
+209-6Lines changed: 209 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ SharedTools is a comprehensive collection of production-ready tools designed for
16
16
17
17
### Key Features
18
18
19
-
- 🔧 **6 Tool Collections** - Browser automation, file operations, database queries, code evaluation, PDF processing, and system control
19
+
- 🔧 **13+ Production Tools** - Browser automation, file operations, database queries, code evaluation, PDF processing, system control, mathematical calculations, weather data, workflow management, data analysis, Docker integration, and more
20
20
- 🔒 **Human-in-the-Loop Authorization** - Built-in safety system for sensitive operations
21
21
- 🎯 **Facade Pattern** - Simplified interfaces with complex capabilities under the hood
22
22
- 🔌 **Pluggable Drivers** - Swap implementations for testing or different backends
@@ -47,11 +47,17 @@ Depending on which tools you use, you may need additional gems:
47
47
gem 'watir'
48
48
gem 'webdrivers'
49
49
50
-
# For DatabaseTool
50
+
# For DatabaseTool and DatabaseQueryTool
51
51
gem 'sqlite3'# or pg, mysql2, etc.
52
52
53
53
# For DocTool
54
-
gem 'pdf-reader'# included in SharedTools dependencies
54
+
gem 'pdf-reader'
55
+
56
+
# Core dependencies (automatically installed)
57
+
gem 'dentaku'# For CalculatorTool
58
+
gem 'openweathermap'# For WeatherTool
59
+
gem 'sequel'# For DatabaseQueryTool
60
+
gem 'nokogiri'# For various tools
55
61
```
56
62
57
63
## Quick Start
@@ -65,7 +71,10 @@ agent = RubyLLM::Agent.new(
65
71
tools: [
66
72
SharedTools::Tools::BrowserTool.new,
67
73
SharedTools::Tools::DiskTool.new,
68
-
SharedTools::Tools::DatabaseTool.new
74
+
SharedTools::Tools::DatabaseTool.new,
75
+
SharedTools::Tools::CalculatorTool.new,
76
+
SharedTools::Tools::WeatherTool.new,
77
+
SharedTools::Tools::WorkflowManagerTool.new
69
78
]
70
79
)
71
80
@@ -75,7 +84,7 @@ agent.process("Visit example.com and save the page title to title.txt")
75
84
76
85
# Or enable auto-execution for automated workflows
77
86
SharedTools.auto_execute(true)
78
-
agent.process("Read all .rb files in the current directory")
87
+
agent.process("Calculate the square root of 144 and tell me the weather in London")
0 commit comments