5.1.0 — Hive Search command (Meilisearch commander_hive)

This commit is contained in:
Alfred Commander 2026-04-28 12:33:40 -04:00
parent 3306a33e53
commit 11f9623906
3 changed files with 227 additions and 165 deletions

14
.vsixmanifest Normal file
View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
<Metadata>
<Identity Language="en-US" Id="alfred-commander" Version="5.0.0" Publisher="gositeme"/>
<DisplayName>Alfred Commander</DisplayName>
<Description>Alfred Commander 5.0.0</Description>
<Tags>alfred</Tags>
<Categories>Other</Categories>
<GalleryFlags>Public</GalleryFlags>
</Metadata>
<Installation><InstallationTarget Id="Microsoft.VisualStudio.Code"/></Installation>
<Dependencies/>
<Assets><Asset Type="Microsoft.VisualStudio.Code.Manifest" Path="extension/package.json" Addressable="true"/></Assets>
</PackageManifest>

View File

@ -1164,6 +1164,54 @@ function activate(context) {
}); });
}) })
); );
// ===== Hive Search (Meilisearch commander_hive index) =====
context.subscriptions.push(
vscode.commands.registerCommand('alfred-commander.hiveSearch', async () => {
const http = require('http');
const q = await vscode.window.showInputBox({
prompt: 'Hive Search — search 174k+ indexed docs',
placeHolder: 'e.g. vault key, reunion protocol, sabbath, custody',
ignoreFocusOut: true
});
if (!q) return;
const KEY = '885a895594cd2fa973ef1956547c2c25';
const body = JSON.stringify({ q: q, limit: 30, attributesToRetrieve: ['title','path','snippet','folder','kind','ext'] });
const opts = {
hostname:'127.0.0.1', port:7700, method:'POST',
path:'/indexes/commander_hive/search',
headers:{ 'Authorization':'Bearer '+KEY, 'Content-Type':'application/json', 'Content-Length':Buffer.byteLength(body) }
};
const hits = await new Promise((resolve, reject) => {
const req = http.request(opts, res => {
let buf=''; res.setEncoding('utf8');
res.on('data', d => buf += d);
res.on('end', () => { try { resolve(JSON.parse(buf).hits || []); } catch (e) { reject(e); } });
});
req.on('error', reject);
req.write(body); req.end();
}).catch(err => { vscode.window.showErrorMessage('Hive: '+err.message); return []; });
if (!hits.length) { vscode.window.showInformationMessage('Hive: no results for "'+q+'"'); return; }
const items = hits.map(h => ({
label: '$(search) ' + (h.title || h.path || '(untitled)'),
description: (h.folder ? '['+h.folder+'] ' : '') + (h.kind || h.ext || ''),
detail: (h.snippet || '').slice(0, 240).replace(/\s+/g,' '),
_path: h.path
}));
const pick = await vscode.window.showQuickPick(items, {
placeHolder: 'Hive: '+hits.length+' results — pick to open',
matchOnDescription: true, matchOnDetail: true
});
if (!pick || !pick._path) return;
try {
const doc = await vscode.workspace.openTextDocument(pick._path);
await vscode.window.showTextDocument(doc);
} catch (e) {
vscode.env.clipboard.writeText(pick._path);
vscode.window.showWarningMessage('Hive: could not open ('+e.message+'). Path copied to clipboard.');
}
})
);
const statusBar = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right, 100); const statusBar = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right, 100);
statusBar.text = '$(mic) Alfred'; statusBar.text = '$(mic) Alfred';
statusBar.tooltip = 'Alfred — Toggle mic (Ctrl+Shift+Alt+A)'; statusBar.tooltip = 'Alfred — Toggle mic (Ctrl+Shift+Alt+A)';

View File

@ -1,168 +1,168 @@
{ {
"name": "alfred-commander", "name": "alfred-commander",
"displayName": "Alfred IDE Assistant \u2014 Full IDE Chat & Voice", "displayName": "Alfred IDE Assistant \u2014 Full IDE Chat & Voice",
"description": "Alfred Commander v5 Kingdom Edition \u2014 AI chat, voice AI, model routing, memory engine, cost tracking, session persistence, fleet commander. The sovereign IDE brain.", "description": "Alfred Commander v5 Kingdom Edition \u2014 AI chat, voice AI, model routing, memory engine, cost tracking, session persistence, fleet commander. The sovereign IDE brain.",
"version": "5.0.0", "version": "5.1.0",
"publisher": "gositeme", "publisher": "gositeme",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://alfredlinux.com/forge/commander/alfred-ide.git" "url": "https://alfredlinux.com/forge/commander/alfred-ide.git"
}, },
"homepage": "https://alfredlinux.com/forge/commander/alfred-ide", "homepage": "https://alfredlinux.com/forge/commander/alfred-ide",
"engines": { "engines": {
"vscode": "^1.70.0" "vscode": "^1.70.0"
}, },
"categories": [ "categories": [
"Other" "Other"
], ],
"activationEvents": [ "activationEvents": [
"onStartupFinished" "onStartupFinished"
], ],
"main": "./extension.js", "main": "./extension.js",
"contributes": { "contributes": {
"configurationDefaults": { "configurationDefaults": {
"window.menuBarVisibility": "visible", "window.menuBarVisibility": "visible",
"chat.disableAIFeatures": false "chat.disableAIFeatures": false
}, },
"commands": [ "commands": [
{ {
"command": "alfred-commander.open", "command": "alfred-commander.open",
"title": "Alfred: Open Panel" "title": "Alfred: Open Panel"
}, },
{ {
"command": "alfred-commander.toggle", "command": "alfred-commander.toggle",
"title": "Alfred: Toggle Mic" "title": "Alfred: Toggle Mic"
}, },
{ {
"command": "alfred-commander.showStats", "command": "alfred-commander.showStats",
"title": "Alfred: Account & Usage Stats" "title": "Alfred: Account & Usage Stats"
}, },
{ {
"command": "alfred-commander.welcome", "command": "alfred-commander.welcome",
"title": "Alfred: Getting Started" "title": "Alfred: Getting Started"
}, },
{ {
"command": "alfred-commander.workspaceStatus", "command": "alfred-commander.workspaceStatus",
"title": "Alfred: Workspace Status" "title": "Alfred: Workspace Status"
}, },
{ {
"command": "alfred-commander.voicePanel", "command": "alfred-commander.voicePanel",
"title": "Alfred: Voice AI Panel" "title": "Alfred: Voice AI Panel"
}, },
{ {
"command": "alfred-commander.memoryPanel", "command": "alfred-commander.memoryPanel",
"title": "Alfred: Memory Engine" "title": "Alfred: Memory Engine"
}, },
{ {
"command": "alfred-commander.costPanel", "command": "alfred-commander.costPanel",
"title": "Alfred: Cost & Usage Tracker" "title": "Alfred: Cost & Usage Tracker"
}, },
{ {
"command": "alfred-commander.vaultPanel", "command": "alfred-commander.vaultPanel",
"title": "Alfred: Kingdom Vault" "title": "Alfred: Kingdom Vault"
}, },
{ {
"command": "alfred-commander.vaultPanel", "command": "alfred-commander.hiveSearch",
"title": "Alfred: Kingdom Vault" "title": "Alfred: Hive Search"
} }
], ],
"keybindings": [ "keybindings": [
{ {
"command": "alfred-commander.open", "command": "alfred-commander.open",
"key": "ctrl+shift+alt+o", "key": "ctrl+shift+alt+o",
"mac": "cmd+shift+alt+o" "mac": "cmd+shift+alt+o"
}, },
{ {
"command": "alfred-commander.toggle", "command": "alfred-commander.toggle",
"key": "ctrl+shift+alt+a", "key": "ctrl+shift+alt+a",
"mac": "cmd+shift+alt+a" "mac": "cmd+shift+alt+a"
}, },
{ {
"command": "alfred-commander.voicePanel", "command": "alfred-commander.voicePanel",
"key": "ctrl+shift+alt+v", "key": "ctrl+shift+alt+v",
"mac": "cmd+shift+alt+v" "mac": "cmd+shift+alt+v"
} }
], ],
"viewsContainers": { "viewsContainers": {
"activitybar": [ "activitybar": [
{ {
"id": "alfred-commander-container", "id": "alfred-commander-container",
"title": "Alfred", "title": "Alfred",
"icon": "media/alfred-icon.svg" "icon": "media/alfred-icon.svg"
}
]
},
"views": {
"alfred-commander-container": [
{
"type": "webview",
"id": "alfred-commander.panel",
"name": "Alfred",
"visibility": "visible"
}
]
},
"walkthroughs": [
{
"id": "alfred-ide-getting-started",
"title": "Getting Started with Alfred IDE",
"description": "Your sovereign development environment \u2014 AI-powered, zero-tracking, fully yours.",
"steps": [
{
"id": "meet-alfred",
"title": "Meet Alfred \u2014 Your AI Companion",
"description": "Alfred lives in the sidebar. Click the Alfred icon in the activity bar to open the chat panel. Ask anything \u2014 code questions, file operations, debugging help.\n\n[Open Alfred Panel](command:alfred-commander.open)",
"media": {
"markdown": "media/walkthrough/meet-alfred.md"
}
},
{
"id": "voice-commands",
"title": "Talk to Your IDE",
"description": "Alfred supports voice input. Click the microphone button or press ``Ctrl+Shift+Alt+A`` to toggle voice mode. Speak naturally \u2014 Alfred transcribes and responds.\n\n[Toggle Voice](command:alfred-commander.toggle)",
"media": {
"markdown": "media/walkthrough/voice.md"
}
},
{
"id": "choose-model",
"title": "Choose Your AI Model",
"description": "Switch between AI providers and models using the dropdown at the top of the Alfred panel. Available models include Claude, GPT, local Ollama models, and more.",
"media": {
"markdown": "media/walkthrough/models.md"
}
},
{
"id": "account-stats",
"title": "Check Your Usage & Plan",
"description": "Click your username in the status bar (bottom-left) to see your account details, token usage, plan info, and billing.\n\n[View Account Stats](command:alfred-commander.showStats)",
"media": {
"markdown": "media/walkthrough/stats.md"
}
},
{
"id": "keyboard-shortcuts",
"title": "Essential Shortcuts",
"description": "Master these shortcuts to work faster:\n- ``Ctrl+Shift+Alt+O`` \u2014 Open Alfred Panel\n- ``Ctrl+Shift+Alt+A`` \u2014 Toggle Voice\n- ``Ctrl+``` `` \u2014 Open Terminal\n- ``Ctrl+P`` \u2014 Quick File Open\n- ``Ctrl+Shift+P`` \u2014 Command Palette",
"media": {
"markdown": "media/walkthrough/shortcuts.md"
}
},
{
"id": "sovereign-ide",
"title": "Your Sovereign IDE",
"description": "Alfred IDE tracks nothing. No telemetry, no usage analytics, no data collection. Your code stays on your machine. Your conversations stay private. Welcome to sovereign development.",
"media": {
"markdown": "media/walkthrough/sovereign.md"
}
}
]
}
]
},
"__metadata": {
"installedTimestamp": 1774281381634,
"targetPlatform": "undefined",
"size": 75665
} }
]
},
"views": {
"alfred-commander-container": [
{
"type": "webview",
"id": "alfred-commander.panel",
"name": "Alfred",
"visibility": "visible"
}
]
},
"walkthroughs": [
{
"id": "alfred-ide-getting-started",
"title": "Getting Started with Alfred IDE",
"description": "Your sovereign development environment \u2014 AI-powered, zero-tracking, fully yours.",
"steps": [
{
"id": "meet-alfred",
"title": "Meet Alfred \u2014 Your AI Companion",
"description": "Alfred lives in the sidebar. Click the Alfred icon in the activity bar to open the chat panel. Ask anything \u2014 code questions, file operations, debugging help.\n\n[Open Alfred Panel](command:alfred-commander.open)",
"media": {
"markdown": "media/walkthrough/meet-alfred.md"
}
},
{
"id": "voice-commands",
"title": "Talk to Your IDE",
"description": "Alfred supports voice input. Click the microphone button or press ``Ctrl+Shift+Alt+A`` to toggle voice mode. Speak naturally \u2014 Alfred transcribes and responds.\n\n[Toggle Voice](command:alfred-commander.toggle)",
"media": {
"markdown": "media/walkthrough/voice.md"
}
},
{
"id": "choose-model",
"title": "Choose Your AI Model",
"description": "Switch between AI providers and models using the dropdown at the top of the Alfred panel. Available models include Claude, GPT, local Ollama models, and more.",
"media": {
"markdown": "media/walkthrough/models.md"
}
},
{
"id": "account-stats",
"title": "Check Your Usage & Plan",
"description": "Click your username in the status bar (bottom-left) to see your account details, token usage, plan info, and billing.\n\n[View Account Stats](command:alfred-commander.showStats)",
"media": {
"markdown": "media/walkthrough/stats.md"
}
},
{
"id": "keyboard-shortcuts",
"title": "Essential Shortcuts",
"description": "Master these shortcuts to work faster:\n- ``Ctrl+Shift+Alt+O`` \u2014 Open Alfred Panel\n- ``Ctrl+Shift+Alt+A`` \u2014 Toggle Voice\n- ``Ctrl+``` `` \u2014 Open Terminal\n- ``Ctrl+P`` \u2014 Quick File Open\n- ``Ctrl+Shift+P`` \u2014 Command Palette",
"media": {
"markdown": "media/walkthrough/shortcuts.md"
}
},
{
"id": "sovereign-ide",
"title": "Your Sovereign IDE",
"description": "Alfred IDE tracks nothing. No telemetry, no usage analytics, no data collection. Your code stays on your machine. Your conversations stay private. Welcome to sovereign development.",
"media": {
"markdown": "media/walkthrough/sovereign.md"
}
}
]
}
]
},
"__metadata": {
"installedTimestamp": 1777392313978,
"targetPlatform": "undefined",
"size": 250117
}
} }