글로벌 설치 시 더 이상 comment checker를 찾지 못하는 문제가 없습니다. (#8247)
배포된 확장 프로그램은 쓰기 유사 도구 결과 후 @code-yeongyu/comment-checker를 요청했지만, omo-ai에서는 이를 선언하지 않았으므로, 해당 패키지의 다른 복사본이 없는 설치에서는 Cannot find module '@code-yeongyu/comment-checker' 오류가 발생했습니다. 이제 패키지는 고정된 런타임 종속성으로 이를 선언하며, 매니페스트 테스트는 이 선언을 고정하여 다시 사라지지 않도록 합니다.
도구 카드는 더 이상 모델의 내부 로직을 표시하지 않으며, 읽기 작업은 하나의 "탐색됨" 항목으로 통합됩니다. (#8732) OmO Native 엔진이 senpi 2026.9.23-4로 이동합니다. [143 more lines in file. Use offset=58 to continue.], "limit reached", Full output: <path>, grep 통계, 그리고 읽기에 주입된 project-rules 또는 AGENTS.md 텍스트와 같은 모델을 위한 힌트는 여전히 변경되지 않은 상태로 모델에 도달하지만 더 이상 터미널 UI에 나타나지 않습니다. 연속된 read, grep, find, ls 호출은 이제 Codex가 표시하는 방식으로 렌더링됩니다: Read a.ts, b.ts, Search <pattern>, List <dir>을 나열하는 확장 가능한 하나의 • 탐색됨 항목으로 표시됩니다. 숨겨진 진단도 더 이상 마우스 캡처가 켜져 있을 때 화면을 중복되게 표시하지 않습니다.
programming 스킬의 Rust 지침은 컴파일되며 더 이상 자신과 모순되지 않습니다. (#8739) Rust를 작성하는 에이전트는 빌드되지 않거나 스킬의 엄격한 린트 설정을 위반하는 여러 예제를 받았습니다: Rust 1.83을 선언하는 edition 2024 템플릿, cargo가 거부하는 중복 린트 키, 설정이 거부하는 mem::forget 및 static mut 패턴, 두 개의 serde가 결합할 수 없는 속성을 결합하는 serde 구조체, 그리고 자체 린트 게이트가 실패하고 macOS에서 링크할 수 없는 프로젝트 스캐폴드였습니다. 편집된 모든 예제는 이제 Rust 1.85 및 현재 stable에서 스킬의 설정에 따라 컴파일되며, 스캐폴드는 깔끔하게 빌드, 린트 및 실행됩니다. Rust 참고자료도 부족했던 부분을 얻었습니다: Rust 2024 FFI 문법, 명시적 오버플로우 및 변환 규칙, 검증된 newtype 구성, async trait 및 취소 지침, public-API 이름 지정 및 trait 설계, 매크로 위생, doctests, 그리고 MSRV 확인입니다. 번들된 checker는 이제 #[allow], 자동으로 무시된 결과, async 코드 내 블로킹 호출도 플래그 지정합니다.
모델 프로필은 작업 라우팅과 동일한 구독 우선 순위로 GPT 제공자를 감지합니다. ChatGPT 구독은 openai API/프록시 레인보다 우선이며, non-fast Sol 폴백은 계속 사용 가능합니다. 사용자 정의 프로필 체인은 자신의 제공자와 이유를 선택할 수 있으며, 제공자로 지정된 후보는 더 이상 명명된 제공자를 사용할 수 없을 때 다른 제공자를 통해 자동으로 실행되지 않습니다. (#8735)
메모리 읽기는 에이전트가 기억하는 것으로, 하나의 조용한 알림으로 나타납니다. (#8733) 배경 reflection은 더 이상 자신의 생명 주기를 대화에 그리지 않습니다: Memory reflection started, no changes, 단일 실행 실패, "older completions collapsed" 행은 사라졌으며, 이들의 토스트(Desktop 앱이 경고 행으로도 표시한)도 사라졌습니다. 실제로 메모리를 변경한 모든 것은 이제 동일한 파란색 알림을 사용합니다: 메모리 쓰기는 기억함 · 오늘의 4번째 항목으로 표시되고 Added 22 lines to reference/project/x.md.와 같은 문장 하나가 있고, 삭제는 놓아 주었음으로 표시되며 (Cleared <file>. One less thing to carry.), reflection이 커밋된 것은 기억함 · 반성으로로 표시되고 학습한 첫 번째 문장이 있으며, 거부된 쓰기는 기억되지 않음으로 표시되고 원시 엔진 오류 대신 명확한 이유가 있습니다. 반복된 reflection 실패는 여전히 경고를 발생시킵니다.
모델 프로필은 4가지 레인입니다: Daily/Geeky × Normal/Heavy. (#8735) 이전의 capable 및 deep-work ID는 별칭 또는 마이그레이션 없이 사라졌습니다: 이를 여전히 이름 지은 설정은 daily-normal, daily-heavy, geeky-normal, geeky-heavy를 나열하는 알 수 없는 프로필 알림을 받습니다. Daily · Normal (Claude Opus 5.5 medium, 그 다음 Kimi K3 max, 그 다음 GLM 5.3 max)은 model_profile이 설정되지 않은 새 세션에서 기본값입니다. Daily · Heavy는 Claude Fable 5.1 xhigh입니다. Geeky · Normal은 ChatGPT 구독에서 GPT-6 Sol Fast medium, 또는 Copilot이나 OpenCode에서 GPT-6 Sol medium입니다. Geeky · Heavy는 GPT-6 Astra xhigh입니다. 세션 시작 알림은 레인, 선택된 모델, 그리고 thinking 레벨의 이름을 지정합니다. 이 세션의 모델 레지스트리에 rung이 없으면, 알림은 제공자가 연결 해제되었다고 주장하는 대신 해당 후보들을 나열합니다. --model 플래그, scoped 모델, 재개, fork, 그리고 사용자 model_profiles 오버레이는 이전처럼 동작합니다.
OmO Native와 Codex가 배포하는 모든 브라우저 지침은 이제 omowright를 통해 이동합니다. (#8727) browser 스킬은 omowright 라이브러리를 번들하고(빌드 시 고정된 종속성에서 스테이징, 중첩된 node_modules 없음) 두 엔진 사이를 라우팅합니다: attached 엔진은 사용자가 이미 로그인한 브라우저를 BrowserSkill의 daemon 및 js-eval 커널의 확장 프로그램을 통해 구동합니다 (connectBrowserSkill(), bskSnapshot(), 호출당 bsk 프로세스 없음), 그리고 owned 엔진은 코드가 제어하는 브라우저를 실행합니다 (connectPipe(), connectCloakProfile()를 통한 CloakBrowser) 스냅샷, 좌표 제어, captcha 헬퍼, 네트워크 스누핑, 라우트 및 flight trace가 있습니다. 스킬의 browser-install.mjs는 이제 CLI를 설치하고, daemon을 시작하며, Chrome의 external-extension 메커니즘을 통해 Web Store 확장 프로그램을 등록하므로, 사용자가 남은 유일한 단계는 하나의 Enable 클릭입니다; browser-doctor.mjs는 정확한 상태를 보고합니다. visual-qa, debugging, frontend, review-work, ulw-execute, ulw-loop, ultimate-browsing (Tier 2) 및 두 에디션의 ultrawork 지침은 Bun.WebView 및 손으로 작성한 playwright-core 스크립트 대신 해당 라이브러리를 설명하고; debugging 스킬의 Playwright CLI 참고자료는 references/tools/browser-qa.md로 대체됩니다. 배포된 지침 게이트 (script/no-retired-browser-tools.test.ts)는 이제 해당 에디션의 페이로드에서 playwright-core, playwright-cli, Bun.WebView, launchPersistentContext, chromium.launch도 거부합니다. OpenCode 에디션의 browser_automation_engine 제공자는 변경되지 않습니다.
unspecified-high는 max 대신 medium에서 Claude Opus 5.5를 실행합니다. (#8728) catch-all high-effort 레인은 여전히 Claude Opus 5.5를 선도하며, OmO Native 및 OpenCode 에디션 모두에서 medium thinking으로 실행되므로, 일반적인 다중 파일 작업은 더 이상 모든 호출에서 최대 thinking에 대한 비용을 지불하지 않습니다. 그 폴백은 변경되지 않습니다: GLM 5.3 at max, 그 다음 Kimi K3 at max. 자신의 설정에서 unspecified-high 항목은 여전히 기본값을 이깁니다.
Claude 구독 세션은 선택한 모델을 유지하고, Claude Code가 너무 오래되었는지 알려주며, Windows에서 npm 설치된 Claude Code를 찾습니다. (#8700) 엔진이 senpi 2026.9.23-3으로 이동합니다. --no-model-fallback 및 SENPI_NO_FALLBACK=1은 이제 전체 세션에 적용됩니다: 세션이 처음으로 설정을 저장할 때 삭제되었으므로, Claude Opus 5.5가 "Claude Code 2.1.278 does not support this model"로 거부한 턴은 여전히 Opus 5, 4.8, 4.6으로 이동했고 실행이 제외한 모델에서 답변했습니다. --no-ask-user 및 --theme은 동일한 구멍이 있었습니다. 로컬 Claude Code가 모델에 대해 너무 오래되었을 때, 메시지는 이제 실행된 바이너리와 그것이 어디서 왔는지 (CLAUDE_CODE_EXECUTABLE, OmO가 배포하는 복사본, 또는 PATH의 claude)의 이름을 지정하고 그 바이너리에 대한 수정 사항을 제공합니다, "senpi/omo 업데이트" 다음에 API의 "run claude update"를 항상 말하는 대신. Windows에서, npm i -g @anthropic-ai/claude-code로 설치된 Claude Code (claude.cmd 래퍼)는 이제 번들된 복사본보다 더 최신일 때 발견되고 사용됩니다. senpi의 릴리스는 이제 권장, 기본값 또는 폴백 Claude 모델이 번들하는 Claude Code에 알려지지 않았을 때 실패합니다, 이것이 Opus 5.5가 beta.84-beta.85에서 사용 불가능한 상태로 배포된 방식입니다.
builtin 체인의 GPT 모델은 ChatGPT 구독뿐만 아니라 openai 제공자로 설정되었을 때 OpenAI에서 작동합니다. (#8734) OmO Native에서, 모든 builtin GPT rung (GPT-6 Astra, GPT-6 Sol 및 Sol Fast, GPT-6 Luna Fast, GPT-5.6 Sol, 카테고리 체인에서, explore, librarian 및 plan-reviewer 에이전트, 그리고 deep-work 프로필)은 chatgpt-subscription만 나열했습니다. OpenAI 접근이 API 키이거나, OpenAI 호환 프록시가 openai로 설정된 머신은 이들로부터 GPT 모델을 얻지 못했습니다: explore는 gpt-6-luna-fast를 건너뛰고 claude-haiku-4-5로 넘어갔으며, 이전 rung이 런타임에 실패했을 때 폴백 목록도 모든 GPT rung을 건너뛰었습니다. 이들 각각의 rung은 이제 chatgpt-subscription을 먼저 나열하고 openai를 바로 뒤에 나열하므로, 둘 다 설정되었을 때 구독은 여전히 이기며 이전에 그렇지 않은 것을 토큰당 청구되지 않습니다. OpenCode 에디션에서, quick 카테고리의 gpt-6-luna-fast rung은 다른 모든 GPT rung처럼 openai를 얻습니다.
writing은 그 Claude 모델 중 어느 것도 연결되지 않았을 때 사용 불가이며, 다른 모델에서 실행되지 않습니다. (#8723) writing 체인은 Claude Fable 5.1, 그 다음 Claude Opus 5.5, 그 다음 Claude Opus 4.6입니다. OpenCode 에디션에서, 이들 중 어느 것도 없는 머신은 여전히 task(category: "writing")을 수락했고 세션의 기본 모델에서 실행했습니다. 설치 프로그램은 더 나아갔습니다: OpenAI 전용 설정에서는 writing을 GPT-5.6 Sol로 작성했고, 일치하는 제공자가 없는 설정에서는 opencode/gpt-5-nano 마지막 수단으로 작성했습니다. 이제 OpenCode 런타임은 Category "writing" has no available model로 레인을 거부하고, 설치 프로그램은 생성된 설정에서 writing을 생략합니다. OmO Native는 이미 레인을 사용 불가로 취급했습니다. omo.json의 명시적 categories.writing 모델은 여전히 이를 엽니다.
npm i -g omo-ai@beta