All four packs are pure Lua (sandbox=full) and call out to PowerShell helpers
where COM / native APIs are needed. No new Rust code, no rebuild required:
post_build.py --sync copies them under target/{debug,release}/resources/.
volume/
- volume_up / volume_down: 5x VK_VOLUME_UP|DOWN via keybd_event
- volume_mute: VK_VOLUME_MUTE
- volume_max: 50x VK_VOLUME_UP (system clamps)
Helper _volume_helper.ps1 P/Invokes user32!keybd_event.
apps/
- open_browser : start "" https://www.google.com (uses system default browser)
- open_notepad : notepad.exe
- open_calculator: calc.exe
- open_explorer : explorer.exe
- open_terminal : wt.exe, falls back to powershell.exe
- open_settings : ms-settings: protocol
- open_task_manager: taskmgr.exe
- lock_screen : rundll32 user32.dll,LockWorkStation
- screenshot : System.Drawing capture to ~/Pictures/jarvis_screenshot_*.png
file_search/
- find file <query> : recursive Get-ChildItem in Desktop/Documents/Downloads
(depth 3, top 5 matches). Strips Russian/English/Ukrainian trigger
prefixes from the recognized phrase, then opens explorer /select on the
first hit and notifies with the total count.
output_device/
- list_output_devices : enumerates active render endpoints via
IMMDeviceEnumerator and notifies friendly names with indices
- next_output_device : cycles the system default render device via the
undocumented IPolicyConfig::SetDefaultEndpoint (eConsole/Multimedia/
Communications). Tested locally — listed 7 devices, current correctly
identified at index 5.
106 lines
1.7 KiB
TOML
106 lines
1.7 KiB
TOML
[[commands]]
|
|
id = "volume_up"
|
|
type = "lua"
|
|
script = "volume_up.lua"
|
|
sandbox = "full"
|
|
timeout = 3000
|
|
|
|
[commands.phrases]
|
|
ru = [
|
|
"громче",
|
|
"сделай громче",
|
|
"прибавь звук",
|
|
"увеличь громкость",
|
|
"погромче",
|
|
]
|
|
en = [
|
|
"louder",
|
|
"volume up",
|
|
"increase volume",
|
|
"turn it up",
|
|
]
|
|
ua = [
|
|
"голосніше",
|
|
"зроби голосніше",
|
|
"збільш гучність",
|
|
]
|
|
|
|
|
|
[[commands]]
|
|
id = "volume_down"
|
|
type = "lua"
|
|
script = "volume_down.lua"
|
|
sandbox = "full"
|
|
timeout = 3000
|
|
|
|
[commands.phrases]
|
|
ru = [
|
|
"тише",
|
|
"сделай тише",
|
|
"убавь звук",
|
|
"уменьши громкость",
|
|
"потише",
|
|
]
|
|
en = [
|
|
"quieter",
|
|
"volume down",
|
|
"decrease volume",
|
|
"turn it down",
|
|
]
|
|
ua = [
|
|
"тихіше",
|
|
"зроби тихіше",
|
|
"зменш гучність",
|
|
]
|
|
|
|
|
|
[[commands]]
|
|
id = "volume_mute"
|
|
type = "lua"
|
|
script = "volume_mute.lua"
|
|
sandbox = "full"
|
|
timeout = 3000
|
|
|
|
[commands.phrases]
|
|
ru = [
|
|
"выключи звук",
|
|
"заткнись",
|
|
"тишина",
|
|
"приглуши звук",
|
|
"отключи звук",
|
|
]
|
|
en = [
|
|
"mute",
|
|
"silence",
|
|
"shut up",
|
|
"be quiet",
|
|
]
|
|
ua = [
|
|
"вимкни звук",
|
|
"тиша",
|
|
"стихни",
|
|
]
|
|
|
|
|
|
[[commands]]
|
|
id = "volume_max"
|
|
type = "lua"
|
|
script = "volume_max.lua"
|
|
sandbox = "full"
|
|
timeout = 3000
|
|
|
|
[commands.phrases]
|
|
ru = [
|
|
"максимальная громкость",
|
|
"звук на максимум",
|
|
"на полную",
|
|
]
|
|
en = [
|
|
"max volume",
|
|
"full volume",
|
|
"maximum",
|
|
]
|
|
ua = [
|
|
"максимальна гучність",
|
|
"звук на максимум",
|
|
]
|