ํต์ฌ ์์
- WeChatFerry(Windows)๋ 2026๋ WeChat PC ํด๋ผ์ด์ธํธ๋ฅผ ์ํ ๊ฐ์ฅ ์ ๋ขฐํ ์ ์๋ ํ ์ ๋๋ค: ๋ฐ์ด๋๋ฆฌ๋ฅผ ์์ ํ์ง ์๊ณ WeChat๊ณผ ํจ๊ป ์คํ๋ฉ๋๋ค
- Ollama๋ ํฌํธ 11434์์ ๋ก์ปฌ HTTP API๋ฅผ ๋ ธ์ถํฉ๋๋ค: 10์ค์ง๋ฆฌ Python ์คํฌ๋ฆฝํธ๊ฐ WeChat ๋ฉ์์ง๋ฅผ ๋ก๋๋ ๋ชจ๋ธ๋ก ๋ผ์ฐํ ํฉ๋๋ค
- Qwen3 7B Q4_K_M: ์ค๊ตญ์ด ์ฑํ ์ ๊ถ์ฅ โ 5.5 GB VRAM, ๋ค์ดํฐ๋ธ CJK ํ ํฐํ, ๋ฏธ๋ PC์์ 8โ15 tok/s
- ํญ์ ์ผ์ ธ ์๋ ๋ฏธ๋ PC ์๋ฒ(Minisforum UM890 Pro, ~35 W): ๊ทธ๋ฃน ๋ฐ ๊ฐ์ธ ์ฑํ ์ ์ํด ๋ด์ 24/7 ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ ์ ์ง
- ๋ก์ปฌ ์ถ๋ก : ํด๋ผ์ฐ๋๋ก ๋ฐ์ดํฐ ์ ์ก ์์ โ ๊ฐ์ธ ๋ฐ์ดํฐ์ ๋ํ ์ค๊ตญ ๋ฐ์ดํฐ ๋ณด์๋ฒ ์ 31์กฐ ์ค์
WeChat + LLM ์ธ ๊ฐ์ง ํตํฉ ํจํด
ํจํด 1 โ WeChatFerry + Ollama(Windows): ๊ฐ์ฅ ์์ ์ ์ ๋๋ค. WeChatFerry๋ ๊ณต์ WeChat PC ํด๋ผ์ด์ธํธ๋ฅผ ์ธํฐ์ ํธํ๊ณ Python SDK๋ฅผ ๋ ธ์ถํฉ๋๋ค. ๋ฉ์์ง๊ฐ ์ด๋ฒคํธ๋ก ๋์ฐฉํฉ๋๋ค; ์คํฌ๋ฆฝํธ๊ฐ Ollama HTTP API๋ฅผ ํธ์ถํ๊ณ ์๋ต์ ๋ฐํํฉ๋๋ค. ๊ฐ์ธ ๋ฐ ๊ทธ๋ฃน ์ฑํ ์ ์๋ํฉ๋๋ค. WeChat PC๊ฐ ์ค์น๋ Windows๊ฐ ํ์ํฉ๋๋ค.
ํจํด 2 โ HTTP webhook ๋ธ๋ฆฌ์ง: ํ์ฌ WeChat ๊ฒ์ดํธ์จ์ด์์ webhook ์ฝ๋ฐฑ์ ๋ฐ๋ ๋ก์ปฌ HTTP ์๋ฒ๋ฅผ ์คํํฉ๋๋ค. ์ค์ ์ด ๋ ๋ณต์กํ์ง๋ง ์ฌ๋ฌ ํ๋ซํผ์์ ์๋ํฉ๋๋ค. WeChat Official Account ์ธํ๋ผ๊ฐ ์๋ ๊ธฐ์ ์ ์ ํฉํฉ๋๋ค.
ํจํด 3 โ Ollama + Open WebUI ํฌ์๋ฉ: Open WebUI์ WeChat ์๋ฆผ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ(์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ) ๊ฐ์ธ WeChat ๊ณ์ ์ผ๋ก ์์ฝ์ด๋ ์๋ต์ ์ ์กํฉ๋๋ค. ๊ฐ๋ณ๊ณ ํ ์์ด ์๋ํ์ง๋ง ๋จ๋ฐฉํฅ ์๋ฆผ๋ง ์ง์ํฉ๋๋ค.
๋๋ถ๋ถ์ ์ฌ์ฉ์์๊ฒ โ ํนํ ๊ฐ์ธ ๊ณ์ ์ ๊ฐ์ง ์ค๊ตญ ์ฌ์ฉ์์๊ฒ โ ํจํด 1(WeChatFerry + Ollama)์ด 2026๋ ์ ์ํ ์ฌ๋ฐ๋ฅธ ์ ํ์ ๋๋ค.
WeChatFerry ์ค์ : ๋จ๊ณ๋ณ
- 1Windows์ WeChat PC(weixin.qq.com์ ๊ณต์ ๋ฒ์ ) ์ค์น
- 2WeChatFerry ์ค์น:
pip install wcferry(Python 3.10+) - 3WeChatFerry ๋ฐ๋ชฌ ์์:
python -m wcferry.daemon - 4๋ฉ์์ง ํธ๋ค๋ฌ ์์ฑ:
from wcferry import Wcf; wcf = Wcf(); wcf.enable_receiving_msg() - 5๋ฉ์์ง ๋ฃจํ์์ Ollama์ POST:
requests.post("http://localhost:11434/api/generate", json={"model":"qwen2.5:7b","prompt":msg.content}) - 6์๋ต ์ ์ก: `wcf.send_text(response["response"], msg.roomid or msg.sender)`
- 7๊ฐ์ธ ๋ฉ์์ง๋ก ํ ์คํธ; 2โ5์ด ๋ด์ ์๋ต์ด WeChat์ ๋ํ๋๋์ง ํ์ธ
import requests
from wcferry import Wcf
wcf = Wcf()
wcf.enable_receiving_msg()
while True:
msg = wcf.get_msg()
if msg and msg.from_self() is False:
resp = requests.post(
"http://localhost:11434/api/generate",
json={"model": "qwen2.5:7b", "prompt": msg.content, "stream": False}
).json()
wcf.send_text(resp["response"], msg.roomid or msg.sender)Ollama HTTP API: ์ฃผ์ ์๋ํฌ์ธํธ
Ollama๋ ollama serve ์ดํ http://localhost:11434์์ ๋ก์ปฌ REST ์๋ฒ๋ฅผ ์คํํฉ๋๋ค. ๋ก์ปฌ ์ฐ๊ฒฐ์๋ ์ธ์ฆ์ด ํ์ํ์ง ์์ต๋๋ค.
์์ฑ(๋จ์ผ ํด): POST /api/generate โ ๋ณธ๋ฌธ: {model, prompt, stream: false} โ ๋ฐํ: {response, done}
์ฑํ
(๋ค์ค ํด): POST /api/chat โ ๋ณธ๋ฌธ: `{model, messages: [{role, content}]}` โ ํธ์ถ ๊ฐ ๋ํ ์ปจํ
์คํธ ์ ์ง
๋ชจ๋ธ ๋ชฉ๋ก: GET /api/tags โ ํฌ๊ธฐ์ ํจ๊ป ๋ชจ๋ ์ค์น๋ ๋ชจ๋ธ ๋ฐํ
WeChat ํตํฉ์๋ ์ธ์
๋์ ์ปจํ
์คํธ๋ฅผ ์ ์งํ๊ธฐ ์ํด ์ํ ๋ํ ๊ธฐ๋ก(๋ง์ง๋ง 10๊ฐ ๋ฉ์์ง)๊ณผ ํจ๊ป /api/chat์ ์ฌ์ฉํ์ญ์์ค.
ํญ์ ์ผ์ ธ ์๋ WeChat LLM ์๋ฒ๋ก์์ ๋ฏธ๋ PC
์ ์ฉ ํญ์ ์ผ์ ธ ์๋ ๋ฏธ๋ PC๋ ๋ ธํธ๋ถ์ด๋ ์ํฌ์คํ ์ด์ ์ ์ฐจ์งํ์ง ์๊ณ WeChat ๋ด์ ๊ณ์ ์คํํ๊ฒ ํฉ๋๋ค.
Minisforum UM890 Pro(๊ถ์ฅ): AMD Ryzen 9 8945HS, 32โ64 GB DDR5, AMD Radeon 780M iGPU. Linux์์ ROCm์ ํตํด Qwen3 7B๋ฅผ ~8 tok/s๋ก ์คํํฉ๋๋ค. ์๋น ์ ๋ ฅ: ์ ํด ์ ~35 W, ์ถ๋ก ์ ~65 W. ๊ฐ๊ฒฉ: ~$350โ$450.
Mac Mini M4: Apple Silicon M4, 16โ32 GB ํตํฉ ๋ฉ๋ชจ๋ฆฌ, MLX๋ฅผ ํตํด 7B ๋ชจ๋ธ์์ ~18 tok/s. ์๋น ์ ๋ ฅ: ์ ํด ์ ~20 W. ๊ฐ์ฅ ์กฐ์ฉํ ์ต์ . ๊ฐ๊ฒฉ: ~$599.
์ค์ ํ: ์๋ ์์ ํ์ฑํ โ ollama serve์ WeChatFerry ๋ธ๋ฆฌ์ง ์คํฌ๋ฆฝํธ๋ฅผ systemd(Linux) ๋๋ Windows ์์
์ค์ผ์ค๋ฌ์ ์ถ๊ฐํ์ญ์์ค. ๋ด์ ๋ชจ๋ ์ ์ ํ ์๋์ผ๋ก ๋ณต๊ตฌ๋ฉ๋๋ค.
WeChat์์ ์ค๊ตญ์ด ์ฑํ ์ ์ํ ์ต๊ณ ์ ๋ชจ๋ธ
Qwen3 7B Q4_K_M(์ฒซ ๋ฒ์งธ ์ ํ): Alibaba๊ฐ ๋ค์ดํฐ๋ธ CJK ํ ํฐํ๋ก ๊ฐ๋ฐํ์ต๋๋ค. 5.5 GB VRAM, 8โ15 tok/s. ์๊ตฌ ์ค์ฌ ๋ชจ๋ธ๋ณด๋ค ์ค๊ตญ์ด ๊ด์ฉ์ด, ๊ณ ์ ์ ์ฐธ์กฐ, ๊ตฌ์ด์ฒด๋ฅผ ํจ์ฌ ์ ์ดํดํฉ๋๋ค. ์ค์น: ollama pull qwen2.5:7b.
Qwen3 14B Q4_K_M: 12โ16 GB RAM์ ๋ฏธ๋ PC๊ฐ ์์ ๋ ๋ ํ๋ถํ ๋ํ๋ฅผ ์ํด. 9.5 GB VRAM, 4โ8 tok/s. ์ค๊ตญ์ด ๋ฏธ๋ฌํ ์ถ๋ก ๊ณผ ๋ค์ค ํด ์ปจํ ์คํธ์์ ํ์ ํ ๋ ๋์.
DeepSeek-R1-Distill-Qwen-7B: ์ค๊ตญ์ด ์ง๋ฌธ ๋ต๋ณ ๋ฐ ๋จ๊ณ๋ณ ์ค๋ช ์ ์ข์. ์บ์ฃผ์ผ ๋ํ์์ Qwen3 7B๋ณด๋ค ์ฝ๊ฐ ์ฝํจ.
ํผํด์ผ ํ ๊ฒ: Llama 3๊ณผ Mistral โ ์๊ตฌ ์ค์ฌ ํ ํฌ๋์ด์ ๊ฐ ์ค๊ตญ์ด ํ ์คํธ์ 2โ3๋ฐฐ ๋ ๋ง์ ํ ํฐ์ ์ฌ์ฉํ์ฌ ๋ ๋๋ฆฐ ์๋ต๊ณผ ๊ธด ๋ฉ์์ง์์ ์๋ฆผ์ด ๋ฐ์ํฉ๋๋ค.
๊ทธ๋ฃน ์ฑํ ์ฒ๋ฆฌ
WeChat ๊ทธ๋ฃน ์ฑํ
์ @ ๋ฉ์
์ฒ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค. WeChatFerry๋ ๋ด์ด ๋ฉ์
๋์์ ๋ ๊ฐ์งํ๊ธฐ ์ํด msg.is_at์ ๋
ธ์ถํฉ๋๋ค.
์ข์ ๊ดํ: msg.is_at์ด True์ด๊ฑฐ๋ ๋ฉ์์ง๊ฐ ํธ๋ฆฌ๊ฑฐ ํค์๋๋ก ์์ํ ๋๋ง ์๋ตํ์ญ์์ค. ๋ชจ๋ ๊ทธ๋ฃน ๋ฉ์์ง์ ์๋ตํ๋ฉด ๋
ธ์ด์ฆ๊ฐ ์๊ธฐ๊ณ WeChat์ ์ํฐ๋ด ์๋ ์ ํ์ด ํธ๋ฆฌ๊ฑฐ๋ฉ๋๋ค.
์๋ ์ ํ: WeChat์ ๋ถ๋น ~30๊ฐ ์ด์์ ๋ฉ์์ง๋ฅผ ์ ์กํ๋ ๊ณ์ ์ ์ ํํ ์ ์์ต๋๋ค. ๊ทธ๋ฃน ์ปจํ ์คํธ์์ ๋ด ์๋ต ์ฌ์ด์ 2โ3์ด ์ง์ฐ์ ์ถ๊ฐํ์ญ์์ค.
์ปจํ
์คํธ ๊ด๋ฆฌ: ๊ทธ๋ฃน ์ฑํ
์ ๊ฒฝ์ฐ ์ฐธ๊ฐ์ ๊ฐ ์ปจํ
์คํธ ํผํฉ์ ํผํ๊ธฐ ์ํด ์ฌ์ฉ์๋ณ(msg.sender๋ก ์ธ๋ฑ์ฑ)๋ก ๋ณ๋์ ๋ํ ๊ธฐ๋ก์ ์ ์งํ์ญ์์ค.
๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ฐ ์ค๊ตญ ๋ฐ์ดํฐ ๋ณด์๋ฒ ์ค์
๋ก์ปฌ ์ถ๋ก ์ ํ๋กฌํํธ, ์๋ต, ๋ํ ๊ธฐ๋ก์ด ์ ๋ ํ๋์จ์ด๋ฅผ ๋ ๋์ง ์์์ ์๋ฏธํฉ๋๋ค. WeChat์ Tencent ์๋ฒ๋ ์ด๋ค ํด๋ผ์ฐ๋ LLM API๋ ์ฝํ ์ธ ๋ฅผ ์ฒ๋ฆฌํ์ง ์์ต๋๋ค.
์ค๊ตญ ๋ฐ์ดํฐ ๋ณด์๋ฒ(DSL, 2021) ์ 31์กฐ: ์ค๊ตญ ์ํ ๋ด์์ ์์งํ๊ฑฐ๋ ์ฌ์ฉํ๋ ๊ฐ์ธ ๋ฐ์ดํฐ๋ ์ค๊ตญ ๊ดํ ๊ถ ์๋์ ๋จ์์ผ ํฉ๋๋ค. ์์ฒด ๋ก์ปฌ LLM์ ์คํํ๋ฉด ์ถ๋ก ์ด ์ธ๊ตญ ํด๋ผ์ฐ๋ ๊ณต๊ธ์ ์ฒด(OpenAI, Anthropic, Google)๋ฅผ ํตํด ๋ผ์ฐํ ๋์ง ์์ต๋๋ค.
์ฌ์ด๋ฒ๋ณด์๋ฒ ์ 37์กฐ: ํต์ฌ ์ ๋ณด ์ธํ๋ผ ์ด์์๋ ๋ฐ์ดํฐ๋ฅผ ๊ตญ๋ด์ ์ ์ฅํด์ผ ํฉ๋๋ค. ๋ก์ปฌ ์ถ๋ก ์ ๊ฐ์ธ ๋ฐ ์ค์๊ธฐ์ ์ฌ์ฉ ์ฌ๋ก์์ ์ด ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํฉ๋๋ค.
์ด๊ฒ์ด ์ปค๋ฒํ์ง ์๋ ๊ฒ: WeChat ๋ฉ์์ง ๋ฉํ๋ฐ์ดํฐ(๋๊ฐ ๋๊ตฌ์๊ฒ ๋ณด๋๋์ง, ํ์์คํฌํ)๋ WeChat ์๋น์ค ์ฝ๊ด์ ๋ฐ๋ผ Tencent ์๋ฒ์ ๋จ์ ์์ต๋๋ค โ ๋ก์ปฌ ์ถ๋ก ์ ์ด๊ฒ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์์ ํ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ๋ฅผ ์ํด WeChat ๋์ ๋ก์ปฌ ๋ฉ์์ง ํ๋ซํผ์ ์ฌ์ฉํ์ญ์์ค.
EU/๊ธ๋ก๋ฒ ๋ ์๋ฅผ ์ํ ์ฐธ๊ณ : GDPR ์ 28์กฐ๋ ์ฒ๋ฆฌ์์์ ๊ณ์ฝ์ ์๊ตฌํฉ๋๋ค. ๋ก์ปฌ LLM ์คํ์ ์ด๋ค LLM ๊ณต๊ธ์ ์ฒด์์ DPA ํ์์ฑ๋ ํผํฉ๋๋ค โ ์ค์ํ ์ค์ ๋จ์ํ.
FAQ
WeChatFerry๊ฐ Mac์ฉ WeChat์์ ์๋ํฉ๋๊น?
์๋์. WeChatFerry๋ Windows WeChat PC ํด๋ผ์ด์ธํธ DLL์ ์ธํฐ์ ํธํ๋ฉฐ Mac์ฉ WeChat๊ณผ ํธํ๋์ง ์์ต๋๋ค. Mac์์๋ Windows VM์ ์ฌ์ฉํ๊ฑฐ๋ HTTP webhook ํจํด ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ญ์์ค.
Tencent๊ฐ ๋ด์ ์ฌ์ฉํ๋ค๊ณ ๊ณ์ ์ ์ฐจ๋จํ ์ ์์ต๋๊น?
WeChat ์๋น์ค ์ฝ๊ด์ ์๋ํ๋ ๋๋ ๋ฉ์์ง ์ ์ก์ ๊ธ์งํฉ๋๋ค. ์ธ๊ฐ๊ณผ ์ ์ฌํ ์๋ต ์๋(๋ถ๋น 1โ5๊ฐ ๋ฉ์์ง)์ ๊ฐ์ธ ๋ด์ ์ฐจ๋จ์ ๊ฑฐ์ ์ ๋ฐํ์ง ์์ต๋๋ค. ๋๋ ์ ์ก, ๊ทธ๋ฃน ์คํธ, ๋๋ ์์ ์ ํ๋ณด์ ๋ด์ ์ฌ์ฉํ์ง ๋ง์ญ์์ค.
WeChat์์ ์ค๊ตญ์ด ํ ์คํธ์ ๊ฐ์ฅ ์ข์ Ollama ๋ชจ๋ธ์ ๋ฌด์์ ๋๊น?
Qwen3 7B Q4_K_M. ๋ค์ดํฐ๋ธ CJK ํ ํฐํ๋ก Alibaba๊ฐ ๊ฐ๋ฐํ์ต๋๋ค โ ์ค๊ตญ์ด ํ ์คํธ์์ Llama๋ Mistral ๋ชจ๋ธ๋ณด๋ค 30โ40% ๋ ํจ์จ์ ์ ๋๋ค.
๋ ธํธ๋ถ์์ ์ด๊ฒ์ ์คํํ ์ ์์ต๋๊น?
๋ค. 16 GB RAM์ ๋ ธํธ๋ถ์ CPU ์ ์ฉ์ผ๋ก Qwen3 7B๋ฅผ 8โ15 tok/s๋ก ํธ์ํ๊ฒ ์คํํฉ๋๋ค. ๋ฉ์์ง๋น ์๋ต ์ง์ฐ์ 3โ8์ด๋ก ์ฑํ ์์ ํ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
๋ก์ปฌ ์ถ๋ก ์ด ์ค๊ตญ ๋ฐ์ดํฐ ๋ณด์๋ฒ์ ์ค์ํฉ๋๊น?
์ถ๋ก ์ฝํ ์ธ (ํ๋กฌํํธ ๋ฐ ์๋ต)์ ๊ฒฝ์ฐ ๋ค โ ๋ฐ์ดํฐ๊ฐ ํ๋์จ์ด๋ฅผ ๋ ๋์ง ์์ต๋๋ค. WeChat ๋ฉ์์ง ๋ฉํ๋ฐ์ดํฐ๋ ์๋น์ค ์ฝ๊ด์ ๋ฐ๋ผ Tencent ์๋ฒ์ ๊ณ์ ๋จ์ ์์ต๋๋ค.
๋ค์ค ํด ๋ํ๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํฉ๋๊น?
๋ณด๋ธ ์ฌ๋์ผ๋ก ์ธ๋ฑ์ฑ๋ {role, content} dict์ Python ๋ชฉ๋ก์ผ๋ก ๋ํ ๊ธฐ๋ก์ ์ ์ฅํ์ญ์์ค. ์ปจํ ์คํธ๋ฅผ ์ ์งํ๊ธฐ ์ํด ๊ฐ ์์ฒญ์์ /api/chat์ ๋ง์ง๋ง 10โ15๊ฐ ๋ฉ์์ง๋ฅผ ์ ๋ฌํ์ญ์์ค.
๊ด๋ จ ์ฝ์๊ฑฐ๋ฆฌ
- WeChat ๋ก์ปฌ LLM ๋ด: ๊ฐ์ธ ๋น์ ๊ฐ์ด๋ โ ๊ฐ์ธ ๋น์๋ฅผ ์ํ WeChatFerry ์ฌ์ธต ๋ถ์
- ๋ก์ปฌ LLM์ ์ํ ์ต๊ณ ์ ๋ฏธ๋ PC โ ํญ์ ์ผ์ ธ ์๋ LLM ์๋ฒ๋ฅผ ์ํ ํ๋์จ์ด ๋น๊ต
- 2026๋ MCP๊ฐ ์๋ ๋ก์ปฌ AI ์์ด์ ํธ โ ๋๊ตฌ ์ฌ์ฉ ๋ฐ ์๋ํ๋ก WeChat ๋ด ํ์ฅ
- Zapier๋ฅผ ๋ก์ปฌ AI ์์ด์ ํธ๋ก ๋์ฒดํ๊ธฐ โ WeChat ์ด๋ฒคํธ๋ก ํธ๋ฆฌ๊ฑฐ๋๋ ์๋ํ ์ํฌํ๋ก์ฐ