cloud

Always consult assistant-ui.com/llms.txt for latest API.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "cloud" with this command: npx skills add assistant-ui/skills/assistant-ui-skills-cloud

assistant-ui Cloud

Always consult assistant-ui.com/llms.txt for latest API.

Cloud persistence for threads, messages, and files.

References

  • ./references/persistence.md -- Thread and message persistence

  • ./references/authorization.md -- Authentication patterns

Installation

npm install assistant-cloud

Quick Start

import { AssistantCloud } from "assistant-cloud"; import { useChatRuntime, AssistantChatTransport } from "@assistant-ui/react-ai-sdk"; import { AssistantRuntimeProvider } from "@assistant-ui/react"; import { Thread } from "@/components/assistant-ui/thread"; import { ThreadList } from "@/components/assistant-ui/thread-list";

const cloud = new AssistantCloud({ baseUrl: process.env.NEXT_PUBLIC_ASSISTANT_BASE_URL, authToken: async () => getAuthToken(), });

function Chat() { const runtime = useChatRuntime({ transport: new AssistantChatTransport({ api: "/api/chat" }), cloud, });

return ( <AssistantRuntimeProvider runtime={runtime}> <ThreadList /> <Thread /> </AssistantRuntimeProvider> ); }

Authentication Options

// JWT Token (recommended) const cloud = new AssistantCloud({ baseUrl: process.env.NEXT_PUBLIC_ASSISTANT_BASE_URL, authToken: async () => session?.accessToken, });

// API Key (server-side) const cloud = new AssistantCloud({ baseUrl: process.env.ASSISTANT_BASE_URL, apiKey: process.env.ASSISTANT_API_KEY, userId: user.id, workspaceId: user.workspaceId, });

// Anonymous (public apps) const cloud = new AssistantCloud({ baseUrl: process.env.NEXT_PUBLIC_ASSISTANT_BASE_URL, anonymous: true, });

Cloud API

// Thread operations const threads = await cloud.threads.list(); await cloud.threads.create({ title: "New Chat" }); await cloud.threads.update(threadId, { title: "Updated" }); await cloud.threads.delete(threadId);

// Message operations const messages = await cloud.threads.messages(threadId).list();

// File uploads const { signedUrl, publicUrl } = await cloud.files.generatePresignedUploadUrl({ filename: "document.pdf", }); await fetch(signedUrl, { method: "PUT", body: file });

Environment Variables

NEXT_PUBLIC_ASSISTANT_BASE_URL=https://api.assistant-ui.com ASSISTANT_API_KEY=your-api-key # Server-side only

Common Gotchas

Threads not persisting

  • Pass cloud to runtime

  • Check authentication

Auth errors

  • Verify authToken returns valid token

  • Check baseUrl is correct

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

assistant-ui

No summary provided by upstream source.

Repository SourceNeeds Review
General

streaming

No summary provided by upstream source.

Repository SourceNeeds Review
General

primitives

No summary provided by upstream source.

Repository SourceNeeds Review