Lark / Feishu channel plugin for Bub
Project description
bub-lark
Lark / Feishu chat channel plugin for Bub.
bub-lark adds a native lark channel that can receive bot events and send replies through the Lark / Feishu Open Platform.
Features
- inbound bot messages through event subscription
- outbound send, reply, edit, and card update flows
- text, post, interactive card, image, file, audio, media, and sticker-aware message parsing
- optional webhook mode for callback delivery
- bundled
larkskill for proactive sends
Install
Once published:
uv pip install bub-lark
For local development next to the Bub repo:
cd ../bub-lark
uv sync
Usage
Configure a Feishu / Lark bot app with message receive events.
Common settings:
BUB_LARK_APP_IDBUB_LARK_APP_SECRETBUB_LARK_DOMAIN=feishuorBUB_LARK_DOMAIN=larkBUB_LARK_CONNECTION_MODE=websocketorBUB_LARK_CONNECTION_MODE=webhook
Webhook mode only:
BUB_LARK_VERIFICATION_TOKENBUB_LARK_ENCRYPT_KEYBUB_LARK_WEBHOOK_PORTBUB_LARK_WEBHOOK_PATH
Start the channel:
uv run bub gateway --enable-channel lark
Notes
websocketmode is the default for the Feishu domain.webhookmode is available for deployments where callback delivery is preferred or required.- Bub ordinary replies are routed through the native outbound path once the inbound message enters the framework.
Research Basis
The plugin design follows Feishu / Lark's official bot-event and message-send model plus community integrations:
- Feishu article on custom bot message receiving: https://www.feishu.cn/content/article/7602519239445974205
- Feishu article on OpenClaw Feishu integration: https://www.feishu.cn/content/article/7613711414611463386
- OpenClaw Feishu plugin docs: https://github.com/AlexAnys/openclaw-feishu
Development
uv run pytest -q
uv run ruff check .
uv build
Release
Publishing is driven by GitHub Actions.
Create a GitHub Release on main with a tag like v0.1.0 or 0.1.0, and the release workflow will:
- normalize the tag to a package version
- build the sdist and wheel
- publish to PyPI through Trusted Publishing (GitHub OIDC)
No long-lived PYPI_TOKEN secret is required when PyPI Trusted Publisher is configured for .github/workflows/on-release-main.yml.
Contributing
See CONTRIBUTING.md for the local workflow, verification commands, and pull request process.
Project details
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 bub_lark-0.1.2.tar.gz.
File metadata
- Download URL: bub_lark-0.1.2.tar.gz
- Upload date:
- Size: 23.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6b6dacd0b7892ea795affb14a898ce87af3ae1ec90fb56c9260f3308324d94d
|
|
| MD5 |
a0f1b51ccf12a213d8a17fb734fa61a6
|
|
| BLAKE2b-256 |
0d8559bd1e64b672d068d3f13a982cde71b640b654174bf94f9f846f83717996
|
Provenance
The following attestation bundles were made for bub_lark-0.1.2.tar.gz:
Publisher:
on-release-main.yml on ximenzun/bub-lark
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bub_lark-0.1.2.tar.gz -
Subject digest:
b6b6dacd0b7892ea795affb14a898ce87af3ae1ec90fb56c9260f3308324d94d - Sigstore transparency entry: 1094590552
- Sigstore integration time:
-
Permalink:
ximenzun/bub-lark@ce9001f2c4f370bdd8edc4be0358da6ce86720a5 -
Branch / Tag:
refs/tags/0.1.2 - Owner: https://github.com/ximenzun
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
on-release-main.yml@ce9001f2c4f370bdd8edc4be0358da6ce86720a5 -
Trigger Event:
release
-
Statement type:
File details
Details for the file bub_lark-0.1.2-py3-none-any.whl.
File metadata
- Download URL: bub_lark-0.1.2-py3-none-any.whl
- Upload date:
- Size: 20.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
752d3f7720f8831357fc0f223a403a7b3b9a7f8caf8f7e2de6c3177eac32c93c
|
|
| MD5 |
e152c826a0b448d08ca451ede8a444ca
|
|
| BLAKE2b-256 |
c9172266090ca5f767692221f19b47dbd25baf8bb1880657e913062400982ce1
|
Provenance
The following attestation bundles were made for bub_lark-0.1.2-py3-none-any.whl:
Publisher:
on-release-main.yml on ximenzun/bub-lark
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bub_lark-0.1.2-py3-none-any.whl -
Subject digest:
752d3f7720f8831357fc0f223a403a7b3b9a7f8caf8f7e2de6c3177eac32c93c - Sigstore transparency entry: 1094590554
- Sigstore integration time:
-
Permalink:
ximenzun/bub-lark@ce9001f2c4f370bdd8edc4be0358da6ce86720a5 -
Branch / Tag:
refs/tags/0.1.2 - Owner: https://github.com/ximenzun
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
on-release-main.yml@ce9001f2c4f370bdd8edc4be0358da6ce86720a5 -
Trigger Event:
release
-
Statement type: