本文へ移動
cccskills
無料GitHub で公開

x-request

专注讲解 XRequest 的实际配置和使用,基于官方文档提供准确的配置说明

インストール方法を見る

含まれるファイル(4)

  • SKILL.md10.0 KB
  • reference/API.md5.4 KB
  • reference/CORE.md5.5 KB
  • reference/EXAMPLES_SERVICE_PROVIDER.md2.8 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

🎯 技能定位

本技能专注解决:如何正确配置 XRequest 来适配各种流式接口需求。

目录导航

🚀 快速开始

依赖管理

📋 系统要求

依赖包版本要求自动安装作用
@ant-design/x-sdk≥2.2.2✅核心SDK,包含XRequest工具

🛠️ 一键安装

# 推荐使用 tnpm
tnpm install @ant-design/x-sdk

# 或使用 npm
npm add @ant-design/x-sdk

# 检查版本
npm ls @ant-design/x-sdk

基础配置

最简单的使用方式

import { XRequest } from '@ant-design/x-sdk';

// 最简配置:仅需提供API地址
const request = XRequest('https://api.example.com/chat');

// 如需手动控制(用于Provider场景)
const providerRequest = XRequest('https://api.example.com/chat', {
  manual: true, // 仅此项通常需要显式配置
});

💡 提示:XRequest 已内置合理的默认配置,大多数情况下只需提供API地址即可使用。

📦 技术栈概览

🏗️ 技术栈架构

graph TD
    A[XRequest] --> B[网络请求]
    A --> C[认证管理]
    A --> D[错误处理]
    A --> E[流式处理]
    B --> F[fetch封装]
    C --> G[Token管理]
    D --> H[重试机制]
    E --> I[Server-Sent Events]

🔑 核心概念

概念角色定位核心职责使用场景
XRequest🌐 请求工具处理所有网络通信、认证、错误处理统一请求管理
全局配置⚙️ 配置中心一次配置,多处使用减少重复代码
流式配置🔄 流式处理支持SSE和JSON响应格式AI对话场景

🔧 核心配置详解

核心功能参考内容 CORE.md

🛡️ 安全指南

环境安全配置

🌍 不同环境的安全策略

运行环境安全等级配置方式风险说明
浏览器前端🔴 高危❌ 禁止配置密钥密钥会直接暴露给用户
Node.js后端🟢 安全✅ 环境变量配置密钥存储在服务器端
代理服务🟢 安全✅ 同域代理转发密钥由代理服务管理

🔐 认证方式对比

认证方式适用环境配置示例安全性
Bearer TokenNode.jsBearer ${process.env.API_KEY}✅ 安全
API Key HeaderNode.jsX-API-Key: ${process.env.KEY}✅ 安全
代理转发浏览器/api/proxy/service✅ 安全
直接配置浏览器Bearer sk-xxx❌ 危险

🔍 调试与测试

调试配置

🛠️ 调试模板

Node.js调试配置:

// 安全的调试配置(Node.js 环境)
const debugRequest = XRequest('https://your-api.com/chat', {
  headers: {
    Authorization: `Bearer ${process.env.DEBUG_API_KEY}`,
  },
  params: { query: '测试消息' },
});

前端调试配置:

// 安全的调试配置(前端环境)
const debugRequest = XRequest('/api/debug/chat', {
  params: { query: '测试消息' },
});

配置验证

✅ 安全检查工具

// 安全配置验证函数
const validateSecurity = (config: any) => {
  const isBrowser = typeof window !== 'undefined';
  const hasAuth = config.headers?.Authorization || config.headers?.authorization;

  if (isBrowser && hasAuth) {
    throw new Error('❌ 前端环境禁止配置 Authorization,存在密钥泄漏风险!');
  }

  console.log('✅ 安全配置检查通过');
  return true;
};

// 使用示例
validateSecurity({
  headers: {
    // 不要包含 Authorization
  },
});

📋 使用场景

独立使用

🎯 直接发起请求

import { XRequest } from '@ant-design/x-sdk';

// 测试接口可用性
const testRequest = XRequest('https://httpbin.org/post', {
  params: { test: 'data' },
});

// 立即发送请求
const response = await testRequest();
console.log(response);

配合其他技能

🔄 技能协作流程

graph TD
    A[x-request] -->|配置请求| B[x-chat-provider]
    A -->|配置请求| C[use-x-chat]
    B -->|提供Provider| C
    A --> D[直接请求]
使用方式配合技能作用示例
独立使用无直接发起网络请求测试接口可用性
配合 x-chat-providerx-chat-provider为自定义 Provider 配置请求配置私有 API
配合 use-x-chatuse-x-chat为内置 Provider 配置请求配置 OpenAI API
完整 AI 应用x-request → x-chat-provider → use-x-chat为整个系统配置请求完整 AI 对话应用

⚠️ useXChat 集成安全警告

重要警告:useXChat 仅用于前端环境,XRequest 配置中禁止包含 Authorization!

❌ 错误配置(危险):

// 极度危险:密钥会直接暴露给浏览器
const unsafeRequest = XRequest('https://api.openai.com/v1/chat/completions', {
  headers: {
    Authorization: 'Bearer sk-xxxxxxxxxxxxxx', // ❌ 危险!
  },
  manual: true,
});

✅ 正确配置(安全):

// 前端安全配置:使用代理服务
const safeRequest = XRequest('/api/proxy/openai', {
  params: {
    model: 'gpt-3.5-turbo',
    stream: true,
  },
  manual: true,
});

🚨 开发规则

测试用例规则

  • 如果用户没有明确需要测试用例,则不要添加测试文件
  • 仅在用户明确要求时才创建测试用例

代码质量规则

  • 完成编写后必须检查类型:运行 tsc --noEmit 确保无类型错误
  • 保持代码整洁:移除所有未使用的变量和导入

✅ 配置检查清单

使用 XRequest 前请确认以下配置已正确设置:

🔍 配置检查清单

检查项状态说明
API 地址✅ 必须配置XRequest('https://api.xxx.com')
认证信息⚠️ 环境相关前端❌禁止,Node.js✅可用
manual配置✅ Provider场景在Provider中需要设为true,其他场景需要根据实际情况设置
其他配置❌ 无需配置已内置合理默认值
接口可用性✅ 建议测试使用调试配置验证

🛠️ 快速验证脚本

// 运行前检查配置
const checkConfig = () => {
  const checks = [
    {
      name: '全局配置',
      test: () => {
        // 检查是否已设置全局配置
        return true; // 根据实际情况检查
      },
    },
    {
      name: '安全配置',
      test: () => validateSecurity(globalConfig),
    },
    {
      name: '类型检查',
      test: () => {
        // 运行 tsc --noEmit
        return true;
      },
    },
  ];

  checks.forEach((check) => {
    console.log(`${check.name}: ${check.test() ? '✅' : '❌'}`);
  });
};

🎯 技能协作

graph LR
    A[x-request] -->|配置请求| B[x-chat-provider]
    A -->|配置请求| C[use-x-chat]
    B -->|提供Provider| C

📊 技能使用对照表

使用场景所需技能使用顺序完成时间
测试接口x-request直接使用2分钟
私有API适配x-request → x-chat-provider先配置请求,再创建Provider10分钟
标准AI应用x-request → use-x-chat先配置请求,再构建界面15分钟
完整自定义x-request → x-chat-provider → use-x-chat完整工作流30分钟

🔗 参考资源

📚 核心参考文档

🌐 SDK官方文档

💻 示例代码

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Focus on explaining how to use the useXChat Hook, including custom Provider integration, message management, error handling, multi-conversation management, and more

日本語の概要は準備中です。原文の説明を表示しています。

ant-design/x4,8072026年10月1日 更新

专注讲解如何使用 useXChat Hook,包括自定义 Provider 的集成、消息管理、错误处理、多会话管理等

日本語の概要は準備中です。原文の説明を表示しています。

ant-design/x4,8072026年10月1日 更新

x-card

無料

Use when building AI-driven UIs with @ant-design/x-card — covers XCard.Box, XCard.Card, A2UI v0.9 commands, data binding, catalogs, actions, and streaming patterns.

日本語の概要は準備中です。原文の説明を表示しています。

ant-design/x4,8072026年10月1日 更新

x-card

無料

当需要用 @ant-design/x-card 让 AI Agent 动态渲染富交互 UI 时使用——涵盖 XCard.Box、XCard.Card、A2UI v0.9 命令、数据绑定、Catalog、Actions 和流式渲染模式。

日本語の概要は準備中です。原文の説明を表示しています。

ant-design/x4,8072026年10月1日 更新

专注于自定义 Chat Provider 的实现,帮助将任意流式接口适配为 Ant Design X 标准格式

日本語の概要は準備中です。原文の説明を表示しています。

ant-design/x4,8072026年10月1日 更新

Focus on implementing custom Chat Provider, helping to adapt any streaming interface to Ant Design X standard format

日本語の概要は準備中です。原文の説明を表示しています。

ant-design/x4,8072026年10月1日 更新

ant-design のスキルをすべて見る

このスキルの問題を報告する