---
title: Lark / Feishu
description: Lark and Feishu chats with native card streaming via the Chat SDK.
type: channel
keywords:
  - chat sdk
  - lark
  - feishu
  - bytedance
  - cardkit
  - messaging
---

# Lark / Feishu

Channel integration for eve. Lark and Feishu chats with native card streaming via the Chat SDK.

## Install

Add this Chat SDK channel from eve's registry. This writes `agent/channels/lark.ts` and installs Chat SDK and its adapter dependencies:

```bash
eve add channel/chat-sdk-lark
```

## Quick start

Create `agent/channels/lark.ts`:

```ts
// agent/channels/lark.ts
import { createLarkAdapter } from "@larksuite/vercel-chat-adapter";
import { createMemoryState } from "@chat-adapter/state-memory";
import type { Message, Thread } from "chat";
import { chatSdkChannel } from "eve/channels/chat-sdk";

export const { bot, channel, send } = chatSdkChannel({
  userName: "My Agent",
  adapters: {
    lark: createLarkAdapter(),
  },
  state: createMemoryState(),
});

bot.onNewMention(async (thread: Thread, message: Message) => {
  await thread.subscribe();
  await send(message.text, { thread });
});

bot.onSubscribedMessage(async (thread: Thread, message: Message) => {
  await send(message.text, { thread });
});

await bot.initialize();

export default channel;
```

See the [Lark / Feishu adapter documentation](https://chat-sdk.dev/adapters/vendor-official/lark) for all supported events and credentials.

## Configure

Create a Lark or Feishu app and set `LARK_APP_ID` and `LARK_APP_SECRET`. The adapter uses Lark’s WebSocket long connection rather than an HTTP webhook, so call `bot.initialize()` and run eve in a long-lived Node.js process. This is a vendor-official Chat SDK adapter built on the official Lark Node SDK. See the [Chat SDK channel docs](/docs/channels/chat-sdk) for eve session dispatch, state, streaming, and human-in-the-loop behavior.

[Read the full channel documentation](/docs/channels/chat-sdk)

---

For a semantic overview of all documentation, see [/sitemap.md](/sitemap.md)

For an index of all available documentation, see [/llms.txt](/llms.txt)

For agent-facing discovery, including API and MCP surfaces, see [/agents.md](/agents.md)