Bridge Feishu to ACP-compatible agents with automatic session management for non-developers.
Project description
ACP Bridge
ACP Bridge is a bridge service that connects Feishu (Lark) group chats to ACP-compatible AI agents (such as Kiro CLI).
Core features:
- Auto session creation — @mention the bot in group chats, or just send a message in DM
- Message threading via reply chains — reply to any message in a thread to continue the conversation
- LRU + TTL session management — automatic eviction of idle sessions to control resource usage
- Message buffering — messages sent while the agent is busy are queued and delivered in order
Installation
Prerequisites
Feishu App Setup
-
Go to the Feishu Open Platform and create a new app.
-
Under Credentials, copy the App ID and App Secret.
-
Under Event Subscriptions, enable WebSocket (long connection) mode, then add the
im.message.receive_v1event. -
Under Permissions, enable:
im:message— send and update messagesim:message:send_as_bot— send messages as botim:message.group_at_msg:readonly— receive group chat messages with @mentionim:message.group_msg— receive all group messages (required for reply-chain routing)im:message.p2p_msg:readonly— receive P2P messagesim:resource— download file resources from messagesim:chat:readonly— read chat infocontact:contact.base:readonly— get user name (optional, for identifying sender in prompts)contact:user.email:readonly— get user email (optional, for matching accounts in external systems)
For contact permissions to work, ensure the Data Permission (数据权限) contact scope includes all bot users.
Steps
-
Install dependencies:
uv sync -
Generate a config file:
uv run python -m acp_bridge.main init
-
Edit
bridge.tomlwith your Feishu app credentials:[feishu] app_id = "your_app_id" app_secret = "your_app_secret" [bridge] default_workspace = "~" attachment_dir = "tmp/attachments" auto_approve = false max_sessions = 10 session_ttl_minutes = 60 show_thinking = false show_intermediate = false [agent] name = "kiro" description = "Kiro CLI - https://kiro.dev/cli/" command = "kiro-cli" args = ["acp"] auto_approve = false
-
Start the service:
uv run python -m acp_bridge.main run
Tip: It's recommended to run in tmux so it persists in the background:
tmux new -s acp-bridge "uv run python -m acp_bridge.main run"
Commands
| Command | Description |
|---|---|
#mode |
Show available modes and current mode |
#mode <value> |
Switch to a different mode |
#model |
Show available models and current model |
#model <value> |
Switch to a different model |
#cancel |
Cancel ongoing agent operation |
#end |
End current agent session |
#read <file_path> |
Read local file content |
#diff [args] |
Show git diff |
#session |
Show current agent session info |
#sessions |
Show all active sessions |
#help |
Show help message |
License
MIT License. See LICENSE for details.
This project is derived from Juan by DiscreteTom.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file acp_bridge-1.2.1.tar.gz.
File metadata
- Download URL: acp_bridge-1.2.1.tar.gz
- Upload date:
- Size: 159.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29388ab6f08f667e58b6f527eb31b61fc88e93a61ea88c48c43dfc7e3f334a90
|
|
| MD5 |
171a5588fc658322e227fc4069d324c8
|
|
| BLAKE2b-256 |
c030322dbaae33ea1086604011e5fd3ffc3b512d4eca575b8e9919f4342c18e0
|
File details
Details for the file acp_bridge-1.2.1-py3-none-any.whl.
File metadata
- Download URL: acp_bridge-1.2.1-py3-none-any.whl
- Upload date:
- Size: 29.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76ec30273fa8a6424d2671352b340f4447ca1737b54f7402de6a23595a71edf1
|
|
| MD5 |
6107229d0a43216f6fc1c69d4afbfe3d
|
|
| BLAKE2b-256 |
f60b8d7291aedd4a0422d0387a2d764db39529627a60e13bf6671ea8f6f5da9e
|