mirror of
https://github.com/davidkaya/aryx.git
synced 2026-07-23 04:58:44 +02:00
Add a system-wide global hotkey (Win+Shift+A / Cmd+Shift+A) that summons a floating, frameless popup window for quick AI interactions from any app. Main process: - GlobalHotkeyService for registering/unregistering system-wide shortcuts - Frameless, transparent, always-on-top BrowserWindow factory - IPC handlers for send, discard, close, continue-in-aryx, cancel - Session event routing from sidecar to quick prompt window - Settings persistence for default model, hotkey, and reasoning effort Renderer (separate lightweight entry): - QuickPromptApp with session state, streaming, keyboard shortcuts - QuickPromptInput with model selector trigger and cancel support - QuickPromptResponse with streamed markdown and thinking blocks - QuickPromptActions (Discard / Close / Continue in Aryx) - ModelSelector dropdown with tier badges and reasoning effort - Glass Command Bar aesthetic with animated gradient border Settings: - Quick Prompt section in SettingsPanel with enable toggle, hotkey display, default model selector, and reasoning effort picker Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
57 lines
1.4 KiB
TypeScript
57 lines
1.4 KiB
TypeScript
import { resolve } from 'node:path';
|
|
|
|
import react from '@vitejs/plugin-react';
|
|
import tailwindcss from '@tailwindcss/vite';
|
|
import { defineConfig, externalizeDepsPlugin } from 'electron-vite';
|
|
|
|
export default defineConfig({
|
|
main: {
|
|
build: {
|
|
outDir: 'dist-electron/main',
|
|
},
|
|
plugins: [externalizeDepsPlugin({ exclude: ['@modelcontextprotocol/sdk'] })],
|
|
resolve: {
|
|
alias: {
|
|
'@main': resolve(__dirname, 'src/main'),
|
|
'@shared': resolve(__dirname, 'src/shared'),
|
|
},
|
|
},
|
|
},
|
|
preload: {
|
|
build: {
|
|
outDir: 'dist-electron/preload',
|
|
rollupOptions: {
|
|
input: {
|
|
index: resolve(__dirname, 'src/preload/index.ts'),
|
|
quickprompt: resolve(__dirname, 'src/preload/quickprompt.ts'),
|
|
},
|
|
},
|
|
},
|
|
plugins: [externalizeDepsPlugin()],
|
|
resolve: {
|
|
alias: {
|
|
'@shared': resolve(__dirname, 'src/shared'),
|
|
},
|
|
},
|
|
},
|
|
renderer: {
|
|
root: 'src/renderer',
|
|
build: {
|
|
outDir: 'dist/renderer',
|
|
rollupOptions: {
|
|
input: {
|
|
index: resolve(__dirname, 'src/renderer/index.html'),
|
|
quickprompt: resolve(__dirname, 'src/renderer/quickprompt.html'),
|
|
},
|
|
},
|
|
},
|
|
plugins: [react(), tailwindcss()],
|
|
resolve: {
|
|
alias: {
|
|
'@renderer': resolve(__dirname, 'src/renderer'),
|
|
'@shared': resolve(__dirname, 'src/shared'),
|
|
},
|
|
},
|
|
},
|
|
});
|