Devotd Github
새 소식AI 에이전트

omnigent-ai/omnigent #13079 — 서브에이전트 네이티브 페인 한 시간 뒤 회수

다른 에이전트가 띄운 서브에이전트용 네이티브 터미널 페인이 러너의 하루짜리 유휴 창 대신 한 시간 뒤에 회수되도록 고친 커밋.

저장소 정보omnigent-ai/omnigent ↗

다른 에이전트가 띄운 서브에이전트용 네이티브 터미널 페인이 러너의 하루짜리 유휴 창 대신 한 시간 뒤에 회수되도록 고친 커밋.

GitHub 설명: Omnigent is an open-source AI agent framework and meta-harness: orchestrate Claude Code, Codex, Cursor, Pi, and custom agents — swap harnesses without rewriting, enforce policies and sandboxing, and collaborate in real time from any device.

스타
★ 10.9K
포크
1.8K
언어
Python
라이선스
Apache-2.0
최신 릴리스
v0.18.0
원문 보기 ↗GitHub에서 보기 ↗

omnigent-ai/omnigent는 Claude Code, Codex, Cursor, Pi 같은 코딩 에이전트를 한꺼번에 관리하는 오픈소스 에이전트 프레임워크다. 2026년 11월 6일 커밋 57c2b64(#13079)는 이 러너의 네이티브 터미널 페인 정리 동작을 고쳤다. 다른 에이전트가 띄운 세션, 즉 서브에이전트용 페인은 이제 한 시간이 지나면 회수되고, 사람이 직접 연 최상위 세션의 페인은 기존 유지 시간을 그대로 따른다.

문제는 타이밍이었다. 네이티브 페인은 러너의 유휴 타임아웃을 물려받아 최상위 세션이 사라지지 않게 하는데, 관리형 호스트에서 이 값은 하루였다. 그래서 다른 에이전트가 만든 짧은 수명의 워커 세션에서 남은 CLI·TUI·MCP 프로세스가 각각 하루까지 쌓였다. 수정은 서브에이전트 페인의 유휴 창을 네이티브 페인 기본값인 한 시간(환경 변수 OMNIGENT_NATIVE_PANE_IDLE_TIMEOUT_S로 조정 가능)으로 제한하는 방식이다. 구현은 pane_reaper.py에 resolve_sub_agent_pane_idle_timeout_s를 새로 넣고, PaneRef에 sub_agent 플래그를 붙여 페이별로 유휴 창을 고른다. app.py 쪽에서 서브에이전트 여부는 세션 초기화 봉투의 부모 연결로 판별한다.

같은 PR의 뒤이은 수정으로, runner.idle_timeout_s를 0으로 설정하면 네이티브 페인 회수를 끈다는 문서화된 동작이 다시 살아났다. 앞선 구현은 0이어도 서브에이전트 창을 네이티브 기본값으로 되돌려 한 시간 뒤에도 자식 페인을 회수했다. 이제 0은 최상위와 서브에이전트 회수를 모두 끄고, 양수일 때만 서브에이전트 창을 제한한다. 테스트는 Codex 자식 세션이 한 시간 창을 받고 최상위 세션은 24시간 창을 유지하는지를 init-envelope 기준으로 확인한다.

다만 이 커밋 기록만으로는 판정할 수 없는 부분이 많다. 라이선스와 릴리스 버전, 서버에서 실제로 줄어든 프로세스 수는 제시되어 있지 않다. 서브에이전트 판별이 부모 연결에 의존하므로, 그런 표식을 달지 않은 자식 세션은 더 긴 창을 그대로 유지한다. 회수 대상을 좁히는 성격의 변경이므로 운영 환경에서 줄어든 프로세스 수는 별도 확인이 필요하다.