Skip to main content

x-request

Focus on explaining the practical configuration and usage of XRequest, providing accurate configuration instructions based on official documentation

来源信息

仓库
modelscope/ms-agent
最近来源活动
2026年9月8日 10:28
检测到的 SKILL.md 语言
英语
星标
4,408
分支
528

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
4 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
x-request
version
2.8.1
description
Focus on explaining the practical configuration and usage of XRequest, providing accurate configuration instructions based on official documentation
# 🎯 Skill Positioning **This skill focuses on solving**: How to correctly configure XRequest to adapt to various streaming interface requirements. # Table of Contents - [🚀 Quick Start](#-quick-start) - Get started in 3 minutes - [Dependency Management](#dependency-management) - [Basic Configuration](#basic-configuration) - [📦 Technology Stack Overview](#-technology-stack-overview) - [🔧 Core Configuration Details](#-core-configuration-details) - [Global Configuration](#1-global-configuration) - [Security Configuration](#2-security-configuration) - [Streaming Configuration](#3-streaming-configuration) - [🛡️ Security Guide](#️-security-guide) - [Environment Security Configuration](#environment-security-configuration) - [Authentication Methods Comparison](#authentication-methods-comparison) - [🔍 Debugging and Testing](#-debugging-and-testing) - [Debug Configuration](#debug-configuration) - [Configuration Validation](#configuration-validation) - [📋 Usage Scenarios](#-usage-scenarios) - [Standalone Usage](#standalone-usage) - [Integration with Other Skills](#integration-with-other-skills) - [🚨 Development Rules](#-development-rules) - [🔗 Reference Resources](#-reference-resources) - [📚 Core Reference Documentation](#-core-reference-documentation) - [🌐 SDK Official Documentation](#-sdk-official-documentation) - [💻 Example Code](#-example-code) # 🚀 Quick Start ## Dependency Management ### 📋 System Requirements | Package | Version Requirement | Auto Install | Purpose | | --------------------- | ------------------- | ------------ | -------------------------------- | | **@ant-design/x-sdk** | ≥2.2.2 | ✅ | Core SDK, includes XRequest tool | ### 🛠️ One-click Installation ```bash # Recommended to use tnpm tnpm install @ant-design/x-sdk # Or use npm npm add @ant-design/x-sdk # Check version npm ls @ant-design/x-sdk ``` ## Basic Configuration ### Simplest Usage ```typescript import { XRequest } from '@ant-design/x-sdk'; // Minimal configuration: only need to provide API URL const request = XRequest('https://api.example.com/chat'); // For manual control (used in Provider scenarios) const providerRequest = XRequest('https://api.example.com/chat', { manual: true, // Usually only this needs explicit configuration }); ``` > 💡 **Tip**: XRequest has built-in reasonable default configurations. In most cases, you only need to provide the API URL to use it. # 📦 Technology Stack Overview ## 🏗️ Technology Stack Architecture ```mermaid graph TD A[XRequest] --> B[Network Requests] A --> C[Authentication Management] A --> D[Error Handling] A --> E[Streaming Processing] B --> F[fetch Wrapper] C --> G[Token Management] D --> H[Retry Mechanism] E --> I[Server-Sent Events] ``` ## 🔑 Core Concepts | Concept | Role Positioning | Core Responsibilities | Usage Scenarios | | --- | --- | --- | --- | | **XRequest** | 🌐 Request Tool | Handle all network communication, authentication, error handling | Unified request management | | **Global Config** | ⚙️ Config Center | Configure once, use everywhere | Reduce duplicate code | | **Streaming Config** | 🔄 Streaming Processing | Support SSE and JSON response formats | AI conversation scenarios | # 🔧 Core Configuration Details Core functionality reference content [CORE.md](reference/CORE.md) # 🛡️ Security Guide ## Environment Security Configuration ### 🌍 Security Strategies for Different Environments | Runtime Environment | Security Level | Configuration Method | Risk Description | | --- | --- | --- | --- | | **Browser Frontend** | 🔴 High Risk | ❌ Prohibit key configuration | Keys will be directly exposed to users | | **Node.js Backend** | 🟢 Safe | ✅ Environment variable configuration | Keys stored on server side | | **Proxy Service** | 🟢 Safe | ✅ Same-origin proxy forwarding | Keys managed by proxy service | ### 🔐 Authentication Methods Comparison | Authentication Method | Applicable Environment | Configuration Example | Security | | --- | --- | --- | --- | | **Bearer Token** | Node.js | `Bearer ${process.env.API_KEY}` | ✅ Safe | | **API Key Header** | Node.js | `X-API-Key: ${process.env.KEY}` | ✅ Safe | | **Proxy Forwarding** | Browser | `/api/proxy/service` | ✅ Safe | | **Direct Configuration** | Browser | `Bearer sk-xxx` | ❌ Dangerous | # 🔍 Debugging and Testing ## Debug Configuration ### 🛠️ Debug Templates **Node.js Debug Configuration**: ```typescript // Safe debug configuration (Node.js environment) const debugRequest = XRequest('https://your-api.com/chat', { headers: { Authorization: `Bearer ${process.env.DEBUG_API_KEY}`, }, params: { query: 'test message' }, }); ``` **Frontend Debug Configuration**: ```typescript // Safe debug configuration (frontend environment) const debugRequest = XRequest('/api/debug/chat', { params: { query: 'test message' }, }); ``` ## Configuration Validation ### ✅ Security Check Tools ```typescript // Security configuration validation function const validateSecurity = (config: any) => { const isBrowser = typeof window !== 'undefined'; const hasAuth = config.headers?.Authorization || config.headers?.authorization; if (isBrowser && hasAuth) { throw new Error( '❌ Frontend environment prohibits Authorization configuration, risk of key leakage!', ); } console.log('✅ Security configuration check passed'); return true; }; // Usage example validateSecurity({ headers: { // Do not include Authorization }, }); ``` # 📋 Usage Scenarios ## Standalone Usage ### 🎯 Direct Request Initiation ```typescript import { XRequest } from '@ant-design/x-sdk'; // Test interface availability const testRequest = XRequest('https://httpbin.org/post', { params: { test: 'data' }, }); // Send request immediately const response = await testRequest(); console.log(response); ``` ## Integration with Other Skills ### 🔄 Skill Collaboration Workflow ```mermaid graph TD A[x-request] -->|Configure Request| B[x-chat-provider] A -->|Configure Request| C[use-x-chat] B -->|Provide Provider| C A --> D[Direct Request] ``` | Usage Method | Cooperating Skill | Purpose | Example | | --- | --- | --- | --- | | **Standalone** | None | Direct network request initiation | Test interface availability | | **With x-chat-provider** | x-chat-provider | Configure requests for custom Provider | Configure private API | | **With use-x-chat** | use-x-chat | Configure requests for built-in Provider | Configure OpenAI API | | **Complete AI Application** | x-request → x-chat-provider → use-x-chat | Configure requests for entire system | Complete AI conversation application | ### ⚠️ useXChat Integration Security Warning **Important Warning: useXChat is only for frontend environments, XRequest configuration must not contain Authorization!** **❌ Incorrect Configuration (Dangerous)**: ```typescript // Extremely dangerous: keys will be directly exposed to browser const unsafeRequest = XRequest('https://api.openai.com/v1/chat/completions', { headers: { Authorization: 'Bearer sk-xxxxxxxxxxxxxx', // ❌ Dangerous! }, manual: true, }); ``` **✅ Correct Configuration (Safe)**: ```typescript // Frontend security configuration: use proxy service const safeRequest = XRequest('/api/proxy/openai', { params: { model: 'gpt-3.5-turbo', stream: true, }, manual: true, }); ``` # 🚨 Development Rules ## Test Case Rules - **If the user does not explicitly need test cases, do not add test files** - **Only create test cases when the user explicitly requests them** ## Code Quality Rules - **After completion, must check types**: Run `tsc --noEmit` to ensure no type errors - **Keep code clean**: Remove all unused variables and imports ## ✅ Configuration Checklist Before using XRequest, please confirm the following configurations are correctly set: ### 🔍 Configuration Checklist | Check Item | Status | Description | | --- | --- | --- | | **API URL** | ✅ Must Configure | `XRequest('https://api.xxx.com')` | | **Auth Info** | ⚠️ Environment Related | Frontend❌Prohibited, Node.js✅Available | | **manual Config** | ✅ Provider Scenario | In Provider needs to be set to `true`, other scenarios need to be set according to actual situation | | **Other Config** | ❌ No Need to Configure | Built-in reasonable default values | | **Interface Availability** | ✅ Recommended Test | Verify with debug configuration | ### 🛠️ Quick Verification Script ```typescript // Check configuration before running const checkConfig = () => { const checks = [ { name: 'Global Configuration', test: () => { // Check if global configuration has been set return true; // Check according to actual situation }, }, { name: 'Security Configuration', test: () => validateSecurity(globalConfig), }, { name: 'Type Check', test: () => { // Run tsc --noEmit return true; }, }, ]; checks.forEach((check) => { console.log(`${check.name}: ${check.test() ? '✅' : '❌'}`); }); }; ``` ## 🎯 Skill Collaboration ```mermaid graph LR A[x-request] -->|Configure Request| B[x-chat-provider] A -->|Configure Request| C[use-x-chat] B -->|Provide Provider| C ``` ### 📊 Skill Usage Comparison Table | Usage Scenario | Required Skills | Usage Order | Completion Time | | --- | --- | --- | --- | | **Test Interface** | x-request | Direct Use | 2 minutes | | **Private API Adaptation** | x-request → x-chat-provider | Configure request first, then create Provider | 10 minutes | | **Standard AI Application** | x-request → use-x-chat | Configure request first, then build interface | 15 minutes | | **Complete Customization** | x-request → x-chat-provider → use-x-chat | Complete workflow | 30 minutes | # 🔗 Reference Resources ## 📚 Core Reference Documentation - [API.md](reference/API.md) - Complete API reference documentation - [EXAMPLES_SERVICE_PROVIDER.md](reference/EXAMPLES_SERVICE_PROVIDER.md) - Configuration examples for various service providers ## 🌐 SDK Official Documentation - [useXChat Official Documentation](https://github.com/ant-design/x/blob/main/packages/x/docs/x-sdk/use-x-chat.en-US.md) - [XRequest Official Documentation](https://github.com/ant-design/x/blob/main/packages/x/docs/x-sdk/x-request.en-US.md) - [Chat Provider Official Documentation](https://github.com/ant-design/x/blob/main/packages/x/docs/x-sdk/chat-provider.en-US.md) ## 💻 Example Code - [custom-provider-width-ui.tsx](https://github.com/ant-design/x/blob/main/packages/x/docs/x-sdk/demos/chat-providers/custom-provider-width-ui.tsx) - Complete example of custom Provider
在 GitHub 查看