5分钟内快速上手 AINative SDK。适用场景:(1) 首次配置 AINative,(2) 在 React/Next.js/Svelte/Vue SDK 之间进行选择……
bash
# Auto-creates a project + API key, configures your IDE's MCP server
npx zerodb init
This outputs:
text
API Key: ak_...
Project ID: proj_...
MCP config written to .claude/mcp.json (or cursor/mcp.json)
Or create manually at https://app.ainative.studio → Settings → API Keys.
FrameworkPackageHook/APIReact@ainative/react-sdk``useChat, useCreditsNext.js@ainative/next-sdkServer client + middlewareSvelte@ainative/svelte-sdkSvelte storesVue@ainative/vue-sdkComposablesRaw APIrequests / fetchREST directly
bash
npm install @ainative/react-sdk
tsx
import { AINativeProvider, useChat } from '@ainative/react-sdk';
function App() {
return (
<AINativeProvider config={{ apiKey: 'ak_your_key' }}>
<Chat />
</AINativeProvider>
);
}
function Chat() {
const { messages, sendMessage, isLoading } = useChat({
model: 'claude-3-5-sonnet-20241022',
});
return (
<div>
{messages.map((m, i) => <div key={i}>{m.role}: {m.content}</div>)}
<button onClick={() => sendMessage([...messages, { role: 'user', content: 'Hello' }])}
disabled={isLoading}>
Send
</button>
</div>
);
}
bash
npm install @ainative/next-sdk
typescript
// app/api/chat/route.ts
import { createServerClient } from '@ainative/next-sdk/server';
export async function POST(request: Request) {
const { messages } = await request.json();
const client = createServerClient({ apiKey: process.env.AINATIVE_API_KEY! });
const result = await client.chat.completions.create({
model: 'claude-3-5-sonnet-20241022',
messages,
stream: true,
});
return new Response(result.body, {
headers: { 'Content-Type': 'text/event-stream' },
});
}
bash
npm install @ainative/svelte-sdk
svelte
<script>
import { createChatStore, setAINativeConfig } from '@ainative/svelte-sdk';
setAINativeConfig({ apiKey: 'ak_your_key' });
const chat = createChatStore({ model: 'claude-3-5-sonnet-20241022' });
</script>
{#each $chat.messages as msg}
<p><b>{msg.role}:</b> {msg.content}</p>
{/each}
<button on:click={() => chat.sendMessage([...$chat.messages, { role: 'user', content: 'Hi' }])}>
Send
</button>
bash
npm install @ainative/vue-sdk
vue
<script setup>
import { useChat } from '@ainative/vue-sdk';
import { provideAINative } from '@ainative/vue-sdk';
provideAINative({ apiKey: 'ak_your_key' });
const { messages, sendMessage, isLoading } = useChat({ model: 'claude-3-5-sonnet-20241022' });
</script>
<template>
<div v-for="(msg, i) in messages" :key="i">{{ msg.role }}: {{ msg.content }}</div>
<button @click="sendMessage([...messages, { role: 'user', content: 'Hi' }])" :disabled="isLoading">
Send
</button>
</template>
bash
# .env
AINATIVE_API_KEY=ak_your_key
NEXT_PUBLIC_AINATIVE_API_KEY=ak_your_key # Next.js client-side
packages/sdks/react/ — React SDK sourcepackages/sdks/nextjs/ — Next.js SDK sourcepackages/sdks/svelte/ — Svelte SDK sourcepackages/sdks/vue/ — Vue SDK sourcepackages/zerodb-cli/ — zerodb init source