Skip to main content
GET
Developer Indexを検索
GitHub issue、マージ済みのプルリクエスト、リポジトリの README、厳選されたドキュメントサイトを検索します。結果は関連度順に表示され、一致した本文箇所が Markdown 形式で含まれます。 配列フィルターを JSON として渡す場合は、同じパスで POST を使用できます。 繰り返し可能なフィルターは、GET でどちらの形式も受け付けます。types=issue&types=pull_request のように query パラメータを繰り返す形式、または types=issue,pull_request のようにカンマ区切りの 1 つの値を指定する形式です。 インデックスは2つの部分に分かれており、これら2つのフィルターはそれぞれ独立して検索範囲を制限します。
  • repos は GitHub 側、つまり issuepull_requestreadme タイプの範囲を制限します
  • sources はドキュメント側、つまり doc タイプの範囲を制限します
  • 両方を指定すると、2つの部分は共通部分ではなく結合されるため、いずれかから一致する結果が返されます
各フィルターは片方の部分にのみ適用されるため、指定されたどのタイプにも一致し得ないフィルターは、何も返さずに処理されるのではなく拒否されます。
  • types に GitHub タイプが含まれない状態で repos を指定すると、400 が返され、repos cannot match any requested type; add github types or drop repos となります
  • typesdoc が含まれない状態で sources を指定すると、400 が返され、sources cannot match any requested type; add doc or drop sources となります
7 つのリポジトリフィルター (language (Rust など) 、topic (async など) 、license (MIT など) 、min_starsmax_starsarchivedfork) は、GitHub リポジトリの属性を表します。インデックス内のドキュメントページの大半は、リポジトリに紐付かないクロール済み Web サイトから取得されています。そのため、リポジトリの属性でそのようなページを含めたり除外したりすることはできません。 したがって、これらのフィルターのいずれかを指定し、sources で範囲を指定しないリクエストでは、doc の結果は返されません。レスポンスに含まれるのは GitHub の根拠のみ、すなわち issuepull_requestreadme タイプです。インデックスのドキュメント側は実行されないため、coverage マップでは docunavailable と表示されます。これは仕様であり、インデックスの不具合ではありません。 ドキュメント結果を取得するには、リポジトリフィルターを削除してください。また、sources でドキュメント側の範囲を指定し、coverage を確認して doc タイプが応答したことを確認することもできます。

sources に指定できる値

sources は固定の列挙型ではありません。ドキュメントのソース ID を受け付けます。各 ID は最大 512 文字の空でない文字列で、1 リクエストあたり最大 20 個指定できます。ID はインデックス内のドキュメントサイトを示しており、その一覧は随時追加されます。 ID が解決されることを確認するには、その ID を渡し、レスポンスに追加される sources 配列を確認します。この配列は sources を送信した場合にのみ含まれ、指定した各 ID と、その ID がインデックス化されているかどうかをリクエスト時のまま返します。
indexed: true は、ソースに公開済みの世代があることを示し、そのソースのドキュメントの根拠が表示される場合があります。indexed: false は、その ID に一致するものがないことを示します。これにより、インデックスに存在しない ID と、単に何も見つからなかった query を区別できます。 repos も同様に返され、indexedtypes 配下のタイプ別内訳を含む repos 配列として返されます。

coverage の見方

coverage は、各結果タイプの状態を okdegradedunavailableskipped のいずれかで示します。期待した結果タイプがない場合は、次を確認してください。
  • skipped は、types の値でそのタイプを指定していないことを意味します
  • degraded または unavailable は、その欠落の原因が query ではなくインデックスまたはフィルターにあることを意味します。リポジトリフィルターもその一例です。詳しくは、リポジトリフィルターによる検索範囲の絞り込みを参照してください
ワークフローの概要については、Developer Index ガイドを参照してください。

承認

Authorization
string
header
必須

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

クエリパラメータ

query
string
必須

自然言語の質問または検索フレーズ。

Minimum string length: 1
k
integer
デフォルト:10

返すランク付け済み結果の数。

必須範囲: 1 <= x <= 100
types
enum<string>[]

検索する結果タイプ。デフォルトでは4種類すべてです。繰り返しパラメータ(types=issue&types=pull_request)または単一のカンマ区切り値(types=issue,pull_request)を指定できます。

利用可能なオプション:
doc,
issue,
pull_request,
readme
repos
string[]

firecrawl/firecrawl など、インデックスのGitHub側の対象を絞り込むリポジトリスラッグ。issuepull_requestreadme タイプにのみ適用されます。sources とともに送信した場合、両方の対象は共通部分ではなく結合されるため、いずれかに一致する結果が返されます。types にGitHubタイプが含まれていない場合は、repos cannot match any requested type; add github types or drop repos とともに400を返します。

sources
string[]

ドキュメント側の対象を絞り込むドキュメントのソースID。最大20件まで指定できます。doc タイプにのみ適用されます。固定の列挙値ではありません。IDはインデックス内のドキュメントサイトを反映しており、対象のセットは時間の経過とともに増えるため、IDを送信し、レスポンスの sources 配列を確認してIDが解決されることを確かめてください。typesdoc が含まれていない場合は、sources cannot match any requested type; add doc or drop sources とともに400を返します。

Maximum array length: 20
Required string length: 1 - 512
skills
enum<string>

検索対象をインデックス化された agent-skill ファイルに限定するには、only に設定します。

利用可能なオプション:
only
passages
integer
デフォルト:1

結果ごとに返す一致した本文箇所。

必須範囲: 1 <= x <= 5
language
string

リポジトリの主要言語。Rust など。GitHub の結果にのみ適用されます。sources のスコープを指定せずに送信すると、doc の結果は返されません。リポジトリフィルターによる検索範囲の絞り込みを参照してください。

:

"Rust"

topic
string

リポジトリのトピック。async など。GitHub の結果にのみ適用されます。sources スコープを指定せずに送信した場合、doc の結果は返されません。

:

"async"

license
string

リポジトリのライセンス。MIT など。GitHub の結果にのみ適用されます。sources スコープを指定せずに送信した場合、doc の結果は返されません。

:

"MIT"

min_stars
integer

リポジトリのスター数の下限。GitHub の結果にのみ適用されます。sources スコープを指定せずに送信した場合、doc の結果は返されません。

必須範囲: x >= 0
max_stars
integer

リポジトリのスター数の上限。GitHub の結果にのみ適用されます。sources を指定せずに送信すると、doc の結果は返されません。

必須範囲: x >= 0
archived
boolean

アーカイブ済みリポジトリを含めるか除外するか。GitHub結果にのみ適用されます。sources のスコープなしで送信すると、doc 結果は返されません。

fork
boolean

フォークを含めるか除外するか。GitHub結果にのみ適用されます。sources のスコープなしで送信すると、doc 結果は返されません。

レスポンス

一致した本文箇所を含む、ランク付け済みの開発者向け検索結果。

coverage
object

結果タイプごとの結果。想定した結果タイプがない場合に確認してください。skipped は、types の値でそのタイプが指定されていないことを意味します。degraded または unavailable の場合、その欠落はqueryではなくインデックスまたはフィルターに起因します。リポジトリフィルターもその原因の一つです。詳細は、リポジトリフィルターが検索対象を限定する仕組みを参照してください。

repos
object[]

repos が送信された場合にのみ存在します。各スラッグについて、インデックス化の有無と types 配下のタイプ別の内訳を返します。

:
reranked
boolean

ランク付けされたリストが再ランキング処理を経たかどうか。

results
object[]
sources
object[]

sources が送信された場合にのみ含まれます。要求どおりに各 ID と、その ID がインデックス化されているかどうかを返します。indexed: true は、ソースに公開済みの生成があることを意味するため、そのソースのドキュメント上の根拠が表示される場合があります。indexed: false は、その ID に由来するものはいずれも一致しないことを意味します。これにより、インデックスに存在しない ID と、単に何も見つからなかった query を区別できます。

:
success
boolean