feat(providers): add xAI Grok OAuth with capability-gated X Search (#5035)

This commit is contained in:
chengyongru
2026-07-23 11:55:16 +08:00
committed by GitHub
parent c22efb5f7a
commit c7393c785e
38 changed files with 3881 additions and 104 deletions
+9 -1
View File
@@ -719,10 +719,18 @@
"signOut": "Sign out",
"signedInAs": "Signed in as {{account}}",
"signInHelp": "Sign in from this device; no API key is stored in config.",
"remoteSignInHelp": "Select Sign in to open xAI on your computer, then paste the authorization code shown after login.",
"signInRequired": "Sign in required",
"signInBeforeSaving": "Sign in before saving this OAuth provider as the active model provider.",
"signedIn": "Signed in",
"notSignedIn": "Not signed in"
"notSignedIn": "Not signed in",
"proxyLabel": "Network proxy",
"proxySaveBeforeSignIn": "Save proxy changes before signing in.",
"saveProxy": "Save proxy",
"localCodeHelp": "Complete sign-in in your browser. Nanobot usually finishes automatically; if it does not, paste the authorization code below.",
"remoteCodeHelp": "Select Sign in to open xAI on your computer. After signing in, paste the authorization code shown by xAI below.",
"authorizationCode": "Authorization code",
"finishSignIn": "Finish sign-in"
},
"skills": {
"description": "Review the instruction skills this agent can load during a conversation.",
+9 -1
View File
@@ -706,10 +706,18 @@
"signOut": "Cerrar sesión",
"signedInAs": "Sesión iniciada como {{account}}",
"signInHelp": "Inicia sesión desde este dispositivo; no se guarda API key en config.",
"remoteSignInHelp": "Selecciona Iniciar sesión para abrir xAI en tu computadora y luego pega el código de autorización que se muestra tras iniciar sesión.",
"signInRequired": "Inicio de sesión requerido",
"signInBeforeSaving": "Inicia sesión antes de guardar este proveedor OAuth como proveedor activo.",
"signedIn": "Sesión iniciada",
"notSignedIn": "Sin sesión"
"notSignedIn": "Sin sesión",
"proxyLabel": "Proxy de red",
"proxySaveBeforeSignIn": "Guarda los cambios del proxy antes de iniciar sesión.",
"saveProxy": "Guardar proxy",
"localCodeHelp": "Completa el inicio de sesión en el navegador. nanobot suele finalizar automáticamente; si no lo hace, pega el código de autorización abajo.",
"remoteCodeHelp": "Selecciona Iniciar sesión para abrir xAI en tu computadora. Después de iniciar sesión, pega abajo el código de autorización que muestra xAI.",
"authorizationCode": "Código de autorización",
"finishSignIn": "Completar inicio de sesión"
},
"skills": {
"description": "Revisa las habilidades de instrucciones que este agente puede cargar durante una conversación.",
+9 -1
View File
@@ -705,10 +705,18 @@
"signOut": "Se déconnecter",
"signedInAs": "Connecté en tant que {{account}}",
"signInHelp": "Inicia sesión desde este dispositivo; no se guarda API key en config.",
"remoteSignInHelp": "Sélectionnez Se connecter pour ouvrir xAI sur votre ordinateur, puis collez le code dautorisation affiché après la connexion.",
"signInRequired": "Connexion requise",
"signInBeforeSaving": "Inicia sesión antes de guardar este proveedor OAuth como proveedor activo.",
"signedIn": "Connecté",
"notSignedIn": "Non connecté"
"notSignedIn": "Non connecté",
"proxyLabel": "Proxy réseau",
"proxySaveBeforeSignIn": "Enregistrez les modifications du proxy avant de vous connecter.",
"saveProxy": "Enregistrer le proxy",
"localCodeHelp": "Terminez la connexion dans votre navigateur. nanobot termine généralement automatiquement ; sinon, collez le code dautorisation ci-dessous.",
"remoteCodeHelp": "Sélectionnez Se connecter pour ouvrir xAI sur votre ordinateur. Après la connexion, collez ci-dessous le code dautorisation affiché par xAI.",
"authorizationCode": "Code dautorisation",
"finishSignIn": "Terminer la connexion"
},
"skills": {
"description": "Consultez les compétences dinstruction que cet agent peut charger pendant une conversation.",
+9 -1
View File
@@ -705,10 +705,18 @@
"signOut": "Keluar",
"signedInAs": "Masuk sebagai {{account}}",
"signInHelp": "Inicia sesión desde este dispositivo; no se guarda API key en config.",
"remoteSignInHelp": "Pilih Masuk untuk membuka xAI di komputer Anda, lalu tempel kode otorisasi yang ditampilkan setelah masuk.",
"signInRequired": "Perlu masuk",
"signInBeforeSaving": "Inicia sesión antes de guardar este proveedor OAuth como proveedor activo.",
"signedIn": "Sudah masuk",
"notSignedIn": "Belum masuk"
"notSignedIn": "Belum masuk",
"proxyLabel": "Proksi jaringan",
"proxySaveBeforeSignIn": "Simpan perubahan proksi sebelum login.",
"saveProxy": "Simpan proksi",
"localCodeHelp": "Selesaikan proses masuk di browser. nanobot biasanya menyelesaikannya secara otomatis; jika tidak, tempel kode otorisasi di bawah.",
"remoteCodeHelp": "Pilih Masuk untuk membuka xAI di komputer Anda. Setelah masuk, tempel kode otorisasi yang ditampilkan xAI di bawah.",
"authorizationCode": "Kode otorisasi",
"finishSignIn": "Selesaikan masuk"
},
"skills": {
"description": "Tinjau skill instruksi yang dapat dimuat agent ini selama percakapan.",
+9 -1
View File
@@ -705,10 +705,18 @@
"signOut": "サインアウト",
"signedInAs": "{{account}} としてサインイン済み",
"signInHelp": "このデバイスからサインインします。API key は config に保存されません。",
"remoteSignInHelp": "「サインイン」を選択して自分のコンピューターで xAI を開き、サインイン後に表示される認証コードを貼り付けてください。",
"signInRequired": "サインインが必要です",
"signInBeforeSaving": "この OAuth プロバイダーをアクティブなモデルプロバイダーとして保存する前にサインインしてください。",
"signedIn": "サインイン済み",
"notSignedIn": "未サインイン"
"notSignedIn": "未サインイン",
"proxyLabel": "ネットワークプロキシ",
"proxySaveBeforeSignIn": "サインイン前にプロキシの変更を保存してください。",
"saveProxy": "プロキシを保存",
"localCodeHelp": "ブラウザーでサインインを完了してください。通常は nanobot が自動で完了します。完了しない場合は、認証コードを下に貼り付けてください。",
"remoteCodeHelp": "「サインイン」を選択して自分のコンピューターで xAI を開いてください。サインイン後、xAI に表示された認証コードを下に貼り付けてください。",
"authorizationCode": "認証コード",
"finishSignIn": "サインインを完了"
},
"skills": {
"description": "このエージェントが会話中に読み込める指示スキルを確認します。",
+9 -1
View File
@@ -705,10 +705,18 @@
"signOut": "로그아웃",
"signedInAs": "{{account}}로 로그인됨",
"signInHelp": "이 기기에서 로그인합니다. API key는 config에 저장되지 않습니다.",
"remoteSignInHelp": "로그인을 선택하여 사용자 컴퓨터에서 xAI를 연 다음, 로그인 후 표시되는 인증 코드를 붙여 넣으세요.",
"signInRequired": "로그인이 필요합니다",
"signInBeforeSaving": "이 OAuth 제공자를 활성 모델 제공자로 저장하기 전에 로그인하세요.",
"signedIn": "로그인됨",
"notSignedIn": "로그인 안 됨"
"notSignedIn": "로그인 안 됨",
"proxyLabel": "네트워크 프록시",
"proxySaveBeforeSignIn": "로그인하기 전에 프록시 변경 사항을 저장하세요.",
"saveProxy": "프록시 저장",
"localCodeHelp": "브라우저에서 로그인을 완료하세요. 일반적으로 nanobot이 자동으로 완료합니다. 완료되지 않으면 인증 코드를 아래에 붙여 넣으세요.",
"remoteCodeHelp": "로그인을 선택하여 사용자 컴퓨터에서 xAI를 여세요. 로그인 후 xAI에 표시된 인증 코드를 아래에 붙여 넣으세요.",
"authorizationCode": "인증 코드",
"finishSignIn": "로그인 완료"
},
"skills": {
"description": "이 에이전트가 대화 중에 불러올 수 있는 지시 스킬을 확인합니다.",
+9 -1
View File
@@ -719,10 +719,18 @@
"signOut": "Sair",
"signedInAs": "Conectado como {{account}}",
"signInHelp": "Entre por este dispositivo; nenhuma chave de API é armazenada em config.",
"remoteSignInHelp": "Selecione Entrar para abrir a xAI no seu computador e depois cole o código de autorização exibido após o login.",
"signInRequired": "Login necessário",
"signInBeforeSaving": "Entre antes de salvar este provedor OAuth como provedor de modelo ativo.",
"signedIn": "Conectado",
"notSignedIn": "Desconectado"
"notSignedIn": "Desconectado",
"proxyLabel": "Proxy de rede",
"proxySaveBeforeSignIn": "Salve as alterações do proxy antes de entrar.",
"saveProxy": "Salvar proxy",
"localCodeHelp": "Conclua o login no navegador. O nanobot geralmente termina automaticamente; caso contrário, cole o código de autorização abaixo.",
"remoteCodeHelp": "Selecione Entrar para abrir a xAI no seu computador. Após o login, cole abaixo o código de autorização exibido pela xAI.",
"authorizationCode": "Código de autorização",
"finishSignIn": "Concluir login"
},
"skills": {
"description": "Revise as skills de instrução que este agente pode carregar durante uma conversa.",
+9 -1
View File
@@ -705,10 +705,18 @@
"signOut": "Đăng xuất",
"signedInAs": "Đã đăng nhập bằng {{account}}",
"signInHelp": "Inicia sesión desde este dispositivo; no se guarda API key en config.",
"remoteSignInHelp": "Chọn Đăng nhập để mở xAI trên máy tính của bạn, sau đó dán mã ủy quyền được hiển thị sau khi đăng nhập.",
"signInRequired": "Cần đăng nhập",
"signInBeforeSaving": "Inicia sesión antes de guardar este proveedor OAuth como proveedor activo.",
"signedIn": "Đã đăng nhập",
"notSignedIn": "Chưa đăng nhập"
"notSignedIn": "Chưa đăng nhập",
"proxyLabel": "Proxy mạng",
"proxySaveBeforeSignIn": "Hãy lưu thay đổi proxy trước khi đăng nhập.",
"saveProxy": "Lưu proxy",
"localCodeHelp": "Hoàn tất đăng nhập trong trình duyệt. nanobot thường tự động hoàn tất; nếu không, hãy dán mã ủy quyền bên dưới.",
"remoteCodeHelp": "Chọn Đăng nhập để mở xAI trên máy tính của bạn. Sau khi đăng nhập, hãy dán mã ủy quyền do xAI hiển thị bên dưới.",
"authorizationCode": "Mã ủy quyền",
"finishSignIn": "Hoàn tất đăng nhập"
},
"skills": {
"description": "Xem các kỹ năng chỉ dẫn mà agent này có thể tải trong cuộc trò chuyện.",
+9 -1
View File
@@ -719,10 +719,18 @@
"signOut": "退出登录",
"signedInAs": "已登录为 {{account}}",
"signInHelp": "从这台设备登录;不会在配置中保存 API key。",
"remoteSignInHelp": "点击“登录”在你的电脑上打开 xAI,完成登录后粘贴页面显示的授权码。",
"signInRequired": "需要登录",
"signInBeforeSaving": "将此 OAuth 提供商设为当前模型提供商前,请先登录。",
"signedIn": "已登录",
"notSignedIn": "未登录"
"notSignedIn": "未登录",
"proxyLabel": "网络代理",
"proxySaveBeforeSignIn": "请先保存代理更改再登录。",
"saveProxy": "保存代理",
"localCodeHelp": "请在浏览器中完成登录。nanobot 通常会自动完成;若未自动完成,请将授权码粘贴到下方。",
"remoteCodeHelp": "点击“登录”在你的电脑上打开 xAI。完成登录后,请将 xAI 显示的授权码粘贴到下方。",
"authorizationCode": "授权码",
"finishSignIn": "完成登录"
},
"skills": {
"description": "查看此 agent 在对话中可以加载的指令技能。",
+9 -1
View File
@@ -705,10 +705,18 @@
"signOut": "登出",
"signedInAs": "已使用 {{account}} 登入",
"signInHelp": "請從這臺裝置登入;系統不會將 API 金鑰儲存在設定中。",
"remoteSignInHelp": "點擊「登入」在你的電腦上開啟 xAI,完成登入後貼上頁面顯示的授權碼。",
"signInRequired": "需要登入",
"signInBeforeSaving": "將此 OAuth 供應商設為目前模型供應商前,請先登入。",
"signedIn": "已登入",
"notSignedIn": "未登入"
"notSignedIn": "未登入",
"proxyLabel": "網路代理",
"proxySaveBeforeSignIn": "請先儲存代理變更再登入。",
"saveProxy": "儲存代理",
"localCodeHelp": "請在瀏覽器中完成登入。nanobot 通常會自動完成;若未自動完成,請將授權碼貼到下方。",
"remoteCodeHelp": "點擊「登入」在你的電腦上開啟 xAI。完成登入後,請將 xAI 顯示的授權碼貼到下方。",
"authorizationCode": "授權碼",
"finishSignIn": "完成登入"
},
"skills": {
"description": "檢閱此 Agent 可在對話期間載入的指令技能。",