clawbee 2.0.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 +238 -55
- package/bin/clawbee.js +1256 -130
- package/lib/ai/provider.js +377 -0
- package/lib/automation/browser.js +154 -0
- package/lib/automation/system.js +193 -0
- package/lib/index.js +42 -0
- package/lib/integrations/discord.js +85 -0
- package/lib/integrations/slack.js +72 -0
- package/lib/integrations/telegram.js +95 -0
- package/lib/integrations/whatsapp.js +247 -0
- package/lib/skills/manager.js +301 -0
- package/package.json +23 -16
- package/src/core/clawbee.ts +0 -124
- package/src/core/config.ts +0 -88
- package/src/core/memory.ts +0 -98
- package/src/index.ts +0 -14
- package/src/skills/manager.ts +0 -89
- package/src/types.ts +0 -73
package/README.md
CHANGED
|
@@ -2,126 +2,308 @@
|
|
|
2
2
|
|
|
3
3
|
**Your Personal AI, Endless Possibilities.**
|
|
4
4
|
|
|
5
|
-
ClawBee is an open-source AI assistant that runs locally on your machine and connects to any chat app you already use.
|
|
5
|
+
ClawBee is an open-source AI assistant that runs locally on your machine and connects to any chat app you already use. It's designed to automate your daily tasks while keeping your data private.
|
|
6
6
|
|
|
7
|
-
](https://www.npmjs.com/package/clawbee)
|
|
8
|
+
[](https://github.com/clawbeepro/clawbee/blob/main/LICENSE)
|
|
8
9
|
|
|
9
10
|
## ✨ Features
|
|
10
11
|
|
|
11
12
|
- 🖥️ **Runs Locally** - Your data stays on your machine
|
|
12
|
-
- 💬 **Any Chat App** - WhatsApp, Telegram, Discord, Slack
|
|
13
|
+
- 💬 **Any Chat App** - WhatsApp (QR code), Telegram, Discord, Slack
|
|
13
14
|
- 🧠 **Persistent Memory** - Remembers context across conversations
|
|
14
|
-
- 🌐 **Browser Control** - Automate web tasks
|
|
15
|
+
- 🌐 **Browser Control** - Automate web tasks with Puppeteer
|
|
15
16
|
- 🔧 **Extensible** - Add skills from the marketplace or build your own
|
|
16
|
-
-
|
|
17
|
+
- 🔐 **Private & Secure** - Full control over your data
|
|
18
|
+
- 🤖 **Multi-AI Support** - Emergent Universal Key, OpenAI, Anthropic, Google, or local models
|
|
17
19
|
|
|
18
20
|
## 🚀 Quick Start
|
|
19
21
|
|
|
20
|
-
###
|
|
22
|
+
### Install via npm
|
|
21
23
|
|
|
22
24
|
```bash
|
|
23
|
-
|
|
25
|
+
npm install -g clawbee
|
|
26
|
+
clawbee onboard
|
|
24
27
|
```
|
|
25
28
|
|
|
26
|
-
###
|
|
29
|
+
### Install via One-liner
|
|
27
30
|
|
|
28
31
|
```bash
|
|
29
|
-
|
|
30
|
-
clawbee
|
|
32
|
+
# macOS/Linux
|
|
33
|
+
curl -fsSL https://clawbee.pro/install.sh | bash
|
|
34
|
+
|
|
35
|
+
# Windows (PowerShell)
|
|
36
|
+
irm https://clawbee.pro/install.ps1 | iex
|
|
31
37
|
```
|
|
32
38
|
|
|
33
|
-
###
|
|
39
|
+
### Install from Source
|
|
34
40
|
|
|
35
41
|
```bash
|
|
36
42
|
git clone https://github.com/clawbeepro/clawbee.git
|
|
37
43
|
cd clawbee
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
44
|
+
npm install
|
|
45
|
+
npm link
|
|
46
|
+
clawbee onboard
|
|
41
47
|
```
|
|
42
48
|
|
|
43
49
|
## 📖 Usage
|
|
44
50
|
|
|
51
|
+
### Basic Commands
|
|
52
|
+
|
|
45
53
|
```bash
|
|
46
|
-
#
|
|
54
|
+
# Initial setup
|
|
47
55
|
clawbee onboard
|
|
48
56
|
|
|
49
|
-
# Start the daemon
|
|
50
|
-
clawbee start
|
|
51
|
-
|
|
52
57
|
# Chat in terminal
|
|
53
58
|
clawbee chat
|
|
54
59
|
|
|
55
|
-
#
|
|
60
|
+
# Send a single message
|
|
61
|
+
clawbee chat -s "What's the weather like?"
|
|
62
|
+
|
|
63
|
+
# Start daemon with all integrations
|
|
64
|
+
clawbee start --all
|
|
65
|
+
|
|
66
|
+
# Check status
|
|
67
|
+
clawbee status
|
|
68
|
+
|
|
69
|
+
# View logs
|
|
70
|
+
clawbee logs
|
|
71
|
+
|
|
72
|
+
# Update ClawBee
|
|
73
|
+
clawbee update
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Connect Chat Platforms
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
# Connect WhatsApp (with QR code scanning)
|
|
56
80
|
clawbee connect whatsapp
|
|
81
|
+
|
|
82
|
+
# Connect Telegram
|
|
57
83
|
clawbee connect telegram
|
|
84
|
+
|
|
85
|
+
# Connect Discord
|
|
58
86
|
clawbee connect discord
|
|
59
87
|
|
|
60
|
-
#
|
|
61
|
-
clawbee
|
|
88
|
+
# Connect Slack
|
|
89
|
+
clawbee connect slack
|
|
90
|
+
```
|
|
62
91
|
|
|
63
|
-
|
|
92
|
+
### Manage Skills
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
# List installed skills
|
|
64
96
|
clawbee skills list
|
|
97
|
+
|
|
98
|
+
# Search for skills
|
|
99
|
+
clawbee skills search email
|
|
100
|
+
|
|
101
|
+
# Install a skill
|
|
65
102
|
clawbee skills install email-manager
|
|
66
|
-
clawbee skills search calendar
|
|
67
103
|
|
|
68
|
-
#
|
|
104
|
+
# Remove a skill
|
|
105
|
+
clawbee skills remove email-manager
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Configuration
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
# Show configuration
|
|
69
112
|
clawbee config show
|
|
70
|
-
|
|
71
|
-
|
|
113
|
+
|
|
114
|
+
# Set a value
|
|
115
|
+
clawbee config set ai.model gpt-5.2
|
|
116
|
+
clawbee config set ai.temperature 0.8
|
|
117
|
+
|
|
118
|
+
# Get a value
|
|
119
|
+
clawbee config get ai.provider
|
|
120
|
+
|
|
121
|
+
# Reset configuration
|
|
122
|
+
clawbee config reset
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Memory Management
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# Show conversation history
|
|
129
|
+
clawbee memory show
|
|
130
|
+
|
|
131
|
+
# Clear memory
|
|
132
|
+
clawbee memory clear
|
|
133
|
+
|
|
134
|
+
# Export memory
|
|
135
|
+
clawbee memory export
|
|
136
|
+
|
|
137
|
+
# Memory statistics
|
|
138
|
+
clawbee memory stats
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## 🔌 AI Providers
|
|
142
|
+
|
|
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
|
|
156
|
+
|
|
157
|
+
| Provider | Models | API Key Required |
|
|
158
|
+
|----------|--------|------------------|
|
|
159
|
+
| OpenAI | GPT-4, GPT-4o, GPT-4 Turbo | Yes |
|
|
160
|
+
| Anthropic | Claude 3 Opus, Sonnet, Haiku | Yes |
|
|
161
|
+
| Google | Gemini Pro, Gemini 1.5 Pro | Yes |
|
|
162
|
+
| Ollama | Llama 2, Llama 3, Mistral, CodeLlama | No (local) |
|
|
163
|
+
|
|
164
|
+
### Setting up API Keys
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
# Emergent Universal Key (works for all providers)
|
|
168
|
+
clawbee config set ai.apiKey your-emergent-universal-key
|
|
169
|
+
|
|
170
|
+
# Or individual provider keys
|
|
171
|
+
clawbee config set ai.apiKey sk-your-openai-key
|
|
72
172
|
```
|
|
73
173
|
|
|
74
|
-
|
|
174
|
+
### Using Local Models (Ollama)
|
|
175
|
+
|
|
176
|
+
1. Install Ollama: https://ollama.ai
|
|
177
|
+
2. Pull a model: `ollama pull llama3`
|
|
178
|
+
3. Configure ClawBee:
|
|
179
|
+
```bash
|
|
180
|
+
clawbee config set ai.provider local
|
|
181
|
+
clawbee config set ai.model llama3
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
## 🔗 Integrations
|
|
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
|
+
|
|
193
|
+
### Telegram
|
|
194
|
+
|
|
195
|
+
1. Message @BotFather on Telegram
|
|
196
|
+
2. Create a new bot with `/newbot`
|
|
197
|
+
3. Copy the token
|
|
198
|
+
4. Run `clawbee connect telegram`
|
|
75
199
|
|
|
76
|
-
|
|
77
|
-
|----------|--------|
|
|
78
|
-
| WhatsApp | ✅ Supported |
|
|
79
|
-
| Telegram | ✅ Supported |
|
|
80
|
-
| Discord | ✅ Supported |
|
|
81
|
-
| Slack | ✅ Supported |
|
|
82
|
-
| Signal | 🚧 Coming Soon |
|
|
83
|
-
| iMessage | 🚧 Coming Soon |
|
|
200
|
+
### Discord
|
|
84
201
|
|
|
85
|
-
|
|
202
|
+
1. Go to https://discord.com/developers/applications
|
|
203
|
+
2. Create a new application
|
|
204
|
+
3. Go to Bot section, create a bot
|
|
205
|
+
4. Enable MESSAGE CONTENT INTENT
|
|
206
|
+
5. Copy the token
|
|
207
|
+
6. Run `clawbee connect discord`
|
|
86
208
|
|
|
87
|
-
|
|
88
|
-
- Anthropic (Claude 3)
|
|
89
|
-
- Google (Gemini Pro)
|
|
90
|
-
- Local Models (Ollama, LM Studio)
|
|
209
|
+
### Slack
|
|
91
210
|
|
|
92
|
-
|
|
211
|
+
1. Go to https://api.slack.com/apps
|
|
212
|
+
2. Create a new app
|
|
213
|
+
3. Add OAuth scopes: `chat:write`, `app_mentions:read`, `im:history`
|
|
214
|
+
4. Install app to workspace
|
|
215
|
+
5. Run `clawbee connect slack`
|
|
216
|
+
|
|
217
|
+
## 📁 File Structure
|
|
93
218
|
|
|
94
219
|
```
|
|
95
|
-
~/.config/clawbee/
|
|
220
|
+
~/.config/clawbee/
|
|
221
|
+
├── config.json # Main configuration
|
|
222
|
+
|
|
96
223
|
~/.local/share/clawbee/
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
224
|
+
├── skills/ # Installed skills
|
|
225
|
+
├── memory/ # Conversation memory
|
|
226
|
+
│ └── conversations.json
|
|
227
|
+
├── logs/ # Log files
|
|
228
|
+
│ └── clawbee.log
|
|
229
|
+
└── integrations/ # Integration data
|
|
230
|
+
└── whatsapp/ # WhatsApp session
|
|
100
231
|
```
|
|
101
232
|
|
|
102
233
|
## 🛠️ Development
|
|
103
234
|
|
|
235
|
+
### Building from Source
|
|
236
|
+
|
|
104
237
|
```bash
|
|
105
|
-
# Clone the repo
|
|
106
238
|
git clone https://github.com/clawbeepro/clawbee.git
|
|
107
239
|
cd clawbee
|
|
240
|
+
npm install
|
|
241
|
+
```
|
|
108
242
|
|
|
109
|
-
|
|
110
|
-
pnpm install
|
|
243
|
+
### Using as a Library
|
|
111
244
|
|
|
112
|
-
|
|
113
|
-
|
|
245
|
+
```javascript
|
|
246
|
+
const { AIProvider, WhatsAppBot, TelegramBot } = require('clawbee');
|
|
114
247
|
|
|
115
|
-
|
|
116
|
-
|
|
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
|
+
```
|
|
117
268
|
|
|
118
|
-
|
|
119
|
-
|
|
269
|
+
### Creating a Skill
|
|
270
|
+
|
|
271
|
+
```javascript
|
|
272
|
+
// skills/my-skill/manifest.json
|
|
273
|
+
{
|
|
274
|
+
"name": "my-skill",
|
|
275
|
+
"version": "1.0.0",
|
|
276
|
+
"description": "My custom skill",
|
|
277
|
+
"commands": [
|
|
278
|
+
{
|
|
279
|
+
"name": "mycommand",
|
|
280
|
+
"description": "Does something",
|
|
281
|
+
"handler": "handleCommand"
|
|
282
|
+
}
|
|
283
|
+
],
|
|
284
|
+
"triggers": [
|
|
285
|
+
{
|
|
286
|
+
"type": "keyword",
|
|
287
|
+
"pattern": "my trigger",
|
|
288
|
+
"handler": "handleTrigger"
|
|
289
|
+
}
|
|
290
|
+
]
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
// skills/my-skill/index.js
|
|
294
|
+
module.exports = {
|
|
295
|
+
handleCommand: async (args, context) => {
|
|
296
|
+
return "Command executed!";
|
|
297
|
+
},
|
|
298
|
+
handleTrigger: async (message, context) => {
|
|
299
|
+
return "Trigger activated!";
|
|
300
|
+
}
|
|
301
|
+
};
|
|
120
302
|
```
|
|
121
303
|
|
|
122
304
|
## 🤝 Contributing
|
|
123
305
|
|
|
124
|
-
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md)
|
|
306
|
+
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md).
|
|
125
307
|
|
|
126
308
|
1. Fork the repository
|
|
127
309
|
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
|
|
@@ -140,6 +322,7 @@ MIT License - see the [LICENSE](LICENSE) file for details.
|
|
|
140
322
|
- [Skill Marketplace](https://clawbee.pro/marketplace)
|
|
141
323
|
- [Discord Community](https://discord.gg/clawbee)
|
|
142
324
|
- [GitHub](https://github.com/clawbeepro/clawbee)
|
|
325
|
+
- [npm](https://www.npmjs.com/package/clawbee)
|
|
143
326
|
|
|
144
327
|
---
|
|
145
328
|
|