CLI — управление приложениями и команды
Управление приложениями (file_open)
Открыть/запустить приложение
file_open с action="open" и именем приложения:
- "запусти Discord" →
file_open(path="Discord", action="open")
- "открой Obsidian" →
file_open(path="Obsidian", action="open")
- "открой Telegram" →
file_open(path="Telegram", action="open")
Приложения ищутся по ярлыкам на рабочем столе. Передавай ТОЛЬКО имя, НЕ полный путь.
Закрыть/убить приложение
file_open с action="close" и именем:
- "закрой Discord" →
file_open(path="Discord", action="close")
- "убей Obsidian" →
file_open(path="Obsidian", action="close")
- "останови Opera" →
file_open(path="Opera", action="close")
Какие приложения запущены
file_open с action="list":
- "что запущено?" →
file_open(path="", action="list")
- "какие приложения на рабочем столе?" →
file_open(path="desktop", action="list")
Открыть файл/папку
file_open с action="open" и полным путём:
- "открой папку Documents" →
file_open(path="Documents", action="open")
Корзина (Recycle Bin)
file_open с action="recycle_bin":
- "что в корзине?" →
file_open(path="check", action="recycle_bin")
- "очисти корзину" →
file_open(path="empty", action="recycle_bin")
- "покажи корзину" →
file_open(path="check", action="recycle_bin")
Тул сам проверяет все диски, сам удаляет файлы напрямую, сам верифицирует результат. НЕ используй cli_exec для корзины — ТОЛЬКО file_open с action=recycle_bin.
Системные команды (cli_exec)
cli_exec
Запускает команду в shell и возвращает результат.
command — команда для выполнения
working_dir — рабочая директория (опционально)
shell — "cmd" (по умолчанию), "powershell", "bash"
Примеры
- "сколько места на диске" →
cli_exec с wmic logicaldisk get size,freespace,caption
- "установи пакет X" →
cli_exec с pip install X
- "git status" →
cli_exec с git status
- "версия Python" →
cli_exec с python --version
- "пинг google.com" →
cli_exec с ping google.com -n 4
- "системная инфа" →
cli_exec с systeminfo
Правила
- Приложения — для open/close/list ВСЕГДА используй
file_open, НЕ cli_exec
- Система — Windows 11. Используй Windows-команды (dir, tasklist, ipconfig)
- Для сложных запросов используй PowerShell (shell="powershell")
- Таймаут — 30 секунд. Не запускай долгие процессы
- Заблокировано: format, shutdown, reboot, registry edits, деструктивные команды
- Вывод: если результат длинный — покажи самое важное
- НЕ галлюцинируй — если нужно что-то сделать, ОБЯЗАТЕЛЬНО вызови тул. Текстовый ответ без вызова тула = ВРАНЬЁ
- НИКОГДА не используй
-ErrorAction SilentlyContinue — это прячет ошибки и ты не узнаешь что пошло не так
- ПРОВЕРЯЙ РЕЗУЛЬТАТ — после выполнения проверь что действие реально сработало:
- Очистил корзину → проверь
(New-Object -ComObject Shell.Application).NameSpace(0xa).Items().Count (должно быть 0)
- Убил процесс → проверь
tasklist что его нет
- Удалил файл → проверь что не существует
- Если команда вернула ошибку но могла сработать (баг Windows) — проверь фактический результат
Известные баги Windows
Clear-RecycleBin -Force — иногда кидает Win32Exception "Не удалось найти файл", даже если корзина очищена. ВСЕГДА проверяй .Items().Count после
- Пустой вывод от команды ≠ успех. Проверяй
1---2name: cli3description: Управление приложениями и выполнение системных команд4---56# CLI — управление приложениями и команды78## Управление приложениями (file_open)910### Открыть/запустить приложение11`file_open` с `action="open"` и именем приложения:12- "запусти Discord" → `file_open(path="Discord", action="open")`13- "открой Obsidian" → `file_open(path="Obsidian", action="open")`14- "открой Telegram" → `file_open(path="Telegram", action="open")`1516Приложения ищутся по ярлыкам на рабочем столе. Передавай ТОЛЬКО имя, НЕ полный путь.1718### Закрыть/убить приложение19`file_open` с `action="close"` и именем:20- "закрой Discord" → `file_open(path="Discord", action="close")`21- "убей Obsidian" → `file_open(path="Obsidian", action="close")`22- "останови Opera" → `file_open(path="Opera", action="close")`2324### Какие приложения запущены25`file_open` с `action="list"`:26- "что запущено?" → `file_open(path="", action="list")`27- "какие приложения на рабочем столе?" → `file_open(path="desktop", action="list")`2829### Открыть файл/папку30`file_open` с `action="open"` и полным путём:31- "открой папку Documents" → `file_open(path="Documents", action="open")`3233### Корзина (Recycle Bin)34`file_open` с `action="recycle_bin"`:35- "что в корзине?" → `file_open(path="check", action="recycle_bin")`36- "очисти корзину" → `file_open(path="empty", action="recycle_bin")`37- "покажи корзину" → `file_open(path="check", action="recycle_bin")`3839Тул сам проверяет все диски, сам удаляет файлы напрямую, сам верифицирует результат. НЕ используй cli_exec для корзины — ТОЛЬКО file_open с action=recycle_bin.4041## Системные команды (cli_exec)4243### cli_exec44Запускает команду в shell и возвращает результат.45- `command` — команда для выполнения46- `working_dir` — рабочая директория (опционально)47- `shell` — "cmd" (по умолчанию), "powershell", "bash"4849### Примеры50- "сколько места на диске" → `cli_exec` с `wmic logicaldisk get size,freespace,caption`51- "установи пакет X" → `cli_exec` с `pip install X`52- "git status" → `cli_exec` с `git status`53- "версия Python" → `cli_exec` с `python --version`54- "пинг google.com" → `cli_exec` с `ping google.com -n 4`55- "системная инфа" → `cli_exec` с `systeminfo`5657## Правила58591. **Приложения** — для open/close/list ВСЕГДА используй `file_open`, НЕ `cli_exec`602. **Система — Windows 11**. Используй Windows-команды (dir, tasklist, ipconfig)613. **Для сложных запросов** используй PowerShell (shell="powershell")624. **Таймаут** — 30 секунд. Не запускай долгие процессы635. **Заблокировано**: format, shutdown, reboot, registry edits, деструктивные команды646. **Вывод**: если результат длинный — покажи самое важное657. **НЕ галлюцинируй** — если нужно что-то сделать, ОБЯЗАТЕЛЬНО вызови тул. Текстовый ответ без вызова тула = ВРАНЬЁ668. **НИКОГДА не используй** `-ErrorAction SilentlyContinue` — это прячет ошибки и ты не узнаешь что пошло не так679. **ПРОВЕРЯЙ РЕЗУЛЬТАТ** — после выполнения проверь что действие реально сработало:68 - Очистил корзину → проверь `(New-Object -ComObject Shell.Application).NameSpace(0xa).Items().Count` (должно быть 0)69 - Убил процесс → проверь `tasklist` что его нет70 - Удалил файл → проверь что не существует71 - Если команда вернула ошибку но могла сработать (баг Windows) — проверь фактический результат7273## Известные баги Windows7475- `Clear-RecycleBin -Force` — иногда кидает Win32Exception "Не удалось найти файл", даже если корзина очищена. ВСЕГДА проверяй `.Items().Count` после76- Пустой вывод от команды ≠ успех. Проверяй