diff --git a/.vscode/settings.json b/.vscode/settings.json index a1f9a3a..21e055f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,10 +1,12 @@ { "editor.fontLigatures": true, "cSpell.words": [ + "deepseek", "HITL", "innerhtml", "llms", "opensource", + "qwen", "retryable", "wouter" ], diff --git a/packages/website/src/docs/features/model-integration/page.tsx b/packages/website/src/docs/features/model-integration/page.tsx index f9fbfac..1d8b691 100644 --- a/packages/website/src/docs/features/model-integration/page.tsx +++ b/packages/website/src/docs/features/model-integration/page.tsx @@ -1,164 +1,133 @@ import { useTranslation } from 'react-i18next' -import BetaNotice from '@/components/BetaNotice' import CodeEditor from '@/components/CodeEditor' +// Recommended models: lightweight with excellent tool call capabilities +const MODELS = { + recommended: [ + 'gpt-4.1-mini', + 'claude-haiku-4.5', + 'gemini-3-flash', + 'deepseek-3.2', + 'qwen-3-max', + 'gpt-5.2', + ], + verified: [ + 'gpt-4.1', + 'gpt-5', + 'gpt-5-mini', + 'gpt-5.1', + 'grok-4', + 'grok-code-fast', + 'qwen3-max', + 'deepseek-v3.2', + 'claude-sonnet-3.5', + 'claude-sonnet-4.5', + 'gemini-2.5', + 'gemini-3-pro', + ], +} + export default function ModelIntegration() { const { t } = useTranslation('docs') + const allModels = [...MODELS.recommended, ...MODELS.verified] return ( -
-

{t('model_integration.title')}

- -

+

+

{t('model_integration.title')}

+

{t('model_integration.subtitle')}

-

{t('model_integration.recommended')}

- -
-
-

- {t('model_integration.model_gpt4_title')} -

-

- {t('model_integration.model_gpt4_badge')} -

-
    -
  • {t('model_integration.model_gpt4_1')}
  • -
  • {t('model_integration.model_gpt4_2')}
  • -
  • {t('model_integration.model_gpt4_3')}
  • -
-
- -
-

- {t('model_integration.model_deepseek_title')} -

-

- {t('model_integration.model_deepseek_badge')} -

-
    -
  • {t('model_integration.model_deepseek_1')}
  • -
  • {t('model_integration.model_deepseek_2')}
  • -
  • {t('model_integration.model_deepseek_3')}
  • -
-
- -
-

- {t('model_integration.model_qwen_title')} -

-

- {t('model_integration.model_qwen_badge')} -

-
    -
  • {t('model_integration.model_qwen_1')}
  • -
  • {t('model_integration.model_qwen_2')}
  • -
  • {t('model_integration.model_qwen_3')}
  • -
-
- -
-

- {t('model_integration.model_gemini_title')} -

-

- {t('model_integration.model_gemini_badge')} -

-
-
- -

{t('model_integration.available')}

- -
-

- {t('model_integration.available_verified')} -

-
- - gpt-4.1-mini/4.1/5 - - - grok-4/grok-code-fast - - - qwen3 - - - deepseek-v3.1/3.2 - - - claude-sonnet-4/4.5/haiku-4.5 - - - gemini-2.5 - -
-
- -

{t('model_integration.tips')}

- -
-
    -
  • {t('model_integration.tip_1')}
  • -
  • {t('model_integration.tip_2')}
  • -
  • {t('model_integration.tip_3')}
  • -
-
- -

{t('model_integration.security')}

- -
-

- {t('model_integration.security_warning')} + {/* Models Section */} +

+

{t('model_integration.available')}

+

+ {t('model_integration.recommendation_logic')}

-
+
+
+ {allModels.map((model) => { + const isRecommended = MODELS.recommended.includes(model) + return ( +
+ {model} + {isRecommended && } +
+ ) + })} +
+
+ -

- {t('model_integration.security_desc')} -

+ {/* Tips Section */} +
+

{t('model_integration.tips')}

+
+
    +
  • {t('model_integration.tip_2')}
  • +
  • {t('model_integration.tip_3')}
  • +
+
+
-
-

- {t('model_integration.security_backend_proxy')} -

-

- {t('model_integration.security_backend_desc')} -

-
    -
  • {t('model_integration.security_method_1')}
  • -
  • {t('model_integration.security_method_2')}
  • -
  • {t('model_integration.security_method_3')}
  • -
-
+ {/* Security Section */} +
+

{t('model_integration.security')}

+
+

+ {t('model_integration.security_warning')} +

+
+
+

+ {t('model_integration.security_backend_proxy')} +

+

+ {t('model_integration.security_backend_desc')} +

+
    +
  • {t('model_integration.security_method_1')}
  • +
  • {t('model_integration.security_method_2')}
  • +
  • {t('model_integration.security_method_3')}
  • +
+
+
-

{t('model_integration.configuration')}

- - +

{t('model_integration.configuration')}

+ + /> +
) } diff --git a/packages/website/src/i18n/locales/en-US/docs.ts b/packages/website/src/i18n/locales/en-US/docs.ts index 8f5299c..d008eee 100644 --- a/packages/website/src/i18n/locales/en-US/docs.ts +++ b/packages/website/src/i18n/locales/en-US/docs.ts @@ -115,32 +115,17 @@ export default { model_integration: { title: 'Model Integration', subtitle: - 'Supports OpenAI-compatible models with tool call support, including public cloud services and private deployments.', + 'Supports models that comply with OpenAI API specification and support tool calls, including public cloud services and private deployments.', + recommendation_logic: 'Recommended: Lightweight models with strong ToolCall capabilities', recommended: 'Recommended Models', - model_gpt4_title: '⚡ gpt-4.1-mini', - model_gpt4_badge: 'Evaluation Baseline ✅', - model_gpt4_1: '• Cost-effective', - model_gpt4_2: '• Fast', - model_gpt4_3: '• High success rate', - model_deepseek_title: '💰 DeepSeek-3.2', - model_deepseek_badge: 'Economical', - model_deepseek_1: '• Much cheaper than similar models', - model_deepseek_2: '• ToolCall may error but usually auto-recovers', - model_deepseek_3: "• This site's free demo uses DeepSeek", - model_qwen_title: '🛡️ qwen3', - model_qwen_badge: 'Secure & Compliant', - model_qwen_1: '• Controllable, decent results, reasonable price', - model_qwen_2: '• ToolCall may error but usually auto-recovers', - model_qwen_3: '• Best for scenarios with detailed steps', - model_gemini_title: '⚡ gemini-2.5-flash', - model_gemini_badge: 'Highly efficient, high success rate, reasonable price', available: 'Available Models', - available_verified: '✅ Verified Working', + available_verified: 'Verified Working Models', tips: 'Tips', tip_1: 'Reasoning models (like GPT-5) are slower with no advantage', tip_2: - "Non-OpenAI models don't guarantee JSON schema compliance—tool call may error but usually recovers. Higher temperature recommended", - tip_3: 'Small/nano models perform poorly', + 'Models with weaker ToolCall capabilities may return incorrect formats. Common errors usually auto-recover. Higher temperature recommended', + tip_3: + 'Small models or those unable to handle complex tool definitions typically perform poorly', security: '🔐 Production Authentication', security_warning: '⚠️ Never commit real LLM API Keys to your frontend codebase', security_desc: diff --git a/packages/website/src/i18n/locales/zh-CN/docs.ts b/packages/website/src/i18n/locales/zh-CN/docs.ts index 783ac90..c031062 100644 --- a/packages/website/src/i18n/locales/zh-CN/docs.ts +++ b/packages/website/src/i18n/locales/zh-CN/docs.ts @@ -114,31 +114,15 @@ export default { model_integration: { title: '模型接入', subtitle: '当前支持符合 OpenAI 接口规范且支持 tool call 的模型,包括公有云服务和私有部署方案。', + recommendation_logic: '推荐使用 ToolCall 能力强的轻量级模型', recommended: '推荐模型', - model_gpt4_title: '⚡ gpt-4.1-mini', - model_gpt4_badge: '评估基准 ✅', - model_gpt4_1: '• 性价比高', - model_gpt4_2: '• 速度快', - model_gpt4_3: '• 成功率高', - model_deepseek_title: '💰 DeepSeek-3.2', - model_deepseek_badge: '经济实惠', - model_deepseek_1: '• 价格远低于同等级其他模型', - model_deepseek_2: '• ToolCall 有出错率,通常能够自动修复', - model_deepseek_3: '• 本网站提供的免费试用为 DeepSeek', - model_qwen_title: '🛡️ qwen3', - model_qwen_badge: '安全合规', - model_qwen_1: '• 可控、效果尚可,价格合理', - model_qwen_2: '• ToolCall 有出错率,通常能够自动修复', - model_qwen_3: '• 适合能给出详细步骤的场景', - model_gemini_title: '⚡ gemini-2.5-flash', - model_gemini_badge: '极其高效,成功率高,价格合理', available: '可用模型', - available_verified: '✅ 已验证可用', + available_verified: '已验证可用模型', tips: '提示', tip_1: 'reasoning 模型(如 GPT-5),速度偏慢,没有必要', tip_2: - '不保证 json schema 的模型(openAI 以外的几乎所有模型),tool call 有概率出错,通常能自动修复,建议 temperature 设置高一些', - tip_3: '小模型、nano 模型,效果不佳', + 'ToolCall 能力较弱的模型可能返回错误的格式,常见错误能够自动恢复,建议设置较高的 temperature', + tip_3: '小模型或者无法适应复杂 Tool 定义的模型,通常效果不佳', security: '🔐 生产环境鉴权建议', security_warning: '⚠️ 永远不要把真实的 LLM API Key 发布到前端代码库', security_desc: '在实际应用中,为了隐藏真实的 LLM API Key,建议采用以下架构:',