5.1.0 — Hive Search command (Meilisearch commander_hive)
This commit is contained in:
parent
3306a33e53
commit
11f9623906
14
.vsixmanifest
Normal file
14
.vsixmanifest
Normal 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>
|
||||||
48
extension.js
48
extension.js
@ -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)';
|
||||||
|
|||||||
330
package.json
330
package.json
@ -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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user