feat(providers): anillo de uso semanal de SuperGrok vía Grok CLI
I maintainer di solito rispondono entro 1 giorno
Una pull request collegata è già stata integrata.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- rust, typescript
Direzione di ricerca
Read codex.rs and claude.rs for CLI session credential handling, then trace provider registration and refresh flow through ProviderLogo.tsx, Settings.tsx, and widget-refresh.ts. Implementing this requires a new provider, endpoint parsing, UI integration, and deterministic Rust fixtures; done means weekly usage and reset details display, plan information appears when available, and legacy responses produce a clear error state.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Pre-flight checks
- Busqué en las issues existentes y en el roadmap: sin duplicados ni solapamiento.
- Entiendo que esta propuesta requiere revisión de producto antes de implementarse.
Problem to solve
Quorb soporta varios proveedores (Claude, Codex, Gemini, Cursor, Copilot, OpenRouter, NaN, etc.) pero no Grok / SuperGrok. Quienes tienen suscripción SuperGrok y usan el Grok CLI (Grok Build) no pueden monitorear el consumo de su ventana semanal de créditos desde el widget.
Nota: los créditos del CLI/Grok Build y los caps de chat de grok.com/X son pools separados; este issue cubre el del CLI, que es el relevante para uso agéntico/coding.
Proposed solution
Provider nativo grok (Kind::Subscription), siguiendo el patrón de credenciales de sesión CLI de codex.rs/claude.rs (no el de API keys):
- Credenciales: token Bearer del login local del Grok CLI oficial (
grok), en~/.grok/auth.json. Detección y lectura con parseo defensivo; sin importar cookies de navegador en una primera etapa. - Endpoints (superficie no documentada por xAI, estable a fecha de hoy y usada por proyectos de terceros):
GET https://cli-chat-proxy.grok.com/v1/billing?format=credits→creditUsagePercent(porcentaje usado 0–100), ventana de la semana y reset.GET https://cli-chat-proxy.grok.com/v1/settings(opcional) → nombre del plan visible (SuperGrok, etc.).
- Medidores:
- Anillo principal con porcentaje de créditos usados de la ventana semanal (
percent,resets_at,window_seconds= 7 días). - Identificación del plan activo en el detalle.
- Anillo principal con porcentaje de créditos usados de la ventana semanal (
- Robustez: ante cambios del formato (endpoint no oficial), degradar con mensaje claro (
Status::Error) en lugar de romper; parseo tolerante como encodex.rs. - Interfaz y assets:
- Logo en
ProviderLogo.tsx(SVG ensrc/assets/logos/o monograma) con aliasgrok. - Sección en
Settings.tsx(pestañagrok, estado enmainStatesegún presencia del auth file/token). - Inclusión en
widget-refresh.tspara invalidación al cambiar credenciales.
- Logo en
- Tests: unitarios deterministas en Rust con fixtures JSON representativas (sin red), incluyendo caso de respuesta legacy sin
creditUsagePercent.
Affected area
Application behavior
Scope and non-goals
- Scope: suscripción SuperGrok/Grok Build monitoreada vía el Grok CLI (
~/.grok/auth.json) y su billing endpoint. Fuente única y prioritaria; el auth file es el mecanismo de credenciales. - Non-goals:
- API de developer platform de xAI (Management API de
management-api.x.ai: créditos prepago, facturación por equipo) — superficie distinta con credenciales distintas; candidato a un issue separado. - Caps de chat consumer de grok.com/X (gRPC-web con cookies de sesión) — pool separado, frágil; queda fuera salvo demanda explícita.
- API de developer platform de xAI (Management API de
Alternatives considered
- Management API de xAI: documentada y estable, pero mide la plataforma de desarrollo (API keys/créditos), no la suscripción que se quiere monitorear.
- gRPC-web de grok.com con cookies del navegador: no requiere CLI, pero es frágil (protobuf interno, cookies que expiran); otros proyectos lo usan solo como fallback. Puede añadirse después como best-effort.
- Lingua principale
- TypeScript
- Stelle
- 10
- Fork
- 2
- Merge medio
- 3h 54m
- PR unite (30g)
- 96
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di egdev6/quorb
-
chore(tooling): adoptar rustfmt con gate de CI de formato (baseline no fmt-clean)Forse già presa @SrStamm l’ha presa oggi. Aperta
egdev6/quorb#184 · 3 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
bug(linux): degradaciones informadas como éxito o con indicaciones que no resuelven (atajos, bandeja, auto-hide)Forse già presa @SrStamm l’ha presa oggi. Apertastatus:approved type:bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
egdev6/quorb#181 · 7 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
bug(linux/wayland): la ventana no se puede posicionar: tira centrada, arrastre y cambio de monitor inoperativosForse già presa @SrStamm l’ha presa oggi. Apertatype:bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
egdev6/quorb#180 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
egdev6/quorb#179 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 57/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di egdev6/quorb
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
Merit-Systems/x402scan#1312 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Native Web
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
digitalfabrik/integreat-app#4517 ·
I maintainer di solito rispondono entro 2 giorni
-
TLS guide repeats certs/ in the certificate directoryForse già presa @maheshrijal l’ha presa oggi. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
prometheus/docs#3156 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
medusajs/dtc-starter#90 ·
I maintainer di solito rispondono entro 1 giorno