Wintermolt: 모든 AI 백엔드를 위한 단일 바이너리
요약
Zig 언어로 작성된 Wintermolt는 모든 AI 백엔드를 지원하는 단일 네이티브 바이너리 CLI 에이전트입니다. 기존의 AI 코딩 도구들이 포함하는 무거운 런타임(Electron, Node.js 등) 문제를 해결하여, 크기가 작고 어떤 환경에서도 빠르게 실행 가능합니다. 이를 통해 개발 복잡성을 줄이고 접근성을 높였습니다.
핵심 포인트
- 단일 네이티브 바이너리로 컴파일되어 용량이 매우 작음 (6~14MB).
- 런타임 의존성(Node.js, Electron 등) 없이 모든 환경에서 실행 가능합니다.
- AI 백엔드 외에도 비전, 브라우저 자동화, 스케줄러 등 다양한 기능을 내장했습니다.
- Zig 언어 기반으로 Jetson이나 Raspberry Pi 같은 임베디드 장치에서도 구동이 용이합니다.
하나의 바이너리. 런타임 없음. 모든 AI 백엔드.
Zig 언어로 완전히 작성된 자율 AI 에이전트 CLI입니다.
빠른 시작 • 기능 • Wintermolt를 선택해야 하는 이유? • 아키텍처
$ wintermolt
Wintermolt v0.4.0 — AI Agent CLI
Backend: ollama (qwen3:0.6b)
...
대부분의 AI 코딩 도구는 API 호출 및 파일 편집을 위해 수백 메가바이트에 달하는 Electron 또는 Node.js 런타임을 포함합니다. Wintermolt는 단일 네이티브 바이너리로 컴파일됩니다 — macOS Apple Silicon에서 약 6MB, Linux에서 11MB, Windows에서 14MB (정적으로 연결된 HTTP/3 스택) 크기이며, Jetson이나 Raspberry Pi 같은 ARM 보드를 포함하여 macOS, Linux 및 Windows에서 네이티브하게 빌드됩니다.
| Wintermolt | Claude Code | Cursor | Aider | |
|---|---|---|---|---|
| 바이너리 크기 | 6–14 MB | ~200 MB | ~500 MB | ~50 MB |
| 런타임 | 없음 | Node.js 18+ | Electron | Python 3.8+ |
| Jetson/Pi에서 실행 | 예 | 거의 안됨 | 아니요 | 느림 |
| Windows에서 실행 | 예 (v0.4+) | WSL을 통해 | 예 | 예 |
| AI 백엔드 | 8개 | 1개 | 다중 | 다중 |
| 카메라 + 비전 | 내장됨 | 아니요 | 아니요 | 아니요 |
| 브라우저 자동화 | 내장됨 | 아니요 | 아니요 | 아니요 |
| MCP 클라이언트 + 서버 | 둘 다 | 클라이언트만 | 클라이언트만 | 아니요 |
| 채팅 브릿지 | 18개 플랫폼 | 아니요 | 아니요 | 아니요 |
| Cron 스케줄러 | 내장됨 | 아니요 | 아니요 | 아니요 |
| Mesh 네트워킹 | Tailscale | 아니요 | 아니요 | 아니요 |
| 메뉴 바 앱 | macOS 네이티브 | 아니요 | 아니요 | 아니요 |
| 라이선스 | MIT | 독점적(Proprietary) | 독점적(Proprietary) | Apache-2.0 |
두 단계 설정. 바이너리를 다운로드하고, Ollama를 설치한 다음, 실행합니다. 컴파일러도, npm install도, Docker도 필요하지 않습니다. 총 시간: 약 2분입니다.
본인에게 맞는 줄을 골라 터미널에 붙여넣으세요. 이 바이너리는 현재 디렉토리에 ./wintermolt (Windows의 경우 wintermolt.exe)로 저장됩니다.
macOS (Apple Silicon — M1/M2/M3/M4):
curl -L -o wintermolt https://github.com/lupin4/wintermolt/raw/main/prebuilt/wintermolt-macos \
&& chmod +x wintermolt
Linux (ARM64 — Jetson, Raspberry Pi 5, AWS Graviton 등):
curl -L -o wintermolt https://github.com/lupin4/wintermolt/raw/main/prebuilt/wintermolt-linux-arm64 \
&& chmod +x wintermolt
Windows (x86_64) — PowerShell:
Invoke-WebRequest `
-Uri https://github.com/lupin4/wintermolt/raw/main/prebuilt/wintermolt-windows-x86_64.exe `
-OutFile wintermolt.exe
Linux (x86_64 — 서버, 클라우드 VM):
curl -L -o wintermolt https://github.com/lupin4/wintermolt/raw/main/prebuilt/wintermolt-linux-x86_64 \
&& chmod +x wintermolt
Wintermolt의 기본 백엔드는 로컬에서 모델을 실행하는 Ollama입니다. API 키가 필요하지 않습니다.
# macOS / Linux
curl -fsSL https://ollama.com/install.sh | sh
# Windows: https://ollama.com/download/windows 에서 설치 프로그램 다운로드
...
클라우드 모델을 선호하십니까? Ollama를 건너뛰고 다음 명령어로 API 키를 설정하세요.
./wintermolt --keys
Claude, GPT, DeepSeek, Qwen, Gemini 또는 forAI용 API 키를 설정할 수 있습니다.
./wintermolt # 대화형 채팅 (터미널에서 전체 화면)
./wintermolt --plain # 대신 순수한 줄별 REPL
./wintermolt -e "pwd의 파일 목록 나열" # 일회성 프롬프트
...
이것으로 끝입니다. 실행할 준비가 되었습니다.
| 플랫폼 | 바이너리 | 크기 | 참고 사항 |
|---|---|---|---|
| macOS arm64 | wintermolt-macos | 6.2 MB | Mach-O, 동적 libcurl + sqlite3 |
| Linux arm64 | wintermolt-linux-arm64 | 10.6 MB | ELF aarch64, 동적 libcurl + sqlite3 |
| Linux x86_64 | wintermolt-linux-x86_64 | 11 MB | ELF x86-64, 동적 libcurl + sqlite3. glibc 2.34+ (Ubuntu 22.04, Debian 12, RHEL 9 및 이후 버전). x86-64-v3 CPU (Intel Haswell, AMD Zen 또는 그 이상). |
| Windows x86_64 | wintermolt-windows-x86_64.exe | 14 MB | PE32+, HTTP/3 및 암호화(crypto)가 정적으로 링크됨. Windows 시스템 DLL만 가져옴: 설치할 다른 것이 없음. x86-64-v3 CPU (Intel Haswell, AMD Zen 또는 그 이상). |
직접 컴파일하려면.
Zig 0.16(단일 바이너리, 설치 프로그램 없음). 0.15.2는 더 이상 wintermolt를 빌드하지 않습니다.libcurl+sqlite3dev 헤더:
macOS: brew install curl sqlite3
⚠️ [IMG:N] 형식 토큰은 이미지 placeholder 입니다. 번역하지 말고 원래 위치에 그대로 유지하세요.
(보통 사전 설치됨)Linux (Debian/Ubuntu):sudo apt-get install libcurl4-openssl-dev libsqlite3-dev
Linux (Fedora/RHEL):sudo dnf install libcurl-devel sqlite-devel
Windows: MSYS2 UCRT64를 설치한 후 pacman -S mingw-w64-ucrt-x86_64-curl mingw-w64-ucrt-x86_64-sqlite3
git clone https://github.com/lupin4/wintermolt.git
cd wintermolt
zig build -Doptimize=ReleaseSmall
...
각 플랫폼에서 해당 플랫폼의 머신으로 빌드하세요. -Dtarget=
이렇게 하면 Zig가 빌드를 크로스 컴파일(cross-compile)로 처리하게 되며, 시스템 libcurl과 sqlite3 (그리고 Windows의 경우 MSYS2 UCRT64 라이브러리)를 찾는 것을 중단합니다. 대신에 -Dcpu=로 CPU 플로어(CPU floor)를 설정하여 바이너리가 빌드한 머신보다 더 많은 곳에서 실행되도록 합니다:
zig build -Doptimize=ReleaseFast -Dcpu=baseline # aarch64 — Apple Silicon, Jetson, Pi 5, Graviton
zig build -Doptimize=ReleaseFast -Dcpu=x86_64_v3 # x86_64 — Linux, Windows (MSYS2 UCRT64)
Wintermolt는 단순히 질문에 답하는 것을 넘어 여러 단계의 작업을 자율적으로 계획하고 실행하며, 작업이 완료될 때까지 도구를 순차적으로 호출합니다. 턴당 최대 25개의 도구 반복(tool iterations)을 지원합니다.
> 이 Express 앱의 모든 보안 취약점을 찾고 수정해줘
[grep] SQL 인젝션 패턴 검색 중...
[file_read] src/routes/users.js 읽는 중...
...
> /model ollama — 로컬 모델 (Llama, Qwen, Mistral, Phi — API 키 불필요, 기본값)
> /model claude — Anthropic Claude (API 키 필요)
> /model openai — OpenAI GPT-4o, GPT-4.1
...
모든 백엔드는 **스트리밍(streaming)**을 지원합니다. Ollama는 100% 로컬에서, 에어갭(air-gapped) 환경에서, API 키 없이 실행됩니다. 클라우드 백엔드는 선택 사항입니다 — /keys를 통해 직접 키를 가져오세요.
.
Claude 관련 참고 사항: Anthropic이 비(非)API 사용을 제한하면서 Claude는 이전에 제거되었었습니다. 이제 API를 통해 Claude를 원하는 사용자를 위한 선택적 백엔드로 다시 추가되었습니다. 기본값은 로컬(Ollama)이며, Wintermolt를 사용하는 데 API 키가 필요하지 않습니다. 만약 Claude를 원한다면 /keys 또는 --keys를 사용하여 ANTHROPIC_API_KEY를 구성하세요.
로컬 GGUF 추론 인-프로세스(/model kernel
오늘 Apple Silicon에서; forMetal/forCUDA를 통해 macOS/Linux/Windows 전반에 걸쳐 엔진 배포가 이루어지고 있습니다). Unsloth로 훈련된 GGUF 내보내기는 그대로 실행됩니다.
Wintermolt는 11개 도메인에 걸쳐 70개의 스킬 정의와 함께 제공됩니다. 이는 forKernels / Zortran 스택의 내부 규칙과 도메인 지식으로, 모델이 해당 영역에서 작동할 때 로드되는 지침 형태로 작성되었습니다.
| Domain | Skills | Default Model |
|---|---|---|
| Zortran Core | 6 | qwen3:30b |
| ... | ||
Skills는 skills/에 skill.json으로 존재하며, 시작 시 매니페스트(manifests)로 로드됩니다. 모델은 skills 도구를 통해 이를 나열하고, operation='use'를 사용하여 하나의 스킬을 로드합니다. 이는 해당 스킬의 role_prompt를 현재 실행 중인 백엔드의 대화에 삽입합니다. 매니페스트의 backend 및 model 필드는 기록되지만 사용되지 않습니다. 자세한 내용은 docs/SKILLS.md를 참조하십시오. |
AI가 이를 자율적으로 호출합니다. 플러그인은 필요하지 않습니다.
| Tool | What it does |
|---|---|
bash | 안전 가드레일과 함께 셸 명령어 실행 |
file_read | 모든 파일 읽기 (멀티모달을 통한 이미지 포함) |
file_write | 파일 생성 또는 덮어쓰기 |
file_edit | 정밀한 찾기 및 바꾸기 편집 |
glob | 패턴을 이용한 재귀적 파일 검색 |
grep | 정규식을 사용한 내용 검색 |
http_request | 모든 URL에 대한 HTTP GET/POST/PUT/DELETE 요청 |
web_search | DuckDuckGo 검색 (API 키 필요 없음) |
camera_capture | 카메라 스냅샷 + 스크린샷 + OAK-D 깊이 |
image_process | 형식 변환 (sips/ffmpeg를 통한 BMP, PNG) |
browser_control | DevTools Protocol을 통한 전체 Chrome 자동화 |
memory_search | 대화 기록에 대한 의미론적 검색 |
schedule | 크론 작업 — 반복 명령어 예약 |
tailscale | 메시 VPN — 피어, 장치, 연결성 질의 |
canvas_update | A2UI — 터미널 또는 웹에서 풍부한 UI 서피스 렌더링 |
skills | 스킬 목록 및 내장 도구 카탈로그 나열 |
text_to_speech | OpenAI, ElevenLabs 또는 Edge TTS를 통한 음성 출력 |
image_generate | DALL-E 3 이미지 생성 |
google_workspace | Google API를 통한 Gmail, Calendar 및 Drive |
spawn_agent |
자식 에이전트에서 자체 컨텍스트를 가진 서브태스크 실행하기 |
스케줄링 명령을 자동 실행하도록 예약할 수 있습니다. 작업은 SQLite를 통해 재시작 시에도 유지됩니다.
> /schedule add health-check every 5m bash curl -s https://myapp.com/health
[scheduler] Job "health-check" 생성됨 — 5분마다 실행
> /schedule add backup at 03:00 bash ./scripts/backup.sh
...
에이전트에서 Tailscale 네트워크를 직접 조회할 수 있습니다. 모든 장치를 보고, 연결 상태를 확인하고, 기기 간에 협업하세요.
> /tailscale
Tailscale 네트워크 상태:
dev-laptop 100.64.0.1 macOS 15.3 온라인
...
메뉴 바에 상주하는 네이티브 Swift 사이드카입니다. 창을 전환할 필요 없이 프롬프트를 보내고, 스트리밍 응답을 보고, 알림을 받을 수 있습니다.
wintermolt --menubar
┌─────────────────────────────────────┐
│ W⚡ Wintermolt │
├─────────────────────────────────────┤
...
AppKit NSStatusBar로 구축되었습니다.
— Electron이나 웹 뷰를 사용하지 않습니다. 채팅 및 웹 브리지를 통해 사용되는 것과 동일한 검증된 IPC 패턴인 stdin/stdout을 통한 JSON lines 방식으로 Zig 백엔드와 통신합니다.
AI는 박스 그리기 문자(box-drawing characters)를 사용하여 터미널에, 또는 웹 브리지를 통해 브라우저에서 테이블, 레이아웃, 코드 블록과 같은 풍부한 UI 표면을 직접 렌더링할 수 있습니다.
> Show me a dashboard of my project health
┌─ Project Health ─────────────────────────────────────┐
│ │
...
Google의 A2UI 프로토콜(Agent-to-UI)을 사용합니다. 에이전트가 무엇을 렌더링할지 설명하고, 클라이언트가 어떻게 할지를 결정합니다. 터미널은 ANSI 박스 그리기 문자를 받고, 웹 UI는 네이티브 HTML 컴포넌트를 받습니다.
SQLite 히스토리: 모든 대화가 ~/.wintermolt/history.db에 영구 저장됩니다.
. 모든 세션을 재개할 수 있습니다.
Pinecone RAG: 벡터 검색을 통한 선택적 시맨틱 메모리. AI는 대화를 자동으로 인덱싱하고 과거 세션에서 관련 컨텍스트를 회상합니다.
> /memory search "how did we fix the auth bug last week?"
[rag] Feb 14-15 세션에서 관련 패시지 3개 발견...
완전 양방향 MCP 지원 — 외부 도구에 연결하고 여러분의 도구를 노출할 수 있습니다.
클라이언트로서: 원하는 MCP 서버를 추가하세요. ~/.wintermolt/mcp.json에서 설정합니다.
{
"servers": {
"filesystem": {
...
서버로서: 모든 15개의 도구를 모든 MCP 호환 클라이언트에게 노출합니다:
wintermolt --mcp-server # stdio를 통한 JSON-RPC 2.0
모든 메시징 플랫폼에 봇으로 Wintermolt를 배포하세요:
wintermolt --chat # 설정된 모든 플랫폼에 동시에 연결합니다
| 플랫폼 | 환경 변수 | 기능 |
|---|---|---|
| Discord | DISCORD_BOT_TOKEN | 채널, DM, 스레드 |
| Telegram | TELEGRAM_BOT_TOKEN | 개인 및 그룹 채팅 |
| Slack | SLACK_BOT_TOKEN + SLACK_APP_TOKEN | 소켓 모드, 채널 |
WINTERMOLT_WHATSAPP=1 | WhatsApp-web.js를 통해 |
모든 플랫폼에서 동일한 에이전트 기능(agentic capabilities)을 얻을 수 있습니다 — 도구 사용, 스트리밍, 파일 처리.
wintermolt --web # http://localhost:3000을 서비스합니다
WebSocket을 통한 실시간 스트리밍. AI의 응답은 브라우저에서 토큰별로 렌더링되며 도구 실행 미리보기를 제공합니다.
CLI-Anything은 소프트웨어를 구조화된 CLI(Command Line Interface)로 감싸서 AI 에이전트가 구동할 수 있게 하는 프레임워크입니다. Wintermolt는 agent-harness/에 자체 하네스(harness)를 포함하고 있습니다.
: pip으로 설치 가능한 Python CLI (Click 명령 그룹, --json 출력을 사용)로, -e와 --mcp-server를 통해 wintermolt 바이너리를 실행하며 SQLite 기록을 읽기 전용으로 읽어 다른 에이전트가 Wintermolt를 도구로 사용할 수 있게 합니다.
pip install -e agent-harness/
Wintermolt는 다른 소프트웨어의 하네스를 생성하는 도구를 가지고 있지 않습니다. cli_anything_harness 스킬(skills use)은 직접 작성할 때 CLI-Anything 규칙을 담고 있습니다. Blender, Audacity, ComfyUI, CloudCompare 등 기존 하네스는 bash 도구가 다른 어떤 프로그램처럼 실행할 수 있는 명령줄 프로그램입니다.
내장된 스킬과 ~/.wintermolt/plugins/에서 런타임 플러그인 검색을 통해 확장 가능한 스킬 카탈로그를 제공합니다.
Wintermolt는 영구적이고 상태를 유지하는 에이전트와 소프트웨어 연결을 위한 프레임워크인 forAgent와 함께 제공됩니다. forAgent는 세션 관리, 전송 어댑터(TCP, Unix 소켓, HTTP, subprocess), 상태 추적, 도구 레지스트리, 그리고 MCP 프로토콜 처리를 제공합니다.
Wintermolt가 외부 소프트웨어(Blender, OBS, Docker 등)에 연결할 때, forAgent는 지속적인 세션을 관리합니다. 이는 상태를 유지하고, 변경 사항을 추적하며, AI가 자율적으로 사용할 수 있는 깔끔한 도구 인터페이스를 제공합니다.
Wintermolt는 두 가지 기능을 제공하는 forLearn과 함께 제공됩니다:
온라인 학습 커널(Online learning kernels) — 고정된 메모리 예산으로 장치에서 실행되는 비지도 및 강화학습 알고리즘. 모든 커널은 순수 Zig로 작성되었습니다 (Wintermolt에 Fortran 의존성 없음):
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기