Co-Pilot / 辅助式
更新于 3 months ago

thread-list

Aassistant-ui
0.0k
assistant-ui/skills/assistant-ui/skills/thread-list
76
Agent 评分

💡 摘要

此技能管理多个聊天线程,并提供可自定义的用户界面组件。

🎯 适合人群

前端开发者UI/UX设计师产品经理软件工程师技术团队负责人

🤖 AI 吐槽:看起来很能打,但别让配置把人劝退。

安全分析中风险

风险:Medium。建议检查:是否发起外网请求(SSRF/数据外发)。以最小权限运行,并在生产环境启用前审计代码与依赖。


name: thread-list description: Guide for multi-thread management in assistant-ui. Use when implementing thread lists, switching threads, or managing conversation history. version: 0.0.1 license: MIT

assistant-ui Thread List

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

Manage multiple chat threads with built-in or custom UI.

References

Quick Start

Thread list is available with useChatRuntime + cloud:

import { AssistantCloud } from "assistant-cloud"; import { useChatRuntime, AssistantChatTransport } from "@assistant-ui/react-ai-sdk"; import { AssistantRuntimeProvider, Thread, ThreadList } from "@assistant-ui/react"; 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}> <div className="flex h-screen"> <ThreadList className="w-64 border-r" /> <Thread className="flex-1" /> </div> </AssistantRuntimeProvider> ); }

Thread Operations

import { useAssistantApi, useAssistantState } from "@assistant-ui/react"; const api = useAssistantApi(); const { threads, mainThreadId } = useAssistantState(s => s.threadList); // Switch to thread api.threads().switchToThread(threadId); // Create new thread api.threads().switchToNewThread(); // Thread item operations const item = api.threads().item({ id: threadId }); await item.rename("New Title"); await item.archive(); await item.delete();

Custom Thread List

import { ThreadListPrimitive, ThreadListItemPrimitive } from "@assistant-ui/react"; function CustomThreadList() { return ( <ThreadListPrimitive.Root className="w-64"> <ThreadListPrimitive.New className="w-full p-2 bg-blue-500 text-white"> + New Chat </ThreadListPrimitive.New> <ThreadListPrimitive.Items> <ThreadListItemPrimitive.Root className="flex p-2 hover:bg-gray-100"> <ThreadListItemPrimitive.Trigger className="flex-1"> <ThreadListItemPrimitive.Title /> </ThreadListItemPrimitive.Trigger> <ThreadListItemPrimitive.Archive>Archive</ThreadListItemPrimitive.Archive> <ThreadListItemPrimitive.Delete>Delete</ThreadListItemPrimitive.Delete> </ThreadListItemPrimitive.Root> </ThreadListPrimitive.Items> </ThreadListPrimitive.Root> ); }

Without Cloud (Local)

import { useRemoteThreadListRuntime, InMemoryThreadListAdapter } from "@assistant-ui/react"; const runtime = useRemoteThreadListRuntime({ adapter: new InMemoryThreadListAdapter(), runtimeHook: () => useLocalRuntime({ model: myModel }), });

Common Gotchas

ThreadList not showing

  • Pass cloud to runtime
  • Check authentication

Threads not persisting

  • Verify cloud connection
  • Check network requests
五维分析
清晰度8/10
创新性6/10
实用性9/10
完整性8/10
可维护性7/10
优缺点分析

优点

  • 支持多线程管理。
  • 可自定义的用户界面组件。
  • 易于与现有应用程序集成。

缺点

  • 需要云设置以实现完整功能。
  • 可能存在身份验证问题。
  • 依赖外部库。

相关技能

web-perf

A
toolCo-Pilot / 辅助式
88/ 100

“This skill is so thorough it might start charging consulting fees after the audit.”

tldraw

A
toolCode Lib / 代码库
86/ 100

“一个出色的绘图库,不过其许可模式意味着你的杰作将永远带有'Made with tldraw'签名,除非你支付赎金。”

vue-expert

A
toolCo-Pilot / 辅助式
86/ 100

“看起来很能打,但别让配置把人劝退。”

免责声明:本内容来源于 GitHub 开源项目,仅供展示和评分分析使用。

版权归原作者所有 assistant-ui.