callme-openclaw-plugin 1.0.3 → 1.0.5

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.
@@ -0,0 +1,46 @@
1
+ {
2
+ "id": "callme",
3
+ "name": "callme.ai Voice",
4
+ "version": "1.0.4",
5
+ "description": "Hands-free voice calls with your AI assistant via callme.ai",
6
+ "author": "callme.ai",
7
+ "license": "MIT",
8
+ "configSchema": {
9
+ "type": "object",
10
+ "properties": {
11
+ "apiKey": {
12
+ "type": "string",
13
+ "description": "Your callme.ai API key from the dashboard"
14
+ },
15
+ "defaultVoice": {
16
+ "type": "string",
17
+ "enum": ["alloy", "echo", "fable", "onyx", "nova", "shimmer"],
18
+ "default": "nova",
19
+ "description": "Default voice for TTS"
20
+ },
21
+ "language": {
22
+ "type": "string",
23
+ "enum": ["en", "de", "es", "fr"],
24
+ "default": "en",
25
+ "description": "Language code"
26
+ }
27
+ },
28
+ "required": ["apiKey"],
29
+ "additionalProperties": false
30
+ },
31
+ "uiHints": {
32
+ "apiKey": {
33
+ "label": "API Key",
34
+ "placeholder": "callme_xxx",
35
+ "sensitive": true
36
+ },
37
+ "defaultVoice": {
38
+ "label": "Default Voice",
39
+ "placeholder": "nova"
40
+ },
41
+ "language": {
42
+ "label": "Language",
43
+ "placeholder": "en"
44
+ }
45
+ }
46
+ }
package/package.json CHANGED
@@ -1,6 +1,16 @@
1
1
  {
2
2
  "name": "callme-openclaw-plugin",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
+ "files": [
5
+ "index.js",
6
+ "setup.js",
7
+ "install.sh",
8
+ "openclaw.plugin.json",
9
+ "README.md"
10
+ ],
11
+ "openclaw": {
12
+ "extensions": ["./index.js"]
13
+ },
4
14
  "description": "OpenClaw plugin for callme.ai - hands-free voice calls with your AI assistant",
5
15
  "main": "index.js",
6
16
  "bin": {
package/setup.js CHANGED
@@ -47,33 +47,18 @@ async function main() {
47
47
  process.exit(1);
48
48
  }
49
49
 
50
- // Step 3: Copy plugin files
51
- console.log('\nšŸ“¦ Setting up plugin...');
52
- fs.mkdirSync(PLUGIN_DIR, { recursive: true });
50
+ // Step 3: Install plugin via OpenClaw CLI
51
+ console.log('\nšŸ“¦ Installing plugin...');
53
52
 
54
- // Copy plugin from the npx cache to the OpenClaw plugins directory
55
53
  try {
56
- const thisDir = __dirname; // Where this script is running from
57
-
58
- // Copy main files
59
- const filesToCopy = ['index.js', 'package.json'];
60
- for (const file of filesToCopy) {
61
- const src = path.join(thisDir, file);
62
- const dest = path.join(PLUGIN_DIR, file);
63
- if (fs.existsSync(src)) {
64
- fs.copyFileSync(src, dest);
65
- }
66
- }
67
-
68
- // Install dependencies
69
- process.chdir(PLUGIN_DIR);
70
- await execAsync('npm install --production --no-package-lock');
54
+ // Use OpenClaw's plugin installer (official method)
55
+ await execAsync('openclaw plugins install callme-openclaw-plugin');
71
56
  console.log('āœ… Plugin installed');
72
57
  } catch (error) {
73
58
  console.error('āŒ Failed to install plugin:', error.message);
74
- console.log('\nšŸ“‹ Manual installation:');
75
- console.log(' 1. Run: curl -fsSL http://91.99.132.236/install.sh | bash');
76
- console.log(' 2. Edit ~/.openclaw/config.yaml and add your API key');
59
+ console.log('\nšŸ“‹ Manual fallback:');
60
+ console.log(' 1. Run: openclaw plugins install callme-openclaw-plugin');
61
+ console.log(' 2. Then re-run this setup');
77
62
  process.exit(1);
78
63
  }
79
64
 
@@ -112,45 +97,32 @@ plugins:
112
97
  // Done!
113
98
  console.log('\n✨ \x1b[1;32mSetup complete!\x1b[0m\n');
114
99
 
115
- // Step 5: Offer to reload OpenClaw
116
- const shouldReload = await question('šŸ”„ Reload OpenClaw now? (y/n): ');
100
+ // Step 5: Offer to restart gateway
101
+ const shouldRestart = await question('šŸ”„ Restart OpenClaw Gateway now? (y/n): ');
117
102
 
118
- if (shouldReload.toLowerCase() === 'y' || shouldReload.toLowerCase() === 'yes') {
119
- console.log('\nšŸ”„ Reloading OpenClaw...');
103
+ if (shouldRestart.toLowerCase() === 'y' || shouldRestart.toLowerCase() === 'yes') {
104
+ console.log('\nšŸ”„ Restarting Gateway...');
120
105
  try {
121
- const { stdout } = await execAsync('openclaw reload');
122
- console.log('āœ… OpenClaw reloaded successfully!\n');
123
-
124
- // Step 6: Offer to start a call
125
- const shouldCall = await question('šŸ“ž Start your first voice call now? (y/n): ');
126
-
127
- if (shouldCall.toLowerCase() === 'y' || shouldCall.toLowerCase() === 'yes') {
128
- console.log('\nšŸ“ž Starting voice call...');
129
- console.log(' Type /call in your OpenClaw session to begin!\n');
130
- console.log('šŸ’” Tip: You can also run:');
131
- console.log(' - /voice-usage (Check your usage stats)');
132
- console.log(' - /voice-keys (Manage API keys)\n');
133
- } else {
134
- console.log('\nšŸ“š When ready, use these commands:');
135
- console.log(' /call - Start voice call');
136
- console.log(' /voice-usage - Check usage stats');
137
- console.log(' /voice-keys - Manage API keys\n');
138
- }
139
-
106
+ await execAsync('openclaw gateway restart');
107
+ console.log('āœ… Gateway restarted!\n');
108
+ console.log('šŸŽ‰ \x1b[1;32mYou\'re all set!\x1b[0m\n');
109
+ console.log('šŸ“ž Start your first call: \x1b[36m/call\x1b[0m\n');
110
+ console.log('šŸ“š Other commands:');
111
+ console.log(' /voice-usage Check your usage stats');
112
+ console.log(' /voice-keys Manage your API keys\n');
140
113
  } catch (error) {
141
- console.log('āš ļø Could not reload automatically. Please run manually:');
142
- console.log(' \x1b[36mopenclaw reload\x1b[0m\n');
114
+ console.log('āš ļø Could not restart automatically.');
115
+ console.log('\nšŸ“‹ Please restart manually:');
116
+ console.log(' \x1b[36mopenclaw gateway restart\x1b[0m\n');
117
+ console.log('Then type: \x1b[36m/call\x1b[0m\n');
143
118
  }
144
119
  } else {
145
- console.log('\nšŸ“‹ Remember to reload OpenClaw:');
146
- console.log(' \x1b[36mopenclaw reload\x1b[0m');
147
- console.log('\nšŸ“š Then use these commands:');
148
- console.log(' /call - Start voice call');
149
- console.log(' /voice-usage - Check usage stats');
150
- console.log(' /voice-keys - Manage API keys\n');
120
+ console.log('\nšŸ“‹ \x1b[1mRemember to restart the Gateway:\x1b[0m');
121
+ console.log(' \x1b[36mopenclaw gateway restart\x1b[0m\n');
122
+ console.log('šŸ“ž Then type: \x1b[36m/call\x1b[0m to start your first voice call!\n');
151
123
  }
152
124
 
153
- console.log('Need help? https://docs.callme.ai/openclaw\n');
125
+ console.log('šŸ“– Need help? https://docs.callme.ai/openclaw\n');
154
126
 
155
127
  rl.close();
156
128
  }