bub-lark
Lark / Feishu chat channel plugin for the Bub fork.
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
Note This package targets the
ximenzun/bubfork. It is not an officialbubbuild/bubplugin package, and compatibility with upstream Bub should not be assumed.
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.
Metadata
Release files for bub-lark 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| bub_lark-0.1.3.tar.gz | 23.4 kB | With provenance | Details for bub_lark-0.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| bub_lark-0.1.3-py3-none-any.whl | Python 3 | none | any | Details for bub_lark-0.1.3-py3-none-any.whl |
Total release size: 43.5 kB
Release files / bub_lark-0.1.3.tar.gz
| Download URL | bub_lark-0.1.3.tar.gz |
|---|---|
| Size | 23.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f9b898397a93b988c13fbf5220a410fa3ae5d5f6f6c23db923eaae008a37e0a9
|
|
BLAKE2b-256 checksum How to use checksums |
92922b52c45b0042be47b461f0e9460d01644d35de6ed50d85bd3765f22a5172
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 13, 2026.
Transparency logRelease files / bub_lark-0.1.3-py3-none-any.whl
| Download URL | bub_lark-0.1.3-py3-none-any.whl |
|---|---|
| Size | 20.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
debc99da90c2605a095e458c9b16461251f4078b261c544c9bd58af71e0b5e05
|
|
BLAKE2b-256 checksum How to use checksums |
244e03651722296df2826fb575a359af97124aaa690da7ec8f4f7d23bcd68bcc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 13, 2026.
Transparency logSecurity for bub-lark 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for bub_lark-0.1.3.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 13, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.