5.1.20은 공개되지 않았습니다. 플랫폼 패키지가 npm에 도달했지만 omo-ai가 도달하기 전에 Windows 스모크 테스트 실패로 실행이 중단되어, 5.1.21이 아래 변경 사항을 담은 첫 번째 릴리즈입니다. 고아 상태인 oh-my-opencode-<platform>@5.1.20 패키지는 어떤 omo-ai 또는 oh-my-opencode 릴리즈에도 설치되지 않으며, 이번 릴리즈가 해당 latest 태그를 넘깁니다. (#9618)
대기 중인 목표가 오래되거나 실패한 압축 피드백 후에 재개됩니다. 압축이 실행 중인 동안 허용된 목표 메시지가 요약 거부 후에도 대기 중 상태로 유지될 수 있었습니다. 엔진은 이제 정상적인 승인 확인을 통해 이 계속을 시도합니다. 압축 취소는 작업을 재시작하지 않으며, 필수 압축 제한이 계속 적용됩니다. (senpi#2778, senpi#2780)
hideFreeModels: true는 공급자의 무료 모델을 선택기에서 제외하므로 유료 모델을 빠르게 찾을 수 있습니다. models.json의 공급자 블록에 이 설정을 추가하면 작동합니다. 설정하지 않으면 변화가 없습니다. @Bearmancer에게 감사합니다. (senpi#2720, senpi#2773)
Keenable은 웹 검색을 제공할 수 있습니다. websearch.json이 keenable을 허용하며, apiKey가 설정되면 키 기반 API를 사용하고 그렇지 않으면 공개 공유 계층을 사용합니다. 나열된 경우에만 사용되며, 기본 검색 체인은 변경되지 않습니다. @audreyt에게 감사합니다. (senpi#2775)
코드 모드는 각 JavaScript 커널을 자체 프로세스에서 실행할 수 있습니다. isolation.js: "process"로 설정하면, 커널 크래시(세그멘테이션 오류, 메모리 부족, process.exit)가 더 이상 세션을 중단시키지 않습니다. 다음 셀은 새로운 커널에서 시작되고 알림이 크래시를 표시합니다. 기본적으로 꺼져 있으며 크래시로부터 보호하지만 악의적인 코드로부터는 보호하지 않습니다. (senpi#2752)
프론트엔드 스킬이 톤과 상황을 더 많은 컴포넌트 카탈로그로 라우팅합니다. 새로운 참조는 에이전트에 AI 에이전트 UI, 차트, 랜딩 섹션, 브루탈리즘 또는 Tailwind 전용 빌드 등 다양한 톤의 카탈로그를 읽을 위치, 카탈로그의 레지스트리를 탐색하는 방법, 어떤 라이선스와 사이트 약관이 무엇을 허용하는지 알려줍니다. (#9644)
/mcp는 터미널에서 대화형 서버 관리자를 엽니다. 서버 행은 현재 상태에 사용 가능한 작업을 제공합니다. 활성화 또는 비활성화, 노출 변경, 테스트, 재연결, 그리고 로그인 또는 로그아웃 등입니다. 도구, 상세 및 로그 뷰를 함께 사용할 수 있습니다. 신뢰된 전역 및 프로젝트 서버만 편집할 수 있으며, 편집은 나머지 설정을 유지합니다. 가져온 서버, 확장 서버, 스킬 서버, 신뢰되지 않은 프로젝트 서버는 읽기 전용으로 유지됩니다. 비-TUI 클라이언트는 상태 텍스트를 받습니다. @wuhaoyujerry에게 감사합니다. (senpi#2716, senpi#2747)
오래 재시도된 요청이 11분 후에 더 이상 잘리지 않습니다. 재시도된 요청이 스트리밍을 시작하면 재시도 감시자가 타이밍을 중단하므로, 긴 답변, 도구 호출 또는 추가 턴이 더 이상 660초에 중단되지 않습니다. 시작되지 않은 재시도는 여전히 종료되며 그렇다는 메시지가 표시됩니다. (senpi#2804, senpi#2805)
Windows 릴리즈 스모크 테스트는 잠시 보유된 체크아웃을 허용합니다. 체크아웃의 .omo를 옆으로 이동하면 파일 스캐너가 여전히 핸들을 보유하는 동안 EPERM으로 실패할 수 있어서 5.1.20 릴리즈를 중단했습니다. 스모크 테스트는 이제 해당 이름 변경을 약 12초 동안 재시도하고, 여전히 실패하면 디렉터리를 보유하고 있는 것으로 확인할 수 있는 프로세스를 표시합니다. (#9618, #9657)
게이트웨이가 강제된 도구 선택을 거부할 때 세션의 첫 번째 턴이 더 이상 멈추지 않습니다. OpenAI 호환 게이트웨이가 성공한 스트림 내에서 강제된 tool_choice를 거부하면, 요청은 이미 오류로 반환된 동일한 거부의 경우와 마찬가지로 이를 제외하고 한 번 재시도되므로 더 이상 continue를 입력할 필요가 없습니다. (senpi#2801, senpi#2806)
세션 시작 중 다시 로드는 확장을 중단하는 대신 대기합니다. 시작 핸들러가 여전히 실행 중인 동안 요청된 다시 로드는 연기되므로, 나중 핸들러가 더 이상 stale extension generation after reload 오류로 실패하지 않습니다. @Bearmancer에게 감사합니다. (senpi#2719, senpi#2771)
Codex 플러그인 업데이트는 오래된 캐시된 훅을 선택하는 것을 중단합니다. 성공한 설치는 오래된 선택 가능한 캐시 버전을 제거하므로, Codex를 다시 시작하면 요청된 버전과 해당 훅 신뢰를 선택합니다. 실제 훅 변경은 여전히 검토가 필요합니다. (#9631, #9632)
깨우기 알림은 대기가 끝난 이유를 설명하고 경과된 대기 시간을 보고합니다. 이들은 타이머 발생과 백그라운드 작업 종료를 구분합니다. 캐시 수치는 누적 추정치로 표시되며, 압축 로그에는 세션 ID가 포함되어 여러 세션이 에이전트 디렉터리를 공유할 때 이벤트를 속성화할 수 있습니다. (senpi#2778)
허용되었지만 무시된 코드 모드 설정이 이제 효과를 발휘합니다. kernelTools.enabled: false는 JavaScript tool(fn)과 Python @tool을 비활성화합니다. languages.pyInterpreter는 정확한 Python 실행파일을 선택합니다. 사용 불가능한 경로는 설정을 이름 지은 경고와 함께 Python을 사용할 수 없게 합니다. prompt.advertiseHelpers: true는 도우미 설명서 포인터를 평가 설명에 추가합니다. 알 수 없는 설정과 기본값으로 폴백 경고는 이제 사용자에게 도달합니다. (senpi#2763, senpi#2764)
프로젝트에서 선택한 Python 실행파일은 세션 시작 전에 프로젝트 신뢰가 필요합니다. 인터프리터를 이름 지은 코드 모드 설정은 이제 프로젝트 MCP 설정과 동일한 신뢰 경계를 따릅니다. (senpi#2772)
RPC 모델 목록이 다른 세션에서 변경한 자격증을 받아들입니다. 새로운 모델 목록 요청은 세션을 다시 열지 않고도 새로 연결되거나 제거된 공급자를 반영하여, 공급자 연결 후의 빈 목록 경우를 수정합니다. (senpi#2769, senpi#2770)
모델 패밀리 폴백은 OpenGateway와 Vercel AI Gateway에 대해 명시적 선택자가 필요합니다. 이들 게이트웨이 중 하나의 자격증이 있으면 더 이상 정규화되지 않은 폴백이 조용히 이를 선택하지 않습니다. (senpi#2774, senpi#2776)
/btw 답변은 Markdown으로 렌더링됩니다. 제목, 굵은 텍스트, 인라인 코드, 목록, 코드 블록이 사이드 패널에 표시되고 원본 마크업을 노출하지 않습니다. @nahwan-kim에게 감사합니다. (senpi#2766)
OmO는 senpi 2026.10.10-3에서 실행됩니다. 전체 엔진 노트: senpi 2026.10.10-2와 senpi 2026.10.10-3.
GPT-6 Astra는 더 짧은 목표 계속 프롬프트를 받습니다. 이제 목표 계약(목표, 허용된 턴 끝, 차단된 하한)만 포함합니다. 다른 모델은 전체 프롬프트를 유지합니다. (senpi#2796)
bun add -g omo-ai