Инструмент с открытым исходным кодом для управления операциями macOS с помощью голоса и текста
Общее введение
MacOS LLM Controller - это настольное приложение с открытым исходным кодом, размещенное на GitHub, которое позволяет пользователям выполнять команды системы macOS, вводя команды на естественном языке с помощью голоса или текста. Оно основано на модели Llama-3.2-3B-Instruct и использует LlamaStack для генерации Python-кода, который вызывает системные API macOS для выполнения задач. Пользователь может сказать "Открыть терминал" или набрать "Новая папка", и инструмент автоматически разберет и выполнит операцию. В проекте используется React Фронт-энд и бэк-энд Flask с обратной связью о состоянии в реальном времени и историей команд идеально подходят для пользователей macOS, чтобы повысить эффективность работы, особенно для разработчиков или людей с ограниченными возможностями. Код находится в открытом доступе, и сообщество может участвовать в оптимизации.

Список функций
- Распознавание голосовых команд: вводите свой голос через микрофон и переводите его в команды macOS в режиме реального времени.
- Ввод текстовых команд: поддерживает ввод текста на естественном языке для выполнения системных операций.
- История команд: отображает статус успешности или неудачи выполненных команд.
- Обратная связь в режиме реального времени: интерфейс динамически обновляет статус подключений к сервисам и выполнения команд.
- Генерация кода Python: превращает инструкции в исполняемый код вызовов API macOS на основе LlamaStack.
- Локализованная работа: вся обработка выполняется локально, чтобы защитить конфиденциальность пользователя.
- Проверка безопасности: выполняет базовую проверку безопасности сгенерированного кода Python.
Использование помощи
Процесс установки
Контроллер LLM для macOS требует настройки среды на системе macOS, включая фронтэнд, бэкэнд и модель LlamaStack. Ниже приведены подробные шаги по установке, чтобы гарантировать пользователям бесперебойную работу:
1. Подготовка окружающей среды
Убедитесь, что система соответствует следующим требованиям:
- операционная система: macOS (проект разработан для macOS и не поддерживает другие системы).
- Node.js: Версия 16 или выше, включая
npm
Node.js. Его можно загрузить с сайта Node.js. - Python: версия 3.8 или выше, включает
pip
Мы делаем это впервые. Его можно загрузить с сайта Python. - Оллама: Для запуска модели Llama. Доступ Оллама Официальный сайт Установка.
- Docker: Для запуска LlamaStack установите Docker Desktop.
- требования к оборудованиюДля поддержки вывода модели рекомендуется 16 ГБ или более оперативной памяти и многоядерный процессор.
2. Клонирование кодов проектов
Откройте терминал и выполните следующую команду, чтобы клонировать код:
git clone https://github.com/duduyiq2001/llama-desktop-controller.git
cd llama-desktop-controller
3. Настройка LlamaStack
LlamaStack - это основная зависимость проекта для генерации Python-кода. Шаги по настройке следующие:
Установка переменных окружения::
Выполните следующую команду в терминале, чтобы задать модель вывода:
export INFERENCE_MODEL="meta-llama/Llama-3.2-3B-Instruct"
export OLLAMA_INFERENCE_MODEL="llama3.2:3b-instruct-fp16"
Запуск сервера рассуждений Ollama::
Выполните следующую команду, чтобы запустить модель и установить, что она будет активна в течение 60 минут:
ollama run $OLLAMA_INFERENCE_MODEL --keepalive 60m
Запуск LlamaStack с помощью Docker::
Установите порт и запустите контейнер:
export LLAMA_STACK_PORT=5001
docker run \
-it \
-p $LLAMA_STACK_PORT:$LLAMA_STACK_PORT \
-v ~/.llama:/root/.llama \
llamastack/distribution-ollama \
--port $LLAMA_STACK_PORT \
--env INFERENCE_MODEL=$INFERENCE_MODEL \
--env OLLAMA_URL=http://host.docker.internal:11434
Убедитесь, что LlamaStack находится в http://localhost:5001
Он работает нормально.
4. Внутренняя настройка
Бэкэнд основан на Flask и отвечает за обработку API-запросов и генерацию кода. Шаги выглядят следующим образом:
- Перейдите в каталог внутреннего интерфейса:
cd backend
- Установите зависимости Python:
pip install -r ../requirements.txt
Зависимости включают
flask
, иflask-cors
, иrequests
, иpyobjc
ответить пениемllama-stack-client
. Если установка не удалась, воспользуйтесь домашним зеркалом:pip install -r ../requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
- Запустите сервер Flask:
python server.py
- Убедитесь, что бэкэнд запущен на
http://localhost:5066
.
5. Настройка фронтальной части
Фронт-энд основан на React и обеспечивает пользовательский интерфейс. Этапы работы следующие:
- Перейдите в каталог внешнего интерфейса:
cd .. # 返回项目根目录
- Установите зависимость Node.js:
npm install
- Запустите сервер разработки:
npm run dev
- Убедитесь, что внешний модуль запущен на
http://localhost:5173
.
6. доступ к приложениям
Откройте браузер и посетите http://localhost:5173
. Убедитесь, что бэкэнд и LlamaStack работают правильно, иначе функциональность может быть ограничена.
Руководство по эксплуатации функций
1. использование голосовых команд
Голосовой ввод является основной функцией проекта и подходит для быстрого управления. Операции выполняются следующим образом:
- Активируйте голосовой режим: Нажмите на кнопку "Голосовой ввод" в главном интерфейсе (или воспользуйтесь клавишами быстрого доступа, для подтверждения необходимо обратиться к документации).
- Инструкции по записи: Произносите команды в микрофон, например "Открыть Finder" или "Закрыть Safari". Для повышения скорости распознавания соблюдайте тишину в помещении.
- процесс реализации: Инструмент преобразует речь в текст с помощью SpeechRecognition API, который LlamaStack разбирает на Python, вызывая API macOS для выполнения задачи.
- Примеры общих команд::
- "Открыть терминал": запускает приложение Terminal.app.
- "Новая папка": создает папку в текущем каталоге.
- "Скриншот": запускает функцию скриншотов в macOS.
- предостережение::
- Для первого использования микрофона необходимо авторизоваться.
- Если распознавание не удается, проверьте настройки микрофона или переключите ввод текста.
2. Использование текстовых инструкций
Ввод текста подходит для точного управления. Операции выполняются следующим образом:
- Откройте поле ввода: Найдите в интерфейсе область ввода текста.
- вход: Введите на естественном языке, например "открыть календарь" или "включить громкость на 50%".
- Представление инструкцийНажмите кнопку Выполнить или клавишу Enter, и инструмент сгенерирует и запустит Python-код.
- Расширенное использованиеLlamaStack поддерживает сложные команды, такие как "Создать новую папку на рабочем столе под названием "Проекты" и открыть ее". LlamaStack разбивает задачи и выполняет их последовательно.
- привлекать внимание к чему-л.: Ясность инструкций повышает успех, например, "Открыть Chrome" лучше, чем "Открыть браузер".
3. Просмотр истории команд
В интерфейсе предусмотрена область истории команд, в которой отображается статус выполнения каждой команды:
- состояние успеха: Зеленая отметка означает, что команда была выполнена правильно.
- состояние ошибки: Красные флажки с сообщениями об ошибках (например, "недостаточно прав").
- буровая установка: Вы можете нажать History, чтобы повторно выполнить команду, или просмотреть сгенерированный код Python.
4. мониторинг состояния в реальном времени
Статус службы отображается в правом верхнем углу интерфейса:
- зеленее: Бэкэнд и LlamaStack подключены правильно.
- розовый: Служба отключена, и вам нужно проверить, запущен ли Flask или LlamaStack.
- буровая установка: Нажмите на значок состояния, чтобы вручную обновить соединение.
5. инспекции безопасности
Инструмент выполняет базовую проверку безопасности сгенерированного Python-кода:
- Фильтруйте команды повышенной опасности (например, удаление системных файлов).
- Проверьте синтаксические ошибки и убедитесь, что код исполняем.
- принимать к сведению: Следует соблюдать осторожность, чтобы не запускать команды из неизвестных источников.
предостережение
- зависимость от модели: Проект исправлен для использования Llama-3.2-3B-Instruct и не может напрямую заменить другие модели.
- Требования к производительности: Запуск LlamaStack требует больших вычислительных мощностей, поэтому рекомендуется закрыть посторонние программы.
- Метод ввода в эксплуатацию: Если запуск не удался, проверьте журналы терминала или зайдите в
http://localhost:5066/status
Проверьте состояние бэкэнда. - Вопросы компетенции: Некоторые команды macOS требуют авторизации (например, для доступа к файлам или управления громкостью), и при их первом запуске появляется запрос на разрешение.
- Поддержка общества: Проблемы могут быть представлены через GitHub Issues с логами ошибок, чтобы разработчики могли устранить неполадки.
сценарий применения
- Помощь в обеспечении доступности
Пользователи с нарушениями зрения и мобильности могут использовать голосовые команды для управления macOS, например "Открыть почту", чтобы быстро запустить приложение Mail.app, для большего удобства использования. - Эффективность разработчиков
Разработчики могут быстро выполнять такие команды, как "Открыть Xcode и создать новый проект", экономя время на выполнении ручных задач и позволяя им сосредоточиться на задачах разработки. - автоматизация рутинной работы
Пользователи могут выполнять повторяющиеся задачи, например "Упорядочивать файлы рабочего стола в архивные папки каждый день", с помощью текстовых команд, что подходит для эффективной офисной работы. - Образование и эксперименты
Любители программирования могут изучить, как LlamaStack превращает естественный язык в код, и узнать, как ИИ интегрируется в системы.
QA
- А как насчет неточного распознавания голоса?
Убедитесь, что микрофон работает и в окружении нет шума. Если он по-прежнему не работает, переключитесь на текстовый ввод или проверьте конфигурацию SpeechRecognition API. - Что делать, если бэкэнд не удается запустить?
Убедитесь, что зависимость Python полностью установлена и что LlamaStack запущен на сервереhttp://localhost:5001
. Посмотретьserver.py
Ошибка позиционирования журнала. - Поддерживает ли он системы, отличные от macOS?
В настоящее время поддерживается только macOS, так как код опирается на API macOS, но в будущем он может быть расширен на другие платформы с помощью сообщества. - Как оптимизировать производительность?
Увеличьте объем памяти или используйте высокопроизводительный CPU/GPU и закройте другие программы, загромождающие ресурсы. Также попробуйте использовать более эффективную конфигурацию LlamaStack. - Как внести свой код?
Форк репозитория и отправка Pull Request. Рекомендуется прочитать документацию проекта и следовать рекомендациям по внесению вклада.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...