vipcare 0.3.20 → 0.3.21
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/bin/vip.js +17 -2
- package/package.json +1 -1
package/bin/vip.js
CHANGED
|
@@ -929,10 +929,25 @@ program.command('init')
|
|
|
929
929
|
|
|
930
930
|
const deps = [
|
|
931
931
|
{ name: 'bird', label: 'Bird CLI (Twitter data)', install: 'npm install -g @steipete/bird', check: () => checkTool('bird') },
|
|
932
|
-
{ name: 'ddgs', label: 'DDGS (web search)', install: 'pip3 install ddgs', check: () =>
|
|
932
|
+
{ name: 'ddgs', label: 'DDGS (web search)', install: 'pip3 install ddgs', check: () => {
|
|
933
|
+
if (checkTool('ddgs')) return true;
|
|
934
|
+
// Check common Python bin paths
|
|
935
|
+
const pyDirs = fs.readdirSync(path.join(os.homedir(), 'Library', 'Python')).catch?.(() => []);
|
|
936
|
+
try {
|
|
937
|
+
for (const d of fs.readdirSync(path.join(os.homedir(), 'Library', 'Python'))) {
|
|
938
|
+
if (fs.existsSync(path.join(os.homedir(), 'Library', 'Python', d, 'bin', 'ddgs'))) return true;
|
|
939
|
+
}
|
|
940
|
+
} catch {}
|
|
941
|
+
try { execFileSync('python3', ['-c', 'import ddgs'], { stdio: 'ignore', timeout: 5000 }); return true; } catch {}
|
|
942
|
+
return false;
|
|
943
|
+
}},
|
|
933
944
|
{ name: 'claude', label: 'Claude Code CLI (AI synthesis)', install: 'npm install -g @anthropic-ai/claude-code', check: () => checkTool('claude') },
|
|
934
945
|
{ name: 'yt-dlp', label: 'yt-dlp (YouTube download)', install: 'pip3 install yt-dlp', check: () => checkTool('yt-dlp') },
|
|
935
|
-
{ name: 'whisper', label: 'Whisper (YouTube transcription)', install: 'pip3 install openai-whisper', check: () =>
|
|
946
|
+
{ name: 'whisper', label: 'Whisper (YouTube transcription)', install: 'pip3 install openai-whisper', check: () => {
|
|
947
|
+
if (checkTool('whisper')) return true;
|
|
948
|
+
try { execFileSync('python3', ['-c', 'import whisper'], { stdio: 'ignore', timeout: 5000 }); return true; } catch {}
|
|
949
|
+
return false;
|
|
950
|
+
}},
|
|
936
951
|
];
|
|
937
952
|
|
|
938
953
|
const missing = [];
|