OpenCode v1.17.12 の変更点
OpenCode Changelog v1.17.12 は、Claude Sonnet 5 の適応的思考機能の強化や MCP サーバー認証の改善など、AI エージェント連携とデスクトップ環境の安定性を大幅に向上させる更新です。
キーポイント
MCP(Model Context Protocol)認証と接続性の強化
OAuth スコープの要求やリフレッシュトークンの取得、サーバー無効化後の再接続機能など、MCP サーバーとの連携をより堅牢かつ自動化可能にしました。
Claude Sonnet 5 の適応的思考とモデル選択の最適化
Claude Sonnet 5 で「適応的思考」機能を有効にし、プロバイダー間で小規模モデルのデフォルト選択を改善してコスト効率とパフォーマンスを両立させました。
デスクトップ環境の UX とセッション管理の向上
トークンやコストの可視化、ワークスペース制御、プロンプト内のリファレンス補完機能を追加し、ユーザーが複雑なセッションをより直感的に管理できるようにしました。
TUI(ターミナル UI)と SDK の機能拡張
権限承認の自動許可モード「yolo mode」の実装や、ライブイベントストリームの追加により、開発者向けの自動化とリアルタイム監視能力を強化しました。
重要な引用
Enable adaptive thinking for Claude Sonnet 5.
Prefer MCP content responses over structured output when both are present.
Add a yolo mode to auto-approve permissions.
影響分析・編集コメントを表示
影響分析
この更新は、AI エージェントが外部ツール(MCP サーバー)と安全かつ効率的に連携するための基盤を強化するものであり、実務レベルでの自動化運用を後押しします。特に認証フローの改善とコスト可視化機能は、企業環境における大規模な AI ツール導入や管理の障壁を下げる重要な一歩となります。
編集コメント
MCP プロトコルの実装が本格化する中、認証フローの細部まで手厚く改善された点は、開発者にとって非常に喜ばしい更新です。特に「yolo mode」のようなユーザビリティ向上機能は、自動化スクリプトの実用性を高めるでしょう。
コア
バグ修正
- クロード・ソネット 5 に対して適応的思考を有効化しました。
- 構造化出力と MCP コンテンツレスポンスの両方が存在する場合、MCP コンテンツレスポンスを優先します。
- OAuth 後もサーバーが無効化されていた場合でも、MCP サーバーへの再接続を行うようにしました。(@MaxAnderson95)
- OAuth 時に MCP リフレッシュトークンのスコープを要求するようにしました。
- 一般的な失敗表示の代わりに、MCP OAuth の完了エラーを表示するようにしました。
- キャッシュされたリモートスキルを更新しました。
- スキルリソースパスを保持するようにしました。
- プロバイダー間でより適切なデフォルトの小規模モデルを選択するようにしました。
- MCP 認証ステータスを各サーバー URL にスコープ指定しました。
TUI(ターミナルユーザーインターフェース)
改善点
- パーミッションを自動承認する「yolo モード」を追加しました。
- 外部で提供される TUI 接続を通じて ServerAuth ヘッダーを渡すようにしました。(@OpeOginni)
デスクトップ版
改善点
- コンポーザー内で MCP リソースの補完機能を追加しました。
- 新しいセッション開始時にワークスペース制御機能を追加しました。
- セッションコンテキストに保存されたトークンとコストの合計を表示するようにしました。(@OpeOginni)
バグ修正
- プロンプト内の設定済み参照を補完できるようにしました。
- コンポーザーがフォーカスを回復した際にプロンプトカーソルを復元するようにしました。
- 再起動間隔で最後のアクティブなデスクトップ URL を記憶するようにしました。
- セッションのプロモート時に選択されたモデルを保持するようにしました。(@usrnk1)
- 並行イベント発生中にセッションページを同期状態に保つようにしました。
- デスクトップの接続プロバイダーダイアログ内で通常の認証入力プロンプトをサポートするようにしました。(@OpeOginni)
- 非表示になったターミナルタブがハングアップしたり、正しくリサイズされたりするのを防止しました。
- セッション設定での自動承認機能を再有効化しました。
- セッションタブを正しいサーバーにスコープ指定するようにしました。
- 選択されたホームプロジェクトとサーバーを記憶するようにしました。
SDK
改善点
- リアルタイムイベント購読ストリームの追加。
- アクティブなセッションへの SDK アクセスの追加。
- イベントストリーミング、割り込み、メッセージ検索などのセッションランタイム操作の復元。
- ページネーション対応の永続的セッション履歴の追加。
- セッション権限リクエストの作成および取得エンドポイントの追加。
バグ修正
- SSE ストリーム内での V2Event 名の保持。
- 新しいプロンプト後の埋め込みセッション実行の再開。
- V2 ランタイムのツール結果の改善と、重複するモデル切り替えイベントの回避。
- URI を介して送信されたプロンプト添付ファイルの MIME タイプの解決。
11 名のコミュニティ貢献者に感謝します:
- @usrnk1:
feat(app): セッション UI のスタイルを洗練 (#33860)
- fix(desktop): セッション昇格時の選択済みモデルの保持 (#34466)
- fix(desktop): コンテキストメニューボタン/タブの断続的な問題の修正 (#34420)
- feat(desktop): セッションタイトルにホバー背景を追加し、シングルクリックで編集可能に (#34589)
- feat(app): アクティブなタブ周囲の区切り線を非表示 (#34591)
- feat(desktop): インラインセッションタイトルの編集を洗練 (#34607)
- feat(desktop): エラービューをドラッグ可能に (#34627)
- feat(desktop): ツールチップとセッション検索の洗練 (#34632)
- @arvsrn:
feat(app): デザインシステムへの更新 (#34066)
- feat(app): ホーム画面のアライメントおよびマークダウンスタイルの更新 (#34172)
- feat(app): 軽微なビジュアルアップデート (#34205)
- feat(app): 新しいデバッグバーの追加 (#34237)
- feat(app): セッションリストヘッダーを固定表示に (#34220)
- feat(app): セッションホバー時にローダーを表示 (#34224)
- feat(app): 新しいタイムラインヘッダーの追加 (#34192)
- feat(app): プロジェクトサイドバーのリアクティビティを改善 (#34391)
- feat(app): メッセージパーツの UI を v2 に更新 (#34394)
- feat(app): スラッシュポップオーバーを v2 トークンに整合させる (#34286)
- @ariane-emory:
docs(providers): ブロックリストとホワイトリストモデルフィルタリングのドキュメント化 (#33792)
- @Slickstef11:
docs: エンタープライズ連絡先リンクのルーティング (#34080)
- @affanali2k3:
fix(app): モデルのツールチップ表示が遅い問題を修正 (#30745)
- @OpeOginni:
fix(desktop): 接続プロバイダーダイアログで通常の認証メタデータ入力プロンプトを認識するように修正 (#33024)
- feat(desktop): デスクトップセッションコンテキストに保存されたトークン数とコストの合計を表示 (#28887)
- feat(tui): 外部で提供される TUI スレッドのトランスポート設定に ServerAuth ヘッダーを統合 (#29876)
- @BenGu3:
fix(tui): プロンプト.skills キーバインドを登録 (#34180)
- @neriousy:
fix(app): サーバーがオフラインの場合、プロジェクトの追加を無効化 (#34294)
- fix(app): 空のサーバーのチvron(矢印)を無効化 (#34292)
- @MaxAnderson95:
fix(mcp): サーバーが無効な場合でも OAuth 後に再接続する
- @StarpTech:
fix(console): アップストリームプロバイダーリクエストをキャンセル (#34467)
- @runvip:
fix(docs): index.mdx のロシア語翻訳を修正 (#34001)
原文を表示
Core
Bugfixes
- Enable adaptive thinking for Claude Sonnet 5.
- Prefer MCP content responses over structured output when both are present.
- Reconnect MCP servers after OAuth even if the server was disabled. (@MaxAnderson95)
- Request MCP refresh-token scope during OAuth.
- Show MCP OAuth completion errors instead of a generic failure.
- Refresh cached remote skills.
- Preserve skill resource paths.
- Pick better default small models across providers.
- Scope MCP auth status to each server URL.
TUI
Improvements
- Add a yolo mode to auto-approve permissions.
- Pass ServerAuth headers through external served TUI connections. (@OpeOginni)
Desktop
Improvements
- Autocomplete MCP resources in the composer.
- Add workspace controls when starting a new session.
- Show stored token and cost totals in the session context. (@OpeOginni)
Bugfixes
- Autocomplete configured references in prompts.
- Restore the prompt cursor when the composer regains focus.
- Remember the last active desktop URL across restarts.
- Preserve the selected model when promoting a session. (@usrnk1)
- Keep session pages in sync during concurrent events.
- Support normal auth input prompts in the desktop connect-provider dialog. (@OpeOginni)
- Prevent hidden terminal tabs from hanging or resizing incorrectly.
- Re-enable auto-accept in session settings.
- Keep session tabs scoped to the correct server.
- Remember the selected home project and server.
SDK
Improvements
- Add a live event subscription stream.
- Add SDK access to active sessions.
- Restore session runtime operations such as event streaming, interrupts, and message lookup.
- Add paged durable session history.
- Add session permission request create and fetch endpoints.
Bugfixes
- Preserve V2Event names in SSE streams.
- Wake embedded session execution after new prompts.
- Improve V2 runtime tool results and avoid duplicate model switch events.
- Resolve MIME types for prompt attachments sent by URI.
Thank you to 11 community contributors:
- @usrnk1:
feat(app): refine session UI styling (#33860)
- fix(desktop): preserve selected model during session promotion (#34466)
- fix(desktop): context menu button / tab intermittent issue (#34420)
- feat(desktop): add hover background to session title and single-click edit (#34589)
- feat(app): hide separators around active tabs (#34591)
- feat(desktop): polish inline session title editing (#34607)
- feat(desktop): make error view draggable (#34627)
- feat(desktop): polish tooltips and session search (#34632)
- @arvsrn:
feat(app): updates to design system (#34066)
- feat(app): update home screen alignment + markdown styles (#34172)
- feat(app): minor visual updates (#34205)
- feat(app): new debug bar (#34237)
- feat(app): sticky session list header (#34220)
- feat(app): show loader on session hover (#34224)
- feat(app): new timeline header (#34192)
- feat(app): improve projects sidebar reactivity (#34391)
- feat(app): update message part ui to v2 (#34394)
- feat(app): align slash popover to v2 tokens (#34286)
- @ariane-emory:
docs(providers): document blacklist and whitelist model filtering (#33792)
- @Slickstef11:
docs: route enterprise contact links (#34080)
- @affanali2k3:
fix(app): slow tooltip display for models (#30745)
- @OpeOginni:
fix(desktop): recognize normal auth metadata input prompts in connect provider dialog (#33024)
- feat(desktop): Display stored totals for Tokens and Cost in Desktop Session Context (#28887)
- feat(tui): integrate ServerAuth headers into transport configuration for external served TUI thread (#29876)
- @BenGu3:
fix(tui): register prompt.skills keybinds (#34180)
- @neriousy:
fix(app): disable add project when given server is offline (#34294)
- fix(app): disable empty server chevron (#34292)
- @MaxAnderson95:
fix(mcp): reconnect after OAuth even when server is disabled
- @StarpTech:
fix(console): cancel upstream provider requests (#34467)
- @runvip:
fix(docs): fix Russian translation for index.mdx (#34001)
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み