SDK의 주요 변경 사항
성능 문제로 인해 데이터 모델에 몇 가지 주요 변경 사항을 만들어야 했습니다.
Diff 메타데이터
edit 및 patch 도구의 메타데이터에 포함된 diff는 더 이상 전체 파일 내용을 포함하는 to와 from 필드를 포함하지 않습니다. 이제 통합 diff를 포함하는 patch 필드만 포함됩니다.
또한 사용자 메시지와 세션 diff에 포함된 모든 스냅샷 diff는 이 형식을 따릅니다.
UserMessage.variant
이전에는 사용자 메시지에 variant 필드가 있었으나, 이제는 model 아래에 중첩되므로 userMessage.model.variant입니다.
Core
- OTLP observability export 지원이 추가되었습니다.
- 실패한 웹 fetch가 오래된 타임아웃을 남기는 문제를 수정했습니다.
opencode login 전송 오류 메시지를 개선했습니다.
- Alibaba 공급자 rate-limit 오류를 즉시 실패하는 대신 재시도하도록 변경했습니다.
- 모델 변형을 선택된 모델로 범위를 지정하여 유지했습니다.
- 전체 HTTP proxy 지원이 추가되었습니다.
- OpenRouter 공급자 문제를 수정했습니다.
- GitHub Copilot Anthropic reasoning 수준을 정렬하고 잘못된 Qwen 변형을 제거했습니다.
- 네이티브 프로젝트 config를 사용하여 TypeScript LSP 메모리 사용을 줄였습니다. (@derekbar90)
TUI
- "모델 변형 전환"을 위한 keybinding 옵션이 추가되었습니다. (@ariane-emory)
- 첨부 파일에 대한 PDF 드래그 앤 드롭이 추가되었습니다. (@gitpush-gitpaid)
- 거부되지 않은 권한 프롬프트를 자동 승인하기 위한
opencode run --dangerously-skip-permissions가 추가되었습니다.
Desktop
- 더 명확한 제목, 네비게이션 및 진행 상태로 서브에이전트 세션이 개선되었습니다.
- 자동 권한 수락을 설정으로 이동했습니다.
- 첨부 파일 칩에 전체 파일 이름을 표시했습니다.
4명의 커뮤니티 기여자에게 감사합니다:
- @derekbar90:
- fix(lsp): MEMORY LEAK: ensure typescript server uses native project config (#19953)
- @mchenco:
- docs: update Cloudflare provider setup to reflect /connect prompt flow (#20589)
- @gitpush-gitpaid:
- feat(opencode): Add PDF attachment Drag and Drop (#16926)
- @ariane-emory:
- fix(tui): use sentence case for theme mode command palette items (#21192)
- feat(tui): allow variant_list keybind for the "Switch model variant" command (#21185)