README.ko.md
[!TIP] Building in Public
메인테이너는 oh-my-openagent를 실시간으로 개발하고 유지보수합니다. OpenClaw를 크게 커스터마이즈한 포크 위에서 동작하는 AI 어시스턴트 Jobdori와 함께요. 모든 기능, 모든 수정, 모든 이슈 트리아지 — 전부 Discord에서 라이브로.
[!NOTE]
OmO는 위의 Jobdori에 의해 메인테이닝되고 있습니다. 당신의 Jobdori, Dori를 만나세요. 대기 명단은 여기에서 받습니다.
<!-- <CENTERED SECTION FOR GITHUB DISPLAY> --> <div align="center"> </div>[!TIP] 함께해요!
기여자와 oh-my-openagent사용자들을 만나려면 Discord 커뮤니티로 오세요.원래 제 X 계정에서 oh-my-openagent업데이트를 올렸는데, 계정이 실수로 정지되어 지금은 @justsisyphus에서 대신 업데이트가 올라옵니다.다른 프로젝트도 궁금하다면 GitHub에서 @code-yeongyu를 팔로우하세요.
이건 oh-my-openagent의 Team Mode 동작 장면입니다. Kimi K2.6과 GPT-5.5로요.
<div align="center"> </div> <!-- </CENTERED SECTION FOR GITHUB DISPLAY> -->Anthropic은 우리 때문에 OpenCode를 차단했습니다. 진짜입니다. 그들은 당신을 가둬두고 싶어 합니다. Claude Code는 좋은 감옥이지만, 여전히 감옥입니다.
2시간짜리 작업에 200달러를 낼 필요는 없습니다. 미래는 한 명의 승자를 고르는 게 아니라, 모두를 오케스트레이션하는 쪽에 있습니다. 모델은 매달 저렴해지고, 매달 똑똑해집니다. 어떤 벤더도 독점하지 못합니다. 우리는 그런 오픈 마켓을 위해 빌드합니다. 그들의 담장 안 정원이 아니라.
"Cursor 구독을 해지하게 만들었습니다. 오픈소스 커뮤니티에서 믿기지 않는 일들이 벌어지고 있어요." - Arthur Guiot
"Claude Code가 7일에 하는 일을 사람이 3개월 걸려 한다고 치면, Sisyphus는 1시간 만에 끝냅니다. 태스크가 끝날 때까지 그냥 돌아갑니다. 말 그대로 기강 잡힌 에이전트예요."
"Oh My Opencode로 하루 만에 eslint 경고 8000개를 날려버렸습니다."
"4만 5천 줄짜리 Tauri 앱을 Ohmyopencode와 Ralph Loop로 하룻밤 사이에 SaaS 웹 앱으로 전환했습니다. 'interview me' 프롬프트부터 시작해서 질문들에 대한 평가와 개선 제안을 받았어요. 작업 과정을 지켜보는 것도 즐거웠고, 아침에 일어나니 거의 동작하는 사이트가 나와 있더군요!" - James Hargis
"oh-my-opencode 한 번 써보면 돌아갈 수 없습니다."
"뭐가 그렇게 대단한지 정확히 말로는 아직 못 하겠는데, 개발 경험이 완전히 다른 차원으로 넘어갔습니다." - 苔硯:こけすずり
"이번 주말은 open code, oh my opencode, supermemory로 마인크래프트/소울즈류 합성체를 만들고 있습니다." "점심 먹고 산책 다녀오는 동안 크라우치 애니메이션 추가해달라고 시켜놨습니다. [영상]" - MagiMetal
"이걸 코어에 편입시키고 만든 사람 영입하세요. 진심으로요. 진짜, 진짜, 진짜 좋습니다."
"@yeon_gyu_kim 설득할 수 있으면 꼭 뽑으세요. 이 친구 opencode를 혁신했어요."
"Oh My OpenCode는 진짜 미쳤습니다" - YouTube - Darren Builds AI
Claude Code, Codex, 듣도 보도 못한 OSS 모델들까지 저글링 중이시죠. 워크플로우를 손보고, 에이전트를 디버깅하고.
그 일은 우리가 했습니다. 전부 테스트했고, 실전에 먹힌 것만 남겼습니다.
oh-my-openagent를 설치하세요. ultrawork를 입력하세요. 끝.
이 프롬프트를 당신의 LLM 에이전트(Claude Code, AmpCode, Cursor 등)에 붙여넣으세요:
Install and configure oh-my-openagent by following the instructions here:
https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/refs/heads/dev/docs/guide/installation.md
아니면 설치 가이드를 직접 읽으셔도 됩니다. 다만 진심으로, 에이전트한테 시키세요. 사람은 설정 파일을 오타로 망칩니다.
설치 가이드를 받아와서 그대로 따르세요:
curl -s https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/refs/heads/dev/docs/guide/installation.md
참고: 배포된 npm 패키지와 CLI 바이너리 이름은 여전히 oh-my-opencode입니다(전환 기간 동안 oh-my-openagent로도 함께 배포됩니다). opencode.json 안에서는 호환성 레이어가 이제 oh-my-openagent 플러그인 엔트리를 우선합니다. 기존 oh-my-opencode 엔트리도 경고와 함께 여전히 로드됩니다. 플러그인 설정 파일도 여전히 oh-my-opencode.json이나 oh-my-opencode.jsonc를 많이 씁니다. 전환 기간 동안에는 기존 이름과 새 이름 둘 다 인식됩니다.
익명 텔레메트리는 활성 설치 수(DAU/WAU/MAU) 집계를 위해 기본적으로 활성화되어 있습니다. 머신당 UTC 하루에 최대 1회만 이벤트가 전송되며, 해시된 설치 식별자를 사용하고 원시 호스트명은 절대 사용하지 않으며 PostHog person profile은 생성되지 않습니다. OMO_SEND_ANONYMOUS_TELEMETRY=0 또는 OMO_DISABLE_POSTHOG=1로 비활성화할 수 있습니다. 개인정보처리방침과 서비스 이용약관을 참조하세요.
이제 문서 읽는 시대는 지났습니다. 그냥 아래를 에이전트에 붙여넣으세요:
Read this and tell me why it's not just another boilerplate: https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/refs/heads/dev/README.md
ultrawork아직도 이 문서를 읽고 있다고요? 대단하네요.
설치하세요. ultrawork(또는 ulw)를 입력하세요. 끝.
아래 나오는 모든 기능, 모든 최적화는 몰라도 됩니다. 그냥 작동합니다.
아래 구독 조합만으로도 ultrawork는 잘 돌아갑니다(이 프로젝트와는 무관한 개인 추천입니다):
| 기능 | 하는 일 | |
|---|---|---|
| 🤖 | Discipline Agents | Sisyphus가 Hephaestus, Oracle, Librarian, Explore를 지휘합니다. 병렬로 도는 풀스택 AI 개발팀. |
| 👥 | Team Mode (v4.0, opt-in) | 리드 에이전트 + 최대 8명의 병렬 멤버, 실시간 tmux 시각화, 전용 team_* 도구. hyperplan(5명의 적대적 비평가)과 security-research(3명의 헌터 + 2명의 PoC 엔지니어)를 구동합니다. 문서 → |
| ⚡ | ultrawork / ulw | 한 단어. 모든 에이전트가 켜집니다. 끝날 때까지 멈추지 않습니다. |
| 🚪 | IntentGate | 분류하거나 행동하기 전에 사용자의 진짜 의도부터 분석합니다. 문자 그대로 오해하는 일은 끝. |
| 🔗 | Hash-Anchored Edit Tool | LINE#ID 콘텐츠 해시가 모든 변경을 검증합니다. 낡은 라인 에러 0건. oh-my-pi에서 영감. The Harness Problem → |
| 🛠️ | LSP + AST-Grep | 워크스페이스 리네임, 빌드 전 진단, AST 기반 리라이트. 에이전트에게도 IDE 수준의 정밀도. |
| 🧠 | Background Agents | 전문가 5명 이상을 동시에 발사. 컨텍스트는 가볍게. 결과는 준비되면 도착. |
| 📚 | Built-in MCPs | Exa(웹 검색), Context7(공식 문서), Grep.app(GitHub 검색). 항상 켜져 있음. |
| 🔁 | Ralph Loop / /ulw-loop | 자기참조 루프. 100% 끝날 때까지 멈추지 않습니다. |
| ✅ | Todo Enforcer | 에이전트가 놀고 있나요? 시스템이 다시 끌어옵니다. 당신의 작업은 반드시 끝납니다. |
| 💬 | Comment Checker | 주석에 AI 슬롭 금지. 시니어가 쓴 것처럼 읽히는 코드. |
| 🖥️ | Tmux Integration | 풀 인터랙티브 터미널. REPL, 디버거, TUI 전부 라이브. |
| 🔌 | Claude Code Compatible | 쓰시던 hook, command, skill, MCP, plugin 전부 그대로 동작합니다. |
| 🎯 | Skill-Embedded MCPs | 스킬이 자기만의 MCP 서버를 들고 다닙니다. 컨텍스트 낭비 없음. |
| 📋 | Prometheus Planner | 실행 전 인터뷰 모드로 전략 플래닝. |
| 🔍 | /init-deep | 프로젝트 전반에 계층형 AGENTS.md 파일을 자동 생성합니다. 토큰 효율에도, 에이전트 성능에도 좋습니다. |
Sisyphus (claude-opus-4-7 / kimi-k2.6 / glm-5.1)는 메인 오케스트레이터입니다. 계획을 세우고, 전문가에게 위임하고, 공격적인 병렬 실행으로 작업을 끝까지 밀어붙입니다. 중간에 멈추지 않습니다.
Hephaestus (gpt-5.5)는 자율적으로 깊게 파는 작업자입니다. 레시피가 아니라 목표를 주세요. 코드베이스를 탐색하고, 패턴을 조사하고, 손을 잡아주지 않아도 엔드투엔드로 실행합니다. The Legitimate Craftsman.
Prometheus (claude-opus-4-7 / kimi-k2.6 / glm-5.1)는 전략 플래너입니다. 인터뷰 모드: 질문으로 스코프를 파악하고, 코드에 손대기 전에 상세한 계획을 만듭니다.
모든 에이전트는 자기 모델의 강점에 맞춰 튜닝되어 있습니다. 수동으로 모델을 돌려가며 쓸 필요가 없습니다. 더 알아보기 →
Anthropic은 우리 때문에 OpenCode를 차단했습니다. 그래서 Hephaestus에게 "The Legitimate Craftsman"이라는 별명이 붙었습니다. 의도된 아이러니입니다.
Opus에서 가장 잘 돌지만, Kimi K2.6 + GPT-5.5 조합만으로도 이미 바닐라 Claude Code를 이깁니다. 별도 설정 없이요.
에이전트 한 명도 빠릅니다. 조율된 팀은 압도적입니다.
Team Mode는 oh-my-openagent를 "서브에이전트를 가진 한 명의 에이전트"에서 진짜 멀티 에이전트 시스템으로 바꿉니다. 리드 에이전트가 카테고리별 전문화된 멤버 팀을 지휘하며, 모두 병렬로 동작하고 전용 도구(team_create, team_send_message, team_task_create, team_status, ...)로 통신합니다. tmux 레이아웃의 focus + grid 윈도우에서 모든 멤버의 작업을 동시에 지켜보세요.
// .opencode/oh-my-openagent.jsonc
{
"team_mode": {
"enabled": true,
"max_parallel_members": 4,
"tmux_visualization": true
}
}
opencode를 재시작하면 team_* 도구 패밀리가 활성화됩니다. 이미 두 개의 스킬이 그 위에 올라가 있습니다:
hyperplan — 5명의 적대적 에이전트가 코드 한 줄 작성되기 전에 직교 각도에서 당신의 계획을 갈가리 분해합니다.security-research — 3명의 취약점 헌터 + 2명의 PoC 엔지니어가 코드베이스를 병렬로 감사합니다. 심각도는 실제 익스플로잇 가능성으로 보정됩니다.기본은 OFF. 원할 때 켜세요. Team Mode 가이드 전체 →
Sisyphus가 서브에이전트에 위임할 때는 모델을 직접 고르지 않습니다. 카테고리를 고릅니다. 카테고리는 자동으로 적합한 모델에 매핑됩니다:
| 카테고리 | 용도 |
|---|---|
visual-engineering | 프론트엔드, UI/UX, 디자인 |
deep | 자율 리서치 + 실행 |
quick | 단일 파일 변경, 오타 수정 |
ultrabrain | 어려운 로직, 아키텍처 결정 |
에이전트는 필요한 작업 종류만 말하고, 하네스가 적합한 모델을 고릅니다. ultrabrain은 이제 기본으로 GPT-5.5 xhigh로 라우팅됩니다. 당신이 건드릴 건 없습니다.
Claude Code 세팅을 손봐두셨죠. 잘하셨습니다.
hook, command, skill, MCP, plugin 전부 그대로 여기서 동작합니다. 플러그인까지 포함한 완전 호환입니다.
LSP, AST-Grep, Tmux, MCP — 대충 붙여놓은 게 아니라 실제로 통합되어 있습니다.
lsp_rename, lsp_goto_definition, lsp_find_references, lsp_diagnostics. 모든 에이전트에게 IDE 수준 정밀도를.MCP 서버는 컨텍스트 예산을 갉아먹습니다. 우리가 고쳤습니다.
스킬이 자기만의 MCP 서버를 데리고 다닙니다. 필요할 때 올라오고, 태스크 스코프 안에서만 살아 있다가, 끝나면 사라집니다. 컨텍스트 윈도우가 깔끔하게 유지됩니다.
하네스 문제는 실존합니다. 대부분의 에이전트 실패는 모델 잘못이 아니라 편집 도구 탓입니다.
"이 도구들 중 어느 것도 모델이 수정하려는 라인에 대한 안정적이고 검증 가능한 식별자를 주지 않는다... 모델이 이미 본 내용을 재현해내길 바라는 방식에 의존한다. 재현하지 못할 때 — 그리고 자주 못한다 — 사용자는 모델을 탓한다."
oh-my-pi에서 영감을 받아 Hashline을 만들었습니다. 에이전트가 읽는 모든 라인은 콘텐츠 해시가 붙어 돌아옵니다:
11#VK| function hello() {
22#XJ| return "world";
33#MB| }
에이전트는 이 태그를 참조해 편집합니다. 마지막 읽은 이후 파일이 바뀌었다면 해시가 맞지 않고, 손상 전에 편집이 거부됩니다. 공백 재현 필요 없음. 낡은 라인 에러 없음.
Grok Code Fast 1: 6.7% → 68.3% 성공률. 편집 도구만 바꿔서요.
/init-deep/init-deep을 실행하세요. 계층형 AGENTS.md 파일을 생성합니다:
project/
├── AGENTS.md ← 프로젝트 전체 컨텍스트
├── src/
│ ├── AGENTS.md ← src 전용 컨텍스트
│ └── components/
│ └── AGENTS.md ← 컴포넌트 전용 컨텍스트
에이전트는 관련 컨텍스트를 알아서 읽습니다. 수동 관리 0.
복잡한 작업인가요? 프롬프트 쓰고 기도하지 마세요.
/start-work가 Prometheus를 호출합니다. 진짜 엔지니어처럼 인터뷰를 진행하고, 스코프와 모호한 부분을 짚어내고, 코드에 손대기 전에 검증된 계획을 세웁니다. 에이전트는 뭘 만들지 알고 나서야 시작합니다.
Skill은 단순 프롬프트가 아닙니다. 각 스킬은:
빌트인: playwright(브라우저 자동화), git-master(atomic 커밋, rebase 수술), frontend-ui-ux(디자인 우선 UI).
직접 추가하려면 .opencode/skills/*/SKILL.md 또는 ~/.config/opencode/skills/*/SKILL.md 아래에 넣으세요.
전체 기능을 보고 싶다면? **Features Documentation**에서 에이전트, hook, 도구, MCP 등 모든 것을 상세히 확인할 수 있습니다.
oh-my-openagent가 처음이라면? 뭘 갖게 되는지는 **Overview**를, 에이전트들이 어떻게 협업하는지는 **Orchestration Guide**를 참고하세요.
oh-my-openagent를 제거하려면:
OpenCode 설정에서 플러그인을 제거합니다
~/.config/opencode/opencode.json(또는 opencode.jsonc)을 열어 plugin 배열에서 "oh-my-openagent" 또는 기존 "oh-my-opencode" 항목을 삭제합니다:
# jq 사용
jq '.plugin = [.plugin[] | select(. != "oh-my-openagent" and . != "oh-my-opencode")]' \
~/.config/opencode/opencode.json > /tmp/oc.json && \
mv /tmp/oc.json ~/.config/opencode/opencode.json
설정 파일 제거 (선택 사항)
# 호환 기간 동안 인식되는 플러그인 설정 파일 제거
rm -f ~/.config/opencode/oh-my-openagent.jsonc ~/.config/opencode/oh-my-openagent.json \
~/.config/opencode/oh-my-opencode.jsonc ~/.config/opencode/oh-my-opencode.json
# 프로젝트 설정 제거 (있다면)
rm -f .opencode/oh-my-openagent.jsonc .opencode/oh-my-openagent.json \
.opencode/oh-my-opencode.jsonc .opencode/oh-my-opencode.json
제거 확인
opencode --version
# 더 이상 플러그인이 로드되지 않아야 합니다
진작 있었어야 했다고 느낄 기능들입니다. 한 번 쓰면 되돌아갈 수 없습니다.
전체 내용은 Features Documentation 참고.
요약:
LINE#ID 참조로 모든 변경 전에 내용을 검증. 수술적 편집, 낡은 라인 에러 0bunx oh-my-opencode doctor)으로 플러그인 등록, 설정, 모델, 환경 검증fallback_models에 단순 모델 문자열과 per-fallback 객체 설정을 같은 배열에 섞어 쓸 수 있음file://로 프롬프트를 파일에서 로드의견이 분명한 기본값. 꼭 손대야겠다면 조정 가능.
자세한 내용은 Configuration Documentation 참고.
요약:
oh-my-openagent.json[c]와 기존 oh-my-opencode.json[c] 플러그인 설정 파일을 모두 인식합니다. 기존 설치는 아직 기존 이름을 쓰는 경우가 많습니다.playwright(브라우저 자동화), git-master(atomic 커밋)visual, business-logic, 커스텀)disabled_hooks로 전부 제어 가능철학이 궁금하다면? Ultrawork Manifesto를 읽어보세요.
개인 프로젝트에 LLM 토큰값으로 2만 4천 달러를 태웠습니다. 온갖 도구를 다 써봤고, 설정을 죽도록 만졌습니다. 결국 OpenCode가 이겼습니다.
제가 부딪힌 모든 문제의 해법이 이 플러그인에 박혀 있습니다. 설치만 하고 시작하세요.
OpenCode가 Debian/Arch라면, oh-my-openagent는 Ubuntu/Omarchy입니다.
AmpCode와 Claude Code의 영향을 많이 받았습니다. 기능을 옮겨왔고, 많은 경우 개선까지 했습니다. 지금도 만들고 있습니다. 이건 OpenCode입니다.
다른 하네스들은 멀티모델 오케스트레이션을 약속합니다. 우리는 출시합니다. 안정성도. 그리고 실제로 동작하는 기능들도.
저는 이 프로젝트의 가장 집착적인 사용자입니다:
이 플러그인은 그 증류액입니다. 가장 좋은 걸 가져가세요. 개선안 있으면 PR 환영입니다.
하네스 선택으로 고뇌하는 건 이제 그만하세요. 제가 리서치하고, 가장 좋은 걸 훔쳐와서, 여기 출시하겠습니다.
오만하게 들리나요? 더 나은 방법이 있으신가요? 기여해주세요. 환영합니다.
언급된 어떤 프로젝트나 모델과도 제휴 관계는 없습니다. 그저 개인적인 실험의 결과입니다.
이 프로젝트의 99%는 OpenCode로 만들어졌습니다. 저는 TypeScript를 사실 잘 모릅니다. 다만 이 문서만큼은 제가 직접 검토하고 대부분 다시 썼습니다.
훌륭한 hero 이미지를 만들어준 @junhoyeo에게 특별히 감사드립니다.