이 릴리즈는 Senpi 2026.8.26-2를 기반으로 하며 프로세스 라이프사이클 정확성에 중점을 둡니다. 런처가 더 이상 엔진을 고아 프로세스로 남기지 않고, omo doctor는 이전 버전이 남긴 고아 프로세스를 찾아 정리할 수 있으며, 손상된 설치는 실제 진단과 함께 빠르게 실패하고, DAG 실행은 세션 재시작 후에도 생존합니다. 또한 기본 모델 폴백 레인을 재구성하고 홈 디렉토리 설정 감시 문제를 수정했습니다.
이전에는 두 런처 계층(node bin/omo.js → 엔진, 그리고 중간의 bun 재실행)이 모두 spawnSync에서 블로킹되어 JavaScript 핸들러가 실행될 수 없었습니다. SIGTERM은 런처를 즉시 종료하고 엔진을 pid 1로 재부모화하여 터미널을 여전히 점유하게 했습니다. 이러한 고아 프로세스는 나중에 stdin EIO 충돌과 엔진 프로세스가 며칠 동안 남아있는 현상으로 나타났습니다.
두 계층 모두 이제 비동기적으로 생성되고:
SIGTERM 및 SIGHUP을 엔진으로 포워드합니다OMO_SIGNAL_GRACE_MS로 조정 가능)SIGINT (Ctrl-C)는 의도적으로 포워드되지 않습니다. 터미널이 이미 전체 포그라운드 프로세스 그룹에 이를 전달하기 때문에 런처는 엔진 아래에서 종료되기만 합니다. 종료 코드와 신호 사망 상태는 변경되지 않고 통과합니다. Windows 설치는 신호 핸들러를 설치하지 않습니다.
omo doctor가 오래된 엔진을 찾아 정리합니다omo doctor는 이제 이전 런처 버전이 남긴 대화형 엔진 프로세스(pid 1로 재부모화됨)를 pid, 나이, tty와 함께 나열합니다. 정리는 명시적이고 pid 단위입니다:
omo doctor --reap <pid> [pid...]
실시간 프로세스 테이블을 다시 확인하고 그 순간 고아 대화형 엔진이 아닌 pid(라이브 세션, rpc/app-server 엔진 또는 비엔진 프로세스)는 거부합니다. 패턴 매칭 종료는 없습니다.
Windows 현장 보고에서 npm이 설치 중간에 EBUSY로 인해 중단되었습니다(실행 중인 엔진이 네이티브 모듈을 잠금). 이로 인해 senpi의 dist/cli.js는 intact되지만 핵심 모듈이 누락된 트리가 남겨졌습니다. 런처 프리플라이트는 이제 CLI 옆의 브랜드 계약 모듈을 확인하고, 부분 트리에서 다음과 같이 실행 가능한 한 줄로 빠르게 실패합니다: 누락된 파일, 중단된 업그레이드 진단 및 재설치 명령. Windows에서는 추가로 실행 중인 omo/senpi 프로세스가 정확히 이 부분 상태를 발생시킨다고 설명합니다.
고정된 엔진은 2026.8.26에서 2026.8.26-2로 루트 워크스페이스, omo-ai 런처, 어댑터 및 작업 엔진 전체에서 이동하며, 설정 감시 호환성 작업과 정렬됩니다 (#7064 이슈, 이 워크트리로 추적됨).
Senpi의 설정 재로드 호스트는 보호된 에이전트 디렉토리 경로(auth.json, sessions/, logs/)를 포함하는 감시 등록을 거부하며 루트 앵커된 필터 글로브가 감시된 각 경로가 이들을 피함을 증명하지 않는 한 그렇습니다. OmO는 이전에 경로가 단순히 보호된 경로를 포함하는 모든 대상을 삭제하여 홈 디렉토리 설정 감시를 자동으로 종료했습니다. 필터는 이제 대상의 글로브를 검사합니다: 루트 앵커된 글로브가 보호된 경로를 증명 가능하게 피하는 대상은 유지되므로 ~/.omo/omo.jsonc 변경이 다시 라이브로 선택되는 반면, 안전하지 않은 대상은 여전히 방출되지 않습니다. 사용자 설정 생성 감시도 하드코딩된 /omo 대신 실제 설정 디렉토리 이름에서 글로브 세트를 파생시킵니다.
dag 대기는 실행이 정착될 때까지 도구 호출을 열어두었고, 전체 실행에 대해 세션 턴을 동결했습니다(필드에서 38분 이상 관찰됨). 이제 분리된 엔벨로프와 라이브 스냅샷과 함께 즉시 반환합니다. 노드 완료 및 터미널 실행 깨우기는 여전히 유휴 조정자를 통해 세션에 도달합니다. 차단 동작을 복원하려면 detach: false를 전달하세요. eval SDK 및 dag 라이브러리는 내부적으로 차단 의미론을 유지하고, 이미 터미널 상태인 실행은 여전히 최종 결과를 즉시 반환합니다.omo.dag.updated 스냅샷이 오래된 일시 중단 상태를 표시하고 다운스트림 소비자가 자식이 계속 작동하는 동안 스레드를 준비 상태로 전환했습니다. 첫 번째 푸시된 스냅샷은 이제 복구된 스냅샷입니다.unspecified-high 체인은 opus 우선으로 재구성됩니다: claude-opus-5 xhigh -> glm-5.3 max -> kimi-k3 max (이전에는 kimi-k3 리드). 카테고리 기본값은 두 하네스 모두에서 새 헤드를 따릅니다.vercel 제공자는 모든 내장 폴백 레인을 유지합니다. vercel 전용 레지스트리는 고정된 시스템 기본값으로 통과하고, vercel 전용 minimax-m2.7-highspeed 단계는 탐색/라이브러리안에서 제거됩니다.quotio-openai는 체인 소스에서 제거됩니다. openai를 나열하는 모든 단계는 이제 openai-codex도 포함합니다.quotio-openai 키를 제거하고 zai-coding-plan/opencode-go를 위해 glm-5.3을 얻습니다. 번들된 기능 스냅샷은 단순 glm-5.3 항목을 얻습니다.설정이 vercel 또는 quotio-openai 기본 레인에 의존하는 경우 해당 제공자를 명시적으로 구성하세요.
omo-agent-toolkit ulw-loop help (및 단순 help/--help/인수 없음)는 이제 자기 참조 포인터 또는 미알려진 구성요소 오류 대신 실제 하위 명령 도움말을 인쇄합니다. 각 하위 명령은 --help/-h에 응답합니다.update_plan 누수를 수정합니다(senpi는 todo를 노출함).packages/omo-opencode + packages/memory-core를 하나의 순차 프로세스에서 다루고, 샤드 2는 공유 순차 격리(script/root-test-serial-quarantine.ts의 단일 소스 오브 트루스)를 실행한 후 나머지를 실행합니다. 작업 수준 샤드는 Linux 및 macOS에서 작업 내 bun test --parallel을 대체했으며, 이는 --isolate 아래 파일당 무거운 프리로드를 다시 실행하고 7GB 호스트 러너를 OOM 종료했습니다. 사라진 bunfig.root.parallel.toml이 제거되었습니다. 샤드당 두 번 실행되던 두 Windows 테스트는 이제 한 번 실행됩니다.beta.22 자체에는 새로운 주요 변경 사항이 없습니다. 두 가지 동작 변화를 참고하세요: DAG wait 액션은 기본적으로 분리됩니다(이전 차단 동작을 위해 detach: false 전달) 및 기본 폴백 체인은 더 이상 vercel 또는 quotio-openai 레인을 포함하지 않습니다.
npm i -g omo-ai@beta
베타 채널 계약은 변경되지 않았습니다: 모든 버전은 --tag beta 아래 발행된 프리릴리즈입니다. 업그레이드 후 omo doctor를 한 번 실행하세요. 이전 런처 버전에서 오래된 고아 프로세스를 나열하면 omo doctor --reap <pid>로 정리하세요. 개발 컨테이너 사용자는 Bun 1.4.0을 선택하기 위해 컨테이너를 재구축해야 합니다.