본문으로 건너뛰기
5분 AI.
트렌딩 레포 딥다이브 · 소스 재검토 2026-10-31

oh-my-openagent 딥다이브
독립 실행형 OmO와 senpi 확장 구조

CLI

빠른 판단

무엇
senpi 엔진에 모델 라우팅·작업 위임·메모리를 묶어 독립 omo 명령으로 제공하며 OpenCode·Codex 어댑터도 갖춘 에이전트 하니스
이럴 때
기존 OpenCode 설정을 독립 실행형으로 옮기거나, 모델별 도구 실행·작업 위임·세션 메모리가 연결되는 코딩 하니스 구조를 공부할 때
입력
개발 과제와 프로젝트 폴더
결과
작업 결과와 세션 기록
도입 전 확인
npm 경로는 Node 24 이상. 옛 omo 명령 충돌과 OAuth 재로그인 여부를 이전 가이드에서 확인

기존 OpenCode 플러그인 중심 설명을 5.1.52 소스로 다시 검토했다. 현재 주 진입점은 omo-ai가 제공하는 omo 명령이며, Pi에서 갈라진 senpi 엔진에 OMO 확장을 함께 싣는다. 기존 카탈로그 이름과 링크는 유지한다.

1프로젝트 한줄 요약

OmO는 모델 접속, 코드·문서 작업 도구, 역할별 위임과 메모리를 한 실행 환경에 묶는 코딩 에이전트 하니스다. 현재 README는 독립 실행형을 기본으로 안내한다. OpenCode 어댑터와 Codex용 구성도 소스에 남아 있지만, 예전 문서의 Ultimate·Light 두 에디션만으로 현재 제품을 설명하기는 어렵다.

2왜 주목받는가

2026-10-31 Daily에서 재등장했는지와 별개로 전체 카탈로그 기준 검토 대상으로 확인했다. 주목할 기술적 변화는 호스트 플러그인에서 자체 실행 명령으로 중심이 이동했다는 점이다. 작업별 모델 라우팅, 병렬 도구 호출, 세션 재개, 마크다운 메모리와 보조 관찰자 Kibitzer를 하나의 경험으로 묶는다. README의 성능·규모 표현은 제작자 설명이며 여기서 독립 벤치마크로 검증한 값은 없다.

3기술 스택 전체 지도

층실제 구성읽을 파일
명령 배포omo-ai 5.1.52, ESM, Node ≥24packages/omo-native/package.json
실행 엔진@code-yeongyu/senpi 2026.10.30-1 고정 의존성같은 패키지의 dependencies
OMO 확장로컬 Pi 패키지 형태의 @code-yeongyu/omo-senpipackages/omo-senpi/plugin/package.json
공통 기능model-core·memory-core·team-core·hashline-core·MCP·LSP 패키지루트 workspaces와 packages/
다른 호스트omo-opencode·omo-codex 어댑터각 packages 하위

루트 npm 이름은 여전히 oh-my-opencode이고 다수의 명령 별칭을 가진다. 독립 명령을 설치하는 패키지 omo-ai와 구분해야 한다. 소스 빌드 워크스페이스와 사용자가 받는 배포 패키지를 같은 것으로 취급하지 않는 연습에 적합하다.

4아키텍처 심화 분석

사용자 → omo 명령 (omo-native/bin/omo.js) ├─ login/logout/whoami·sync·account → 전용 명령 ├─ setup → 기존 OpenCode 설정 가져오기 └─ runLauncher → 고정 senpi 엔진 + OMO 확장 ├─ 작업·모델 라우팅 ├─ MCP·LSP·도구 실행 └─ 메모리·세션·위임 기능

진입점은 먼저 Bun 실행 가능성을 검사한다. 적절한 Bun으로 재실행하지 않았다면 인증·동기화·계정·설정 명령을 분기하고 나머지를 runLauncher()에 전달한다. 이 구조는 엔진 부팅 없이 처리할 명령과 실제 대화 실행을 구분한다.

// packages/omo-native/bin/omo.js의 분기 구조를 줄인 예시
if (command === "setup") await runSetup(args)
else await runLauncher()

확장 패키지 manifest는 pi.extensions로 ./extensions/omo.js를 등록한다. imports에는 task·computer-use·memory·session-history 등 실행 모듈이 나뉘어 있다. 단일 입구를 여러 기능 모듈에 연결하는 어댑터 설계를 읽을 수 있다.

5디렉토리 구조 해부

packages/ ├─ omo-native/ 독립 omo 명령·런타임 선택·업데이트·진단 ├─ omo-senpi/ senpi/Pi용 OMO 확장·도구·스킬 ├─ senpi-task/ 작업 관련 패키지 ├─ model-core/ 모델 관련 공통 기능 ├─ memory-core/ 메모리 관련 공통 기능 ├─ hashline-core/ 편집 기능 ├─ omo-opencode/ OpenCode 어댑터 └─ omo-codex/ Codex 통합 자산 crates/ Rust 구성 scripts/ · script/ 빌드·검증 도구 docs/guide/ 설치·이전·기능 문서

진입점 → manifest → 공통 모듈 순서로 읽는다. 예전 문서처럼 모든 핵심 기능을 omo-opencode/src에만 있는 것으로 추정하면 현재 native 경로를 놓친다. 이 조사에서는 내려받은 빌드·설치 스크립트를 실행하지 않았다.

6학습 포인트

7하드웨어·시스템 요구사항

npm 패키지 경로는 Node 24 이상을 명시한다. README는 운영체제·CPU에 맞는 native 바이너리 설치도 안내하므로 Node 하한을 모든 배포 방식에 일괄 적용하면 안 된다. 별도 GPU 최소 사양은 이 조사에서 확인하지 못했다. 선택한 모델 제공자의 계정·접속 조건이 필요하며, 병렬 위임의 비용과 동시성은 각 설정에서 확인해야 한다.

기존 OpenCode 사용자는 이전 가이드의 설치기 경로를 확인한다. 옛 패키지가 omo 명령을 점유할 수 있어 단순 전역 패키지 설치만으로 새 명령이 선택된다고 가정할 수 없다. omo setup --dry-run으로 계획을 먼저 볼 수 있다. setup은 설정을 읽고 동의 후 OmO 경로에 쓰며, OAuth 로그인은 별도로 다시 필요하다.

8직접 해볼 수 있는 실습 과제

  1. 입문: 공식 설치 절차 후 omo --version과 omo doctor로 native 명령·엔진·모델 범주를 확인한다. 이 글의 조사는 설치 실행 검증을 포함하지 않는다.
  2. 중급: 기존 OpenCode 환경이 있다면 omo setup --dry-run 결과에서 가져올 값·누락 값·재로그인 필요 항목을 표로 만든다. 인증 원문은 실습 보고에 넣지 않는다.
  3. 중급: 작은 저장소에서 ulw 요청을 실행하고 도구 호출·완료 근거·실제 변경을 대조한다. 작업 규모와 호출 비용을 함께 기록한다.
  4. 심화: omo.js 분기와 확장 manifest만으로 모듈 의존도 그림을 만든 뒤 실제 파일 위치와 대조한다.

9관련 기술 심화 학습 로드맵

주차주제산출물
1주native 배포·진단·세션 재개사용 환경과 명령 경로 기록
2주설정 계층·provider·이전가져오기 전후 비교표
3주공통 패키지와 호스트 어댑터의존도 지도
4주위임·메모리·완료 검증소규모 작업의 입력·비용·검증 기록

10핵심 키워드 사전

용어뜻
하니스모델의 도구·상태·작업 실행을 관리하는 환경
senpiOmO가 사용하는 Pi 파생 실행 엔진
native별도 OpenCode 호스트 없이 omo 명령으로 시작하는 배포 형태
어댑터공통 기능을 특정 호스트의 API·이벤트에 연결하는 계층
KibitzerREADME가 소개하는 메모리 기반 보조 관찰 기능
dry-run변경을 쓰기 전에 예정된 결과만 확인하는 실행 방식

11참고 링크