mirror of
https://github.com/OpenHands/OpenHands.git
synced 2025-12-26 05:48:36 +08:00
Fix help links for OpenHands Provider (#11128)
Co-authored-by: openhands <openhands@all-hands.dev>
This commit is contained in:
parent
830a9e027f
commit
63829d0f45
@ -408,6 +408,8 @@ export enum I18nKey {
|
||||
SETTINGS$OPENHANDS_API_KEY_HELP = "SETTINGS$OPENHANDS_API_KEY_HELP",
|
||||
SETTINGS$OPENHANDS_API_KEY_HELP_TEXT = "SETTINGS$OPENHANDS_API_KEY_HELP_TEXT",
|
||||
SETTINGS$OPENHANDS_API_KEY_HELP_SUFFIX = "SETTINGS$OPENHANDS_API_KEY_HELP_SUFFIX",
|
||||
SETTINGS$LLM_BILLING_INFO = "SETTINGS$LLM_BILLING_INFO",
|
||||
SETTINGS$SEE_PRICING_DETAILS = "SETTINGS$SEE_PRICING_DETAILS",
|
||||
SETTINGS$CREATE_API_KEY = "SETTINGS$CREATE_API_KEY",
|
||||
SETTINGS$CREATE_API_KEY_DESCRIPTION = "SETTINGS$CREATE_API_KEY_DESCRIPTION",
|
||||
SETTINGS$DELETE_API_KEY = "SETTINGS$DELETE_API_KEY",
|
||||
|
||||
@ -6512,20 +6512,52 @@
|
||||
"uk": "Ви можете знайти свій ключ API OpenHands у"
|
||||
},
|
||||
"SETTINGS$OPENHANDS_API_KEY_HELP_SUFFIX": {
|
||||
"en": "tab of OpenHands Cloud. LLM usage is billed at the providers' rates with no markup. Details: https://docs.all-hands.dev/usage/llms/openhands-llms",
|
||||
"ja": "タブで確認できます。LLMの使用料金は、プロバイダーの料金でマークアップなしで請求されます。詳細: https://docs.all-hands.dev/usage/llms/openhands-llms",
|
||||
"zh-CN": "标签页中找到您的OpenHands API密钥。LLM使用费用按提供商费率计费,无加价。详情: https://docs.all-hands.dev/usage/llms/openhands-llms",
|
||||
"zh-TW": "標籤頁中找到您的OpenHands API密鑰。LLM使用費用按提供商費率計費,無加價。詳情: https://docs.all-hands.dev/usage/llms/openhands-llms",
|
||||
"ko-KR": "탭에서 찾을 수 있습니다. LLM 사용료는 제공업체 요금으로 마크업 없이 청구됩니다. 자세한 내용: https://docs.all-hands.dev/usage/llms/openhands-llms",
|
||||
"no": "-fanen i OpenHands Cloud. LLM-bruk faktureres til leverandørenes priser uten påslag. Detaljer: https://docs.all-hands.dev/usage/llms/openhands-llms",
|
||||
"it": "scheda di OpenHands Cloud. L'utilizzo di LLM viene fatturato alle tariffe dei fornitori senza ricarico. Dettagli: https://docs.all-hands.dev/usage/llms/openhands-llms",
|
||||
"pt": "guia do OpenHands Cloud. O uso de LLM é cobrado nas tarifas dos provedores sem markup. Detalhes: https://docs.all-hands.dev/usage/llms/openhands-llms",
|
||||
"es": "pestaña de OpenHands Cloud. El uso de LLM se factura a las tarifas de los proveedores sin recargo. Detalles: https://docs.all-hands.dev/usage/llms/openhands-llms",
|
||||
"ar": "علامة التبويب في OpenHands Cloud. يتم فوترة استخدام LLM بأسعار المزودين بدون زيادة. التفاصيل: https://docs.all-hands.dev/usage/llms/openhands-llms",
|
||||
"fr": "l'onglet d'OpenHands Cloud. L'utilisation de LLM est facturée aux tarifs des fournisseurs sans majoration. Détails : https://docs.all-hands.dev/usage/llms/openhands-llms",
|
||||
"tr": "OpenHands Cloud'un sekmesinde bulabilirsiniz. LLM kullanımı, sağlayıcıların oranlarında ek ücret olmadan faturalandırılır. Ayrıntılar: https://docs.all-hands.dev/usage/llms/openhands-llms",
|
||||
"de": "Tab von OpenHands Cloud. LLM-Nutzung wird zu Anbieterpreisen ohne Aufschlag abgerechnet. Details: https://docs.all-hands.dev/usage/llms/openhands-llms",
|
||||
"uk": "вкладці OpenHands Cloud. Використання LLM оплачується за тарифами провайдерів без надбавки. Деталі: https://docs.all-hands.dev/usage/llms/openhands-llms"
|
||||
"en": "tab of OpenHands Cloud.",
|
||||
"ja": "タブで確認できます。",
|
||||
"zh-CN": "标签页中找到您的OpenHands API密钥。",
|
||||
"zh-TW": "標籤頁中找到您的OpenHands API密鑰。",
|
||||
"ko-KR": "탭에서 찾을 수 있습니다.",
|
||||
"no": "-fanen i OpenHands Cloud.",
|
||||
"it": "scheda di OpenHands Cloud.",
|
||||
"pt": "guia do OpenHands Cloud.",
|
||||
"es": "pestaña de OpenHands Cloud.",
|
||||
"ar": "علامة التبويب في OpenHands Cloud.",
|
||||
"fr": "l'onglet d'OpenHands Cloud.",
|
||||
"tr": "OpenHands Cloud'un sekmesinde bulabilirsiniz.",
|
||||
"de": "Tab von OpenHands Cloud.",
|
||||
"uk": "вкладці OpenHands Cloud."
|
||||
},
|
||||
"SETTINGS$LLM_BILLING_INFO": {
|
||||
"en": "LLM usage is billed at the providers' rates with no markup.",
|
||||
"ja": "LLMの使用料金は、プロバイダーの料金でマークアップなしで請求されます。",
|
||||
"zh-CN": "LLM使用费用按提供商费率计费,无加价。",
|
||||
"zh-TW": "LLM使用費用按提供商費率計費,無加價。",
|
||||
"ko-KR": "LLM 사용료는 제공업체 요금으로 마크업 없이 청구됩니다。",
|
||||
"no": "LLM-bruk faktureres til leverandørenes priser uten påslag.",
|
||||
"it": "L'utilizzo di LLM viene fatturato alle tariffe dei fornitori senza ricarico.",
|
||||
"pt": "O uso de LLM é cobrado nas tarifas dos provedores sem markup.",
|
||||
"es": "El uso de LLM se factura a las tarifas de los proveedores sin recargo.",
|
||||
"ar": "يتم فوترة استخدام LLM بأسعار المزودين بدون زيادة.",
|
||||
"fr": "L'utilisation de LLM est facturée aux tarifs des fournisseurs sans majoration.",
|
||||
"tr": "LLM kullanımı, sağlayıcıların oranlarında ek ücret olmadan faturalandırılır.",
|
||||
"de": "LLM-Nutzung wird zu Anbieterpreisen ohne Aufschlag abgerechnet.",
|
||||
"uk": "Використання LLM оплачується за тарифами провайдерів без надбавки."
|
||||
},
|
||||
"SETTINGS$SEE_PRICING_DETAILS": {
|
||||
"en": "See pricing details.",
|
||||
"ja": "価格詳細を見る。",
|
||||
"zh-CN": "查看价格详情。",
|
||||
"zh-TW": "查看價格詳情。",
|
||||
"ko-KR": "가격 세부정보 보기。",
|
||||
"no": "Se prisdetaljer.",
|
||||
"it": "Vedi dettagli sui prezzi.",
|
||||
"pt": "Ver detalhes de preços.",
|
||||
"es": "Ver detalles de precios.",
|
||||
"ar": "انظر تفاصيل الأسعار.",
|
||||
"fr": "Voir les détails de prix.",
|
||||
"tr": "Fiyat ayrıntılarını gör.",
|
||||
"de": "Preisdetails anzeigen.",
|
||||
"uk": "Переглянути деталі цін."
|
||||
},
|
||||
"SETTINGS$CREATE_API_KEY": {
|
||||
"en": "Create API Key",
|
||||
|
||||
@ -34,6 +34,37 @@ import { useCreateSubscriptionCheckoutSession } from "#/hooks/mutation/stripe/us
|
||||
import { useIsAuthed } from "#/hooks/query/use-is-authed";
|
||||
import { cn } from "#/utils/utils";
|
||||
|
||||
interface OpenHandsApiKeyHelpProps {
|
||||
testId: string;
|
||||
}
|
||||
|
||||
function OpenHandsApiKeyHelp({ testId }: OpenHandsApiKeyHelpProps) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<>
|
||||
<HelpLink
|
||||
testId={testId}
|
||||
text={t(I18nKey.SETTINGS$OPENHANDS_API_KEY_HELP_TEXT)}
|
||||
linkText={t(I18nKey.SETTINGS$NAV_API_KEYS)}
|
||||
href="https://app.all-hands.dev/settings/api-keys"
|
||||
suffix={` ${t(I18nKey.SETTINGS$OPENHANDS_API_KEY_HELP_SUFFIX)}`}
|
||||
/>
|
||||
<p className="text-xs">
|
||||
{t(I18nKey.SETTINGS$LLM_BILLING_INFO)}{" "}
|
||||
<a
|
||||
href="https://docs.all-hands.dev/usage/llms/openhands-llms"
|
||||
rel="noreferrer noopener"
|
||||
target="_blank"
|
||||
className="underline underline-offset-2"
|
||||
>
|
||||
{t(I18nKey.SETTINGS$SEE_PRICING_DETAILS)}
|
||||
</a>
|
||||
</p>
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
function LlmSettingsScreen() {
|
||||
const { t } = useTranslation();
|
||||
const [searchParams, setSearchParams] = useSearchParams();
|
||||
@ -473,13 +504,7 @@ function LlmSettingsScreen() {
|
||||
/>
|
||||
{(settings.LLM_MODEL?.startsWith("openhands/") ||
|
||||
currentSelectedModel?.startsWith("openhands/")) && (
|
||||
<HelpLink
|
||||
testId="openhands-api-key-help"
|
||||
text={t(I18nKey.SETTINGS$OPENHANDS_API_KEY_HELP_TEXT)}
|
||||
linkText={t(I18nKey.SETTINGS$NAV_API_KEYS)}
|
||||
href="https://app.all-hands.dev/settings/api-keys"
|
||||
suffix={` ${t(I18nKey.SETTINGS$OPENHANDS_API_KEY_HELP_SUFFIX)}`}
|
||||
/>
|
||||
<OpenHandsApiKeyHelp testId="openhands-api-key-help" />
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
@ -554,13 +579,7 @@ function LlmSettingsScreen() {
|
||||
/>
|
||||
{(settings.LLM_MODEL?.startsWith("openhands/") ||
|
||||
currentSelectedModel?.startsWith("openhands/")) && (
|
||||
<HelpLink
|
||||
testId="openhands-api-key-help-2"
|
||||
text={t(I18nKey.SETTINGS$OPENHANDS_API_KEY_HELP_TEXT)}
|
||||
linkText={t(I18nKey.SETTINGS$NAV_API_KEYS)}
|
||||
href="https://app.all-hands.dev/settings/api-keys"
|
||||
suffix={` ${t(I18nKey.SETTINGS$OPENHANDS_API_KEY_HELP_SUFFIX)}`}
|
||||
/>
|
||||
<OpenHandsApiKeyHelp testId="openhands-api-key-help-2" />
|
||||
)}
|
||||
|
||||
<SettingsInput
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user