Claude Code๋ฅผ ๊ทธ๋ฅ ์คํํ๋ ๋จ๊ณ์, CCR(Claude Code Router) + GLM Coding Plan + zsh alias๊น์ง ๋ฌถ์ด ๋๋ ๋จ๊ณ๋ ์ฒด๊ฐ์ด ๊ฝค ๋ค๋ฆ ๋๋ค. ์ ์๋ โ๊ทธ๋๊ทธ๋ ๋ค์ด๊ฐ์ ์ฐ๋ ๋๊ตฌโ์ ๊ฐ๊น๊ณ , ํ์๋ ์ ํฐ๋ฏธ๋์ ์ด๋ฉด ๋ฐ๋ก ์ฝ๋ฉ ์์ด์ ํธ๊ฐ ๋ถ๋ ์์ ํ๊ฒฝ์ ๊ฐ๊น์ต๋๋ค.
ํนํ ์ฌ๋ฌ ๋ชจ๋ธ์ ๋ฐ๊ฟ ๋ผ์ธ ๊ฐ๋ฅ์ฑ์ด ์๊ฑฐ๋, ํ์์๋ claude์ฒ๋ผ ์ต์ํ๊ฒ ์ฐ๋ ์ค์ ๋ฐฑ์๋๋ GLM ๊ณ์ด๋ก ์ฐ๊ฒฐํ๊ณ ์ถ๋ค๋ฉด CCR์ ํ ๋ฒ ๊ปด ๋๋ ํธ์ด ๊ด๋ฆฌ๊ฐ ์ฝ์ต๋๋ค. Z.AI ๋ฌธ์์๋ Claude Code์ GLM Coding Plan์ ์ง์ ๋ถ์ด๋ ๊ณต์ ๊ฒฝ๋ก๋ ์๊ณ , CCR README๋ ๋ก์ปฌ ๋ผ์ฐํฐ๋ฅผ ํตํด claude ๋ช
๋ น ์์ฒด๋ฅผ ๋ค๋ฅธ ๋ชจ๋ธ๋ก ๋ณด๋ผ ์ ์๋ ๊ตฌ์กฐ๋ฅผ ์ค๋ช
ํฉ๋๋ค. ๋ ๋ฌธ์๋ฅผ ๊ฐ์ด ๋ณด๋ฉด, ์ค์น๋ ๋จ์ํ๊ฒ ํ๊ณ ๋์ค ํ์ฅ์ ์ด์ด ๋๋ ๊ตฌ์ฑ์ด ๊ฐ์ฅ ๋ ํ๋ค๋ฆฝ๋๋ค.
flowchart LR A[Claude Code ์ค์น] --> B[CCR ์ค์น] B --> C[Z.AI API Key ๋ฐ๊ธ] C --> D[CCR config์ GLM-5.1 ์ฐ๊ฒฐ] D --> E[.zshrc์ activate + alias ์ถ๊ฐ] E --> F[ccr start] F --> G[์ ํฐ๋ฏธ๋์์ cc ์คํ]
๐ง ์น ํ ์นํธ์ํธ
- Claude Code์ CCR์ ๊ฐ์ด npm ์ ์ญ ์ค์นํ๋ฉด ๊ด๋ฆฌ๊ฐ ํธํ๋ค.
- GLM Coding Plan์ API Key๋ฅผ ๋ง๋ ๋ค CCR provider์ ์ฐ๊ฒฐํ๋ฉด ๋๋ค.
eval "$(ccr activate)"๊ฐ ๋ค์ด๊ฐ์ผclaude๋ช ๋ น์ด ๋ก์ปฌ ๋ผ์ฐํฐ๋ฅผ ํ๋ค.alias cc='claude --dangerously-skip-permissions'๋ฅผ ๋ฃ์ผ๋ฉด ์๊ฐ๋ฝ ์ต๊ด๊น์ง ์ค์ผ ์ ์๋ค.- ๋จ,
--dangerously-skip-permissions๋ ์ ๋ขฐํ๋ ํ๋ก์ ํธ ํด๋์์๋ง ์ฐ๋ ๊ฒ ์์ ํ๋ค.
์ direct ์ค์ ๋์ CCR์ ๊ฐ์ด ์ฐ๋๊ฐ
Z.AI ๊ณต์ ๋ฌธ์๋ง ๋ฐ๋ผ๊ฐ๋ฉด ~/.claude/settings.json์ ANTHROPIC_AUTH_TOKEN, ANTHROPIC_BASE_URL=https://api.z.ai/api/anthropic๋ฅผ ๋ฃ๋ direct ๊ฒฝ๋ก๊ฐ ๊ฐ์ฅ ์งง์ต๋๋ค. ์ค์ ๋ก **โ๋๋ GLM๋ง ๋ฐ๋ก ๋ถ์ผ๋ฉด ๋โ**์ธ ์ฌ๋์๊ฒ๋ ์ด ๊ฒฝ๋ก๊ฐ ๊ฐ์ฅ ๋น ๋ฆ
๋๋ค.
๊ทธ๋ฐ๋ฐ ์ค๋ฌด์์๋ ์กฐ๊ธ๋ง ์ง๋๋ ์๊ตฌ๊ฐ ๋์ด๋ฉ๋๋ค. ํ์ ๊ธฐ๋ณธ ๋ชจ๋ธ์ ํ๋๋ก ์ฐ๋, ๊ธด ๋ฌธ๋งฅ ์์
์ ๋ค๋ฅธ ๋ชจ๋ธ๋ก ๋ณด๋ด๊ณ ์ถ์ ์ ์๊ณ , background ์์
๋ง ๋ ์ผ ๋ชจ๋ธ๋ก ๋๋ฆฌ๊ณ ์ถ์ ์๋ ์์ต๋๋ค. ๋ฐ๋ก ์ฌ๊ธฐ์ CCR์ด ํธํฉ๋๋ค. CCR์ provider์ router๋ฅผ ๋๋ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์, ์ค๋์ GLM-5.1๋ง ๋ถ์ฌ ๋๊ณ ๋์ค์ ๋ค๋ฅธ provider๋ฅผ ๋ง๋๋ claude ์ต๊ด์ ๋ฐ๊ฟ ํ์๊ฐ ์์ต๋๋ค.
ํ์ฅํ์ผ๋ก ๋ณด๋ฉด ์ฐจ์ด๋ ๋ ๋ถ๋ช ํฉ๋๋ค.
- Before: Claude Code๋ ๋ถ์๋๋ฐ, ๋ชจ๋ธ์ ๋ฐ๊พธ๋ ค๋ฉด ์ค์ ํ์ผ์ ๋ค์ ์ด๊ณ ํ๊ฒฝ ๋ณ์๋ฅผ ๋ค์ ๋ง์ ธ์ผ ํ๋ค.
- After:
ccr model๋๋config.json๋ง ์กฐ์ ํด์ ๊ธฐ๋ณธ/think/background ๊ฒฝ๋ก๋ฅผ ๋ฐ๊พผ๋ค.
๋ ํ๋๋ ํ ์ ๋ฌ์ฑ์
๋๋ค. ~/.claude/settings.json์ ๊ฐ์ธ ์ค์ ์ผ๋ก ๋๋๊ธฐ ์ฝ์ง๋ง, CCR์ config.json์ โ์ฐ๋ฆฌ ํ์ ๊ธฐ๋ณธ์ ์ด ๋ชจ๋ธ, ๊ธด ๋ฌธ๋งฅ์ ์ด ๋ชจ๋ธโ์ฒ๋ผ ์ด์ ์ ์ฑ
์ ๋ฌธ์ํํ๊ธฐ ์ข์ต๋๋ค.
1) Claude Code๋ถํฐ ์ค์นํ๋ค
Anthropic ๊ณต์ ๋ฌธ์ ๊ธฐ์ค์ผ๋ก Claude Code๋ ํฐ๋ฏธ๋์์ ์ฐ๋ ์์ด์ ํธํ ์ฝ๋ฉ ๋๊ตฌ์ ๋๋ค. ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ฝ๊ณ , ํ์ผ์ ๋ฐ๊พธ๊ณ , ๋ช ๋ น์ ์คํํ๊ณ , ๊ฐ๋ฐ ๋๊ตฌ์ ์ฐ๊ฒฐ๋ฉ๋๋ค.
- ๊ณต์ ๊ฐ์: https://code.claude.com/docs/en/overview
Anthropic์ macOS/Linux์์ native install๋ ๊ถ์ฅํ์ง๋ง, ์ด๋ฒ ๊ตฌ์ฑ์ CCR๋ ๊ฐ์ด npm ์ ์ญ ์ค์นํ ์์ ์ด๋ผ ๋ ๋ค ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ค์นํ๋ ํธ์ด ๊ด๋ฆฌ๊ฐ ๋จ์ํฉ๋๋ค.
npm install -g @anthropic-ai/claude-code
claude --version์ฌ๊ธฐ์ claude --version์ด ์ ์์ผ๋ก ๋จ๋ฉด ์ฒซ ๊ด๋ฌธ์ ํต๊ณผ์
๋๋ค.
์์ ์คํจ ์ฌ๋ก๋ ๋ง์ด ๋์ต๋๋ค. Node ๋ฒ์ ์ด ๋๋ฌด ๋ฎ๊ฑฐ๋, ์์ ๊ธ๋ก๋ฒ ํจํค์ง ์บ์๊ฐ ๊ผฌ์ฌ ์์ผ๋ฉด ์ค์น๋ ๋๋๋ฐ claude: command not found๊ฐ ๋ฐ ์ ์์ต๋๋ค. ์ด๋ด ๋๋ Claude Code๋ฅผ ์์ฌํ๊ธฐ๋ณด๋ค ํ์ฌ ์
ธ์ npm global bin ๊ฒฝ๋ก๊ฐ PATH์ ์กํ ์๋์ง๋ถํฐ ๋ณด๋ ํธ์ด ๋น ๋ฆ
๋๋ค.
2) CCR(Claude Code Router)์ ์ค์นํ๋ค
CCR์ ํต์ฌ์ ๋จ์ํฉ๋๋ค. Claude Code๋ฅผ ๊ทธ๋๋ก ๋ฒ๋ฆฌ์ง ์๊ณ , ๊ทธ ์์ ๋ชจ๋ธ ๋ผ์ฐํฐ๋ฅผ ํ๋ ๋๋ ๋ฐฉ์์
๋๋ค. README ๊ธฐ์ค์ผ๋ก ccr code, ccr model, ccr activate ๊ฐ์ ๋ช
๋ น์ด ์ ๊ณต๋๊ณ , ํนํ ccr activate๋ ํ์ฌ ์
ธ์์ claude ๋ช
๋ น์ด ์๋์ผ๋ก ๋ก์ปฌ ๋ผ์ฐํฐ๋ฅผ ํ๊ฒ ๋ง๋๋ ์ญํ ์ ํฉ๋๋ค.
- CCR README: https://github.com/musistudio/claude-code-router
์ค์น๋ ํ ์ค์ ๋๋ค.
npm install -g @musistudio/claude-code-router
ccr --help์ฌ๊ธฐ์ ccr --help๊ฐ ๋จ๋ฉด ์ค์น๋ ๋์
๋๋ค. ์ด ์์ ์๋ ์์ง GLM์ด ์ฐ๊ฒฐ๋ ๊ฒ ์๋๋ผ, ๊ธธ๋ง ๋ง๋ ์ํ๋ผ๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค.
3) GLM Coding Plan์ ์ค๋นํ๋ค
Z.AI ๋ฌธ์ ๊ธฐ์ค์ผ๋ก Claude Code์ GLM Coding Plan์ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ง ๊ฒฐ๋ก ์ฝํ๋๋ค.
- Claude Code์ ์ง์ Z.AI์ Anthropic-compatible endpoint๋ฅผ ์ฐ๊ฒฐํ๋ ๊ณต์ ๊ฒฝ๋ก
- ๋ค๋ฅธ ๋๊ตฌ์์๋ ์ฌํ์ฉํ ์ ์๊ฒ API Key๋ฅผ ๋ง๋ค๊ณ ๋ผ์ฐํฐ์์ ๊ด๋ฆฌํ๋ ๊ฒฝ๋ก
์ด๋ฒ ๊ธ์ ๋ ๋ฒ์งธ ๊ฒฝ๋ก๋ฅผ ํํฉ๋๋ค. ์ด์ ๋ ๋ช ํํฉ๋๋ค. CCR๊ณผ ๊ฐ์ด ์ธ ๋๋ provider๋ฅผ ํ ๊ณณ์์ ๊ด๋ฆฌํ๋ ํธ์ด ๋์ค์ ์ ํท๊ฐ๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋จผ์ Z.AI์์ ํด์ผ ํ ์ผ์ ์ธ ๊ฐ์ง์ ๋๋ค.
- GLM Coding Plan ๊ตฌ๋ ์ํ ํ์ธ
- API Key ๋ฐ๊ธ
- ๋ด ํ๋์์ GLM-5.1 ์ฌ์ฉ ๊ฐ๋ฅ ์ฌ๋ถ ํ์ธ
์ค์ํ ์ ์ด ํ๋ ์์ต๋๋ค. Z.AI GLM-5.1 ๋ฌธ์์๋ GLM-5.1 access is currently available for GLM Coding Plan Pro and Max๋ผ๊ณ ์ ํ ์์ต๋๋ค. ์ฆ, ํ๋์ ๋ฐ๋ผ ๊ธฐ๋ณธ ๋งคํ์ด GLM-4.7๋ก ๋จ์ ์์ ์ ์์ต๋๋ค.
- GLM-5.1 ๋ฌธ์: https://docs.z.ai/guides/llm/glm-5.1
- Claude Code ์ฐ๋ ๋ฌธ์: https://docs.z.ai/scenario-example/develop-tools/claude
- ๊ตฌ๋ ํ์ด์ง: https://z.ai/subscribe
๋ฐ๋ผ์ ์ค์ ์ ์ ๋จผ์ ํ์ธํ ์ง๋ฌธ์ ์ด๊ฒ์ ๋๋ค.
- ๋๋ Pro/Max ํ๋์ธ๊ฐ?
- ์๋๋ฉด ํ์ฌ ๊ณ์ ์์
glm-5.1๋์glm-4.7๋๋glm-5-turbo๋ง ๋ณด์ด๋๊ฐ?
์ด๊ฑธ ๋จผ์ ํ์ธํด ๋๋ฉด, ์ค์ ์ ํ๋๋ฐ ์ ๊ธฐ๋ํ ๋ชจ๋ธ์ด ์ ๋ถ๋์ง ํค๋งค๋ ์๊ฐ์ ์ค์ผ ์ ์์ต๋๋ค.
4) CCR config์ GLM-5.1๋ฅผ ์ฐ๊ฒฐํ๋ค
CCR README๋ provider๋ง๋ค api_base_url, api_key, models, Router๋ฅผ ๋ฃ๋ ๊ตฌ์กฐ๋ฅผ ์ค๋ช
ํฉ๋๋ค. Z.AI๋ Chat Completion API์ function calling ๋ฌธ์๋ฅผ ๊ณต๊ฐํ๊ณ ์์ผ๋ฏ๋ก, CCR์์๋ Z.AI Chat Completions endpoint๋ฅผ provider๋ก ๋๊ณ ๋ผ์ฐํ
ํ๋ ๋ฐฉ์์ด ์ดํดํ๊ธฐ ์ฝ์ต๋๋ค.
๋จผ์ ~/.claude-code-router/config.json์ ๋ง๋ญ๋๋ค.
{
"API_TIMEOUT_MS": 3000000,
"Providers": [
{
"name": "zai",
"api_base_url": "https://api.z.ai/api/paas/v4/chat/completions",
"api_key": "$ZAI_API_KEY",
"models": ["glm-5.1", "glm-5.1"]
}
],
"Router": {
"default": "zai,glm-5.1",
"think": "zai,glm-5.1",
"background": "zai,glm-5.1",
"longContext": "zai,glm-5.1",
"longContextThreshold": 60000
}
}์ด ๊ตฌ์ฑ์ด ์ข์ ์ด์ ๋ ๋จ์ํฉ๋๋ค.
- ํ์ ์์
์
glm-5.1 - ๋ฐฑ๊ทธ๋ผ์ด๋์ฑ ์์
์
glm-5-turbo - ๊ธด ๋ฌธ๋งฅ๋ ์ผ๋จ
glm-5.1๋ก ์ ์ง
์ฆ, ์ฒ์๋ถํฐ ๋ณต์กํ๊ฒ ์ชผ๊ฐ๊ธฐ๋ณด๋ค ๊ฐ์ฅ ๋ง์ด ์ฐ๋ ํ๋ฆ๋ง ๋จผ์ ๋๋๋ ๋ฐฉ์์ ๋๋ค.
์ฌ๊ธฐ์๋ ์ค๋ฌด ๋ฏธ๋ ์ฌ๋ก๊ฐ ๋์ต๋๋ค.
- ์๊ฒ ์์ํ ๊ฒฝ์ฐ: default์ background๋ง ๋๋ ๋๊ณ ํ ์ฃผ ์จ๋ณธ๋ค. ์ฒด๊ฐ ์ฐจ์ด๊ฐ ์๊ธฐ๋ฉด think/longContext๋ฅผ ์กฐ์ ํ๋ค.
- ์ฒ์๋ถํฐ ๋ค ์ชผ๊ฐ ๊ฒฝ์ฐ: ๋์ค์ ์ด๋ ๋ผ์ฐํธ๊ฐ ์ ๊ทธ ๋ชจ๋ธ์ธ์ง ๊ธฐ์ต์ด ์ ๋๊ณ , ์ด์ ๋์์ด ๋์๋ ์์ธ ์ถ์ ์ด ๊ธธ์ด์ง๋ค.
๋ง์ฝ ๋ด ํ๋์ด ์์ง glm-5.1๋ฅผ ๋ชป ์ฐ๋ ์ํ๋ผ๋ฉด, ์ฌ๊ธฐ์ ๋ชจ๋ธ ์ด๋ฆ๋ง glm-4.7 ๋๋ ๊ณ์ ์์ ํ์ฉ๋ ๊ฐ์ผ๋ก ๋ฐ๊พธ๋ฉด ๋ฉ๋๋ค. ์ค์ํ ๊ฑด ๊ตฌ์กฐ๋ฅผ ๋จผ์ ์์ ํํ๋ ๊ฒ์ด์ง, ์ฒซ๋ ๋ถํฐ ์ต๊ณ ์ฌ์ ์ด๋ฆ์ ๋ฐ์ ๋ฃ๋ ๊ฒ ์๋๋๋ค.
5) .zshrc์ ์๋ ์ฐ๊ฒฐ๊ณผ alias๋ฅผ ๋ฃ๋๋ค
์ด์ ์ฌ์ฉ๊ฐ์ด ๊ฐ๋ฆฌ๋ ๊ตฌ๊ฐ์
๋๋ค. CCR README๋ eval "$(ccr activate)"๋ฅผ ํ์ฌ ์
ธ์ ์ ์ฉํ๋ฉด, ์ดํ claude ๋ช
๋ น์ด ๋ก์ปฌ ๋ผ์ฐํฐ๋ฅผ ํ๋๋ก ํ๊ฒฝ ๋ณ์๋ฅผ ์ธํ
ํ๋ค๊ณ ์ค๋ช
ํฉ๋๋ค. ์ฆ, ์ฌ์ฉ ์ต๊ด์ ๊ทธ๋๋ก ๋๊ณ ๋ค์ชฝ ๋ฐฐ์ ๋ง ๋ฐ๊พธ๋ ์
์
๋๋ค.
์ฌ๊ธฐ์ ๋์ฐ๊ฐ ์ํ๋ alias๊น์ง ๋ฃ์ผ๋ฉด ์๋์ฒ๋ผ ๋ฉ๋๋ค.
export ZAI_API_KEY="์ฌ๊ธฐ์_๋ฐ๊ธํ_API_KEY"
if command -v ccr >/dev/null 2>&1; then
eval "$(ccr activate)"
fi
alias cc='claude --dangerously-skip-permissions'์ด ๋ธ๋ก์ ~/.zshrc์ ๋ฃ๊ณ ์ ์ฉํฉ๋๋ค.
source ~/.zshrc์ด์ ์ ํฐ๋ฏธ๋ ๊ธฐ์ค์ผ๋ก๋ ํ๋ฆ์ด ์ด๋ ๊ฒ ๋ฐ๋๋๋ค.
claudeโ CCR์ด ํ์ฑํ๋ ๊ฒฝ๋ก๋ฅผ ํ๋คccโclaude --dangerously-skip-permissions๋ก ์คํ๋๋ค
๋ค๋ง ์ฌ๊ธฐ์๋ ๋ฐ๋์ ๋ถ๋ ์ฃผ์์ ์ด ์์ต๋๋ค. --dangerously-skip-permissions๋ ์ด๋ฆ ๊ทธ๋๋ก ๊ถํ ํ์ธ ๋จ๊ณ๋ฅผ ๊ฑด๋๋ฐ๋ ์ต์
์
๋๋ค. ํ๋ก์ ํธ ํด๋ ์์์ ๋น ๋ฅด๊ฒ ์คํํ ๋๋ ๋งค์ฐ ํธํ์ง๋ง, ํ ๋๋ ํฐ๋ฆฌ ์ ์ฒด๋ ๋ฏผ๊ฐํ ์ด์ ์๋ฒ ๋๋ ํฐ๋ฆฌ์์ ์ต๊ด์ ์ผ๋ก ์ฐ๋ฉด ์ฌ๊ณ ๋ฐ๊ฒฝ์ด ์ปค์ง๋๋ค.
์ค์ ์์๋ ์ด๋ ๊ฒ ๋๋๋ ํธ์ด ์ข์ต๋๋ค.
- ์ฑ๊ณต ์ฌ๋ก: ์ํ ์ฑ, ๊ฐ์ธ ์คํ repo, throwaway ๋ธ๋์น์์๋
cc๋ฅผ ์จ์ ์๋๋ฅผ ๋์ธ๋ค. - ์คํจ ์ฌ๋ก: ํ๋ก๋์
์ธํ๋ผ ํด๋๋ ๊ฐ์ธ ๋ฌธ์๊ฐ ์์ธ ์์
๊ณต๊ฐ์์ ๋ฌด์ฌ์ฝ
cc๋ฅผ ์ด๋ค.
๊ทธ๋์ alias๋ ํธํ์ง๋ง, ์ฐ๋ ์์น๋ ๋ ์๊ฒฉํด์ผ ํฉ๋๋ค.
6) ์ง์ง๋ก ์๋ ์ฐ๊ฒฐ๋๋์ง ๊ฒ์ฆํ๋ค
์ด ๋จ๊ณ์์ ๊ฐ์ฅ ํํ ์ฐฉ๊ฐ์ ๋ ๊ฐ์ง์
๋๋ค. ํ๋๋ .zshrc๋ฅผ ๊ณ ์ณค์ผ๋ ๋ค ๋๋ฌ๋ค๊ณ ์๊ฐํ๋ ๊ฒ, ๋ค๋ฅธ ํ๋๋ ccr activate๋ง ํ๋๋ฐ router ํ๋ก์ธ์ค๋ ์ ๋์ด ์ํ์
๋๋ค. CCR README์๋ activate ์ ์ ์๋น์ค๊ฐ ์คํ ์ค์ด์ด์ผ ํ๋ค๋ ์ทจ์ง์ ์ค๋ช
์ด ์์ต๋๋ค.
๋จผ์ router๋ฅผ ์์ํฉ๋๋ค.
ccr start๊ทธ ๋ค์ ์ ํฐ๋ฏธ๋์ ์ด๊ฑฐ๋ source ~/.zshrc๋ฅผ ๋ค์ ์ ์ฉํ ๋ค ์๋ ์์๋ก ํ์ธํฉ๋๋ค.
ccr model
ccccr model์์๋ ์ต์ํ ๋ค์์ด ๋ณด์ฌ์ผ ํฉ๋๋ค.
- default โ
zai,glm-5.1 - background โ
zai,glm-5.1
๊ทธ ๋ค์ cc๋ก Claude Code์ ๋ค์ด๊ฐ์ ๊ฐ๋ณ๊ฒ ์ด๋ ๊ฒ ๋์ ธ๋ณด๋ฉด ๋ฉ๋๋ค.
ํ์ฌ ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ 5์ค๋ก ์์ฝํ๊ณ , ๋จผ์ ์๋๋ฉด ์ข์ ํ์ผ 3๊ฐ๋ง ๊ณจ๋ผ์ค.๊ฒ์ฆ ํฌ์ธํธ๋ ๋จ์ํฉ๋๋ค.
cc๋ช ๋ น์ด ๋ฐ๋ก ๋จ๋๊ฐ- API ์ธ์ฆ ์ค๋ฅ ์์ด ์ธ์ ์ด ์ด๋ฆฌ๋๊ฐ
- CCR ์ชฝ ๋ผ์ฐํ ์ด ์ด์ ์๋๊ฐ
- ์์ ์ง์ ํ๋๋ฅผ ์ ์ ์ฒ๋ฆฌํ๋๊ฐ
์ฌ๊ธฐ๊น์ง ๋๋ฉด โ์ค์น ์๋ฃโ๋ณด๋ค ๋ ์ค์ํ ๋ฐ๋ณต ๊ฐ๋ฅํ ์์ ํ๊ฒฝ ์๋ฃ์ ๋๋ค.
7) ์์ฃผ ๋งํ๋ ์ง์ 4๊ฐ
1. ccr activate๋ ํ๋๋ฐ ์ฐ๊ฒฐ์ด ์ ๋๋ค
๊ฐ์ฅ ํํ ๊ฒฝ์ฐ์
๋๋ค. ๋ณดํต ccr start๋ฅผ ์ ํ๊ฑฐ๋, ์์ ํฐ๋ฏธ๋ ์ฐฝ์์ ๊ณ์ ํ
์คํธํ๋ ์ํฉ์
๋๋ค. ์ ์
ธ์ ์ด์ด์ ๋ค์ ํ์ธํ๋ ๊ฒ ๋น ๋ฆ
๋๋ค.
2. ZAI_API_KEY๋ฅผ ๋ฃ์๋๋ฐ ์ธ์ฆ์ด ์ ๋๋ค
ํ๊ฒฝ ๋ณ์ ์ด๋ฆ ์คํ, ๋ฐ์ดํ ๋๋ฝ, ์์ ์ธ์
์บ์๊ฐ ํํ ์์ธ์
๋๋ค. echo $ZAI_API_KEY๋ก ๊ฐ์ด ์ค์ ์กํ๋์ง๋ถํฐ ๋ด
๋๋ค.
3. config.json์ ๋ง์ ๋ณด์ด๋๋ฐ CCR์ด ๋ชป ์ฝ๋๋ค
JSON ๋ค์ ์ผํ ํ๋ ๋จ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์๋ ํธ์งํ ์๋ก ์ด๋ฐ ์ค์๊ฐ ์์ฃผ ๋ฉ๋๋ค. ์์ ํ์ผ์ผ์๋ก JSON validator ํ ๋ฒ ๊ฑฐ์น๋ ํธ์ด ์๊ฐ์ ์๋๋๋ค.
4. GLM-5.1๊ฐ ์ ๋ถ๋๋ค
์ด ๊ฒฝ์ฐ๋ ๋๋ถ๋ถ ์ค์ ๋ฌธ์ ๋ณด๋ค ํ๋/๋ชจ๋ธ ๊ฐ์ฉ์ฑ ๋ฌธ์ ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. Z.AI ๋ฌธ์์ฒ๋ผ ๊ณ์ ๊ธฐ์ค ๊ธฐ๋ณธ ๋งคํ์ด ์์ง GLM-4.7์ผ ์ ์์ผ๋, ๋จผ์ ํ์ฌ ํ๋๊ณผ ํ์ฉ ๋ชจ๋ธ๋ถํฐ ํ์ธํ๋ ๊ฒ ๋ง์ต๋๋ค.
๋ด ๊ธฐ์ค ์ถ์ฒ ์์
์ฒ์๋ถํฐ ์๋ฒฝํ ์๋ํ๋ฅผ ๋ง๋ค๋ ค ํ๊ธฐ๋ณด๋ค, ์๋ ์์๊ฐ ๋ ํ๋ค๋ฆฝ๋๋ค.
- Claude Code ์ค์น
- CCR ์ค์น
- Z.AI API Key ๋ฐ๊ธ
- CCR
config.json์ GLM ์ฐ๊ฒฐ .zshrc์eval "$(ccr activate)"- alias
cc='claude --dangerously-skip-permissions' ccr startํ ์ค์ ์ง์ 1ํ ๊ฒ์ฆ
์ด ์์๊ฐ ์ข์ ์ด์ ๋, ๋ฌธ์ ๊ฐ ๋๋ ์ด๋์ ๋งํ๋์ง ๋ฐ๋ก ์ญ์ถ์ ์ด ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋๋ก ํ ๋ฒ์ helper, alias, config, model mapping์ ๋ค ์น์ผ๋ฉด ์คํจ ์ง์ ์ด ๊ฒน์ณ์ ์์ธ์ ๋ถ๋ฆฌํ๊ธฐ๊ฐ ์ด๋ ค์์ง๋๋ค.
๋ค์ ์ฝ๊ธฐ
- 01. Claude Code ์์ ์ค์ ์ํฌํ๋ก์ฐ
- 03. Claude Code ์ด์ ์คํ
- 20. ์๋ยทํ ํฐยทMCP ์ต์ ํ
- 23. ํ๋์ค ์ด์ ์ค์
์ฐธ๊ณ ๋ฉํ
- Anthropic Claude Code overview: https://code.claude.com/docs/en/overview
- Claude Code Router README: https://github.com/musistudio/claude-code-router
- Z.AI Claude Code integration: https://docs.z.ai/scenario-example/develop-tools/claude
- Z.AI GLM-5.1 guide: https://docs.z.ai/guides/llm/glm-5.1
- GLM Coding Plan page: https://z.ai/subscribe
์ด ๋ฌธ์๋ ์์ฑํ AI๋ฅผ ํ์ฉํด ์ด์์ ๊ตฌ์ฑํ๊ณ , Anthropic ๊ณต์ ๋ฌธ์ยทCCR ์๋ฌธ READMEยทZ.AI ๊ณต์ ๋ฌธ์๋ฅผ ๊ต์ฐจ ํ์ธํด ์ค๋ฌดํ์ผ๋ก ์ฌ์ ๋ฆฌํ์ต๋๋ค.
