ruboto-ai 0.1.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +35 -17
- data/lib/ruboto/version.rb +1 -1
- data/lib/ruboto.rb +19 -9
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b34d29d912432b977045c02753a4bfb75ec283ee6f14a58437f5ca1f5ccb8c63
|
|
4
|
+
data.tar.gz: 6f4624ec9fbd7dea37da0e87da4aa82765c4beb7d4d2b4554529eff1d4129948
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 43b62c69cc8540c5c3c4883b82c3eda8a5b0d173908810dc9d3c27fbd24af4940edd422f9d9375eeeabb72adedc1b87d3f0ee717bf80c6926ac8eb6ba57192fe
|
|
7
|
+
data.tar.gz: 34020d32cc0b1dee5a04799900f29eda18b341f7af5d7e43770ab209b2cd0fe9c47561ef04d732347ae0aa04729db497e16587365c6bd09eb9dd9e3e75222e78
|
data/README.md
CHANGED
|
@@ -22,7 +22,7 @@ gem install ruboto-ai
|
|
|
22
22
|
### From Source
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
|
-
git clone https://github.com/
|
|
25
|
+
git clone https://github.com/akhil-gautam/ruboto-ai.git
|
|
26
26
|
cd ruboto-ai
|
|
27
27
|
gem build ruboto.gemspec
|
|
28
28
|
gem install ruboto-ai-0.1.0.gem
|
|
@@ -62,15 +62,19 @@ $ ruboto-ai
|
|
|
62
62
|
|
|
63
63
|
Select a model:
|
|
64
64
|
|
|
65
|
-
1.
|
|
66
|
-
2.
|
|
67
|
-
3.
|
|
68
|
-
4.
|
|
69
|
-
5.
|
|
70
|
-
6.
|
|
71
|
-
7.
|
|
65
|
+
1. Claude Sonnet 4.5 Anthropic's best
|
|
66
|
+
2. Gemini 3 Flash Google's latest
|
|
67
|
+
3. DeepSeek v3.2 Strong reasoning
|
|
68
|
+
4. Grok Code Fast xAI coding model
|
|
69
|
+
5. MiniMax M2.1 Versatile model
|
|
70
|
+
6. Seed 1.6 ByteDance model
|
|
71
|
+
7. GLM 4.7 Zhipu AI model
|
|
72
|
+
8. MiMo v2 Flash Xiaomi (free)
|
|
73
|
+
9. LFM 2.5 Thinking Liquid (free)
|
|
72
74
|
|
|
73
|
-
|
|
75
|
+
Or enter any OpenRouter model ID (e.g., openai/gpt-4o)
|
|
76
|
+
|
|
77
|
+
Choice:
|
|
74
78
|
```
|
|
75
79
|
|
|
76
80
|
Select a model by number, then start chatting.
|
|
@@ -179,15 +183,29 @@ Added try/catch with proper error handling. Tests still pass.
|
|
|
179
183
|
|
|
180
184
|
## Supported Models
|
|
181
185
|
|
|
186
|
+
### Default Models
|
|
187
|
+
|
|
182
188
|
| Model | Provider | Best For |
|
|
183
189
|
|-------|----------|----------|
|
|
184
|
-
|
|
|
185
|
-
|
|
|
186
|
-
|
|
|
187
|
-
|
|
|
188
|
-
|
|
|
189
|
-
|
|
|
190
|
-
|
|
|
190
|
+
| Claude Sonnet 4.5 | Anthropic | Best overall |
|
|
191
|
+
| Gemini 3 Flash | Google | Fast responses |
|
|
192
|
+
| DeepSeek v3.2 | DeepSeek | Strong reasoning |
|
|
193
|
+
| Grok Code Fast | xAI | Code generation |
|
|
194
|
+
| MiniMax M2.1 | MiniMax | Versatile tasks |
|
|
195
|
+
| Seed 1.6 | ByteDance | General purpose |
|
|
196
|
+
| GLM 4.7 | Zhipu AI | Chinese + English |
|
|
197
|
+
| MiMo v2 Flash | Xiaomi | Free tier |
|
|
198
|
+
| LFM 2.5 Thinking | Liquid | Free tier |
|
|
199
|
+
|
|
200
|
+
### Custom Models
|
|
201
|
+
|
|
202
|
+
You can use **any model** from [OpenRouter](https://openrouter.ai/models) by entering its ID directly:
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
Choice: openai/gpt-4o
|
|
206
|
+
Choice: meta-llama/llama-3.3-70b-instruct
|
|
207
|
+
Choice: mistralai/mistral-large
|
|
208
|
+
```
|
|
191
209
|
|
|
192
210
|
## Data Storage
|
|
193
211
|
|
|
@@ -207,7 +225,7 @@ Ruboto stores data in `~/.ruboto/`:
|
|
|
207
225
|
|
|
208
226
|
```bash
|
|
209
227
|
# Clone the repo
|
|
210
|
-
git clone https://github.com/
|
|
228
|
+
git clone https://github.com/akhil-gautam/ruboto-ai.git
|
|
211
229
|
cd ruboto-ai
|
|
212
230
|
|
|
213
231
|
# Run directly without installing
|
data/lib/ruboto/version.rb
CHANGED
data/lib/ruboto.rb
CHANGED
|
@@ -13,13 +13,15 @@ module Ruboto
|
|
|
13
13
|
API_URL = "https://openrouter.ai/api/v1/chat/completions"
|
|
14
14
|
|
|
15
15
|
MODELS = [
|
|
16
|
-
{ id: "
|
|
17
|
-
{ id: "
|
|
18
|
-
{ id: "
|
|
19
|
-
{ id: "
|
|
20
|
-
{ id: "
|
|
21
|
-
{ id: "
|
|
22
|
-
{ id: "
|
|
16
|
+
{ id: "anthropic/claude-sonnet-4.5", name: "Claude Sonnet 4.5", desc: "Anthropic's best" },
|
|
17
|
+
{ id: "google/gemini-3-flash-preview", name: "Gemini 3 Flash", desc: "Google's latest" },
|
|
18
|
+
{ id: "deepseek/deepseek-v3.2", name: "DeepSeek v3.2", desc: "Strong reasoning" },
|
|
19
|
+
{ id: "x-ai/grok-code-fast-1", name: "Grok Code Fast", desc: "xAI coding model" },
|
|
20
|
+
{ id: "minimax/minimax-m2.1", name: "MiniMax M2.1", desc: "Versatile model" },
|
|
21
|
+
{ id: "bytedance-seed/seed-1.6", name: "Seed 1.6", desc: "ByteDance model" },
|
|
22
|
+
{ id: "z-ai/glm-4.7", name: "GLM 4.7", desc: "Zhipu AI model" },
|
|
23
|
+
{ id: "xiaomi/mimo-v2-flash:free", name: "MiMo v2 Flash", desc: "Xiaomi (free)" },
|
|
24
|
+
{ id: "liquid/lfm-2.5-1.2b-thinking:free", name: "LFM 2.5 Thinking", desc: "Liquid (free)" }
|
|
23
25
|
].freeze
|
|
24
26
|
|
|
25
27
|
# ANSI colors
|
|
@@ -853,20 +855,28 @@ module Ruboto
|
|
|
853
855
|
end
|
|
854
856
|
|
|
855
857
|
puts
|
|
856
|
-
|
|
858
|
+
puts " #{DIM}Or enter any OpenRouter model ID (e.g., openai/gpt-4o)#{RESET}"
|
|
859
|
+
puts
|
|
860
|
+
print " #{DIM}Choice:#{RESET} "
|
|
857
861
|
|
|
858
862
|
loop do
|
|
859
863
|
input = gets&.strip
|
|
860
864
|
return MODELS[0][:id] if input.nil? || input.empty?
|
|
861
865
|
|
|
866
|
+
# Check if it's a number selection
|
|
862
867
|
num = input.to_i
|
|
863
868
|
if num >= 1 && num <= MODELS.length
|
|
864
869
|
selected = MODELS[num - 1]
|
|
865
870
|
puts "\n #{GREEN}✓#{RESET} Using #{BOLD}#{selected[:name]}#{RESET}"
|
|
866
871
|
puts
|
|
867
872
|
return selected[:id]
|
|
873
|
+
elsif input.include?("/")
|
|
874
|
+
# Custom model ID (contains slash like "openai/gpt-4o")
|
|
875
|
+
puts "\n #{GREEN}✓#{RESET} Using #{BOLD}#{input}#{RESET}"
|
|
876
|
+
puts
|
|
877
|
+
return input
|
|
868
878
|
else
|
|
869
|
-
print " #{RED}Invalid
|
|
879
|
+
print " #{RED}Invalid.#{RESET} Enter 1-#{MODELS.length} or a model ID: "
|
|
870
880
|
end
|
|
871
881
|
end
|
|
872
882
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ruboto-ai
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1
|
|
4
|
+
version: 0.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Akhil Gautam
|
|
@@ -23,13 +23,13 @@ files:
|
|
|
23
23
|
- bin/ruboto-ai
|
|
24
24
|
- lib/ruboto.rb
|
|
25
25
|
- lib/ruboto/version.rb
|
|
26
|
-
homepage: https://github.com/
|
|
26
|
+
homepage: https://github.com/akhil-gautam/ruboto-ai
|
|
27
27
|
licenses:
|
|
28
28
|
- MIT
|
|
29
29
|
metadata:
|
|
30
|
-
homepage_uri: https://github.com/
|
|
31
|
-
source_code_uri: https://github.com/
|
|
32
|
-
changelog_uri: https://github.com/
|
|
30
|
+
homepage_uri: https://github.com/akhil-gautam/ruboto-ai
|
|
31
|
+
source_code_uri: https://github.com/akhil-gautam/ruboto-ai
|
|
32
|
+
changelog_uri: https://github.com/akhil-gautam/ruboto-ai/blob/main/CHANGELOG.md
|
|
33
33
|
rdoc_options: []
|
|
34
34
|
require_paths:
|
|
35
35
|
- lib
|