5.3 KiB
5.3 KiB
Milestone: Seulgivibe OpenAI-compatible Provider 연동
위치
- Roadmap: ROADMAP.md
- Phase: PHASE.md
목표
Seulgivibe의 Claude/OpenAI 프록시 경로를 IOP의 OpenAI-compatible provider family로 관리한다.
Claude 모델 3종과 OpenAI/Codex 모델 축을 정적 catalog로 노출하고, 사용자별 raw token은 IOP 호출 시점에 provider tunnel header로만 전달한다.
Codex wire_api=responses 경로가 provider tunnel을 통해 동작하도록 /v1/responses raw passthrough parity를 확보한다.
상태
[계획]
승격 조건
- 없음
구현 잠금
- 상태: 해제
- SDD: 필요
- SDD 문서: SDD.md
- SDD 사유: OpenAI-compatible API/config schema, provider auth header, 외부 provider passthrough 계약이 바뀌는 Milestone이다.
- 잠금 해제 조건:
- SDD 잠금이 해제되어 있다
- SDD 사용자 리뷰가 없거나 승인/해결되었다
- Acceptance Scenario가 Milestone 기능 Task와 연결되어 있다
- Evidence Map이 완료 시
Roadmap Completion과 최종 검증 evidence로 검증 가능하게 연결되어 있다
- 결정 필요: 없음
범위
- Seulgivibe Claude/OpenAI proxy endpoint를 별도 provider id/type 축으로 관리하는 config/catalog 계약
seulgivibe_claude,seulgivibe_openaiprovider type alias와 OpenAI-compatible adapter 재사용- Claude 모델
claude-sonnet-4-5,claude-opus-4-8,claude-fable-5정적 model catalog - OpenAI/Codex 모델
gpt-5.1,gpt-5.5정적 model catalog - 사용자별 raw token을 inbound request header에서 읽어 provider tunnel
Authorizationheader로 전달하는 경계 - Chat Completions provider tunnel과 Responses provider tunnel의 Seulgivibe passthrough 지원
기능
Epic: [seulgivibe-provider] Seulgivibe Provider Surface
Seulgivibe를 IOP 내부에서는 provider-first OpenAI-compatible resource로 다루고, 외부 호출자는 OpenAI-compatible model id와 request-time provider token만 사용하게 하는 capability를 묶는다.
- [config-auth-catalog] Seulgivibe Claude/OpenAI provider aliases,
openai.provider_authschema, 정적 model catalog/계약 예시가 추가되어 있다. 검증:go test ./packages/go/config -count=1,go test ./apps/edge/internal/node -count=1, secret pattern scan이 통과한다. - [provider-token-tunnel] Edge OpenAI Chat Completions provider tunnel이 configured request header의 raw user token을 provider
Authorizationheader로 전달하고 missing-required를 dispatch 전에 차단한다. 검증:go test ./apps/edge/internal/openai -count=1이 auth forwarding/missing tests를 포함해 통과한다. - [responses-passthrough] OpenAI-compatible provider route에서
/v1/responsesraw passthrough가 동작하고 Codex-style unknown fields, streaming, provider auth, model rewrite를 보존/검증한다. 검증:go test ./apps/edge/internal/openai -count=1이 Responses passthrough tests를 포함해 통과한다.
완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: 기능 Task가 아직 충족되지 않았다.
- 검토 항목:
- 세 subtask의
complete.log가 각 Roadmap Completion task id를 기록한다. - 최종 검증 출력이 SDD Evidence Map과 일치한다.
- 실제 token 값이 tracked 문서/config/test output에 남지 않았다.
- 세 subtask의
- agent-ui 상태 반영: 해당 없음
- 리뷰 코멘트: 없음
범위 제외
- host-local
~/.claude/anthropic_key.sh,~/.codex/config.toml, Pi coding 설정 변경 - 실제 JWT/API key/token 값을 tracked config, docs, task artifact에 저장
- Seulgivibe
/v1/modelsendpoint를 catalog source of truth로 사용하는 방식 - provider response payload의 model echo rewrite 또는 sideband injection을 Responses passthrough에 강제하는 작업
- billing/chargeback, 조직 IAM, 장기 retention 정책
작업 컨텍스트
- 관련 경로:
packages/go/config,apps/edge/internal/openai,apps/edge/internal/service,apps/edge/internal/node,apps/node/internal/adapters/openai_compat,apps/node/internal/runtime,proto/iop/runtime.proto, openai-compatible-api.md - 표준선(선택): Seulgivibe는 새 wire adapter가 아니라 OpenAI-compatible provider family로 관리하고, provider별 특수 처리는 generation passthrough 밖의 auth/catalog/config 경계에만 둔다.
- 표준선(선택): 사용자별 provider token은 request-time raw value로만 받고, Edge가 provider tunnel request header로 변환한다. Node나 host-local helper script가 사용자 token source of truth가 되지 않는다.
- 표준선(선택): provider
/modelsendpoint가 실패해도 IOP/v1/models는 top-levelmodels[]catalog를 source of truth로 노출한다. - 선행 작업: OpenAI-compatible Raw Tunnel과 Sideband Passthrough, Model Alias Provider Pool과 Provider Catalog
- 후속 작업: 자동 route scorer 구현, provider auth per-provider granularity, Seulgivibe live smoke profile 정리
- 확인 필요: 없음