음성 및 텍스트로 macOS 작업을 제어하는 오픈 소스 도구

최신 AI 리소스5개월 전에 게시 됨 AI 공유 서클
9K 00

일반 소개

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

用语音和文字控制macOS操作的开源工具

 

기능 목록

  • 음성 명령 인식: 마이크를 통해 음성을 입력하면 실시간으로 macOS 명령으로 변환됩니다.
  • 텍스트 명령 입력: 시스템 작업을 수행하기 위한 텍스트 입력 자연어를 지원합니다.
  • 명령 기록: 실행한 명령의 성공 또는 실패 상태를 표시합니다.
  • 실시간 상태 피드백: 인터페이스가 서비스 연결 및 명령 실행 상태를 동적으로 업데이트합니다.
  • Python 코드 생성: 명령어를 라마스택을 기반으로 실행 가능한 macOS API 호출 코드로 변환합니다.
  • 현지화된 운영: 사용자 개인정보 보호를 위해 모든 처리가 로컬에서 이루어집니다.
  • 보안 검사: 생성된 Python 코드의 기본 보안 유효성 검사를 수행합니다.

 

도움말 사용

설치 프로세스

MacOS LLM 컨트롤러를 사용하려면 프론트엔드, 백엔드 및 LlamaStack 모델을 포함하여 macOS 시스템에서 환경을 구성해야 합니다. 다음은 사용자가 원활하게 실행할 수 있도록 하기 위한 자세한 설치 단계입니다:

1. 환경 준비

시스템이 다음 요구 사항을 충족하는지 확인합니다:

  • 운영 체제macOS(이 프로젝트는 macOS용으로 설계되었으며 다른 시스템을 명시적으로 지원하지 않습니다).
  • Node.js버전 16 이상, 다음을 포함 npmNode.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
    

    종속성은 다음과 같습니다. flaskflask-corsrequestspyobjc 노래로 응답 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 이슈를 통해 제출할 수 있습니다.

 

애플리케이션 시나리오

  1. 접근성 지원
    시각 장애가 있거나 거동이 불편한 사용자는 "메일 열기"와 같은 음성 명령으로 macOS를 조작하여 Mail.app을 빠르게 실행할 수 있으므로 더욱 편리하게 사용할 수 있습니다.
  2. 개발자 효율성
    개발자는 "Xcode를 열고 새 프로젝트 만들기"와 같은 명령을 빠르게 실행할 수 있으므로 수동 작업에 소요되는 시간을 절약하고 개발 작업에 집중할 수 있습니다.
  3. 일상적인 자동화
    사용자는 텍스트 명령을 통해 '매일 데스크톱 파일을 아카이브 폴더에 정리하기'와 같은 반복적인 작업을 완료할 수 있어 효율적인 사무 업무에 적합합니다.
  4. 교육 및 실험
    프로그래밍 애호가라면 라마스택이 자연어를 코드로 변환하는 방법을 연구하고 AI가 시스템과 통합되는 방식을 배울 수 있습니다.

 

QA

  1. 부정확한 음성 인식은 어떻게 하나요?
    마이크가 제대로 작동하고 주변에 소음이 없는지 확인하세요. 그래도 실패하면 텍스트 입력으로 전환하거나 음성 인식 API 구성을 확인하세요.
  2. 백엔드가 시작되지 않으면 어떻게 하나요?
    Python 종속성이 완전히 설치되어 있는지, 그리고 LlamaStack이 http://localhost:5001. View server.py 로그 위치 오류.
  3. macOS 이외의 시스템을 지원하나요?
    현재는 macOS API에 의존하는 코드이기 때문에 macOS만 지원되며 향후 커뮤니티를 통해 다른 플랫폼으로 확장될 수 있습니다.
  4. 성능을 최적화하는 방법은 무엇인가요?
    메모리를 늘리거나 고성능 CPU/GPU를 사용하고 리소스를 많이 사용하는 다른 프로그램을 종료하세요. 또한 보다 효율적인 라마스택 구성을 시도해 보세요.
  5. 코드 기여는 어떻게 하나요?
    리포지토리를 포크하고 풀 리퀘스트를 제출하세요. 프로젝트 문서를 읽고 기여 가이드라인을 따르는 것이 좋습니다.
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...