ChatGPT로 정리한 내용입니다. 검증 전 입니다.
맥 미니(OpenClaw) ↔ 윈도우(LM Studio + Qwen3 TTS) 연동 구축 가이드
대상 장비
Mac mini M2 / 16GB: OpenClaw 실행(에이전트/오케스트레이션)
Windows PC / RTX 5060 16GB: 로컬 LLM(LM Studio) + 로컬 TTS(Qwen3 TTS) 실행(서버)
목표
Mac mini의 OpenClaw가 Windows의 로컬 LLM(LM Studio OpenAI 호환 API)을 호출
Mac mini(또는 Mac의 워크플로)가 Windows의 로컬 TTS(Qwen3 TTS OpenAI 호환 FastAPI)를 호출하여 WAV/MP3를 수신
참고: OpenClaw는 버전/설정에 따라 “TTS를 임의 baseUrl로 교체”가 제약이 있을 수 있습니다.
따라서 이 문서는 (A) 서버 호출(curl/스크립트)로 먼저 성공 → (B) OpenClaw TTS에 연결 시도 순으로 구성합니다.
0. 준비물 체크리스트
아래는 업데이트된(번호/서식 수정 완료) 마크다운 전체 내용입니다. 그대로 복사해서 .md로 저장해도 됩니다.
맥 미니(OpenClaw) ↔ 윈도우(LM Studio + Qwen3 TTS) 연동 구축 가이드
대상 장비
Mac mini M2 / 16GB: OpenClaw 실행(에이전트/오케스트레이션)
Windows PC / RTX 5060 16GB: 로컬 LLM(LM Studio) + 로컬 TTS(Qwen3 TTS) 실행(서버)
목표
Mac mini의 OpenClaw가 Windows의 로컬 LLM(LM Studio OpenAI 호환 API)을 호출
Mac mini(또는 Mac의 워크플로)가 Windows의 로컬 TTS(Qwen3 TTS OpenAI 호환 FastAPI)를 호출하여 WAV/MP3를 수신
참고: OpenClaw는 버전/설정에 따라 “TTS를 임의 baseUrl로 교체”가 제약이 있을 수 있습니다.
따라서 이 문서는 (A) 서버 호출(curl/스크립트)로 먼저 성공 → (B) OpenClaw TTS에 연결 시도 순으로 구성합니다.
0. 준비물 체크리스트
0.1 공통
같은 공유기/동일 LAN(유선 권장)
Windows PC의 IP를 고정(DHCP 예약 권장): 예)
192.168.0.50사용할 포트
LM Studio: 기본
1234(예:http://192.168.0.50:1234/v1)Qwen3 TTS 서버: 기본
8880(예:http://192.168.0.50:8880/v1)
0.2 Windows
NVIDIA 드라이버 최신
(옵션) Docker Desktop + WSL2 (TTS 서버를 Docker로 운영할 경우)
Git(또는 Git Bash) / PowerShell
0.3 Mac mini
터미널 사용 가능
OpenClaw 설치(2.1 참고)
1. 네트워크 및 방화벽(먼저 이것부터)
1.1 Windows 방화벽 인바운드 허용
Windows “고급 보안이 포함된 Windows Defender 방화벽”에서 인바운드 규칙 추가:
TCP 1234 허용 (LM Studio)
TCP 8880 허용 (Qwen3 TTS 서버)
프로필은 가능하면 Private(가정/사내망)만 허용
1.2 연결 확인
Mac에서 Windows로 ping(선택):
ping 192.168.0.502. Mac mini: OpenClaw 설치 및 기본 점검
2.1 설치
OpenClaw 공식 설치 스크립트:
curl -fsSL https://openclaw.ai/install.sh | bash설치 후:
openclaw doctor
openclaw status
openclaw dashboard2.2 설정 파일 위치 확인
OpenClaw는 기본적으로 홈 디렉터리 하위 설정을 사용합니다(버전에 따라 다를 수 있으니 아래로 확인):
ls -la ~/.openclaw보통 openclaw.json 또는 유사한 설정 파일을 사용합니다.
3. Windows: LM Studio로 로컬 LLM 서버 띄우기
3.1 LM Studio 설정
LM Studio 설치 후 모델 다운로드(예: Qwen 계열/원하는 로컬 LLM)
Local Server 기능을 켜고(OpenAI-compatible), 포트를
1234로 사용“Listening” 상태 확인
3.2 Mac에서 LM Studio API 호출 테스트
Mac에서:
curl http://192.168.0.50:1234/v1/models성공하면, 간단한 chat completion(서버/모델 설정에 따라 endpoint가 다를 수 있음):
curl -X POST "http://192.168.0.50:1234/v1/chat/completions" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_MODEL_ID",
"messages": [{"role":"user","content":"안녕하세요. 테스트입니다."}]
}'
YOUR_MODEL_ID는/v1/models결과에 나온 값을 사용하세요.
4. Mac mini(OpenClaw) → Windows(LM Studio) 연결
아래는 “OpenAI 호환 endpoint를 커스텀 provider로 등록”하는 전형적인 구성 예시입니다.
(실제 키/필드명은 OpenClaw 버전에 따라 약간 다를 수 있으니, openclaw doctor로 검증하세요.)
4.1 예시: ~/.openclaw/openclaw.json
{
"agents": {
"defaults": {
"model": { "primary": "lmstudio/YOUR_MODEL_ID" }
}
},
"models": {
"providers": {
"lmstudio": {
"baseUrl": "http://192.168.0.50:1234/v1",
"apiKey": "DUMMY_KEY",
"api": "openai-chat-completions",
"models": [
{ "id": "YOUR_MODEL_ID", "name": "LM Studio Model" }
]
}
}
}
}4.2 OpenClaw에서 동작 확인
openclaw doctor
openclaw dashboard대시보드/로그에서 모델 호출이 lmstudio로 나가는지 확인합니다.
5. Windows: Qwen3 TTS 서버 구성(권장: OpenAI 호환 FastAPI)
Windows PC에서 GPU 자원이 충분하므로, OpenAI 호환 FastAPI 서버로 Qwen3 TTS를 운영하는 것이 가장 간단합니다.
5.1 (권장) Docker(GPU)로 실행
5.1.1 저장소 클론
git clone https://github.com/groxaxo/Qwen3-TTS-Openai-Fastapi.git
cd Qwen3-TTS-Openai-Fastapi5.1.2 빌드 및 실행(기본 backend)
docker build -t qwen3-tts-api .
docker run --gpus all -p 8880:8880 qwen3-tts-api기본 HOST:
0.0.0.0기본 PORT:
8880
5.1.3 (선택) 더 빠른 backend(vLLM-Omni)
docker build -t qwen3-tts-api:vllm --target vllm-production .
docker run --gpus all -p 8880:8880 `
-e TTS_BACKEND=vllm_omni `
-e TTS_WARMUP_ON_START=true `
qwen3-tts-api:vllm5.2 (대안) Python/Conda로 실행(개발용)
해당 저장소의 가이드에 따라 환경 구성 후 실행:
python -m api.main6. TTS 테스트(윈도우 → 맥 순으로)
6.1 Windows(로컬)에서 먼저 테스트
PowerShell:
curl http://127.0.0.1:8880/health음성 생성(OpenAI 호환):
curl -X POST "http://127.0.0.1:8880/v1/audio/speech" `
-H "Content-Type: application/json" `
-d "{\"model\":\"tts-1\",\"voice\":\"alloy\",\"input\":\"안녕하세요. Qwen3 TTS 테스트입니다.\",\"format\":\"wav\"}" `
--output out.wav6.2 Mac에서 Windows TTS 호출 테스트
Mac:
curl http://192.168.0.50:8880/health음성 생성:
curl -X POST "http://192.168.0.50:8880/v1/audio/speech" \
-H "Content-Type: application/json" \
-d '{
"model": "tts-1",
"voice": "alloy",
"input": "맥에서 윈도우 Qwen3 TTS 서버를 호출합니다.",
"format": "wav"
}' --output out.wav7. (선택) OpenClaw에서 TTS까지 쓰기
OpenClaw 버전에 따라 “OpenAI TTS baseUrl”을 로컬로 바꾸는 기능이 제한될 수 있습니다.
가능한 경우 아래 형태로 접근합니다.
7.1 방법 A: OpenClaw의 TTS provider를 OpenAI로 설정 + baseUrl 우회(가능한 경우)
OpenClaw 실행 환경에 다음을 주입(예시):
OPENAI_TTS_BASE_URL=http://192.168.0.50:8880/v1
macOS에서 런칭 방식에 따라:
터미널에서 실행하는 경우:
export OPENAI_TTS_BASE_URL="http://192.168.0.50:8880/v1" openclaw dashboard데몬/서비스로 띄우는 경우: 서비스 설정에 환경변수 추가 필요
이 단계가 막히면, OpenClaw 내부 TTS는 Edge TTS로 유지하고
별도 워크플로(스크립트/툴)로 Qwen3 TTS를 호출하는 구성이 가장 안정적입니다.
7.2 방법 B: OpenClaw Tool로 “HTTP TTS 호출 스크립트”를 연결
curl/Python/Node로/v1/audio/speech를 호출하는 작은 스크립트를 만들고OpenClaw Tools로 등록해 에이전트가 호출하도록 구성
(원하면 이 스크립트/툴 등록 템플릿까지 이어서 만들어드릴 수 있어요.)
8. (선택) DINKIssTyle Qwen3TTS GUI는 어디에 쓰나?
GUI는 “사람이 직접 눌러 쓰는 용도”로 매우 편합니다. 설치 흐름은 다음 3단계가 핵심입니다.
uv설치uv syncuv run main.py
GUI로 품질/클론/디자인이 잘 되는지 확인한 뒤, 서버 운영은 5장의 FastAPI 방식으로 넘어가는 것을 추천합니다.
9. 문제 해결(자주 발생)
9.1 Mac에서 Windows 포트 접속이 안 됨
Windows 방화벽 인바운드 규칙 확인(TCP 1234/8880)
PC가 “공용(Public) 네트워크”로 잡혀 있으면 규칙이 막힐 수 있음 → Private로 변경
공유기에서 IP가 바뀌지 않도록 DHCP 예약
9.2 첫 요청이 느림
TTS 모델 로딩/워밍업으로 첫 요청이 느린 것은 정상(특히 1.7B)
서버 옵션에서 warmup 사용(가능한 경우)
9.3 Docker에서 GPU 미인식
docker run --gpus all ...에서 에러가 나면Docker Desktop 설정/WSL2/엔비디아 컨테이너 툴킷 쪽 점검 필요
우선은 Python 실행 방식으로 검증
10. 보안 권장사항(중요)
포트(1234/8880)는 LAN 내부에서만 열어두세요.
외부 접속이 필요하면 포트포워딩 대신:
VPN(예: Tailscale/WireGuard) 또는
리버스 프록시 + 인증을 권장
부록 A. 빠른 점검 명령 모음
A.1 Mac → Windows
curl http://192.168.0.50:1234/v1/models
curl http://192.168.0.50:8880/healthA.2 Windows(로컬)
curl http://127.0.0.1:8880/health이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.