You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
좋은 프로젝트 기대하고 있다가 드디어 설치했는데 사용 중 발생한 아래 두 가지와 관련된 내용 확인 부탁드립니다.
opencodex v2.6.32에서 cursor 로그인을 통해 fable5 api를 사용한 환경입니다.
에러 발생
stream disconnected before completion: Cursor rate limit exceeded: Cursor Connect error resource_exhausted: Error
-> API한도도 남아 있고, 커서에서 직접 사용할 때는 문제 없이 사용됨.
모델 불일치
-> opencodex에서 cursor의 fable5 선택시 추론 수준은 낮음, 중간, 높음 3가지가 선택 가능한데 높음으로 놓고 사용시 cursor 쪽에서 확인해보면 매우 높음으로 사용한 것으로 확인됨. 또 thinking 옵션 선택이 따로 없는데 thinking이 꺼져 있는 것으로 확인됨.
1. resource_exhausted 에러 — 실제 문제가 맞습니다. Cursor 전송 계층의 업스트림 에러 처리/재시도 개선이 지금 PR #73으로 리뷰 중이고(레이트리밋 매핑, 스트림 안정화 포함), 리베이스 후 곧 dev에 반영될 예정입니다. Cursor 웹에서는 되는데 프록시 경유만 실패하는 패턴이면 해당 PR이 다루는 케이스와 일치합니다. 반영되면 이 이슈에 다시 코멘트 남기겠습니다.
2. 추론 수준 불일치 (높음 → 매우 높음) — 이건 버그가 아니라 설계된 매핑입니다. Codex 쪽에는 cursor 모델의 추론 단계를 낮음/중간/높음 3단계로 노출하는데(src/adapters/cursor/discovery.ts), fable-5는 Cursor 쪽에 low/medium/high/max/xhigh 5단계가 있습니다. 매핑 규칙이 "Codex의 최고 단계 = 모델의 최고 단계"라서(src/adapters/cursor/effort-map.ts) 높음을 고르면 fable-5의 최상위인 xhigh(매우 높음)로 전송됩니다. 중간 단계를 그대로 쓰고 싶으시면 낮음/중간을 선택하시면 각각 low/medium... 정확히는 낮음→low, 중간→high(중간 클램프)로 갑니다.
thinking 표시가 꺼져 보이는 건 Cursor 대시보드의 표기 문제로 보이는데, effort suffix 방식(fable-5-xhigh)으로 호출되면 thinking 토글과 별개로 동작합니다.
후속으로 Codex 쪽에 5단계를 그대로 광고하는 방안(낮음/중간/높음/최대/매우높음)을 검토하겠습니다 — 그러면 1:1 매핑이 되어 혼란이 없어질 겁니다.
약속드린 후속입니다: PR #73의 transport 안정화가 방금 dev 브랜치에 반영됐습니다(07afa28 + 949e08d).
바뀐 것:
resource_exhausted가 이제 정식 rate_limit_error 타입으로 분류되고, 업스트림 메시지에 재시도 지연 힌트가 있으면 파싱합니다.
rate limit 응답에 무의미한 재시도를 하지 않도록 재시도 정책이 좁혀졌습니다.
스트림 취소(NGHTTP2_CANCEL) 처리도 정리되어, 예상된 툴 일시중단이 아닌 실제 서버측 끊김은 에러로 제대로 표시됩니다.
추가로 공개 자료를 조사해봤는데, resource_exhausted는 서드파티 브리지뿐 아니라 Cursor 공식 IDE에서도 크레딧이 남은 상태로 발생한 보고가 여럿 있습니다(Cursor 포럼 2025-12~2026-03, 스태프도 서버측 계정/용량 이슈로 추정). 즉 프록시 자체 결함이라기보다 Cursor 서버측 간헐 이슈일 가능성이 높고, 저희 쪽에서는 에러 표면화/재시도를 위처럼 개선했습니다. 다음 릴리스에 포함될 예정이며, 반영 후에도 재발하면 발생 시각과 함께 알려주시면 요청 로그로 패턴을 추적하겠습니다.
추론 수준(높음→매우 높음) 건은 별도 후속으로 Codex 쪽에 5단계를 그대로 광고하는 방안을 검토 중입니다.
Activity
lidge-jun commentedon Jul 9, 2026
cursor에서 내부적으로 -thinking 태그와 없는 모델이 차이가 있는지 없는지는 알수없고 제가 썻을때는 비슷했습니다
에러부분은 제가 살펴보겠습니다
라우팅 부분은 codex에서 max 라우팅이 얼마전까지 지원되지 않아 그렇게 했고
이제 1급옵션으로 올라와서 내일 sol 패치때 같이 패치될 예정입니다
커서 부분은 연결하는 로직이 좀 복잡해서 계속 패치중이며
오류가 날수 있는 부분은 이해해주셨으면 좋게습니다 감사합니다
lidge-jun commentedon Jul 9, 2026
리포트 감사합니다. 두 건 다 확인했고, 각각 상황이 다릅니다.
1.
resource_exhausted에러 — 실제 문제가 맞습니다. Cursor 전송 계층의 업스트림 에러 처리/재시도 개선이 지금 PR #73으로 리뷰 중이고(레이트리밋 매핑, 스트림 안정화 포함), 리베이스 후 곧 dev에 반영될 예정입니다. Cursor 웹에서는 되는데 프록시 경유만 실패하는 패턴이면 해당 PR이 다루는 케이스와 일치합니다. 반영되면 이 이슈에 다시 코멘트 남기겠습니다.2. 추론 수준 불일치 (높음 → 매우 높음) — 이건 버그가 아니라 설계된 매핑입니다. Codex 쪽에는 cursor 모델의 추론 단계를 낮음/중간/높음 3단계로 노출하는데(
src/adapters/cursor/discovery.ts), fable-5는 Cursor 쪽에 low/medium/high/max/xhigh 5단계가 있습니다. 매핑 규칙이 "Codex의 최고 단계 = 모델의 최고 단계"라서(src/adapters/cursor/effort-map.ts) 높음을 고르면 fable-5의 최상위인 xhigh(매우 높음)로 전송됩니다. 중간 단계를 그대로 쓰고 싶으시면 낮음/중간을 선택하시면 각각 low/medium... 정확히는 낮음→low, 중간→high(중간 클램프)로 갑니다.thinking 표시가 꺼져 보이는 건 Cursor 대시보드의 표기 문제로 보이는데, effort suffix 방식(
fable-5-xhigh)으로 호출되면 thinking 토글과 별개로 동작합니다.후속으로 Codex 쪽에 5단계를 그대로 광고하는 방안(낮음/중간/높음/최대/매우높음)을 검토하겠습니다 — 그러면 1:1 매핑이 되어 혼란이 없어질 겁니다.
lidge-jun commentedon Jul 9, 2026
약속드린 후속입니다: PR #73의 transport 안정화가 방금 dev 브랜치에 반영됐습니다(07afa28 + 949e08d).
바뀐 것:
resource_exhausted가 이제 정식rate_limit_error타입으로 분류되고, 업스트림 메시지에 재시도 지연 힌트가 있으면 파싱합니다.추가로 공개 자료를 조사해봤는데,
resource_exhausted는 서드파티 브리지뿐 아니라 Cursor 공식 IDE에서도 크레딧이 남은 상태로 발생한 보고가 여럿 있습니다(Cursor 포럼 2025-12~2026-03, 스태프도 서버측 계정/용량 이슈로 추정). 즉 프록시 자체 결함이라기보다 Cursor 서버측 간헐 이슈일 가능성이 높고, 저희 쪽에서는 에러 표면화/재시도를 위처럼 개선했습니다. 다음 릴리스에 포함될 예정이며, 반영 후에도 재발하면 발생 시각과 함께 알려주시면 요청 로그로 패턴을 추적하겠습니다.추론 수준(높음→매우 높음) 건은 별도 후속으로 Codex 쪽에 5단계를 그대로 광고하는 방안을 검토 중입니다.
cursor: add x-session-id header and dynamic timeZone in protobuf body
lidge-jun commentedon Jul 9, 2026
보고해주신 두 건 모두 대응 완료했습니다.
resource_exhausted: PR fix(cursor): upstream errors, transport stability, auto model, request logs #73 transport 안정화(07afa28 + 949e08d)로 에러 분류/재시도 개선, 추가로 헤더 하드닝(3e243c1)으로 x-session-id 추가 및 protobuf body에 동적 timeZone 세팅까지 반영됐습니다. Cursor 서버측 간헐 이슈도 확인된 상태이며, 재발 시 시각과 함께 알려주시면 로그 추적하겠습니다.
추론 수준 불일치(높음→매우 높음): ultra reasoning 스펙 패치(08ecd31)로 5단계(낮음/중간/높음/최대/매우높음) 광고가 가능해졌고, 후속 릴리스에서 1:1 매핑을 노출할 예정입니다.
다음 릴리스에 포함 예정이며, 추가 문제 발생 시 새 이슈로 알려주세요. 감사합니다.
cursor: add x-session-id header and dynamic timeZone in protobuf body