assistant-ui Cloud
SkillFiles & storageOnce added, your AI can look up how to work with a hosted browser automation service, including its cloud API and its Python or TypeScript SDK. It carries reference documentation covering authentication, cloud sessions, and browser profiles, so it can guide you or write code without guessing. This helps when you want an AI to control browsers running in the cloud.
Available today. Use it from your connected AI after setup.
No other account needed.
After adding it, ask your AI a question about the cloud API or SDK, such as how to start a browser session or authenticate. It will use the included reference documentation to answer and help you build.
Then ask your AI: use the assistant-ui Cloud skill
What your AI can do with it
- Answer questions about the hosted browser automation API
- Help write code using the Python or TypeScript browser SDK
- Explain how to authenticate with an API key
- Walk through starting and managing cloud browser sessions
- Look up how browser profiles work and how to set them up
What this skill tells your AI
The instructions your AI receives, as published by akarachen/angel-engine in .agents/skills/cloud/SKILL.md and read by ahel’s review.
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
cloudto runtime - Check authentication
Auth errors
- Verify
authTokenreturns valid token - Check
baseUrlis correct
Signals
- GitHub stars
- 20
- Forks
- 2
- Last commit
- Sep 2026
- Hacker News mentions
- 20
ahel review
K1binfo
installs-packages
Automated review, not a security audit. Ruleset v1+k2.
Others that do the same job
Advanced
- Catalog kind
- skill
- Gateway key
cloud- Source
- github.com/akarachen/angel-engine