← 返回
未分类 Key 中文

Ainative Vue Sdk

Use @ainative/vue-sdk to add AI chat to Vue 3 apps. Use when (1) Installing @ainative/vue-sdk, (2) Using the useChat composable in Vue components, (3) Provid...
Use @ainative/vue-sdk to add AI chat to Vue 3 apps. Use when (1) Installing @ainative/vue-sdk, (2) Using the useChat composable in Vue components, (3) Provid...
urbantech urbantech 来源
未分类 clawhub v1.0.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 341
下载
💾 1
安装
1
版本
#latest

概述

@ainative/vue-sdk

Vue 3 composables for AINative chat completions.

Install

npm install @ainative/vue-sdk

Setup: provideAINative

// main.ts
import { createApp } from 'vue';
import { provideAINative } from '@ainative/vue-sdk';
import App from './App.vue';

const app = createApp(App);

app.provide('ainative', {
  apiKey: import.meta.env.VITE_AINATIVE_API_KEY,
  baseUrl: 'https://api.ainative.studio',
});

app.mount('#app');

Or provide inside a component:

<script setup>
import { provideAINative } from '@ainative/vue-sdk';
provideAINative({ apiKey: import.meta.env.VITE_AINATIVE_API_KEY });
</script>

useChat Composable

<!-- ChatComponent.vue -->
<script setup lang="ts">
import { ref } from 'vue';
import { useChat } from '@ainative/vue-sdk';
import type { Message } from '@ainative/vue-sdk';

const { messages, isLoading, error, sendMessage, reset } = useChat({
  model: 'claude-3-5-sonnet-20241022',
  initialMessages: [],
});

const input = ref('');

async function send() {
  if (!input.value.trim()) return;
  const newMessages: Message[] = [
    ...messages.value,
    { role: 'user', content: input.value }
  ];
  input.value = '';
  await sendMessage(newMessages);
}
</script>

<template>
  <div>
    <div v-for="(msg, i) in messages" :key="i" :class="['message', msg.role]">
      <strong>{{ msg.role }}:</strong> {{ msg.content }}
    </div>

    <div v-if="isLoading">Thinking...</div>
    <div v-if="error" class="error">Error: {{ error.message }}</div>

    <input
      v-model="input"
      @keydown.enter="send"
      placeholder="Type a message..."
    />
    <button @click="send" :disabled="isLoading">Send</button>
    <button @click="reset">Reset</button>
  </div>
</template>

useChat Options

OptionTypeDefaultDescription
------------------------------------
modelstringModel ID (e.g. claude-3-5-sonnet-20241022)
initialMessagesMessage[][]Seed the conversation

useChat Return

FieldTypeDescription
--------------------------
messagesRefReactive message list
isLoadingRefTrue during request
error`Refnull>`Last error
sendMessage(msgs: Message[]) => Promise<...>Send next turn
reset() => voidClear conversation

useCredits Composable

<script setup>
import { useCredits } from '@ainative/vue-sdk';
const { balance, isLoading, error, refetch } = useCredits();
</script>

<template>
  <div v-if="!isLoading">
    Credits: {{ balance?.remaining_credits }} | Plan: {{ balance?.plan }}
    <button @click="refetch">Refresh</button>
  </div>
</template>

Nuxt Integration

// plugins/ainative.client.ts
import { provideAINative } from '@ainative/vue-sdk';
export default defineNuxtPlugin(() => {
  provideAINative({ apiKey: useRuntimeConfig().public.ainativeApiKey });
});
// nuxt.config.ts
export default defineNuxtConfig({
  runtimeConfig: {
    public: { ainativeApiKey: process.env.VITE_AINATIVE_API_KEY }
  }
});

Exports

import {
  useChat,
  useCredits,
  useAINative,
  provideAINative,
  type Message,
  type UseChatOptions,
  type UseChatReturn,
  type AINativeError,
} from '@ainative/vue-sdk';

References

  • packages/sdks/vue/src/composables/useChat.ts — useChat implementation
  • packages/sdks/vue/src/composables/useCredits.ts — useCredits implementation
  • packages/sdks/vue/src/composables/useAINative.ts — Config injection
  • packages/sdks/vue/src/index.ts — Package exports

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-07 07:05 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

dev-programming

YouTube

byungkyu
使用托管OAuth集成YouTube Data API,支持搜索视频、管理播放列表、获取频道数据及评论互动,适用于用户需要时使用此技能。
★ 142 📥 42,221
it-ops-security

Ci Cd Compliance

urbantech
CI/CD 流水线需求和部署标准。适用于:(1) 设置 CI/CD 流水线,(2) 调试 CI 失败问题,(3) 配置部署工作流
★ 0 📥 649
dev-programming

Mcporter

steipete
使用 mcporter CLI 直接列出、配置、认证及调用 MCP 服务器/工具(支持 HTTP 或 stdio),涵盖临时服务器、配置编辑及 CLI/类型生成功能。
★ 199 📥 68,371