返回 Skill 列表
extension
分类: 开发与工程无需 API Key

libchat

libchat - 聊天网页组件库。ChatClient 提供了用于身份验证、API 通信和状态管理的组合客户端。ChatDrawerElement 和 ChatPageElement 是用于嵌入聊天界面的自定义元素。使用与框架无关的 Web Components 标准。可用于构建聊天用户界面、将对话式 AI 嵌入网站以及创建专用聊天页面。

person作者: jakexiaohubgithub

libchat Skill

When to Use

  • Embedding chat interfaces in web applications
  • Building dedicated chat page experiences
  • Adding conversational AI to existing websites
  • Creating custom chat UI with authentication

Key Concepts

ChatClient: Composed client managing auth state, API communication, and conversation persistence via localStorage.

ChatDrawerElement: Collapsible drawer component for unobtrusive chat integration on any page.

ChatPageElement: Full-page chat component for dedicated chat experiences.

Usage Patterns

Pattern 1: Embed chat drawer

import { ChatClient, ChatDrawerElement } from "@copilot-ld/libchat";

const client = new ChatClient({
  chatUrl: "/web/api/chat",
  auth: { url: "http://localhost:9999", anonKey: "key" },
});

document.querySelector("chat-drawer").client = client;

Pattern 2: Full-page chat

<chat-page data-name="Assistant"></chat-page>
<script type="module">
  import { ChatClient, ChatPageElement } from "@copilot-ld/libchat";
  const client = new ChatClient({ chatUrl: "/api" });
  document.querySelector("chat-page").client = client;
</script>

Integration

Used by the UI extension. Communicates with Web extension chat API.