logo
icon

OpenAB Feishu Bundle

All-in-one Feishu/Lark bot powered by OpenAB + Kiro. Deploys the OAB agent and the Feishu gateway together — fill in App ID and App Secret and you're done. WebSocket mode (outbound-only, no public endpoint needed). Source: https://github.com/openabdev/openab

template cover
Implementado0 veces
EditorzeaburZeabur
Creado2026-05-27
Mínimo2 Núcleos4 GB
Recomendado4 Núcleos8 GB
Etiquetas
AIDeveloper ToolsFeishu

OpenAB Feishu Bundle

One-click OpenAB deployment for Feishu/Lark — bot agent + WebSocket gateway bundled together. Just fill in your Feishu App ID and App Secret.

Feishu Open Platform ◀──Outbound WebSocket── ┌──────────────────┐ ◀──WebSocket── ┌────────────┐
                                              │  openab-gateway  │                │   openab   │
                                              │   (feishu only)  │                │  (Kiro CLI)│
                                              └──────────────────┘                └────────────┘
                                                   no public ingress                  internal only

What's deployed

ServicePurposePublic
openabOAB agent running Kiro CLINo
openab-gatewayFeishu event WebSocket → OAB WebSocket bridgeNo

Both services are internal-only — the gateway connects outbound to Feishu Open Platform, no inbound webhook or public domain needed.

Setup

1. Create a Feishu/Lark App

  1. Go to Feishu Open Platform (China) or Lark Developer (overseas)
  2. Create Custom App → note the App ID (cli_xxx) and App Secret → paste both into the variables above
  3. Left sidebar → App FeaturesBot → toggle Enable Bot to ON

    ⚠️ Easy to miss. Without this, the app cannot receive messages.

  4. Left sidebar → Event SubscriptionsConnection mode → select WebSocket
  5. Add eventim.message.receive_v1
  6. Left sidebar → Permissions & Scopes → add:
    • im:message — send and receive messages
    • im:message.group_at_msg — receive group @messages
    • im:message.group_at_msg:readonly — read group @mentions
    • im:message.p2p_msg:readonly — read DMs
    • im:resource — download images/files
    • contact:user.base:readonly — resolve display names
  7. Create VersionApply for publish (or use in-test mode for development)

2. (Optional) Get a Kiro API Key

If you have a paid Kiro subscription, go to kiro.dev → Settings → API Keys → create a key and paste it into KIRO_API_KEY. Free tier users skip this and authenticate post-deploy in step 4.

3. Deploy

Click deploy. No public domain is assigned — Feishu WebSocket is outbound-only.

4. Authenticate Kiro via Device Flow (free tier only)

Skip if you set KIRO_API_KEY in step 2.

After the openab service is running, open its terminal in Zeabur Dashboard and run:

runuser -u agent -- kiro-cli login --use-device-flow

Follow the URL and code to authorize in your browser.

5. Test

Add the bot to a Feishu group (or DM it directly) and send a message. In groups, @mention the bot to trigger a response (default behavior). The gateway connects outbound to Feishu, receives the event, forwards it to OAB via internal WebSocket, and OAB replies through the gateway.

Check openab-gateway logs for feishu websocket connected to confirm the outbound link is up.

Customization

  • /home/agent/.config/openab/config.toml — OAB config (sessions, reactions, etc.). Created on first boot from a built-in template with the [gateway] block pre-wired. To regenerate, delete and restart.
  • Lark (overseas) vs Feishu (China) — defaults to Feishu (feishu.cn). If your app is registered on larksuite.com, open the openab-gateway service in Zeabur Dashboard → Variables → change FEISHU_DOMAIN from feishu to lark and restart.
  • @mention requirement in groups — default is true (bot only responds when @mentioned). To allow all messages in approved groups, add FEISHU_REQUIRE_MENTION=false to the openab-gateway service.
  • Image tags — bot tracks the floating stable channel (ghcr.io/openabdev/openab:stable) and auto-updates with each OpenAB stable release. Gateway is pinned at ghcr.io/openabdev/openab-gateway:0.5.1 (no :stable tag yet). To pin or bump, change the tag in Zeabur Dashboard → Service → Settings. Available tags: OpenAB / Gateway.

Want a different agent backend?

This bundle uses Kiro as the default agent. For Claude / Codex / Cursor / Gemini / OpenCode / Hermes / Grok, deploy the corresponding bot template separately together with the standalone OpenAB Gateway.

Want a different platform?

See OpenAB Gateway for Telegram, LINE, Google Chat, MS Teams, WeCom. For an all-in-one Telegram bundle, see OpenAB Telegram Bundle.