sybil-solutions/omarchy-local-ai
요약
이 가이드는 로컬 AI 환경을 구축하고 코딩 에이전트를 실행하는 방법을 설명합니다. 사용자의 GPU/CPU에서 모델을 구동하며, Docker와 OpenAI 호환 게이트웨이를 통해 모델을 서비스할 수 있습니다. Omarchy 플러그인을 사용하여 Local AI를 설정하고 다양한 모델 및 에이전트(Claude Code, Copilot 등)에 접근할 수 있습니다.
핵심 포인트
- 로컬 GPU/CPU 환경에서 코딩 에이전트를 구동 가능
- Docker와 OpenAI 호환 게이트웨이를 통해 모델 서비스
- Omarchy 플러그인을 이용해 Local AI를 쉽게 설정 및 관리
- Sudoless Docker는 높은 권한을 가지므로 주의 필요
사용자의 GPU 또는 CPU에서 로컬 모델을 실행하고 그 위에서 코딩 에이전트를 열 수 있습니다. Local AI는 사용자의 카드(NVIDIA, Intel Arc Pro, AMD) 또는 x86-64 AVX2 CPU에서 테스트된 모델을 선택하고, 고정된 Hugging Face 리비전에서 가중치(weights)를 다운로드하여 확인한 후, 127.0.0.1의 키가 지정된 OpenAI 호환 게이트웨이 뒤에 Docker로 모델을 서비스합니다. 바(bar)에서 설정 폴더 내 원하는 곳에 config를 수정할 필요 없이 pi, Claude Code, Codex, OpenCode, omp, Crush, Grok, Copilot 또는 Hermes를 열 수 있습니다. 이 패널은 두 개의 탭(home: 활동, 실행 중인 것, 고정된 모델; models: 이 장치에서 실행 가능한 모든 모델을 검색하고 다운로드하며 시작하고 고정)과 각 카드의 메모리 및 온도를 보여주는 하드웨어 페이지, 각 모델의 Hugging Face 카드와 함께하는 전체 화면 보기, 키보드 탐색 기능, 그리고 사용 중인 모델을 tailnet에 공유할 수 있습니다.
omarchy plugin add https://github.com/sybil-solutions/omarchy-local-ai --enable
그런 다음 바에서 Local AI를 열고 Set up Local AI를 클릭합니다(장치당 한 번; Omarchy가 비밀번호를 요청함). models 탭에서 모델을 선택하거나 (또는 이름만 입력) Start를 누르고, 그 위에서 코딩 에이전트를 엽니다. Install은 어떤 설정을 하는지, Requirements는 무엇이 필요한지, 그리고 Remove는 모든 것을 어떻게 되돌릴 수 있는지 설명합니다.
omarchy plugin add https://github.com/sybil-solutions/omarchy-local-ai --enable
바에서 Local AI를 열고 Set up Local AI를 클릭합니다. 터미널이 열리고 Omarchy의 자체 명령어 두 개가 실행됩니다. Local AI 자체는 root로 아무것도 실행하지 않으며, 플러그인을 추가하거나 업데이트할 때도 설정은 실행되지 않습니다.
omarchy-setup-security-sudoless-docker
, Omarchy의 Sudoless Docker: 이것이 무엇을 의미하는지 설명하고 확인을 요청한 다음
, Password foryouto install NVIDIA 컨테이너 지원을 위해 Local AI를 설정할 때; 이미 설치된 경우 아무것도 묻지 않습니다. 패키지는 사용자의 GPU 정보를 /etc/cdi/nvidia.yaml`에 Docker가 읽도록 기술합니다.
, 이 파일은 모델이 시작될 때 Docker가 읽기 때문에 Docker의 구성은 건드려지지 않으며 재시작되지도 않습니다.
설정은 패널에서 무엇을 보여주는지 확인하며 끝납니다. tailnet에서 모델을 공유하려면 사용자가 Tailscale의 운영자여야 합니다. Omarchy의 Tailscale 설치는 이 설정을 완료하며, 설정 과정에서 그렇지 않은 경우 알려줍니다. 설정 후에는 시작, 중지, 공유, 새로고침 및 제거 시 비밀번호를 묻지 않습니다. Sudoless Docker는 root에 준하는 권한을 가지며, 이는 Omarchy가 경고하듯이 그렇습니다. Setup > Security에서 이를 끌 수 있습니다.
- Omarchy는 Quattro shell과 그 바(bar)와 함께 작동합니다. Local AI는 Omarchy 자체 명령어를 호출합니다:
omarchy-setup-security-sudoless-docker
, omarchy-pkg-add
, omarchy-hw-nvidia
, omarchy-launch-tui
, omarchy-launch-browser
, omarchy-notification-send
그리고 omarchy-cmd-present
. - Docker,
jq
, curl
, flock
그리고 sha256sum
. - 지원되는 GPU(아래), 또는 AVX2와 충분한 RAM을 갖춘 x86-64 CPU가 필요합니다. NVIDIA는 드라이버와 nvidia-smi가 필요하며, 설정 과정에서 컨테이너 툴킷이 추가됩니다. Docker 25 이상(Omarchy는 29를 사용합니다). AMD는 ROCm의 amd-smi가 필요합니다.
. - 선택 사항: 모델 공유를 위한 Tailscale; 존재할 경우 다운로드에 사용되는 ~/.cache/huggingface/token에 있는 Hugging Face 토큰.
, 네트워크 액세스:
huggingface.co (가중치),
ghcr.io/sybil-solutions,
과거의 ghcr.io/0xsero 핀(pins),
그리고 ghcr.io/ggml-org (엔진 및 게이트웨이 이미지, 다이제스트로 고정), 그리고 api.github.com
및 raw.githubusercontent.com (자동 카탈로그 확인), 그리고 전체 화면의 모델 카드용으로 다시 huggingface.co가 필요합니다.
카드당 검증된 모델, 또는 여러 개에 걸친 하나의 모델.recipes.json
지원되는 모든 하드웨어 종류별로, local-ai-registry에서 해당 카드 또는 2개 또는 4개의 카드 전체에 걸쳐 수락된 모든 레시피(recipe)에 대해 다운로드, 로드, 정확성 검사 및 여러 컨텍스트 길이에서의 속도를 측정합니다. SGLang 또는 vLLM의 EXL3 가중치(weights)가 가장 먼저 오며 권장됩니다. 모델 탭에서는 이 장치가 구동할 수 있는 모든 모델을 검색 가능한 하나의 표로 나열하며, 어떤 카드에 로드되든 상관없습니다. 홈 화면에는 고정된 모델들(실행 중이거나 다운로드하는 경우 고정됨)이 표시됩니다. 테스트된 모델이 없는 장치인 경우 그렇게 표시하고 지원되는 목록으로 연결합니다.장치가 필요로 하는 것. 전문가들을 시스템 RAM에 유지하거나 서비스 시 디스크에서 읽어오는 레시피(예: 3090 또는 B70의 Qwen3.8-Flash-Next)는 필요한 여유 RAM 및 디스크 용량과 모델 폴더가 NVMe에 있어야 하는지 여부를 명시합니다. 이는 해당 장치가 가지고 있을 때만 제공되며, 나머지는 너무 크다고 표시하고 부족한 것을 알려줍니다. 레시피는 또한 엔진이 작업하는 CPU 스레드 개수도 지정할 수 있습니다.**가중치(Weights)**는 사용자가 고정된 버전에서 다운로드하며, 모든 파일의 크기는 Hugging Face와 비교되고, 사용되기 전에 모든 대용량(LFS) 파일의 SHA-256 해시 값이 확인됩니다. Hugging Face 캐시에 일치하는 사본이 있으면 재사용됩니다.컨테이너(Containers). 엔진은 공개 포트가 없고 no-new-privileges를 사용하는 비공개 네트워크에서 실행됩니다. 키가 지정된 게이트웨이는 127.0.0.1에서 사용자 권한으로 실행됩니다.
, OpenAI, Anthropic 및 Responses API를 지원하며 답변당 한 줄을 기록합니다. 토큰, 속도, 차트 및 홈 화면의 활동 그리드는 매번 새로 고침할 때마다 계산되는 것이 아니라 새 줄별로 합산된 로그에서 가져옵니다.에이전트(Agents). pi, Claude Code, Codex, OpenCode, omp, Crush, Grok, Copilot 및 Hermes는 사용자가 선택한 폴더에서 게이트웨이를 향해 터미널에서 열립니다. 자체 설정에서는 아무것도 건드리지 않습니다. 모델의 상세 정보에는 에이전트가 한 번 나열되며, 선택된 에이전트는 체크 표시됩니다. 에이전트 페이지에서 선택된 에이전트는 새 모델의 기본값입니다.**업데이트(Update to)**는 mise 또는 npm에 더 새로운 버전의 에이전트가 있을 때 나타납니다. 폴더 행을 클릭하여 폴더 선택기를 엽니다.**열기(Open)**는 홈 화면이나 모델 페이지에서 선택된 에이전트를 실행합니다. 실행 중인 모델의 에이전트 선택은 기본값을 변경하지 않으며, 마지막으로 선택된 폴더가 폴더 기본값으로 유지됩니다. 업데이트는 mise가 해당 에이전트를 관리하는 경우, 독립형 omp, Hermes, Claude Code 및 OpenCode의 네이티브 업데이트 도구, 또는 기존 npm 설치의 경우 npm을 사용합니다. 기존 세션은 계속 실행됩니다.공유(Share): tailscale serve를 사용하여 tailnet에서 실행 중인 모델을 공유합니다.(tailnet 전용이며 여전히 키가 필요함).**공유 중지(Stop sharing)**는 해당 페이지에서 공유를 제거합니다. Tailscale이 실행되고 로그인되어 있어야 합니다. 설정은 다른 계정의 운영자를 유지하며, 해당 계정에 공유 관리를 요청하십시오. 실패한 공유 해제는 기록되며 모델 중지를 방해하지 않습니다.
지원: x86-64 AVX2 CPU (시스템 RAM에 LFM2.5-2.6B), NVIDIA RTX 30, 40 및 50 시리즈, RTX A6000, RTX Ada 및 RTX Pro Blackwell, Intel Arc Pro B70, 그리고 AMD Instinct MI300X 및 Radeon RX 6800 XT (ROCm의 amd-smi와 함께).
bin/omarchy-local-ai setup # 일회성 장치 설정
bin/omarchy-local-ai registry # 검증된 카탈로그 새로 고침
bin/omarchy-local-ai forget <recipe> # 중지된 관리 가중치 제거
...
CPU 레시피는 시스템 RAM을 사용하며 GPU 장치 없이 시작합니다. GPU 작업을 RAM 또는 NVMe로 오프로드하는 레시피는 하드웨어별로 유지되며 요구 사항을 나열합니다.
각 실행 중인 모델은 http://127.0.0.1:<port>/v1에서 답변합니다.
(12434 포트에서 연결); 키는 ~/.local/state/omarchy/local-ai/gateway.key에 있습니다.
bin/omarchy-remove-ai-local
이 사용자가 관리하는 모델을 중지하고 컨테이너, 엔진 이미지, 가중치 및 설정을 삭제합니다. 그런 다음 omarchy plugin remove sero.local-ai
| 파일 | 역할 |
|---|---|
bin/omarchy-local-ai | 백엔드, 하나의 bash 파일 |
Model.js | 순수 함수: 스냅샷 입력, 뷰 출력 |
Panel.qml | 뷰를 그리고 백엔드의 동작을 실행합니다 |
recipes.json | 번들된 레시피, 라인당 카드 종류 (make sync) |
docs/design.md
디자인이 포함되어 있고 test/all은 테스트를 실행합니다.
이미지는 SHA-256으로 고정됩니다. 게이트웨이는 호출하는 사용자로, 리눅스 기능(capabilities) 없이, 읽기 전용 루트 파일 시스템, 제한된 임시 디렉토리 및 외부 DNS 비활성화 상태로 실행됩니다. Docker 서비스 검색은 여전히 엔진을 해결하며; 사용 기록은 전용 디렉토리에 쓰기가 가능하게 유지됩니다. 기존 컨테이너는 중지되었다가 다시 시작될 때 이러한 제한 사항을 받습니다.
모델 엔진은 여전히 쓰기 가능한 컨테이너 파일 시스템과 아웃바운드 네트워크 액세스를 가지고 있습니다. 다이제스트 핀(Digest pins) 및 빌드 증명서(build attestations)는 이미지 식별자를 확립하지만, 신뢰할 수 없는 코드를 안전하게 만들지는 않습니다. 엔진 제한 사항은 배포 전에 개별 엔진 하드웨어 검증이 필요합니다. 게이트웨이 DNS를 비활성화하는 것이 아웃바운드 IP 연결을 차단하지는 않습니다.
새로운 모델은 스스로 도착합니다: 카탈로그가 12시간 되었으면, Local AI는 최신 게시된 레지스트리(최대 시간당 한 번)를 확인하고 새로운 모델을 가져왔을 때만 알려줍니다; 이 카탈로그는 캐시(~/.cache/omarchy/local-ai/v3)에 저장됩니다. 다운로드는 레지스트리 커밋에 고정되며, 원자적 교체 전에 검증되고, 실패할 경우 이전 카탈로그를 유지합니다. 새로고침은 실행 중인 모델이나 다운로드되는 모델 가중치를 중지시키지 않습니다. 오프로드 레시피는 RAM, 디스크 및 스토리지 요구 사항이 충족될 때만 제공됩니다.
패키지를 생성하는 레시피는 원본 가중치와 별도로 출력 예산(output budget)을 선언합니다. Local AI는 고정된 서비스 이미지로 준비하고, 패키지를 검증한 후 private staging에서 게시합니다. 재사용되는 모든 것은 검증됩니다. Stop은 완성된 패키지를 유지하며, Remove download는 관리하는 모델이 사용하지 않을 때만 이를 제거합니다. v3 계약은 이러한 작업을 지원하며, 연구용 모델은 여기에 나타나기 전에 여전히 자체적으로 승인된 이미지, 하드웨어 및 충실도 증거를 필요로 합니다.
모델 탭에서 모델의 행을 열어 Start하거나, 시작하지 않고 Download하거나, 홈에 Pin하거나, 세부 정보를 확인할 수 있습니다. Remove download는 해당 모델이 중지된 후 그 모델의 관리 가중치를 삭제합니다. 다른 관리 모델에 의해 사용되는 공유 가중치는 보호됩니다. 레시피는 다시 다운로드할 수 있도록 유지됩니다. 별도의 Hugging Face 캐시에 있는 파일은 보존되므로, 하드 링크(hard-linked)된 파일들은 여전히 디스크 공간을 차지할 수 있습니다.
이에 상응하는 명령어는 omarchy-local-ai registry,
download <recipe> [off]
,
pin <recipe> [off]
그리고 forget <recipe>
(또는 플러그인의 bin/omarchy-local-ai)
입니다.
MIT. Model-maker가 Logos.js에 표시하는 로고들은 lobe-icons (MIT)와 Intel 및 AMD의 경우 Simple Icons (CC0)에서 가져온 것입니다. 에이전트, 모델-메이커, GPU-메이커 로고는 해당 소유자의 상표이며, 호환성을 식별하기 위해 표시될 뿐입니다. Local AI는 이들 중 어느 곳과도 제휴하거나 보증하지 않습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Coding Assistants의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기