Oh-My-OpenCode๋ฅผ ์ฒ์ ์ ํ๋ ์ฌ๋์ ์ํด, ์ ์ฒด(๋ฌด์์ธ์ง) โ ์ค์น ์ด์ (์ ์ฐ๋์ง) โ ์ฒด๊ฐ ์ด์ (๋ญ๊ฐ ์ข์์ง๋์ง) ์์๋ก ์ค๋ช ํ ์ ๋ฌธ ๋ฌธ์์ ๋๋ค.
Oh-My-OpenCode๊ฐ ๋ญ๊ฐ์?
OpenCode ์์ฒด๋ฅผ ๋์ฒดํ๋ ๋๊ตฌ๊ฐ ์๋๋ผ, OpenCode ์์ ์น๋ ์ด์ ๋ ์ด์ด์ ๋๋ค.
- OpenCode: ๊ธฐ๋ณธ ์ฝ๋ฉ ์์ด์ ํธ ์คํ๊ธฐ
- Oh-My-OpenCode: ์์ด์ ํธ ์ญํ ๋ถ๋ฆฌ, ํ๋๋/์คํ ์ํฌํ๋ก์ฐ, ์คํฌ/ํ /์ปค๋งจ๋ ์ธํธ๋ฅผ ํ ๋ฒ์ ๋ถ์ฌ์ฃผ๋ ํ์ฅํฉ
์ฆ, โ๊ธฐ๋ณธ ์์ด์ ํธ 1๋ช โ์์ โ์ญํ ์ด ๋๋ ํ ์ด์โ์ผ๋ก ์ฌ๋ ค์ฃผ๋ ์ธํ ์ด๋ผ๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค.
flowchart LR A[OpenCode ๊ธฐ๋ณธ ์คํ] --> B[Oh-My-OpenCode ์ค์น] B --> C[๊ณํ: Prometheus] B --> D[์คํ: Atlas] B --> E[๋น ๋ฅธ ์คํ: ulw] C --> F[์์ ์ ์ธ ๋ฐ๋ณต ์์ ] D --> F E --> F
์ ์ค์นํ๋์?
1) ๋ฐ๋ณต ์์ ์ ๋ ์ ์์
๋งค๋ฒ โ์ด๋ป๊ฒ ์งํํ ์งโ๋ฅผ ๊ธธ๊ฒ ์ค๋ช
ํ์ง ์์๋, /start-work, ulw ๊ฐ์ ํจํด์ผ๋ก ๋น ๋ฅด๊ฒ ์์ํ ์ ์์ต๋๋ค.
2) ๋ณต์กํ ์์ ์์ ํ์ง์ด ์์ ๋จ
Prometheus(๊ณํ)์ Atlas(์คํ)๋ฅผ ๋ถ๋ฆฌํด, ํ ์ธ์ ์์ ๊ณํ๊ณผ ์คํ์ด ์์ฌ ์๊ธฐ๋ ํผ์ ์ ์ค์ ๋๋ค.
3) ๋ชจ๋ธ/๊ณต๊ธ์ ์ด์์ด ์ฌ์์ง
์ค์น ์ ๊ตฌ๋ ์ํ๋ฅผ ๋ฐ์ํ๊ณ , ๋ฐํ์์์ ๋ชจ๋ธ fallback ์ฒด์ธ์ ํ์ฉํด ์์ ์ค๋จ ๋ฆฌ์คํฌ๋ฅผ ๋ฎ์ถฅ๋๋ค.
4) ํ ํ์คํ๊ฐ ์ฌ์
์นดํ ๊ณ ๋ฆฌ/์คํฌ/ํ ์ ์ค์ ํ์ผ๋ก ๊ณต์ ํด ํ ์ ์ฒด ์์ ํ์ง์ ๋ง์ถ๊ธฐ ์ฝ์ต๋๋ค.
๋ญ๊ฐ ์ข์์ง๋์? (์ฒด๊ฐ ํฌ์ธํธ)
-
์ : ๋งค๋ฒ ์๋์ผ๋ก ์ง์๋ฌธ์ ๊ธธ๊ฒ ์์ฑ
-
ํ:
ulw,@plan,/start-work๊ฐ์ ๊ณ ์ ๋ฃจํด์ผ๋ก ๋น ๋ฅด๊ฒ ์คํ -
์ : ํฐ ์์ ์์ ์ค๊ฐ์ ๋ฐฉํฅ์ด ์์ฃผ ๋ฐ๋
-
ํ: ๊ณํ ๋ฌธ์(.sisyphus/plans) ๊ธฐ๋ฐ์ผ๋ก ์ฌ๊ฐ/์ถ์ ๊ฐ๋ฅ
-
์ : ์ ํ๋ก์ ํธ๋ง๋ค ์ธํ ์ด ๋ค์ญ๋ ์ญ
-
ํ:
oh-my-opencode.json๋ก ์ผ๊ด๋ ๊ธฐ๋ณธ๊ฐ ์ ์ง
์ ๋ฌธ ์ถ์ฒ ์์ (ํผ๋ ๋ฐฉ์ง)
- 04. ๊ฐ์
- 05. ์ค์น
- 07. CLI ๊ฐ์ด๋
- 09. ์ค์ผ์คํธ๋ ์ด์ ์ค์
- 14. Ultrawork ๋งค๋ํ์คํ
๋น ๋ฅด๊ฒ ์คํ (๋ณต๋ถ)
opencode --version
bunx oh-my-opencode install
@plan "๊ฒฐ์ ๋ชจ๋ ๋ฆฌํฉํฐ๋ง ๊ณํ ์ธ์์ค"
/start-work
ulw add authentication to my Next.js app
opencode models๋จ๊ณ๋ณ ์ ์ฉ
1) ์ค์น ์ ์ญํ ์ดํด
- ์ค๋ช : Oh-My-OpenCode๋ OpenCode๋ฅผ ๋์ฒดํ๋ ๊ฒ ์๋๋ผ ํํ ์ํฌํ๋ก์ฐ๋ฅผ ๋ถ์ด๋ ํ์ฅ์ด๋ผ๋ ์ ์ ๋จผ์ ์ดํดํฉ๋๋ค.
- ์คํ ์์:
opencode --version
2) ์ค์น ์๋ฃ
- ์ค๋ช : install์ ์คํํด ํ๋ฌ๊ทธ์ธ/์ปค๋งจ๋/๊ธฐ๋ณธ ๊ตฌ์ฑ์์๋ฅผ ๋ฑ๋กํฉ๋๋ค.
- ์คํ ์์:
bunx oh-my-opencode install
3) ์ ๋ฐ ์์ ์์
- ์ค๋ช
: ์ค์ ์์
์
@plan์ผ๋ก ์ธํฐ๋ทฐ ๊ธฐ๋ฐ ๊ณํ์ ๋ง๋ ๋ค/start-work๋ก ์คํํฉ๋๋ค. - ์คํ ์์:
@plan "๊ฒฐ์ ๋ชจ๋ ๋ฆฌํฉํฐ๋ง ๊ณํ ์ธ์์ค"
4) ๋น ๋ฅธ ์์ ์์
- ์ค๋ช
: ์งง์ ์์ ์
ulw๋ก ๋ฐ๋ก ์คํํด ํ์+๊ตฌํ+๊ฒ์ฆ ๋ฃจํ๋ฅผ ๋๋ฆฝ๋๋ค. - ์คํ ์์:
ulw add authentication to my Next.js app
5) ๋ชจ๋ธ ๊ฐ์ฉ์ฑ ํ์ธ
- ์ค๋ช : ์ค์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ธ ๋ชฉ๋ก๊ณผ ๊ณต๊ธ์ ์ํ๋ฅผ ํ์ธํฉ๋๋ค.
- ์คํ ์์:
opencode models
๋ถ๋ก) ์๋ฌธ ์ฝ๋ ์ค๋ํซ (๊ฒ์์ฉ, ์ด๋ณด์๋ ๊ฑด๋๋ฐ๊ธฐ)
{
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
"agents": {
// Override specific agents only - rest use fallback chain
"atlas": { "model": "anthropic/claude-sonnet-4-5", "variant": "max" },
"librarian": { "model": "zai-coding-plan/glm-4.7" },
"explore": { "model": "opencode/gpt-5-nano" },
"multimodal-looker": { "model": "zai-coding-plan/glm-4.6v" }
},
"categories": {
// Override categories for cost optimization
"quick": { "model": "opencode/gpt-5-nano" },
"unspecified-low": { "model": "zai-coding-plan/glm-4.7" }
},
"experimental": {
"aggressive_truncation": true
}
}๋ง๋ฌด๋ฆฌ ์ฒดํฌ
- โ์ ์ค์นํ๋์งโ๋ฅผ ํ ๋ฌธ์ฅ์ผ๋ก ์ค๋ช ํ ์ ์๋ค.
-
ulw์@planโ/start-work์ ์ฐจ์ด๋ฅผ ์ค๋ช ํ ์ ์๋ค. - ๋ค์ ๋ฌธ์(05 ์ค์น)๋ก ๋์ด๊ฐ ์ค๋น๊ฐ ๋์๋ค.
์ถ์ฒ
- ์๋ฌธ(๋ก์ปฌ):
oh-my-opencode/docs/guide/overview.md - ์๋ฌธ(GitHub): https://github.com/code-yeongyu/oh-my-opencode/blob/dev/docs/guide/overview.md