변경사항
에이전트의 계획과 진행 상황을 요청 없이 볼 수 있으며, 약한 모델은 더 이상 중간에 멈추지 않습니다. (senpi#2121, #8847) OmO 네이티브 엔진이 senpi 2026.9.24-3으로 이동합니다. 세션의 첫 번째 작업 요청이 단계별 할일 목록으로 열리며, 모든 할일 업데이트가 원래 요청, 진행 중인 작업 및 다음 작업의 이름을 지정합니다. 계획이 생성되거나 단계가 종료되거나 작업이 완료되면, 에이전트는 무엇을 요청했는지, 지금 알아야 할 사항, 무엇을 하고 있는지, 다음에 무엇이 올지에 대한 짧은 보고서를 작성합니다. 최종 메시지는 해당 보고서를 사용하여 무엇이 완료되었고 무엇이 완료되지 않았는지 명확하게 표시합니다. 턴이 아직 열린 할일 항목과 함께 끝나고 당신을 위한 질문이 없으면, 에이전트는 이를 완료하라는 한 번의 알림을 받습니다. 생각과 함께 강제 첫 번째 도구 호출을 거부하는 모델은 첫 번째 턴에 실패하는 대신 정상적으로 계속됩니다. 첫 번째 턴 계획과 턴 종료 상기는 todo.firstTurnPlan 및 todo.turnEndBackstop 설정으로 끌 수 있습니다.
OpenCode 에디션에서 OmO 네이티브로 이동하면 이제 설정을 한 번에 옮깁니다. (#8815, #8816, #8817, #8799, #8803) omo setup은 OpenCode 설치가 이미 알고 있는 것을 읽고 한 번의 확인 후 옮깁니다: omo가 지원할 수 있는 모든 제공자의 API 키(OpenCode zai-coding-plan 키는 zai에 올라갑니다), opencode.jsonc의 사용자 정의 OpenAI 또는 Anthropic 호환 제공자 및 해당 모델과 키, MCP 서버, 전역 스킬, 기본 모델, 그리고 각 카테고리 또는 에이전트에 지정한 모델. 먼저 단일 요약을 출력합니다. 복사할 수 없는 OAuth 로그인은 복원하는 /login <provider> 명령과 함께 나열되며, 옮기지 않는 모든 것은 이유를 표시합니다: 명령 대체를 실행하는 MCP 서버, SKILL.md가 없는 스킬 폴더, OpenCode의 small_model, build 및 plan 주요 에이전트, 또는 omo가 가지지 않은 에이전트 이름. 다시 실행해도 이미 있는 것은 변경하지 않습니다.
마이그레이션된 사용자는 첫 번째 위임이 실패하기 전에 해당 제공자가 제공하는 작업 카테고리를 봅니다. (#8857) omo doctor는 연결된 제공자가 실행할 수 있는 카테고리를 출력하고, 각 카테고리에서 할 수 없는 경우 연결할 제공자 또는 이를 해결하는 categories.<name>.model 핀을 표시합니다; omo setup은 가져올 제공자의 동일한 내용을 표시합니다. Z.AI 전용 키는 10개 기본 제공 카테고리 중 1개를 제공하고, Anthropic 전용 로그인은 10개 중 7개를 제공합니다. 목록은 task 도구가 스폰을 관리하는 동일한 리졸버에서 가져오므로, doctor가 표시하는 것이 위임이 하는 것과 일치합니다.
네이티브 설치 관리자는 이동을 완료하며 할일 항목을 남기지 않습니다. (#8823, #8793) bunx oh-my-openagent@beta install --platform=native는 이전 패키지에서 남겨진 부실한 전역 omo(및 ~/.local/bin의 Codex Light 래퍼)를 제거하고, omo-ai를 설치하고, PATH의 omo가 실제로 omo-ai인지 확인한 후, omo setup을 당신을 위해 실행할 것을 제안합니다. 충돌하는 명령만 제거하고 패키지는 절대 제거하지 않습니다. 누지의 명령, /native 대화 및 설치 관리자 힌트가 표시하는 것이 이제 플러그인의 채널을 따릅니다: 베타 버전에서는 @beta, 안정 릴리스에서는 기본 이름.
omo update는 업데이트합니다. (#8821) 이전에는 패키지 관리자 명령을 출력하고 종료했습니다. 이제 해당 명령을 omo를 설치한 패키지 관리자로 실행하고, 출력을 스트리밍하고, omo <before> -> <after>를 보고합니다. omo update --dry-run은 여전히 출력만 합니다.
omo doctor는 OpenCode 에디션이 남긴 것을 알고 있습니다. (#8818) PATH에서 omo-ai 앞에 있는 또 다른 omo가 있거나 구식 oh-my-openagent / oh-my-opencode 패키지가 여전히 전역으로 설치된 경우 각각을 수정하는 명령과 함께 경고하고, OpenCode가 여전히 플러그인을 로드하는 경우 의도적으로 유지하거나 제거할 수 있도록 기록합니다.
Geeky · Normal은 GPT-5.6 Sol을 중간 난이도로 실행합니다. (#8807) geeky-normal 모델 프로필은 이제 ChatGPT 구독, OpenAI API, Copilot 또는 OpenCode의 GPT-5.6 Sol(중간)을 이 순서대로 적용하며, 이전의 GPT-6 Sol Fast 및 GPT-6 Sol이 아닙니다. 더 이상 GPT-6 모델로 폴백하지 않습니다: 해당 제공자 중 어느 것도 GPT-5.6 Sol을 제공하지 않으면, 세션은 모델을 유지하고 사용할 수 없음 공지를 출력합니다. Geeky · Heavy, Daily 레인 및 권장되는 기본값은 변경되지 않습니다.
ulw-research는 대상이 이미 형식을 명시할 때 형식을 묻기를 중단하고, 전달하기 전에 보고서를 증명합니다. (#8611) 연구 실행은 첫 번째 웨이브 전에 멈추고 형식을 선택하기를 기다렸으며, "스레드에 게시하세요" 또는 지난달 보고서를 가리켰을 때도 그렇습니다. 이제 요청과 결과가 가는 위치에서 형식을 도출하고, 최대 3개 질문만 아직 누락된 것에 대해 물으며(권장되는 기본값을 먼저, 자유 텍스트 "형식 설명" 답변, 그리고 "상관없음"), 대기하지 않고 수집을 시작합니다. 명시적으로 명시한 선호도 또는 두 실행에서 동일하게 선택한 것은 기억되므로 다음 요청은 먼저 이를 제안합니다. 문서를 가리킬 때, 색상, 글꼴, 중단점, 섹션 골격 및 인용 스타일은 다시 입력하는 대신 기계적으로 보고서의 디자인 사양에 복사됩니다. 페이지를 누구도 보기 전에, 결정론적 확인은 렌더링된 보고서를 깨진 한국어 줄 바꿈, 팔레트 밖의 색상, 이모지, em 대시, 과도하게 긴 제목, 출처 또는 계보 태그가 없는 숫자, 캡션 그림 또는 축 레이블이 없는 차트, 세리프 한국어 글꼴, 인용되지 않은 섹션, 누락된 출처 또는 방법 섹션, 깨진 이미지 및 레이아웃 오버플로우를 읽습니다. 수리는 3번 시도, 2번 개선 없음, 반복된 결함 집합 또는 15분 후에 중지되며, 보고서는 남은 결함이 나열된 상태로 전달되며, 그 중 하나가 콘텐츠 자체가 불완전함을 의미하지 않는 경우입니다. 모든 약속된 형식은 해당 세션에서 전달, 건너뛰기 또는 불가능할 때까지 추적되며 그 이유가 있고, 종료 브리핑(출처, 도메인, 분, 배포 가능물, 게이트, 남은 결함)은 회상이 아닌 해당 기록에서 인쇄됩니다.
/resume 선택 도구는 큰 세션 디렉터리를 2초 이내에 엽니다. (senpi#2087) OmO 네이티브 엔진은 senpi 2026.9.24-2로 이동합니다. 천 개 이상의 세션이 있는 세션 디렉터리는 이제 15~29초 대신 콜드 상태에서 0.6~2.0초 안에 열립니다: senpi는 세션 디렉터리 옆에 .session-summaries.index를 기록하고 다음 시작에서 순차 패스로 읽습니다. 키 입력 당 필터링은 75~235ms에서 0.6~27ms로 떨어집니다: 검색 텍스트는 목록 시간에 세션 행당 한 번 캐시되며, 퍼지 매칭과 경로 해석은 모두 키 입력당 한 번이 아닌 목록당 한 번 실행됩니다.
수정됨
이제 "OpenCode에서 마이그레이션" 가이드가 있습니다. (#8822) docs/guide/migrating-from-opencode.md는 OpenCode 에디션 사용자를 한 곳에서 이동을 통해 안내합니다: 레거시 패키지가 여전히 omo를 소유하는 방법, 설치 관리자 라인 및 수리하는 것, omo setup이 옮기는 것, /login이 필요한 것, 거부하거나 남겨두는 것 및 그 이유, OpenCode 습관 대 omo 명령 표, OpenCode 플러그인과 함께 유지, 그리고 업데이트 및 제거 순서. 설치 가이드, README, /native 대화의 "가이드 열기" 및 설치 관리자의 설치 후 힌트는 이것을 가리킵니다.
에이전트-모델 매칭 가이드는 OmO 네이티브가 실제로 실행하는 모델을 설명합니다. (#8805) 가이드는 이제 대부분의 사람들이 건너뛸 수 있으므로 시작하여 말합니다. OmO 네이티브는 연결한 제공자에서 주 모델을 선택하고 모든 카테고리와 큐레이션된 에이전트는 고유한 체인을 해석합니다. 권장되는 섹션은 권장되는 사다리의 6가지 모델(Claude Opus 5.5, Claude Fable 5.1, Kimi K3, GPT-6 Astra, GPT-6 Sol, GLM 5.3)의 이름을 지정하며 GPT-5.6 Sol이 아닙니다; 프리셋 표는 Senpi가 선택하는 모든 프리셋을 나열하며, 전체 GPT-6 제품군이 실행하는 gpt-6-astra 프리셋 포함; 카테고리 표는 ultrabrain, deep-low 및 deep-high의 chatgpt-subscription 기본값을 표시합니다; 그리고 카테고리 가용성 게이트, ulw 검토자 뒤의 카테고리, 그리고 대화형 TUI가 model_profile을 무시한다고 문서화합니다. 개요 및 설치 가이드는 GPT-5.6 Sol을 권장하기를 중단하고 폐기된 Capable 및 Deep 작업 프로필의 이름 지정을 중단합니다.
브라우저 확장 설정은 더 이상 사용하지 않는 Chrome에 설치하지 않습니다. (#8784) browser 스킬은 디스크에 프로필을 남긴 모든 Chromium 브라우저에 BrowserSkill 확장을 등록했으며 먼저 Chrome을 다시 시작하라고 물었습니다. 이제 실제로 작업하는 하나의 브라우저를 선택합니다 - 사용 중일 때는 기본 브라우저, 그렇지 않으면 사용 중인 유일한 브라우저 - 그리고 해당 위치에만 설치하며 해야 할 한 단계에서 해당 브라우저의 이름을 지정합니다. Arc, Dia, Vivaldi, Opera, Comet 및 Naver Whale은 Chrome, Edge, Brave 및 Chromium과 함께 인식됩니다. 말할 수 없을 때(기본값이 Safari 또는 Firefox이거나 여러 브라우저를 사용하는 경우)는 아무것도 설치하지 않으며 에이전트는 어느 것을 사용할지 물어본 다음 답변을 기억합니다.
OpenCode 플러그인의 "다시 시작하여 적용"이 이제 새 버전을 로드합니다. (#8801) OpenCode는 모든 npm 플러그인을 캐시 샌드박스에 유지하고 태그를 다시 확인하지 않고 재사용했으므로, @latest 또는 @beta의 설치는 처음 다운로드한 버전에 머물렀으며, 아무리 자주 다시 시작해도 그렇습니다. 플러그인은 이제 태그에 지연된 샌드박스를 지우므로, 업데이트 토스트가 요청하는 다시 시작이 릴리스를 선택합니다.
설치 관리자를 다시 실행하면 하나의 TUI 플러그인 항목이 남습니다. (#8798) 이전 설치 관리자가 작성한 tui.json은 새 항목 옆에 oh-my-openagent@latest 항목을 유지했으며, TUI는 플러그인을 두 번 로드했습니다. 설치 관리자는 이제 자체 항목을 교체합니다.
GLM 모델 프로필은 가져온 zai 키를 사용합니다. (#8824) 권장 및 Daily · Normal은 OmO 네이티브 엔진이 등록하지 않는 OpenCode의 제공자 id를 찾았으므로, 가져온 zai 키는 GLM 5.3을 선택하지 않았습니다. GLM 단계는 이제 엔진의 zai 및 zai-coding-cn 제공자의 이름을 지정합니다.
omo -p 및 --mode json은 stderr을 깨끗하게 유지합니다. (#8819) 모델 프로필 선택 및 기타 구성 요소 진단은 더 이상 stderr에 개체로 인쇄하지 않습니다; OMO_DEBUG=1을 설정하여 확인합니다.
구성되지 않은 회상 카테고리는 반복되는 실패가 아닌 하나의 공지입니다. (#8820, #8811) 연결된 제공자 중 어느 것도 Kibitzer 회상 카테고리를 제공하지 않으면, 세션은 카테고리의 이름, 필요한 제공자, 두 가지 수정(/login <provider> 또는 omo.json의 카테고리에 대한 모델 핀 설정)을 표시하는 하나의 경고를 표시하며 Kibitzer gate failed ... after 3 consecutive failures 대신입니다. 사용 가능한 모델이 없는 작업 카테고리는 동일한 수정의 이름을 지정합니다.
팁과 온보딩은 실제로 가진 명령을 알려줍니다. (#8794) 팁과 온보딩 스킬은 이제 PATH에 없는 senpi 대신 OmO 네이티브에서 omo --list-tips 및 omo --onboard를 말합니다.
기존 [codex] codegraph 설정은 더 이상 설치 관리자를 중단하지 않습니다. (#8166) 폐기된 키는 이제 ~/.omo/omo.jsonc를 작성하기 전에 검증이 실패하는 대신 구성 마이그레이션 중에 삭제됩니다.
세션 중에 만들어진 메모리 커밋은 더 이상 해당 세션의 시스템 프롬프트를 다시 쓰지 않습니다. (#8470) 메모리 블록은 세션당 한 번 컴파일되며; 나중의 커밋은 기존 메모리 공지의 한 줄로 모델에 도달하므로, 캐시된 프롬프트는 손상되지 않습니다.
- 05dcba6 Merge pull request #8863 from code-yeongyu/release/v5.0.0-beta.90-source-state
- fa536cb Merge pull request #8859 from code-yeongyu/docs/8857-category-coverage-note
- 569b3bc docs(changelog): note the category-coverage report in setup and doctor (#8857)
- 5d58e20 Merge pull request #8858 from code-yeongyu/feat/8857-category-coverage
- 6385f8b fix(omo-native): let the engine's anthropic-subscription check decide category coverage
- 0e5d8d2 Merge remote-tracking branch 'origin/feat/8857-category-coverage' into feat/8857-category-coverage
- 8e21c67 test(omo-native): require the category-coverage runtime in the packed omo-ai payload
- 86c2fd9 Merge remote-tracking branch 'origin/dev' into feat/8857-category-coverage
- ae4d7c9 docs(changelog): record task-category coverage in omo doctor and omo setup (#8858)
- 1c39f32 feat(omo-native): omo doctor and omo setup report which task categories the connected providers serve
- 02509f3 Merge pull request #8856 from effortprogrammer/docs/8822-migrating-from-opencode
- 0bc2cc7 docs(changes): reference PR #8856 and match the corrected migration guide
- 93dc2a2 docs(guide): scope the legacy omo command to late 4.x and list every provider refusal
- d5739c1 docs(guide): correct the /logout, /share and /export rows of the habit table
- 7762d4b docs(guide): remove the legacy package with the manager that installed it
- 2226dad docs(guide): say that omo's first session moves a 4.19.x plugin's config file
- 97ce9e0 docs(changelog): add the Migrating from OpenCode guide to Unreleased (#8822)
- 0730bc6 test(audit): file the migration guide's omo command strings under docs
- 9f09c40 Merge remote-tracking branch 'origin/dev' into docs/8822-migrating-from-opencode
- 987e5fa docs(changelog): record the Migrating from OpenCode guide (#8822)
- b6641a8 fix(cli): point the OmO Native guide link at the migration page
- 90f8f4e docs(guide): add Migrating from OpenCode and link it from the install guide and READMEs
- 3bb07a4 Merge pull request #8855 from effortprogrammer/docs/changelog-opencode-migration-cluster
- b3a42d1 Merge pull request #8854 from effortprogrammer/chore/changes-md-stray-diff3-markers
- 1c05d6d docs(changelog): release notes for the OpenCode to OmO Native migration work
- cf337a2 chore(changes): drop 24 stray diff3 base markers from changes.md
- c501c05 Merge pull request #8851 from effortprogrammer/feat/8817-setup-migration-summary
- 52d98f9 test(omo-native): assert the refused-server and skipped-provider plan fields
- 63bc41d fix(omo-native): keep a key the credential stage wrote in the same setup run
- 69bbfae test(omo-native): categorize the setup-summary fixture's omo path in the command-string audit
- 203e8a7 Merge remote-tracking branch 'origin/dev' into feat/8817-setup-migration-summary
- 1972edd docs(changelog): record the one-summary, one-consent omo setup (#8851)
- 1a6765b docs(omo-native): describe the one-summary, one-consent omo setup
- 9fed552 feat(omo-native): omo setup prints one migration summary and asks one consent for the whole plan
- 2a9210a Merge pull request #8846 from effortprogrammer/feat/8816-setup-model-choices
- c9b2d8a Merge remote-tracking branch 'origin/dev' into HEAD
- c49cafe test(omo-native): categorize the model-choices fixture's omo path in the command-string audit
- f0b61ba Merge pull request #8849 from code-yeongyu/feat/8847-handoff-output-discipline
- e1cf736 Merge remote-tracking branch 'origin/dev' into HEAD
- 48a59c3 refactor(prompts): drop the Grok 4 Sisyphus restate ban that fought the handoff Ask field
- 7804afa refactor(prompts): drop the GLM restate ban and give Grok 4 Sisyphus the handoff block
- 8edb5eb refactor(skills): report at handoffs with the Ask/wanted/For you/Now/Next block instead of state-change-only output
- 859edbe Merge pull request #8848 from effortprogrammer/fix/windows-path-semantics-migration
- 5e80210 fix(omo-native): carry a model on an opencode OAuth provider to the provider setup says to /login to
- 3d631bc fix(cli): resolve a POSIX PATH with POSIX rules on any host
- 836d4ab fix(omo-native): keep the permissions of a config file the model-choice stage edits
- 96f1a1e test(omo-native): make the model-choice dry-run and non-object-path tests fail for their regressions
- c94ca31 Merge remote-tracking branch 'origin/dev' into feat/8816-setup-model-choices
- db0b11c docs(changelog): record the omo setup model-choice import (#8846)
- 1e6ee7c docs(omo-native): describe the model-choice import in omo setup
- e67740e feat(omo-native): omo setup carries OpenCode model choices into settings.json and the [native] block
- 2ab89ab Merge pull request #8811 from effortprogrammer/fix/kibitzer-category-unavailable-notice
- 0363cfe Merge remote-tracking branch 'origin/dev' into HEAD
- 1de1f4a Merge pull request #8836 from effortprogrammer/feat/8815-setup-custom-providers
- 4085572 Merge remote-tracking branch 'origin/dev' into HEAD
- 9710425 Merge pull request #8827 from effortprogrammer/fix/8824-chain-provider-ids-match-engine
- 9884e43 Merge remote-tracking branch 'origin/dev' into HEAD
- 26565c5 Merge remote-tracking branch 'origin/dev' into feat/8816-setup-model-choices
- 354f3c6 Merge remote-tracking branch 'origin/dev' into HEAD
- 01a12a5 Merge pull request #8831 from effortprogrammer/fix/8818-doctor-migration-aware
- a4ee0e9 Merge remote-tracking branch 'origin/dev' into HEAD
- a1cdf23 Merge remote-tracking branch 'origin/dev' into HEAD
- 59a5e4a Merge remote-tracking branch 'origin/dev' into HEAD
- 2a04ce6 Merge pull request #8826 from code-yeongyu/fix/8819-component-info-logs-debug-gated
- 7c1ede5 Merge remote-tracking branch 'origin/dev' into HEAD
- d20e9a0 Merge remote-tracking branch 'origin/dev' into HEAD
- f9843a8 Merge pull request #8830 from effortprogrammer/feat/8821-omo-update-executes
- 67d108b Merge remote-tracking branch 'origin/dev' into HEAD
- 67336e3 Merge remote-tracking branch 'origin/dev' into HEAD
- 07452ed Merge pull request #8828 from effortprogrammer/feat/8823-native-install-offers-setup
- 04437f8 Merge remote-tracking branch 'origin/dev' into HEAD
- 18afe2c Merge remote-tracking branch 'origin/dev' into HEAD
- f686e7c fix(omo-native): write custom providers through a symlinked models.json
- 6cc2c1b fix(omo-native): keep the pre-setup auth.json backup when two stages write it in one millisecond
- 7f8223a Merge remote-tracking branch 'origin/dev' into HEAD
- 0123f5f Merge remote-tracking branch 'origin/dev' into HEAD
- 61e5aa3 test(cli): categorize the setup-offer fixtures' sandbox omo path in the command-string audit
- dc185c0 fix(omo-native): refuse a custom provider baseURL holding ${NAME}
- bb702bb fix(omo-native): send a custom provider's cross-protocol model to the url opencode uses
- 0e3d03b fix(omo-native): type runSelfUpdate options so the package typecheck passes
- ed0fb06 Merge pull request #8833 from code-yeongyu/fix/8470-pin-memory-projection
- 38412b0 Merge remote-tracking branch 'origin/dev' into HEAD
- 4664305 Merge remote-tracking branch 'origin/dev' into HEAD
- 2d0df42 Merge remote-tracking branch 'origin/dev' into HEAD
분량 관계로 이후 내용은 번역에서 제외했습니다. 전체 내용은 위 원문 링크에서 확인하세요.