Unknown parameter: input[1].action 오류로 pi 도구 호출 세션을 거부하는 문제를 수정했습니다. (#3201)gemini-3.5-flash의 스트림 thought 누출 문제를 수정했습니다. 모델의 내부 추론 JSON이 보이는 텍스트 스트림으로 누출될 수 있었습니다. 스트림 파서가 중괄호 균형 계산 알고리즘을 사용하여 앞의 thought JSON 블록을 정확하게 분할 및 제거하도록 개선했으며, 이스케이프되지 않은 큰따옴표에 대한 견고한 폴백, 동적 도구명 유도, 빈 응답 재시도를 유발하지 않으면서 후속 텍스트 델타를 보존하는 기능을 추가했습니다.umans-glm-5.1 / umans-glm-5.2가 네이티브 이미지 입력을 지원한다고 광고하는 문제를 수정했습니다. models/info 엔드포인트가 GLM 모델에 대해 supports_vision: "via-handoff"를 보고하는데, 이는 비전이 원본 이미지 블록을 수락하는 대신 별도의 핸드오프 사전 분석 단계를 거친다는 의미입니다. umansSupportsVision이 비어있지 않은 모든 문자열을 네이티브 비전 지원으로 취급했기 때문에 이미지 프롬프트가 GLM으로 직접 전달되어 400 This model does not support image inputs 오류로 거부되었습니다. 헬퍼가 이제 supports_vision === true를 요구하도록 했고, 번들된 GLM 5.1/5.2 행을 텍스트 전용으로 수정했으며, 해당 ID에 대한 오래된 불일치 Umans 캐시 행을 삭제하여 성공적인 새로고침 이전에도 비전-핸드오프 경로가 실행되도록 했습니다. (#3184)tab.waitForSelector를 추가했습니다.tab.waitForNavigation을 추가했습니다.input_image.image_url로 실패하는 문제를 수정했습니다. Codex 바운드 이미지는 이제 PNG/JPEG 호환 형식으로 유지됩니다./model 씽킹 피커가 OpenAI GPT-5.5 최고 수준을 카탈로그 선언 xhigh 대신 max로 라벨링하는 문제를 수정했습니다. (#3194)providers.tinyModel을 구성했을 때 온라인 smol 모델로 자동으로 폴백되어 해결된 API 키를 보유한 제공자(보도자의 경우 OpenRouter)에 청구되는 문제를 수정했습니다. generateSessionTitle이 10초 타임아웃으로 로컬과 온라인을 경쟁시키고 로컬 워커가 null을 반환할 때마다(알 수 없는 키, 다운로드되지 않은 모델, transformers.js 실패) 온라인 요청을 즉시 실행했습니다. 이제 명시적인 로컬 모델 선택이 종료까지 적용됩니다. 로컬 실패 시 세션은 smol 폴백으로 청구하는 대신 제목 없이 유지되고 logger.warn이 기록됩니다. (#3187)environment를 OpenCode env 키로 수락하고, 인수 목록이 비어있을 때 생략하는 문제를 수정했습니다. (#3180)tools.discoveryMode: "all"에 write가 숨겨져 에이전트가 edit을 통해 플랜 파일을 생성하려고 시도하고 멈추는 문제를 수정했습니다. 플랜 모드 진입이 레지스트리가 이를 빌드할 때마다 write를 강제 활성화하여 플랜 모드 프롬프트의 write+edit 명령과 일치하도록 했습니다. (#3165)fs.writeTextFile 기능을 광고할 때 edit 및 patch 도구 쓰기가 ACP 클라이언트의 열린 버퍼를 우회하는 문제를 수정했습니다. 세 가지 쓰기 모드 도구(edit, patch, replace)가 이제 클라이언트 브릿지가 사용 가능할 때 모두 클라이언트 브릿지를 통해 라우팅되므로, 워크스페이스 다시 로드를 요구하는 대신 편집기의 TypeScript 진단 패널이 즉시 업데이트됩니다.app.message.followUp 코드(Ctrl+Q 또는 Ctrl+Enter)에서 제출하여 주 프롬프트 편집기 및 사용자의 app.message.followUp 재맵과 일치합니다. (#2118)session_start 확장 핸들러(또는 초기 트랜스크립트 렌더 이전의 다른 비스트리밍 디스패치)에서 실행될 때 pi.sendMessage({ display: true })가 사용자 정의 메시지를 두 번 렌더링하는 문제를 수정했습니다. ExtensionUiController.#applyCustomMessageDisplay가 새로 유지된 세션 항목에서 채팅을 다시 빌드했고, main.ts의 후속 renderInitialMessages(undefined, { preserveExistingChat: true })가 세션 항목에서 다시 렌더링하고 보존된 채팅 자식을 다시 추가하여 메시지를 중복시켰습니다. 다시 빌드가 이제 renderInitialMessages가 적어도 한 번 완료될 때까지 대기하도록 했습니다(InteractiveModeContext.initialChatRendered를 통해 추적). 그 이후 초기 후 확장 전송은 여전히 이전처럼 다시 빌드하여 tool_result / agent_end / 등의 메시지가 즉시 표시됩니다. (#1955).jj/repo/ 있음, 함께 배치된 .git/ 없음)를 조용히 잘못 처리하는 문제를 수정했습니다. task/worktree.ts#getRepoRoot가 이전에 격리된 서브에이전트 설정에 대해 일반 "Git repository not found" 오류를 발생시켰고, autoresearch/git.ts#ensureAutoresearchBranch가 /autoresearch가 분기 격리 또는 자동 커밋 없이 진행되도록 한 소프트 "Not in a git repository" 경고를 반환했습니다. 두 경로 모두 이제 새로운 jj.isPureJjRepo 헬퍼를 통해 순수 jj 워크스페이스를 감지하고 jj git init --colocate를 가리키는 실행 가능한 Jujutsu 특정 오류를 표시합니다. 함께 배치된 jj-git(동일 루트의 .jj/ 및 .git/)과 일반 Git 체크아웃은 이전과 정확히 동일하게 동작합니다. (#1935)--continue/--resume/인앱 전환)될 때 auto 씽킹 모드가 조용히 삭제되는 문제를 수정했습니다. 세션 로그가 해결된 턴당 수준만 유지했지 auto 선택기는 유지하지 않아 재개가 세션을 마지막 구체적 수준에서 고정하고 다시는 재분류하지 않았습니다. 로그가 이제 구성된 선택기(auto vs 구체적)를 해결된 수준과 함께 기록하여, 재개된 auto 세션은 auto로 유지되고(다음 턴이 재분류할 때까지 보류 중으로 표시) 수동 구체적 핀은 여전히 구체적으로 복원되며, 수준이 auto가 방금 해결한 수준과 일치하는 핀도 포함됩니다..)을 [role: assistant]\n.\n[assistant:end] 블록으로 프레이밍하여 뱅크를 오염시키고, 보존 토큰을 낭비하고, 회상을 저하시키는 문제를 수정했습니다. prepareRetentionTranscript, extractMessages, flattenMessagesForRecall이 이제 공유된 hasSubstantiveContent 술어를 통해 메시지당 최소 하나의 문자 또는 숫자를 요구합니다. (#1806)/resume이 포크된 자식 세션을 포크 태그 없이 렌더링하여 제목이 일치할 때 부모와 구분할 수 없게 하는 문제를 수정했습니다. (#1792)providers.tinyModel instead of silently billing online smol (issue #3187) by @roboomp in #3190전체 변경 로그: v16.1.10...v16.1.11