mirror of
https://github.com/vercel/chat.git
synced 2026-09-14 18:32:29 +08:00
293356525d
## Summary Adds [`@larksuite/vercel-chat-adapter`](https://www.npmjs.com/package/@larksuite/vercel-chat-adapter), the Lark / Feishu adapter for Chat SDK, as a **vendor-official community adapter**. - **Package**: `@larksuite/vercel-chat-adapter` — published on npm under the official `larksuite` scope - **Built on**: [`@larksuiteoapi/node-sdk`](https://www.npmjs.com/package/@larksuiteoapi/node-sdk)'s `LarkChannel`, the official Lark Node SDK - **Docs source**: external README referenced by `adapters.json` lives in [`larksuite/node-sdk`](https://github.com/larksuite/node-sdk/tree/cbc4adf13cbcb93b389db01faf428e3b3cef053c/docs/vercel-chat-adapter) (the official Lark vendor-owned GitHub org, pinned at commit `cbc4adf1`); the in-tree MDX in this PR is the rendered detail page (`mdxBody: true`) - **Capabilities**: native cardkit typewriter streaming, interactive cards, reactions, edit / delete, message history (via SDK `normalize()`), DM detection, mention handling, and scan-to-create app onboarding through `registerLarkApp` ## Changes | File | Change | |---|---| | `apps/docs/adapters.json` | Add Lark / Feishu entry (`community: true`, `vendorOfficial: true`) | | `apps/docs/content/adapters/vendor-official/lark.mdx` | New hand-authored MDX detail page (frontmatter with full features matrix, install / quick start / configuration / transport / streaming / ID encoding / history / safety / limitations / FeatureSupport) | | `apps/docs/content/adapters/vendor-official/meta.json` | Append `"lark"` to the sidebar `pages` array | | `packages/integration-tests/src/docs-adapters.test.ts` | Append `"lark"` to the hardcoded vendor-official slug list asserted by `Vendor-Official adapter MDX › contains exactly the expected adapters` | No icon registered in `adapters.json` / `iconMap` / `adapterLogos` — matches the existing pattern for vendor-official adapters (Beeper, Resend, Liveblocks, Zernio, Photon). ## Vendor Official tier Per `docs/contributing/building.mdx` (Qualifications for vendor official tier): - ✅ **Commitment for continued maintenance** — owned by the Lark / Feishu team - ✅ **GitHub hosting in official vendor-owned org** — adapter README lives in [`larksuite/node-sdk`](https://github.com/larksuite/node-sdk), the official Lark org - ✅ **Documentation in primary vendor docs** — will be cross-linked from the official Lark Open Platform developer documentation - ✅ **Announcement** — will be announced through Lark developer changelog / channels ## A note on source visibility The adapter source is not currently open-sourced due to internal release-process requirements. What is public: - The npm package itself (consumable by any user) - The README, hosted in `larksuite/node-sdk` (official Lark org) - The underlying [`@larksuiteoapi/node-sdk`](https://github.com/larksuite/node-sdk) on which it is built — this *is* fully open-source ## Test plan - [x] `pnpm --filter docs build` — docs app builds cleanly; `/en/adapters/vendor-official/lark` and `/en/adapters/vendor-official/lark/og` routes are generated - [x] `pnpm typecheck` — passes (33 tasks) - [x] `pnpm check` (Ultracite / Biome) — 438 files, no fixes - [x] `pnpm --filter @chat-adapter/integration-tests test docs-adapters` — 232 tests pass (frontmatter, vendor-official roster, adapters.json ↔ MDX sync) - [x] Manual: `/adapters` lists the Lark / Feishu card in the **Vendor Official** section; `/adapters/vendor-official/lark` renders the MDX detail page with the FeatureSupport matrix
310 lines
11 KiB
JSON
310 lines
11 KiB
JSON
[
|
|
{
|
|
"name": "Slack",
|
|
"slug": "slack",
|
|
"type": "platform",
|
|
"description": "Build bots for Slack workspaces with full support for threads, reactions, and interactive messages.",
|
|
"packageName": "@chat-adapter/slack",
|
|
"icon": "slack",
|
|
"beta": true,
|
|
"readme": "https://github.com/vercel/chat/tree/main/packages/adapter-slack"
|
|
},
|
|
{
|
|
"name": "Microsoft Teams",
|
|
"slug": "teams",
|
|
"type": "platform",
|
|
"description": "Deploy bots to Microsoft Teams with adaptive cards, mentions, and conversation threading.",
|
|
"packageName": "@chat-adapter/teams",
|
|
"icon": "teams",
|
|
"beta": true,
|
|
"readme": "https://github.com/vercel/chat/tree/main/packages/adapter-teams"
|
|
},
|
|
{
|
|
"name": "Google Chat",
|
|
"slug": "google-chat",
|
|
"type": "platform",
|
|
"description": "Integrate with Google Chat spaces for team collaboration and automated workflows.",
|
|
"packageName": "@chat-adapter/gchat",
|
|
"icon": "google-chat",
|
|
"beta": true,
|
|
"readme": "https://github.com/vercel/chat/tree/main/packages/adapter-gchat"
|
|
},
|
|
{
|
|
"name": "Discord",
|
|
"slug": "discord",
|
|
"type": "platform",
|
|
"description": "Create Discord bots with slash commands, threads, and rich embeds.",
|
|
"packageName": "@chat-adapter/discord",
|
|
"icon": "discord",
|
|
"beta": true,
|
|
"readme": "https://github.com/vercel/chat/tree/main/packages/adapter-discord"
|
|
},
|
|
{
|
|
"name": "GitHub",
|
|
"slug": "github",
|
|
"type": "platform",
|
|
"description": "Build bots that respond to pull request and issue comment threads.",
|
|
"packageName": "@chat-adapter/github",
|
|
"icon": "github",
|
|
"beta": true,
|
|
"readme": "https://github.com/vercel/chat/tree/main/packages/adapter-github"
|
|
},
|
|
{
|
|
"name": "Linear",
|
|
"slug": "linear",
|
|
"type": "platform",
|
|
"description": "Automate Linear issue comment threads with bot responses and workflows.",
|
|
"packageName": "@chat-adapter/linear",
|
|
"icon": "linear",
|
|
"beta": true,
|
|
"readme": "https://github.com/vercel/chat/tree/main/packages/adapter-linear"
|
|
},
|
|
{
|
|
"name": "Telegram",
|
|
"slug": "telegram",
|
|
"type": "platform",
|
|
"description": "Connect to Telegram with support for groups, channels, and inline keyboards.",
|
|
"packageName": "@chat-adapter/telegram",
|
|
"icon": "telegram",
|
|
"beta": true,
|
|
"readme": "https://github.com/vercel/chat/tree/main/packages/adapter-telegram"
|
|
},
|
|
{
|
|
"name": "WhatsApp Business Cloud",
|
|
"slug": "whatsapp",
|
|
"type": "platform",
|
|
"icon": "whatsapp",
|
|
"description": "Connect to WhatsApp Business Cloud for customer messaging and automated conversations.",
|
|
"packageName": "@chat-adapter/whatsapp",
|
|
"beta": true,
|
|
"readme": "https://github.com/vercel/chat/tree/main/packages/adapter-whatsapp"
|
|
},
|
|
{
|
|
"name": "Twilio",
|
|
"slug": "twilio",
|
|
"type": "platform",
|
|
"icon": "twilio",
|
|
"description": "Build SMS and MMS bots with Twilio Messaging webhooks and the Messages API.",
|
|
"packageName": "@chat-adapter/twilio",
|
|
"beta": true,
|
|
"readme": "https://github.com/vercel/chat/tree/main/packages/adapter-twilio"
|
|
},
|
|
{
|
|
"name": "Messenger",
|
|
"slug": "messenger",
|
|
"type": "platform",
|
|
"description": "Build bots for Facebook Messenger with support for templates, buttons, reactions, and postbacks.",
|
|
"packageName": "@chat-adapter/messenger",
|
|
"icon": "messenger",
|
|
"beta": true,
|
|
"readme": "https://github.com/vercel/chat/tree/main/packages/adapter-messenger"
|
|
},
|
|
{
|
|
"name": "Web",
|
|
"slug": "web",
|
|
"type": "platform",
|
|
"description": "Serve a browser chat UI from the same bot using the AI SDK useChat protocol — works out of the box with @ai-sdk/react and ai-elements.",
|
|
"packageName": "@chat-adapter/web",
|
|
"icon": "web",
|
|
"beta": true,
|
|
"readme": "https://github.com/vercel/chat/tree/main/packages/adapter-web"
|
|
},
|
|
{
|
|
"name": "Redis",
|
|
"slug": "redis",
|
|
"type": "state",
|
|
"description": "Production-ready state adapter using Redis for persistence and distributed locking.",
|
|
"packageName": "@chat-adapter/state-redis",
|
|
"icon": "redis",
|
|
"beta": true,
|
|
"readme": "https://github.com/vercel/chat/tree/main/packages/state-redis"
|
|
},
|
|
{
|
|
"name": "ioredis",
|
|
"slug": "ioredis",
|
|
"type": "state",
|
|
"description": "Redis state adapter using ioredis with cluster and sentinel support.",
|
|
"packageName": "@chat-adapter/state-ioredis",
|
|
"icon": "ioredis",
|
|
"beta": true,
|
|
"readme": "https://github.com/vercel/chat/tree/main/packages/state-ioredis"
|
|
},
|
|
{
|
|
"name": "PostgreSQL",
|
|
"slug": "postgres",
|
|
"type": "state",
|
|
"description": "Production state adapter using PostgreSQL for persistence and distributed locking.",
|
|
"packageName": "@chat-adapter/state-pg",
|
|
"icon": "postgres",
|
|
"beta": true,
|
|
"readme": "https://github.com/vercel/chat/tree/main/packages/state-pg"
|
|
},
|
|
{
|
|
"name": "Memory",
|
|
"slug": "memory",
|
|
"type": "state",
|
|
"description": "In-memory state adapter for development and testing environments.",
|
|
"packageName": "@chat-adapter/state-memory",
|
|
"icon": "memory",
|
|
"beta": true,
|
|
"readme": "https://github.com/vercel/chat/tree/main/packages/state-memory"
|
|
},
|
|
{
|
|
"name": "Cloudflare Durable Objects",
|
|
"slug": "cloudflare-do",
|
|
"type": "state",
|
|
"community": true,
|
|
"description": "Cloudflare Durable Objects state adapter with SQLite-backed persistence, distributed locking, and caching.",
|
|
"packageName": "chat-state-cloudflare-do",
|
|
"author": "dcartertwo",
|
|
"readme": "https://github.com/dcartertwo/chat-state-cloudflare-do/tree/13ebf545b302b7c8fdabf7de9c5de678e047ce5e"
|
|
},
|
|
{
|
|
"name": "MySQL",
|
|
"slug": "mysql",
|
|
"type": "state",
|
|
"community": true,
|
|
"description": "Community MySQL state adapter with persistence, distributed locking, caching, lists, and queues.",
|
|
"packageName": "chat-state-mysql",
|
|
"author": "DivyanshGolyan",
|
|
"readme": "https://github.com/DivyanshGolyan/chat-state-mysql/tree/26502f2c43e2aee16b0b58f2066a81e01b2c289b"
|
|
},
|
|
{
|
|
"name": "Beeper Matrix",
|
|
"slug": "matrix",
|
|
"type": "platform",
|
|
"community": true,
|
|
"description": "Matrix adapter for Chat SDK, built and maintained by Beeper.",
|
|
"packageName": "@beeper/chat-adapter-matrix",
|
|
"author": "Beeper",
|
|
"readme": "https://github.com/beeper/chat-adapter-matrix/tree/632fb141b07d7243f2a09ee12ec55854c628217d",
|
|
"vendorOfficial": true
|
|
},
|
|
{
|
|
"name": "Photon iMessage",
|
|
"slug": "imessage",
|
|
"type": "platform",
|
|
"community": true,
|
|
"description": "iMessage adapter for Chat SDK. Supports both local (on-device) and Photon iMessage integration.",
|
|
"packageName": "chat-adapter-imessage",
|
|
"author": "Photon",
|
|
"readme": "https://github.com/photon-hq/vercel-chat-adapter-imessage/tree/8e6ae8f1b824db798664c98be91138f083e02262",
|
|
"vendorOfficial": true
|
|
},
|
|
{
|
|
"name": "Webex",
|
|
"slug": "webex",
|
|
"type": "platform",
|
|
"community": true,
|
|
"description": "Community Webex adapter for Chat SDK with support for spaces, threads, and adaptive cards.",
|
|
"packageName": "@bitbasti/chat-adapter-webex",
|
|
"author": "SebastianBodza",
|
|
"readme": "https://github.com/SebastianBodza/chat-adapter-webex/tree/982d76b24217dfe2e248ec13a17d16c2df32e09e"
|
|
},
|
|
{
|
|
"name": "Resend",
|
|
"slug": "resend",
|
|
"type": "platform",
|
|
"community": true,
|
|
"description": "Bidirectional email adapter for Chat SDK with threading, rich HTML emails, and attachment support via Resend.",
|
|
"packageName": "@resend/chat-sdk-adapter",
|
|
"author": "Resend",
|
|
"readme": "https://github.com/resend/resend-chat-sdk/tree/6b66fc12eabdf2529422fc0c0cf946392f1b5a76",
|
|
"vendorOfficial": true
|
|
},
|
|
{
|
|
"name": "Zernio",
|
|
"slug": "zernio",
|
|
"type": "platform",
|
|
"community": true,
|
|
"description": "Unified social media DM adapter covering Instagram, Facebook, Telegram, WhatsApp, X/Twitter, Bluesky, and Reddit through a single integration.",
|
|
"packageName": "@zernio/chat-sdk-adapter",
|
|
"author": "Zernio",
|
|
"readme": "https://github.com/zernio-dev/chat-sdk-adapter/tree/0a51a1d224536ae5d117a3afb6ab992fab167214",
|
|
"vendorOfficial": true
|
|
},
|
|
{
|
|
"name": "Baileys WhatsApp",
|
|
"slug": "baileys",
|
|
"type": "platform",
|
|
"community": true,
|
|
"description": "Chat SDK adapter for Baileys (Unofficial WhatsApp API).",
|
|
"packageName": "chat-adapter-baileys",
|
|
"author": "rama-adi",
|
|
"readme": "https://github.com/rama-adi/chat-adapter-baileys/tree/b5454e7c04c75d91b06213f16a4af82ddb4a120f"
|
|
},
|
|
{
|
|
"name": "Liveblocks",
|
|
"slug": "liveblocks",
|
|
"type": "platform",
|
|
"community": true,
|
|
"description": "Liveblocks Comments adapter for building conversational bots on top of Liveblocks rooms, threads, and comments.",
|
|
"packageName": "@liveblocks/chat-sdk-adapter",
|
|
"author": "Liveblocks",
|
|
"readme": "https://github.com/liveblocks/liveblocks/tree/a939486c73819ea78a96443d54cb5557881d80b6/packages/liveblocks-chat-sdk-adapter",
|
|
"vendorOfficial": true
|
|
},
|
|
{
|
|
"name": "Sendblue iMessage",
|
|
"slug": "sendblue",
|
|
"type": "platform",
|
|
"community": true,
|
|
"description": "iMessage adapter for Chat SDK using Sendblue for building your own iMessage bots.",
|
|
"packageName": "chat-adapter-sendblue",
|
|
"author": "midday-ai",
|
|
"readme": "https://github.com/midday-ai/chat-adapter-sendblue/tree/5125a9d018f5d05dca063cd4d7e554fdb92ecce8"
|
|
},
|
|
{
|
|
"name": "Blooio iMessage",
|
|
"slug": "blooio",
|
|
"type": "platform",
|
|
"community": true,
|
|
"description": "Blooio adapter for Chat SDK to send and receive iMessage, RCS, and SMS from your bot.",
|
|
"packageName": "chat-adapter-blooio",
|
|
"author": "midday-ai",
|
|
"readme": "https://github.com/midday-ai/chat-adapter-blooio/tree/283678e3490275c7b440221ce3cdeac56bbfb60a"
|
|
},
|
|
{
|
|
"name": "Zalo",
|
|
"slug": "zalo",
|
|
"type": "platform",
|
|
"community": true,
|
|
"description": "Zalo adapter for Chat SDK using Zalo for building your own Zalo bots.",
|
|
"packageName": "chat-adapter-zalo",
|
|
"author": "buiducnhat",
|
|
"readme": "https://github.com/buiducnhat/chat-adapter-zalo/tree/a11acb91efa9752c6d15c0a00c759b92c479e6fa"
|
|
},
|
|
{
|
|
"name": "Mattermost",
|
|
"slug": "mattermost",
|
|
"type": "platform",
|
|
"community": true,
|
|
"description": "Mattermost adapter for Chat SDK with support for posts, reactions, and slash commands.",
|
|
"packageName": "chat-adapter-mattermost",
|
|
"author": "thiagoferolla",
|
|
"readme": "https://github.com/thiagoferolla/chat-adapter-mattermost/tree/70eb85321cba65d511f6e158b9a2f5aac2aa922c"
|
|
},
|
|
{
|
|
"name": "AgentPhone",
|
|
"slug": "agentphone",
|
|
"type": "platform",
|
|
"community": true,
|
|
"description": "Unified SMS, MMS, iMessage, and voice adapter for Chat SDK with HMAC-verified webhooks, iMessage reactions, and voice call transcripts via AgentPhone.",
|
|
"packageName": "@agentphone/chat-sdk-adapter",
|
|
"author": "AgentPhone",
|
|
"readme": "https://github.com/AgentPhone-AI/chat-sdk-adapter",
|
|
"vendorOfficial": true
|
|
},
|
|
{
|
|
"name": "Lark / Feishu",
|
|
"slug": "lark",
|
|
"type": "platform",
|
|
"community": true,
|
|
"description": "Lark / Feishu adapter for Chat SDK with native cardkit streaming, interactive cards, and reactions.",
|
|
"packageName": "@larksuite/vercel-chat-adapter",
|
|
"author": "Lark / Feishu",
|
|
"readme": "https://github.com/larksuite/node-sdk/tree/cbc4adf13cbcb93b389db01faf428e3b3cef053c/docs/vercel-chat-adapter",
|
|
"vendorOfficial": true
|
|
}
|
|
]
|