일반 소개
MacOS LLM 컨트롤러는 사용자가 음성이나 텍스트를 통해 자연어 명령을 입력하여 macOS 시스템 명령을 실행할 수 있는 오픈 소스 데스크톱 애플리케이션으로, GitHub에서 호스팅됩니다. 이 애플리케이션은 Llama-3.2-3B-Instruct 모델을 기반으로 하며, LlamaStack을 사용하여 macOS 시스템 API를 호출하여 작업을 완료하는 Python 코드를 생성합니다. 사용자가 "터미널 열기"라고 말하거나 "새 폴더"라고 입력하면 도구가 자동으로 구문 분석하여 작업을 실행합니다. 이 프로젝트는 다음을 사용합니다. React 실시간 상태 피드백 및 명령 기록을 제공하는 프런트 엔드와 플라스크 백엔드는 특히 개발자나 접근성이 필요한 사람들이 운영 효율성을 향상시킬 수 있도록 macOS 사용자에게 이상적입니다. 코드는 공개적으로 사용 가능하며 커뮤니티가 최적화에 참여할 수 있습니다.

기능 목록
- 음성 명령 인식: 마이크를 통해 음성을 입력하면 실시간으로 macOS 명령으로 변환됩니다.
- 텍스트 명령 입력: 시스템 작업을 수행하기 위한 텍스트 입력 자연어를 지원합니다.
- 명령 기록: 실행한 명령의 성공 또는 실패 상태를 표시합니다.
- 실시간 상태 피드백: 인터페이스가 서비스 연결 및 명령 실행 상태를 동적으로 업데이트합니다.
- Python 코드 생성: 명령어를 라마스택을 기반으로 실행 가능한 macOS API 호출 코드로 변환합니다.
- 현지화된 운영: 사용자 개인정보 보호를 위해 모든 처리가 로컬에서 이루어집니다.
- 보안 검사: 생성된 Python 코드의 기본 보안 유효성 검사를 수행합니다.
도움말 사용
설치 프로세스
MacOS LLM 컨트롤러를 사용하려면 프론트엔드, 백엔드 및 LlamaStack 모델을 포함하여 macOS 시스템에서 환경을 구성해야 합니다. 다음은 사용자가 원활하게 실행할 수 있도록 하기 위한 자세한 설치 단계입니다:
1. 환경 준비
시스템이 다음 요구 사항을 충족하는지 확인합니다:
- 운영 체제macOS(이 프로젝트는 macOS용으로 설계되었으며 다른 시스템을 명시적으로 지원하지 않습니다).
- Node.js버전 16 이상, 다음을 포함
npm
Node.js 웹사이트는 Node.js에 대한 정보를 얻을 수 있는 훌륭한 소스입니다. Node.js 웹사이트에서 다운로드할 수 있습니다. - Python버전 3.8 이상, 포함 사항
pip
이 작업을 수행한 것은 이번이 처음입니다. Python 웹사이트에서 다운로드할 수 있습니다. - Ollama: 라마 모델 실행용. 액세스 Ollama 공식 웹사이트 설치.
- Docker라마스택 실행을 위해. 도커 데스크톱을 설치합니다.
- 하드웨어 요구 사항모델 추론을 지원하려면 16GB 이상의 RAM과 멀티코어 CPU가 권장됩니다.
2. 프로젝트 코드 복제
터미널을 열고 다음 명령을 실행하여 코드를 복제합니다:
git clone https://github.com/duduyiq2001/llama-desktop-controller.git
cd llama-desktop-controller
3. 라마스택 구성하기
라마스택은 파이썬 코드 생성을 위한 프로젝트의 핵심 종속 요소입니다. 구성 단계는 다음과 같습니다:
환경 변수 설정::
터미널에서 다음 명령을 실행하여 추론 모델을 지정합니다:
export INFERENCE_MODEL="meta-llama/Llama-3.2-3B-Instruct"
export OLLAMA_INFERENCE_MODEL="llama3.2:3b-instruct-fp16"
올라마 추론 서버 시작하기::
다음 명령을 실행하여 모델을 시작하고 60분 동안 활성 상태로 유지되도록 설정합니다:
ollama run $OLLAMA_INFERENCE_MODEL --keepalive 60m
도커와 함께 라마스택 실행::
포트를 설정하고 컨테이너를 시작합니다:
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
라마스택이 다음 위치에 있는지 확인합니다. 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 닫기"와 같은 명령을 마이크에 대고 말합니다. 인식률을 높이려면 환경을 조용하게 유지하세요.
- 구현 프로세스이 도구는 음성 인식 API를 사용하여 음성을 텍스트로 변환하고, LlamaStack은 이를 파이썬 코드로 구문 분석하여 macOS API를 호출하여 작업을 수행합니다.
- 일반적인 명령의 예::
- "터미널 열기": Terminal.app을 시작합니다.
- "새 폴더": 현재 디렉터리에 폴더를 만듭니다.
- "스크린샷": macOS 스크린샷 기능을 트리거합니다.
- 주의::
- 마이크 권한을 처음 사용하려면 권한을 부여받아야 합니다.
- 인식에 실패하면 마이크 설정을 확인하거나 텍스트 입력을 전환하세요.
2. 텍스트 지침 사용
텍스트 입력은 정밀한 제어에 적합합니다. 작동 단계는 다음과 같습니다:
- 입력 상자를 엽니다.: 인터페이스에서 텍스트 입력 영역을 찾습니다.
- 입력"캘린더 열기" 또는 "볼륨을 50%로 맞춰줘"와 같은 자연어를 입력합니다.
- 지침 제출실행 버튼을 클릭하거나 Enter 키를 누르면 도구가 Python 코드를 생성하고 실행합니다.
- 고급 사용법"바탕화면에 '프로젝트'라는 새 폴더를 만들어서 열어주세요."와 같은 복잡한 명령을 지원합니다. LlamaStack은 작업을 세분화하여 순차적으로 실행합니다.
- STH에 주목하세요.지침이 명확할수록 성공률이 높아집니다(예: "Chrome 열기"가 "브라우저 열기"보다 낫습니다).
3. 명령 기록 보기
인터페이스는 각 명령의 실행 상태를 보여주는 명령 기록 영역을 제공합니다:
- 성공 상태녹색 마크는 명령이 올바르게 실행되었음을 나타냅니다.
- 오류 상태오류 메시지(예: "권한 부족")와 함께 빨간색 플래그가 표시됩니다.
- rig히스토리를 클릭하여 명령을 다시 실행하거나 생성된 Python 코드를 볼 수 있습니다.
4. 실시간 상태 모니터링
서비스 상태는 인터페이스의 오른쪽 상단에 표시됩니다:
- 친환경백엔드와 라마스택이 제대로 연결되었습니다.
- 분홍색서비스가 연결이 끊어졌으며 Flask 또는 LlamaStack이 실행 중인지 확인해야 합니다.
- rig상태 아이콘을 클릭하여 수동으로 연결을 새로 고칩니다.
5. 보안 검사
도구는 생성된 Python 코드의 기본 보안 유효성 검사를 수행합니다:
- 고위험 명령(예: 시스템 파일 삭제)을 필터링합니다.
- 구문 오류를 확인하고 코드가 실행 가능한지 확인합니다.
- 다음 사항에 유의하십시오.알 수 없는 출처의 명령을 실행하지 않도록 주의해야 합니다.
주의
- 모델 종속성프로젝트는 Llama-3.2-3B-Instruct를 사용하도록 고정되어 있으며 다른 모델을 직접 대체할 수 없습니다.
- 성능 요구 사항: 라마스택을 실행하려면 높은 컴퓨팅 성능이 필요하므로 불필요한 프로그램을 닫는 것이 좋습니다.
- 시운전 방법시작이 실패하면 터미널 로그를 확인하거나
http://localhost:5066/status
백엔드 상태를 확인합니다. - 역량 문제일부 macOS 명령은 파일에 액세스하거나 볼륨을 제어하는 등 권한이 필요하며, 처음 실행할 때 권한 프롬프트가 나타납니다.
- 커뮤니티 지원이슈는 개발자가 문제를 해결할 수 있도록 오류 로그와 함께 GitHub 이슈를 통해 제출할 수 있습니다.
애플리케이션 시나리오
- 접근성 지원
시각 장애가 있거나 거동이 불편한 사용자는 "메일 열기"와 같은 음성 명령으로 macOS를 조작하여 Mail.app을 빠르게 실행할 수 있으므로 더욱 편리하게 사용할 수 있습니다. - 개발자 효율성
개발자는 "Xcode를 열고 새 프로젝트 만들기"와 같은 명령을 빠르게 실행할 수 있으므로 수동 작업에 소요되는 시간을 절약하고 개발 작업에 집중할 수 있습니다. - 일상적인 자동화
사용자는 텍스트 명령을 통해 '매일 데스크톱 파일을 아카이브 폴더에 정리하기'와 같은 반복적인 작업을 완료할 수 있어 효율적인 사무 업무에 적합합니다. - 교육 및 실험
프로그래밍 애호가라면 라마스택이 자연어를 코드로 변환하는 방법을 연구하고 AI가 시스템과 통합되는 방식을 배울 수 있습니다.
QA
- 부정확한 음성 인식은 어떻게 하나요?
마이크가 제대로 작동하고 주변에 소음이 없는지 확인하세요. 그래도 실패하면 텍스트 입력으로 전환하거나 음성 인식 API 구성을 확인하세요. - 백엔드가 시작되지 않으면 어떻게 하나요?
Python 종속성이 완전히 설치되어 있는지, 그리고 LlamaStack이http://localhost:5001
. Viewserver.py
로그 위치 오류. - macOS 이외의 시스템을 지원하나요?
현재는 macOS API에 의존하는 코드이기 때문에 macOS만 지원되며 향후 커뮤니티를 통해 다른 플랫폼으로 확장될 수 있습니다. - 성능을 최적화하는 방법은 무엇인가요?
메모리를 늘리거나 고성능 CPU/GPU를 사용하고 리소스를 많이 사용하는 다른 프로그램을 종료하세요. 또한 보다 효율적인 라마스택 구성을 시도해 보세요. - 코드 기여는 어떻게 하나요?
리포지토리를 포크하고 풀 리퀘스트를 제출하세요. 프로젝트 문서를 읽고 기여 가이드라인을 따르는 것이 좋습니다.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...