Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

provider: compaction fails on OpenAI-compatible/vLLM server when model body sets tool_choice=auto (tools empty)

オープン 初心者向け
#58,821 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
65/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
typescript
領域
ai, backend

調査の方向性

TypeScriptコードベース内の、compaction summaries用のprovider request builderを探せ(おそらくOpenAI-compatibleサーバー向けに tool_choice が設定される場所)。tools 配列が空のとき、tool_choice が省略されるか none に設定されるようにguardを追加せよ。providerのcompactionテストまたはローカルのvLLM-compatibleセッションを実行して検証せよ。

索引モデルが issue の本文から書いたものです。

説明

triaging
Description

La compaction (auto et manuelle) échoue pour un fournisseur compatible OpenAI / vLLM (ici l'API Albert / DINUM) dont les modèles sont configurés avec "body": { "tool_choice": "auto" }. Lors de la génération du résumé de compaction, OpenCode envoie tool_choice: auto sans tableau tools, et le serveur vLLM renvoie :

400 Bad Request — When using tool_choice, tools must be set.
C'est la cause du retour régulier du problème : la compaction automatique se déclenche justement quand le contexte est le plus grand, et échoue systématiquement.

Corrections attendues (à mentionner dans l'issue) :

Ne pas envoyer tool_choice quand tools est vide lors de l'appel de résumé, ou utiliser tool_choice: none dans ce cas.
Constat de terrain : passer la session sur un fournisseur natif (Gemini) a permis la compaction, confirmant bien l'origine du souci côté tool_choice/tools.
Le corps complet de l'issue est enregistré ici : C:\Users\association poussins\AppData\Local\Temp\opencode\issue-compaction-body.md

Plugins

No response

OpenCode version

No response

Steps to reproduce

No response

Screenshot

No response

Operating System

No response

Terminal

No response

主要言語
TypeScript
スター
221k
フォーク
29.6k
平均マージ
4時間 35分
マージ済み PR(30日)
521

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

anomalyco/opencode のほかの issue

anomalyco/opencode の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。