Skip to content

feat(sidecar): investigate search-API-capable providers (e.g. Gemini) as web-search sidecar backends #415

Closed as not planned
1 of 1 issue completed

Description

@lidge-jun

Follow-up split from #398 (sibling of #414).

Context

Beyond adding dedicated search vendors like Exa (#414), several LLM providers expose their OWN grounded-search / web-search capability that could back the sidecar directly using the account the user already has — most notably Google Gemini (Grounding with Google Search / google_search tool), and potentially others (Perplexity, xAI Grok live search, etc.).

Ask

Investigate which currently-supported providers can serve as a web-search sidecar backend via their native search API, and enable the viable ones:

  • Gemini: does the Grounding-with-Google-Search tool return citations/sources we can map into SidecarOutcome (text + sources)? What auth (API key vs OAuth) and quota semantics apply?
  • Enumerate other providers with a usable server-side search tool and note feasibility.

Deliverable

A short capability matrix (provider -> has native search API -> citation shape -> auth) plus enabling the clearly-viable backends behind webSearchSidecar.backend.

Relationship

Activity

  1. added
    account-poolOAuth, credentials, Codex pool, quota, failover, plans
    toolstool_calls, MCP, web-search / sidecar tools
    on Aug 1, 2026
  2. added
    providerProvider adapters, OpenAI-compat presets, upstream API quirks
    on Aug 3, 2026
  3. Wibias commented on Aug 16, 2026

    @Wibias
    Contributor

    Triage hierarchy

    Treat this issue as the parent umbrella for provider-native search sidecar backends.

    This relationship is organizational only; each provider-specific child should keep its own evidence and acceptance criteria.

  4. lidge-jun commented on Aug 19, 2026

    @lidge-jun
    OwnerAuthor

    리뷰 · 우선순위 44 / 80

    현재 dev의 웹검색 사이드카 백엔드는 openai와 anthropic뿐입니다. src/types.ts의 webSearchSidecar.backend와 src/web-search/index.ts의 resolveSidecarBackend()가 그 두 값만 반환합니다. Gemini Grounding, Perplexity, xAI live search를 사이드카 백엔드로 쓰는 분기는 없습니다. 주 모델이 그 계정이어도 검색은 ChatGPT 또는 저장된 Anthropic OAuth를 빌립니다.

    이슈가 원하는 것은 이미 있는 LLM 계정의 네이티브 검색 API를 사이드카로 쓰는 조사와, 가능한 곳의 활성화입니다. 첫 후보는 Gemini Grounding/google_search가 인용을 SidecarOutcome(text + sources)로 매핑할 수 있는지, 인증이 API 키인지 OAuth인지, 쿼터가 어떤지입니다. #414의 Exa 같은 전용 검색 벤더와 형제를 유지해야 합니다.

    프로바이더 호환이 점수입니다. 그라운딩 도구는 채팅 완성 검색 API가 아니고, 인용 형태가 사이드카 계약과 다르면 침묵 드롭이 됩니다. 쿼터를 검색과 본 추론이 공유하면 Antigravity/Gemini 계정 풀 건강을 왜곡합니다. 조사 없이 백엔드 값을 추가하면 안 됩니다.

    위생적으로 #398의 기한·레드액션·fail-open 도구 결과를 유지해야 합니다. 검색 실패가 본 턴을 500으로 바꾸면 안 됩니다. #1616 OpenCode Zen은 자식이고, 이 이슈는 우산입니다.

    해결방안은 프로바이더 → 네이티브 검색 여부 → 인용 형태 → 인증의 짧은 능력 표 다음에, 인용이 매핑되는 백엔드만 webSearchSidecar.backend에 추가하는 것입니다. 패치는 추측하지 않으며, 현재 트리에 Gemini 검색 백엔드는 없습니다.

    이 댓글은 grok-bot이 작성했습니다

  5. lidge-jun commented on Aug 19, 2026

    @lidge-jun
    OwnerAuthor

    리뷰 · 우선순위 44 / 80 · 유지

    웹서치 사이드카를 Exa 말고 Gemini Grounding 같은 프로바이더 자체 검색으로 태우자는 조사+구현. #398 우아한 실패 계약 유지. 형제 #414는 전용 검색 벤더.

    유지함. 혼자 안 가고 비전 사이드카(#1937) 랑 묶음. 사이드카 백엔드가 누구든(검색/비전) 같은 설정·계정 경로라서, 설명 모델을 아무 비전 프로바이더로 여는 쪽이랑 같이 설계해야 함.

    해결방안: 검색 백엔드는 #1937 설계에 맞춰 webSearchSidecar.backend에 붙임. Gemini citations → SidecarOutcome 매핑부터.

    이 댓글은 grok-bot이 작성했습니다

  6. lidge-jun commented on Aug 19, 2026

    @lidge-jun
    OwnerAuthor

    추록: #1616(OpenCode Zen keyed 검색 백엔드)도 이 묶음. #1937 / #415 / #1616.

    이 댓글은 grok-bot이 작성했습니다

  7. lidge-jun commented on Aug 20, 2026

    @lidge-jun
    OwnerAuthor

    이 이슈는 #2188로 합침. 백엔드를 하나씩 더하는 대신, 전역 auth 슬롯 + Codex 피커 거름망 + (웹서치는 라이브 프로브)로 선택 규칙을 먼저 고친다. 후속 구현은 #2188을 보면 됨.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

account-poolOAuth, credentials, Codex pool, quota, failover, plansenhancementNew feature or requestproviderProvider adapters, OpenAI-compat presets, upstream API quirkstoolstool_calls, MCP, web-search / sidecar tools

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions