mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-10 03:09:50 +08:00
fix(xai): track the official Grok CLI version for cli-chat-proxy
cli-chat-proxy.grok.com started rejecting every request on 2026-10-01 with HTTP 426 "Your Grok CLI version (0.2.120) is outdated. Please update to version 1.0.13 or later", because x-grok-client-version and the xai-grok-workspace user agent were pinned to 0.2.120. Replace the pin with a runtime-published version (built-in fallback 1.0.46) and add a gateway worker, modelled on the Codex profile worker, that prewarms at startup and refreshes every 3h: - read the official stable channel https://x.ai/cli/stable, falling back to npm @xai-official/grok/latest (deployments that cannot reach x.ai directly), requiring all six platform binaries at one version; - never roll back, persist the verified version in runtime KV and restore it on restart; - AETHER_XAI_CLIENT_VERSION pins a version, and AETHER_XAI_CLIENT_PROFILE_REFRESH=off disables the network check. Endpoint header rules still win over the injected identity headers. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
54fbcc25a1
commit
2257c3959f
@@ -25,6 +25,7 @@ pub(crate) const TASK_KEY_USAGE_COUNTER_FLUSH: &str = "usage.counter.flush.worke
|
||||
pub(crate) const TASK_KEY_VIDEO_TASK_POLLER: &str = "video.task.poller";
|
||||
pub(crate) const TASK_KEY_MODEL_FETCH_WORKER: &str = "model.fetch.worker";
|
||||
pub(crate) const TASK_KEY_CODEX_CLIENT_PROFILE: &str = "maintenance.codex.client.profile";
|
||||
pub(crate) const TASK_KEY_XAI_CLIENT_PROFILE: &str = "maintenance.xai.client.profile";
|
||||
pub(crate) const TASK_KEY_PROVIDER_QUOTA_RESET: &str = "provider.quota.reset.worker";
|
||||
pub(crate) const TASK_KEY_ACCOUNT_SELF_CHECK: &str = "account.self_check.worker";
|
||||
pub(crate) const TASK_KEY_POOL_SCORE_REBUILD: &str = "pool.score.rebuild.worker";
|
||||
@@ -211,6 +212,14 @@ const TASK_DEFINITIONS: &[TaskDefinition] = &[
|
||||
true,
|
||||
RETRY_ONCE,
|
||||
),
|
||||
TaskDefinition::new(
|
||||
TASK_KEY_XAI_CLIENT_PROFILE,
|
||||
TaskKind::Scheduled,
|
||||
"interval",
|
||||
true,
|
||||
true,
|
||||
RETRY_ONCE,
|
||||
),
|
||||
TaskDefinition::new(
|
||||
TASK_KEY_PROVIDER_QUOTA_RESET,
|
||||
TaskKind::Scheduled,
|
||||
|
||||
Reference in New Issue
Block a user