Herramienta de código abierto para controlar las operaciones de macOS con voz y texto
Últimos recursos sobre IAPublicado hace 5 meses Círculo de intercambio de inteligencia artificial 9.1K 00
Introducción general
MacOS LLM Controller es una aplicación de escritorio de código abierto, alojada en GitHub, que permite a los usuarios ejecutar comandos del sistema macOS introduciendo órdenes en lenguaje natural mediante voz o texto. Se basa en el modelo Llama-3.2-3B-Instruct y utiliza LlamaStack para generar código Python que llama a las API del sistema macOS para completar tareas. Los usuarios pueden decir "Abrir terminal" o escribir "Nueva carpeta" y la herramienta analizará y ejecutará automáticamente la operación. El proyecto utiliza Reaccione El front-end y el back-end Flask, con información de estado en tiempo real e historial de comandos, son ideales para que los usuarios de macOS mejoren la eficiencia operativa, especialmente para desarrolladores o personas con necesidades de accesibilidad. El código está disponible públicamente y la comunidad puede participar en la optimización.

Lista de funciones
- Reconocimiento de comandos de voz: introduce tu voz a través del micrófono y tradúcela en comandos de macOS en tiempo real.
- Entrada de comandos de texto: admite la entrada de texto en lenguaje natural para realizar operaciones del sistema.
- Historial de comandos: Muestra el estado de éxito o fracaso de los comandos ejecutados.
- Información de estado en tiempo real: la interfaz actualiza dinámicamente el estado de las conexiones de servicio y la ejecución de comandos.
- Generación de código Python: Convierte las instrucciones en código ejecutable de llamada a la API de macOS basado en LlamaStack.
- Funcionamiento localizado: todo el procesamiento se realiza localmente para proteger la privacidad del usuario.
- Comprobación de seguridad: Realiza una validación de seguridad básica del código Python generado.
Utilizar la ayuda
Proceso de instalación
El controlador LLM para macOS requiere que se configure un entorno en el sistema macOS, incluyendo el front-end, el back-end y el modelo LlamaStack. A continuación se detallan los pasos de instalación para garantizar que los usuarios puedan ejecutarlo sin problemas:
1. Preparación medioambiental
Asegúrese de que el sistema cumple los siguientes requisitos:
- sistema operativomacOS (el proyecto está diseñado para macOS y no admite explícitamente otros sistemas).
- Node.jsVersión 16 o superior, incluyendo
npm
Node.js. Puede descargarse desde el sitio web de Node.js. - PythonVersión 3.8 o superior, incluida la versión
pip
Es la primera vez que utilizas Python. Se puede descargar desde el sitio web de Python. - Ollama: Para ejecutar el modelo Llama. Acceda a Ollama Página web oficial Instalación.
- DockerPara ejecutar LlamaStack, instale Docker Desktop.
- requisitos de hardwareSe recomiendan 16 GB o más de RAM y una CPU multinúcleo para soportar la inferencia de modelos.
2. Clonación de códigos de proyecto
Abre un terminal y ejecuta el siguiente comando para clonar el código:
git clone https://github.com/duduyiq2001/llama-desktop-controller.git
cd llama-desktop-controller
3. Configuración de LlamaStack
LlamaStack es la dependencia central del proyecto para generar código Python. Los pasos de configuración son los siguientes:
Configuración de variables de entorno::
Ejecute el siguiente comando en el terminal para especificar el modelo de inferencia:
export INFERENCE_MODEL="meta-llama/Llama-3.2-3B-Instruct"
export OLLAMA_INFERENCE_MODEL="llama3.2:3b-instruct-fp16"
Inicio del servidor de razonamiento de Ollama::
Ejecute el siguiente comando para iniciar el modelo y configurarlo para que permanezca activo durante 60 minutos:
ollama run $OLLAMA_INFERENCE_MODEL --keepalive 60m
Ejecutar LlamaStack con Docker::
Establezca el puerto e inicie el contenedor:
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
Asegúrese de que el LlamaStack está en http://localhost:5001
Funciona bien.
4. Configuración del back-end
El backend está basado en Flask y se encarga de gestionar las peticiones a la API y la generación de código. Los pasos son los siguientes:
- Vaya al directorio back-end:
cd backend
- Instale las dependencias de Python:
pip install -r ../requirements.txt
Las dependencias incluyen
flask
yflask-cors
yrequests
ypyobjc
responder cantandollama-stack-client
. Si la instalación falla, utilice un espejo doméstico:pip install -r ../requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
- Inicie el servidor Flask:
python server.py
- Confirme que el backend se ejecuta en
http://localhost:5066
.
5. Configuración del front-end
El front-end está basado en React y proporciona la interfaz de usuario. Los pasos son los siguientes:
- Vaya al directorio del front-end:
cd .. # 返回项目根目录
- Instala la dependencia de Node.js:
npm install
- Inicie el servidor de desarrollo:
npm run dev
- Compruebe que el front-end se ejecuta en
http://localhost:5173
.
6. Acceso a las aplicaciones
Abra su navegador y visite http://localhost:5173
. Asegúrese de que el backend y LlamaStack funcionan correctamente, de lo contrario la funcionalidad puede verse limitada.
Guía de funcionamiento
1. Uso de comandos de voz
La entrada de voz es la función principal del proyecto y es adecuada para un funcionamiento rápido. Los pasos de funcionamiento son los siguientes:
- Activar el modo de vozHaga clic en el botón "Entrada de voz" de la interfaz principal (o utilice las teclas de acceso directo, debe consultar la documentación para confirmarlo).
- Instrucciones de grabaciónDiga órdenes al micrófono, como "Abrir Finder" o "Cerrar Safari". Mantén el entorno en silencio para mejorar las tasas de reconocimiento.
- proceso de aplicaciónLa herramienta convierte la voz en texto mediante la API SpeechRecognition, que LlamaStack convierte en código Python que llama a la API de macOS para realizar la tarea.
- Ejemplos de comandos habituales::
- "Abrir Terminal": lanza Terminal.app.
- "Nueva carpeta": crea una carpeta en el directorio actual.
- "Captura de pantalla": activa la función de captura de pantalla de macOS.
- advertencia::
- Es necesario autorizar los privilegios del micrófono para utilizarlo por primera vez.
- Si falla el reconocimiento, comprueba la configuración del micrófono o cambia la entrada de texto.
2. Uso de instrucciones textuales
La introducción de texto es adecuada para un control preciso. Los pasos de funcionamiento son los siguientes:
- Abrir el cuadro de entrada: Busque el área de introducción de texto en la interfaz.
- entradaEscriba en lenguaje natural, como "abrir calendario" o "poner el volumen en 50%".
- Presentación de instruccionesHaga clic en el botón Ejecutar o pulse Intro, y la herramienta generará y ejecutará el código Python.
- Uso avanzadoLlamaStack soporta comandos complejos como "Crear una nueva carpeta en el escritorio llamada 'Proyectos' y abrirla" LlamaStack descompone las tareas y las ejecuta secuencialmente.
- llamar la atención sobre algo: La claridad de las instrucciones mejora el éxito, por ejemplo, "Abrir Chrome" es mejor que "Abrir el navegador".
3. Visualización del historial de comandos
La interfaz proporciona un área de historial de comandos que muestra el estado de ejecución de cada comando:
- estado de éxitoUna marca verde indica que el comando se ha ejecutado correctamente.
- estado de error: Banderas rojas con mensajes de error (por ejemplo, "permisos insuficientes").
- plataformaPuede hacer clic en Historial para volver a ejecutar el comando o ver el código Python generado.
4. Control del estado en tiempo real
El estado del servicio se muestra en la esquina superior derecha de la interfaz:
- más verdeEl backend y LlamaStack están conectados correctamente.
- rosaEl servicio está desconectado y necesitas comprobar si Flask o LlamaStack se están ejecutando.
- plataformaPulse sobre el icono de estado para actualizar manualmente la conexión.
5. Inspecciones de seguridad
realiza una validación de seguridad básica del código Python generado:
- Filtrar comandos de alto riesgo (por ejemplo, borrar archivos del sistema).
- Compruebe si hay errores de sintaxis y asegúrese de que el código es ejecutable.
- tenga en cuenta: Se debe seguir teniendo precaución para evitar ejecutar comandos de fuentes desconocidas.
advertencia
- dependencia del modelo: El proyecto está fijado para utilizar Llama-3.2-3B-Instruct y no puede sustituir directamente a otros modelos.
- Requisitos de rendimiento: Ejecutar LlamaStack requiere una gran potencia de cálculo, se recomienda cerrar los programas superfluos.
- Método de puesta en servicioSi el arranque falla, compruebe los registros del terminal o acceda a la página
http://localhost:5066/status
Comprueba el estado del backend. - Cuestiones de competencia: Algunos comandos de macOS requieren autorización (por ejemplo, para acceder a archivos o controlar el volumen), y aparece un aviso de permiso la primera vez que los ejecutas.
- Apoyo comunitarioLos problemas se pueden enviar a través de GitHub Issues con registros de errores para que los desarrolladores puedan solucionarlos.
escenario de aplicación
- Ayuda a la accesibilidad
Los usuarios con problemas visuales o de movilidad pueden utilizar comandos de voz para manejar macOS, como "Abrir Mail" para iniciar rápidamente la aplicación Mail.app, para una mayor facilidad de uso. - Eficacia de los promotores
Los desarrolladores pueden ejecutar rápidamente comandos como "Abrir Xcode y crear un nuevo proyecto", ahorrando tiempo en tareas manuales y permitiéndoles centrarse en sus tareas de desarrollo. - automatización rutinaria
Los usuarios pueden completar tareas repetitivas, como "Organizar los archivos del escritorio en carpetas de archivo todos los días", mediante comandos de texto, lo que resulta idóneo para un trabajo de oficina eficiente. - Educación y experimentación
Los entusiastas de la programación pueden estudiar cómo LlamaStack convierte el lenguaje natural en código y aprender cómo la IA se integra con los sistemas.
CONTROL DE CALIDAD
- ¿Qué pasa con el reconocimiento de voz inexacto?
Asegúrese de que el micrófono funciona y de que el entorno está libre de ruidos. Si sigue fallando, cambie a la entrada de texto o compruebe la configuración de la API SpeechRecognition. - ¿Qué pasa si el backend no se inicia?
Compruebe que la dependencia de Python está completamente instalada y que LlamaStack se está ejecutando en el servidorhttp://localhost:5001
. Verserver.py
Error de posicionamiento del registro. - ¿Es compatible con sistemas que no sean MacOS?
Actualmente sólo es compatible con macOS, ya que el código se basa en la API de macOS, y es posible que en el futuro se amplíe a otras plataformas a través de la comunidad. - ¿Cómo optimizar el rendimiento?
Aumente la memoria o utilice una CPU/GPU de alto rendimiento y cierre otros programas que consuman recursos. Prueba también una configuración de LlamaStack más eficiente. - ¿Cómo puedo contribuir con código?
Se recomienda leer la documentación del proyecto y seguir las directrices de contribución.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...