본문으로 건너뛰기

트렌딩 - GitHub 인기 레포 & HuggingFace 모델

can1357/oh-my-pi

TypeScript32 / 0

터미널 중심의 AI 코딩 에이전트로 LSP·DAP·해시라인 편집·서브에이전트·25개 검색 백엔드와 32개 도구를 하나의 런타임으로 통합해 코드 읽기·수정·디버깅 작업을 자동화한다.

TL;DR

omp는 터미널 중심의 AI 코딩 에이전트로서 LSP와 DAP를 에이전트 호출 경로에 직접 연결하고 해시라인 패치·서브에이전트·인프로세스 네이티브 툴을 결합해 코드 읽기·편집·디버깅의 수작업을 줄인다. 내부적으로 약 55k 줄의 Rust 네이티브 코드로 검색·쉘·AST·토큰 카운팅을 프로세스 내부에서 처리하고 TypeScript SDK·RPC·ACP 등 네 가지 진입점을 통해 에디터·스크립트·서비스에 임베드할 수 있다. 제공자 라우팅·fallback chains·path-scoped 모델 설정을 통해 다중 제공자 환경에서 세션-스코프 메모리와 비용 제어를 지원하며, 해시 앵커 검증과 서브에이전트의 스키마화된 결과 합산으로 대규모 리팩터링과 병렬 분석의 안전성과 예측가능성을 확보한다.

핵심 포인트

  • IDE와 동일한 LSP 동기화를 에이전트 호출 경로로 연결해 리네임·재수출·별칭 업데이트를 파일 이동 전에 처리한다. 이로 인해 수동 리팩터링으로 발생하는 누락 참조와 재수정 루프가 줄어들고 편집 성공률이 높아진다. 대안들이 대부분 단방향으로 파일을 수정하는 것과 달리 omp는 워크스페이스 메타데이터를 이용해 변경 전후를 일관되게 유지한다.
  • 핫 패스에서 외부 프로세스를 포킹하지 않고 Rust 네이티브로 ripgrep·glob·실행 환경·토큰 카운팅 등을 인프로세스로 제공해 시스템 콜 오버헤드를 제거한다. 이 접근은 반복적인 파일 검색·쉘 호출 비용을 줄여 지연을 낮추고 다중 플랫폼(Windows 포함)에서 일관된 동작을 보장한다. 결과적으로 동일한 작업에서 포크-exec 기반 도구보다 응답 속도가 빠르고 시스템 리소스 사용이 절감된다.
  • 해시라인 기반 패치와 stale-anchor 검증으로 모델 출력의 흔한 공백·포맷 오류를 원천적으로 회피해 실패 재시도 루프를 축소한다. 모델이 변경 지점을 해시로 지정하므로 공백·문자열 매칭 실패로 인한 토큰 낭비가 줄어든다. 앵커 불일치 시 패치 거부 메커니즘이 있어 저장소 무결성 위험을 낮춘다.
  • 서브에이전트 패턴으로 작업을 격리된 워크트리에서 병렬로 수행하고 스키마화된 결과를 직접 합산해 자연어 합성 비용을 줄인다. 각 서브에이전트가 별도 도구 표면과 비용·지연 메타데이터를 보고하므로 대규모 분석을 단계적으로 검증하면서 진행할 수 있다. 이 방식은 복합 작업을 수동 분할하지 않고도 충돌 없이 병렬 처리하게 만든다.

벤치마크

벤치마크지표비교
Grok Code Fast 16.7% → 68.3%6.7% → 68.3%Tenfold lift the moment the edit format stops eating the model alive.
Gemini 3 Flash+5 pp+5 ppOver str_replace — beats Google's own best attempt at the format.
Grok 4 Fast−61% tokens−61% tokensOutput collapses once the retry loop on bad diffs disappears.
MiniMax2.1×2.1×Pass rate more than doubles with same weights and same prompt.

이미지 분석

LSP 참조 검색과 리네임 적용 과정의 TUI 캡처로서 참조 목록·적용된 편집·검색 결과가 순차적으로 출력된 화면이다.
이미지는 에이전트가 LSP를 통해 심볼 참조를 조회하고 workspace/willRenameFiles 흐름으로 리네임을 적용해 여러 파일에 걸친 편집을 일괄 적용하는 절차를 시각적으로 보여준다. 화면에는 참조가 발견된 파일 목록과 각 파일에 적용된 편집 수, 마지막에 남은 검색 결과가 0으로 확인되는 검증 로그가 함께 표시되어 실제 편집의 원자성(atomicity)과 후속 검증이 이루어졌음을 확인할 수 있다.
네이티브 바이너리 디버깅 세션의 TUI 캡처로서 어댑터, 스택 프레임, 로컬 변수 값이 표시되어 있다.
이 스크린샷은 omp가 lldb-dap 어댑터에 연결해 스레드 상태와 스택 프레임을 읽고 로컬 변수(x = 57351)를 노출하는 과정을 보여준다. 화면 하단의 수식과 스텝 결과가 함께 표시되어 에이전트가 런타임 값을 계산해 해석하는 워크플로우와 디버거 제어가 통합되어 있음을 알 수 있다.
스트림 규칙(시간여행 규칙) 발동 시 TUI의 경고·주입 카드와 제안된 대안(Arc<str>)을 보여주는 캡처다.
이미지는 모델 출력 스트림이 규칙에 위반될 때 중간 토큰을 중단하고 규칙을 시스템 프롬프트로 주입한 뒤 동일 지점에서 재시도하는 흐름을 시각화한다. 화면에는 오류 발생(요청 중단), 규칙 주입 카드, 제안된 대체(Arc<str>)와 사용자 확인 요청이 연속으로 표시되어 있어 주입이 컴팩션 이후에도 유지되고 문맥세금(context tax)을 최소화한 교정이 이루어짐을 확인할 수 있다.
서브에이전트들이 병렬로 실행되어 결과 표와 IRC 협조 노트가 최종 리포트에 합쳐진 화면 캡처다.
이 캡처는 task 도구가 ComponentsExports와 RoutesExports 같은 서브에이전트를 병렬 실행하고 각 서브에이전트의 산출물을 표 형태로 수집해 교차 분석을 수행한 과정을 보여준다. 화면에는 에이전트 간 메시지 라운드트립, 각 서브에이전트의 토큰 수·비용·소요 시간 메타데이터, 그리고 IRC 핸드셰이크에 대한 주석이 포함되어 있어 병렬 분산 분석과 외부 조정 메커니즘을 함께 시현한다.

28.7k

STARS

2.9k

FORKS

+219

TRENDING

32

조회수

watchers 28.7kopen issues 2.1kMIT License

관련 토론

아직 관련 토론이 없습니다.

댓글

댓글을 작성하려면 로그인이 필요합니다.