A lot of AI agents these days speak the Agent Client Protocol (ACP) — it’s becoming a common interface for agent communication. But most of them don’t have a chat UI. Some, like Hermes or OpenClaw, support Lark (Feishu) as a channel, but the integration is often incomplete — streaming might not work well, tool call visibility is missing, or the card rendering is buggy.
acp2larkbot is a universal bridge: pipe any ACP-compatible agent through it, and you get a fully-featured Lark bot with streaming cards, tool call panels, and proper error display.
How It Works
You send a message in a Lark chat. acp2larkbot forwards it to an ACP agent over stdio or websocket. The agent’s response streams back into the chat as a dynamic card. Tool calls appear as collapsible panels; the final answer streams in real time with a typewriter effect.
The card layout is simple: action panels on top (one per tool call or processing step, collapsed by default), and a scrolling answer section at the bottom.
Quick Start
# install
curl -fsSL https://raw.githubusercontent.com/samuelncui/acp2larkbot/main/install.sh | bash
# generate config (interactive)
acp2larkbot init -o config.yaml
# validate
acp2larkbot test -c config.yaml
# run
acp2larkbot run -c config.yaml
Point the config at any ACP backend — local (type: cmd, runs as a child process) or remote (type: network, connects via websocket) — and you’re done. The same binary works for both.
Why Not Use the Built-in Lark Support?
Agent frameworks that support Lark directly tend to treat it as a secondary channel. Streaming cards often render blank. Tool calls are either invisible or mixed into a single text blob. Session management is inconsistent. acp2larkbot is laser-focused on doing one thing well — being the best Lark bot bridge — so the card rendering, session handling, and streaming are all first-class.
Also, for agents that speak ACP but don’t know what Lark is, acp2larkbot gives them a chat interface without any modification to the agent itself. It’s a drop-in bridge.
Repo
Source and detailed docs at github.com/samuelncui/acp2larkbot.