clawbee 2.1.0 → 2.2.0
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.
- package/README.md +65 -45
- package/bin/clawbee.js +341 -107
- package/lib/ai/provider.js +275 -112
- package/lib/index.js +24 -2
- package/lib/integrations/whatsapp.js +247 -0
- package/package.json +11 -4
package/README.md
CHANGED
|
@@ -10,12 +10,12 @@ ClawBee is an open-source AI assistant that runs locally on your machine and con
|
|
|
10
10
|
## ✨ Features
|
|
11
11
|
|
|
12
12
|
- 🖥️ **Runs Locally** - Your data stays on your machine
|
|
13
|
-
- 💬 **Any Chat App** - WhatsApp, Telegram, Discord, Slack
|
|
13
|
+
- 💬 **Any Chat App** - WhatsApp (QR code), Telegram, Discord, Slack
|
|
14
14
|
- 🧠 **Persistent Memory** - Remembers context across conversations
|
|
15
15
|
- 🌐 **Browser Control** - Automate web tasks with Puppeteer
|
|
16
16
|
- 🔧 **Extensible** - Add skills from the marketplace or build your own
|
|
17
17
|
- 🔐 **Private & Secure** - Full control over your data
|
|
18
|
-
- 🤖 **Multi-AI Support** - OpenAI, Anthropic, Google, or local models
|
|
18
|
+
- 🤖 **Multi-AI Support** - Emergent Universal Key, OpenAI, Anthropic, Google, or local models
|
|
19
19
|
|
|
20
20
|
## 🚀 Quick Start
|
|
21
21
|
|
|
@@ -54,15 +54,15 @@ clawbee onboard
|
|
|
54
54
|
# Initial setup
|
|
55
55
|
clawbee onboard
|
|
56
56
|
|
|
57
|
-
# Start the daemon
|
|
58
|
-
clawbee start
|
|
59
|
-
|
|
60
57
|
# Chat in terminal
|
|
61
58
|
clawbee chat
|
|
62
59
|
|
|
63
60
|
# Send a single message
|
|
64
61
|
clawbee chat -s "What's the weather like?"
|
|
65
62
|
|
|
63
|
+
# Start daemon with all integrations
|
|
64
|
+
clawbee start --all
|
|
65
|
+
|
|
66
66
|
# Check status
|
|
67
67
|
clawbee status
|
|
68
68
|
|
|
@@ -76,6 +76,9 @@ clawbee update
|
|
|
76
76
|
### Connect Chat Platforms
|
|
77
77
|
|
|
78
78
|
```bash
|
|
79
|
+
# Connect WhatsApp (with QR code scanning)
|
|
80
|
+
clawbee connect whatsapp
|
|
81
|
+
|
|
79
82
|
# Connect Telegram
|
|
80
83
|
clawbee connect telegram
|
|
81
84
|
|
|
@@ -84,9 +87,6 @@ clawbee connect discord
|
|
|
84
87
|
|
|
85
88
|
# Connect Slack
|
|
86
89
|
clawbee connect slack
|
|
87
|
-
|
|
88
|
-
# Connect WhatsApp (coming soon)
|
|
89
|
-
clawbee connect whatsapp
|
|
90
90
|
```
|
|
91
91
|
|
|
92
92
|
### Manage Skills
|
|
@@ -112,7 +112,7 @@ clawbee skills remove email-manager
|
|
|
112
112
|
clawbee config show
|
|
113
113
|
|
|
114
114
|
# Set a value
|
|
115
|
-
clawbee config set ai.model gpt-
|
|
115
|
+
clawbee config set ai.model gpt-5.2
|
|
116
116
|
clawbee config set ai.temperature 0.8
|
|
117
117
|
|
|
118
118
|
# Get a value
|
|
@@ -120,9 +120,6 @@ clawbee config get ai.provider
|
|
|
120
120
|
|
|
121
121
|
# Reset configuration
|
|
122
122
|
clawbee config reset
|
|
123
|
-
|
|
124
|
-
# Edit config file directly
|
|
125
|
-
clawbee config edit
|
|
126
123
|
```
|
|
127
124
|
|
|
128
125
|
### Memory Management
|
|
@@ -143,40 +140,56 @@ clawbee memory stats
|
|
|
143
140
|
|
|
144
141
|
## 🔌 AI Providers
|
|
145
142
|
|
|
146
|
-
ClawBee supports multiple AI providers
|
|
143
|
+
ClawBee supports multiple AI providers with a single universal key!
|
|
144
|
+
|
|
145
|
+
### Emergent Universal Key (Recommended)
|
|
146
|
+
|
|
147
|
+
Use one key for all AI providers:
|
|
148
|
+
|
|
149
|
+
| Provider | Models Available |
|
|
150
|
+
|----------|------------------|
|
|
151
|
+
| OpenAI | GPT-5.2, GPT-5.1, GPT-5, GPT-4o, O3, O4-mini |
|
|
152
|
+
| Anthropic | Claude 4 Sonnet, Claude 4 Opus, Claude Opus 4.6 |
|
|
153
|
+
| Google | Gemini 2.5 Pro, Gemini 3 Flash, Gemini 3 Pro |
|
|
154
|
+
|
|
155
|
+
### Individual Provider Keys
|
|
147
156
|
|
|
148
157
|
| Provider | Models | API Key Required |
|
|
149
158
|
|----------|--------|------------------|
|
|
150
|
-
| OpenAI | GPT-4, GPT-
|
|
159
|
+
| OpenAI | GPT-4, GPT-4o, GPT-4 Turbo | Yes |
|
|
151
160
|
| Anthropic | Claude 3 Opus, Sonnet, Haiku | Yes |
|
|
152
|
-
| Google | Gemini Pro, Gemini Pro
|
|
153
|
-
| Ollama | Llama 2, Mistral, CodeLlama
|
|
161
|
+
| Google | Gemini Pro, Gemini 1.5 Pro | Yes |
|
|
162
|
+
| Ollama | Llama 2, Llama 3, Mistral, CodeLlama | No (local) |
|
|
154
163
|
|
|
155
164
|
### Setting up API Keys
|
|
156
165
|
|
|
157
166
|
```bash
|
|
158
|
-
#
|
|
159
|
-
clawbee config set ai.apiKey
|
|
167
|
+
# Emergent Universal Key (works for all providers)
|
|
168
|
+
clawbee config set ai.apiKey your-emergent-universal-key
|
|
160
169
|
|
|
161
|
-
#
|
|
162
|
-
clawbee config set ai.apiKey sk-
|
|
163
|
-
|
|
164
|
-
# Google
|
|
165
|
-
clawbee config set ai.apiKey your-google-api-key
|
|
170
|
+
# Or individual provider keys
|
|
171
|
+
clawbee config set ai.apiKey sk-your-openai-key
|
|
166
172
|
```
|
|
167
173
|
|
|
168
174
|
### Using Local Models (Ollama)
|
|
169
175
|
|
|
170
176
|
1. Install Ollama: https://ollama.ai
|
|
171
|
-
2. Pull a model: `ollama pull
|
|
177
|
+
2. Pull a model: `ollama pull llama3`
|
|
172
178
|
3. Configure ClawBee:
|
|
173
179
|
```bash
|
|
174
180
|
clawbee config set ai.provider local
|
|
175
|
-
clawbee config set ai.model
|
|
181
|
+
clawbee config set ai.model llama3
|
|
176
182
|
```
|
|
177
183
|
|
|
178
184
|
## 🔗 Integrations
|
|
179
185
|
|
|
186
|
+
### WhatsApp (via QR Code)
|
|
187
|
+
|
|
188
|
+
1. Run `clawbee connect whatsapp`
|
|
189
|
+
2. Scan the QR code with your phone
|
|
190
|
+
3. Open WhatsApp > Settings > Linked Devices > Link a Device
|
|
191
|
+
4. ClawBee will respond to your messages!
|
|
192
|
+
|
|
180
193
|
### Telegram
|
|
181
194
|
|
|
182
195
|
1. Message @BotFather on Telegram
|
|
@@ -214,6 +227,7 @@ clawbee config set ai.apiKey your-google-api-key
|
|
|
214
227
|
├── logs/ # Log files
|
|
215
228
|
│ └── clawbee.log
|
|
216
229
|
└── integrations/ # Integration data
|
|
230
|
+
└── whatsapp/ # WhatsApp session
|
|
217
231
|
```
|
|
218
232
|
|
|
219
233
|
## 🛠️ Development
|
|
@@ -226,6 +240,32 @@ cd clawbee
|
|
|
226
240
|
npm install
|
|
227
241
|
```
|
|
228
242
|
|
|
243
|
+
### Using as a Library
|
|
244
|
+
|
|
245
|
+
```javascript
|
|
246
|
+
const { AIProvider, WhatsAppBot, TelegramBot } = require('clawbee');
|
|
247
|
+
|
|
248
|
+
// Create AI provider with Emergent Universal Key
|
|
249
|
+
const ai = new AIProvider({
|
|
250
|
+
provider: 'emergent',
|
|
251
|
+
apiKey: 'your-emergent-key',
|
|
252
|
+
model: 'gpt-5.2'
|
|
253
|
+
});
|
|
254
|
+
|
|
255
|
+
// Chat
|
|
256
|
+
const response = await ai.chat([
|
|
257
|
+
{ role: 'user', content: 'Hello!' }
|
|
258
|
+
]);
|
|
259
|
+
|
|
260
|
+
console.log(response.content);
|
|
261
|
+
|
|
262
|
+
// Use with different models (same key!)
|
|
263
|
+
ai.withModel('anthropic', 'claude-4-sonnet-20250514');
|
|
264
|
+
const claudeResponse = await ai.chat([
|
|
265
|
+
{ role: 'user', content: 'Hello from Claude!' }
|
|
266
|
+
]);
|
|
267
|
+
```
|
|
268
|
+
|
|
229
269
|
### Creating a Skill
|
|
230
270
|
|
|
231
271
|
```javascript
|
|
@@ -261,26 +301,6 @@ module.exports = {
|
|
|
261
301
|
};
|
|
262
302
|
```
|
|
263
303
|
|
|
264
|
-
### Using as a Library
|
|
265
|
-
|
|
266
|
-
```javascript
|
|
267
|
-
const { AIProvider, SkillManager } = require('clawbee');
|
|
268
|
-
|
|
269
|
-
// Create AI provider
|
|
270
|
-
const ai = new AIProvider({
|
|
271
|
-
provider: 'openai',
|
|
272
|
-
apiKey: 'sk-...',
|
|
273
|
-
model: 'gpt-4'
|
|
274
|
-
});
|
|
275
|
-
|
|
276
|
-
// Chat
|
|
277
|
-
const response = await ai.chat([
|
|
278
|
-
{ role: 'user', content: 'Hello!' }
|
|
279
|
-
]);
|
|
280
|
-
|
|
281
|
-
console.log(response.content);
|
|
282
|
-
```
|
|
283
|
-
|
|
284
304
|
## 🤝 Contributing
|
|
285
305
|
|
|
286
306
|
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md).
|