cli
Управление приложениями и выполнение системных команд
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после- Пустой вывод от команды ≠ успех. Проверяй