快速开始
欢迎使用 XAI-SDK!本指南将帮助您在5分钟内快速上手。
🚀 安装
bash
npm install xai-sdk
bash
yarn add xai-sdk
bash
pnpm add xai-sdk
🔑 获取 API 密钥
前往您的AI提供商获取API密钥:
💡 第一个示例
创建 example.js
文件:
javascript
import { XAI_SDK } from 'xai-sdk';
// 初始化SDK
const sdk = new XAI_SDK({
environment: 'cli', // 或 'browser'
config: {
apiKey: 'your-api-key-here',
model: 'gpt-4',
},
});
// 使用SDK
async function main() {
// 初始化
await sdk.initialize();
// 分析代码
const code = `
function fibonacci(n) {
if (n <= 1) return n;
return fibonacci(n - 1) + fibonacci(n - 2);
}
`;
const analysis = await sdk.analyze(code);
console.log('代码分析结果:', analysis);
// AI对话
const response = await sdk.chat({
messages: [
{
role: 'user',
content: '请优化这个斐波那契函数的性能',
},
],
});
console.log('AI建议:', response.content);
}
main().catch(console.error);
运行示例:
bash
node example.js
🌐 不同环境使用
CLI 环境
适用于Node.js应用、脚本工具等:
javascript
import { XAI_SDK } from 'xai-sdk';
const sdk = new XAI_SDK({
environment: 'cli',
config: {
apiKey: process.env.OPENAI_API_KEY,
model: 'gpt-4',
},
});
// 读取本地文件并分析
const fileContent = await sdk.filesystem.readFile('./src/app.js');
const analysis = await sdk.analyze(fileContent);
浏览器环境
适用于Web应用:
javascript
import { XAI_SDK } from 'xai-sdk';
const sdk = new XAI_SDK({
environment: 'browser',
config: {
apiKey: 'your-api-key',
model: 'gpt-4',
},
});
// 分析用户输入的代码
const userCode = document.getElementById('code-input').value;
const analysis = await sdk.analyze(userCode);
⚛️ React 集成
使用Hook
jsx
import React, { useState } from 'react';
import { useXAISDK } from 'xai-sdk/react';
function CodeAnalyzer() {
const [code, setCode] = useState('');
const [result, setResult] = useState(null);
const { sdk, isLoading, error } = useXAISDK({
apiKey: 'your-api-key',
model: 'gpt-4',
});
const analyzeCode = async () => {
if (!sdk || !code) return;
try {
const analysis = await sdk.analyze(code);
setResult(analysis);
} catch (err) {
console.error('分析失败:', err);
}
};
if (isLoading) return <div>初始化中...</div>;
if (error) return <div>错误: {error.message}</div>;
return (
<div>
<textarea
value={code}
onChange={e => setCode(e.target.value)}
placeholder='输入要分析的代码'
rows={10}
cols={50}
/>
<br />
<button onClick={analyzeCode}>分析代码</button>
{result && (
<div>
<h3>分析结果:</h3>
<pre>{JSON.stringify(result, null, 2)}</pre>
</div>
)}
</div>
);
}
export default CodeAnalyzer;
🎯 Vue 集成
使用Composable
vue
<template>
<div>
<textarea
v-model="code"
placeholder="输入要分析的代码"
rows="10"
cols="50"
></textarea>
<br />
<button @click="analyzeCode" :disabled="isLoading">
{{ isLoading ? '分析中...' : '分析代码' }}
</button>
<div v-if="result">
<h3>分析结果:</h3>
<pre>{{ JSON.stringify(result, null, 2) }}</pre>
</div>
<div v-if="error" class="error">错误: {{ error.message }}</div>
</div>
</template>
<script setup>
import { ref } from 'vue';
import { useXAISDK } from 'xai-sdk/vue';
const code = ref('');
const result = ref(null);
const { sdk, isLoading, error } = useXAISDK({
apiKey: 'your-api-key',
model: 'gpt-4',
});
const analyzeCode = async () => {
if (!sdk.value || !code.value) return;
try {
result.value = await sdk.value.analyze(code.value);
} catch (err) {
console.error('分析失败:', err);
}
};
</script>
<style>
.error {
color: red;
margin-top: 10px;
}
</style>
🛠️ 常用功能示例
代码分析
javascript
// 基础分析
const analysis = await sdk.analyze(code);
// 指定分析类型
const complexityAnalysis = await sdk.analyze(code, {
type: 'complexity',
language: 'javascript',
});
// 安全分析
const securityAnalysis = await sdk.analyze(code, {
type: 'security',
rules: ['no-eval', 'no-innerHTML'],
});
AI对话
javascript
// 简单对话
const response = await sdk.chat({
messages: [
{
role: 'user',
content: '如何优化这段代码的性能?',
},
],
});
// 带工具的对话
const response = await sdk.chat({
messages: [
{
role: 'user',
content: '帮我找到项目中所有的TODO注释',
},
],
tools: ['filesystem', 'search'],
});
文件操作
javascript
// 读取文件
const content = await sdk.filesystem.readFile('src/index.js');
// 搜索文件
const files = await sdk.filesystem.search({
pattern: '*.js',
exclude: ['node_modules', 'dist'],
});
// 写入文件
await sdk.filesystem.writeFile('output.js', generatedCode);
🔧 配置选项
基础配置
javascript
const sdk = new XAI_SDK({
environment: 'cli', // 'cli' | 'browser'
config: {
// 必需配置
apiKey: 'your-api-key',
model: 'gpt-4',
// 可选配置
baseURL: 'https://api.openai.com/v1',
timeout: 30000,
maxRetries: 3,
// 日志配置
logging: {
level: 'info', // 'debug' | 'info' | 'warn' | 'error'
output: 'console', // 'console' | 'file'
},
},
});
环境变量配置
创建 .env
文件:
env
XAI_API_KEY=your-api-key-here
XAI_MODEL=gpt-4
XAI_BASE_URL=https://api.openai.com/v1
在代码中使用:
javascript
const sdk = new XAI_SDK({
environment: 'cli',
config: {
apiKey: process.env.XAI_API_KEY,
model: process.env.XAI_MODEL || 'gpt-4',
baseURL: process.env.XAI_BASE_URL,
},
});
🚨 错误处理
javascript
try {
const result = await sdk.analyze(code);
console.log(result);
} catch (error) {
if (error.code === 'INVALID_API_KEY') {
console.error('API密钥无效,请检查配置');
} else if (error.code === 'RATE_LIMIT_EXCEEDED') {
console.error('请求频率超限,请稍后重试');
} else {
console.error('未知错误:', error.message);
}
}
🔌 使用插件
安装插件
bash
# 安装官方插件
npm install @xai-sdk/file-tools-plugin
npm install @xai-sdk/ai-providers-plugin
# 安装社区插件
npm install your-favorite-xai-plugin
bash
# 安装官方插件
yarn add @xai-sdk/file-tools-plugin
yarn add @xai-sdk/ai-providers-plugin
# 安装社区插件
yarn add your-favorite-xai-plugin
bash
# 安装官方插件
pnpm add @xai-sdk/file-tools-plugin
pnpm add @xai-sdk/ai-providers-plugin
# 安装社区插件
pnpm add your-favorite-xai-plugin
注册和使用插件
javascript
import { XAI_SDK } from 'xai-sdk';
import { FileToolsPlugin } from '@xai-sdk/file-tools-plugin';
import { OpenAIProviderPlugin } from '@xai-sdk/ai-providers-plugin';
// 创建SDK实例
const sdk = new XAI_SDK({
environment: 'cli',
});
// 注册插件
const filePlugin = new FileToolsPlugin();
const aiPlugin = new OpenAIProviderPlugin({
apiKey: process.env.OPENAI_API_KEY,
});
await sdk.registerPlugin(filePlugin);
await sdk.registerPlugin(aiPlugin);
// 初始化SDK
await sdk.initialize();
// 使用插件提供的工具
const fileContent = await sdk.executeTool('read-file', {
path: './src/app.js',
});
// 使用插件提供的AI服务
const analysis = await sdk.chat({
messages: [
{
role: 'user',
content: `请分析这段代码:\n${fileContent.content}`,
},
],
provider: 'openai',
model: 'gpt-4',
});
常用插件推荐
插件名称 | 功能 | 安装命令 |
---|---|---|
@xai-sdk/file-tools | 文件操作工具 | npm install @xai-sdk/file-tools |
@xai-sdk/code-analyzer | 代码分析工具 | npm install @xai-sdk/code-analyzer |
@xai-sdk/git-tools | Git操作工具 | npm install @xai-sdk/git-tools |
@xai-sdk/openai-provider | OpenAI集成 | npm install @xai-sdk/openai-provider |
@xai-sdk/claude-provider | Claude集成 | npm install @xai-sdk/claude-provider |
📚 下一步
现在您已经掌握了基础用法,可以探索更多高级功能:
💡 小贴士
API密钥安全
永远不要在客户端代码中硬编码API密钥,使用环境变量或配置文件。
错误处理
始终包装SDK调用在try-catch块中,以便优雅地处理错误。
性能优化
对于大文件,考虑使用分块分析以提高性能。
缓存
启用缓存以提高重复分析的性能。
🆘 需要帮助?
🎉 恭喜! 您已经成功开始使用 XAI-SDK。现在可以开始构建您的AI驱动的代码工具了!