Thiết lập Feishu / Lark
Hermes Agent tích hợp với Feishu và Lark dưới dạng bot đầy đủ tính năng. Sau khi kết nối, bạn có thể trò chuyện với tổng đài viên bằng tin nhắn trực tiếp hoặc trò chuyện nhóm, nhận kết quả công việc định kỳ trong cuộc trò chuyện tại nhà và gửi văn bản, hình ảnh, âm thanh và tệp đính kèm thông qua luồng cổng thông thường.
Việc tích hợp hỗ trợ cả hai chế độ kết nối:
websocket— được đề xuất; Hermes mở kết nối gửi đi và bạn không cần điểm cuối webhook công khaiwebhook— hữu ích khi bạn muốn Feishu/Lark đẩy các sự kiện vào cổng của bạn qua HTTP
Cách Hermes cư xử
| Bối cảnh | Hành vi |
|---|---|
| Tin nhắn trực tiếp | Hermes trả lời mọi tin nhắn. |
| Trò chuyện nhóm | Hermes chỉ phản hồi khi bot được @đề cập trong cuộc trò chuyện. |
| Trò chuyện nhóm được chia sẻ | Theo mặc định, lịch sử phiên được tách riêng cho mỗi người dùng trong cuộc trò chuyện được chia sẻ. |
Hành vi trò chuyện chia sẻ này được kiểm soát bởi config.yaml :
group_sessions_per_user: true
Chỉ đặt thành false nếu bạn rõ ràng muốn có một cuộc trò chuyện được chia sẻ cho mỗi cuộc trò chuyện.
Bước 1: Tạo ứng dụng Feishu/Lark
- Mở bảng điều khiển dành cho nhà phát triển Feishu hoặc Lark:
- Feishu: https://open.feishu.cn/
- Lark: https://open.larksuite.com/
- Tạo một ứng dụng mới.
- Trong Thông tin xác thực & Thông tin cơ bản, sao chép ID ứng dụng và Bí mật ứng dụng.
- Kích hoạt khả năng Bot cho ứng dụng.
Giữ Bí mật ứng dụng ở chế độ riêng tư. Bất cứ ai có nó đều có thể mạo danh ứng dụng của bạn.
Bước 2: Chọn Chế độ kết nối
Khuyến nghị: Chế độ WebSocket
Sử dụng chế độ WebSocket khi Hermes chạy trên máy tính xách tay, máy trạm hoặc máy chủ riêng của bạn. Không có URL công khai được yêu cầu. SDK Lark chính thức mở và duy trì kết nối WebSocket gửi đi liên tục bằng tính năng kết nối lại tự động.
FEISHU_CONNECTION_MODE=websocket
Yêu cầu: Phải cài đặt gói websockets Python. SDK xử lý vòng đời kết nối, nhịp tim và tự động kết nối lại trong nội bộ.
Cách hoạt động: Bộ điều hợp chạy ứng dụng khách WebSocket của Lark SDK trong luồng thực thi nền. Các sự kiện gửi đến (tin nhắn, phản ứng, hành động thẻ) được gửi đến vòng lặp asyncio chính. Khi ngắt kết nối, SDK sẽ cố gắng tự động kết nối lại.
Tùy chọn: Chế độ Webhook
Chỉ sử dụng chế độ webhook khi bạn đã chạy Hermes sau điểm cuối HTTP có thể truy cập.
FEISHU_CONNECTION_MODE=webhook
Ở chế độ webhook, Hermes khởi động máy chủ HTTP (thông qua aiohttp ) và phục vụ điểm cuối Feishu tại:
/feishu/webhook
Yêu cầu: Phải cài đặt gói aiohttp Python.
Bạn có thể tùy chỉnh địa chỉ và đường dẫn liên kết của máy chủ webhook:
FEISHU_WEBHOOK_HOST=127.0.0.1
# default: 127.0.0.1
FEISHU_WEBHOOK_PORT=8765
# default: 8765
FEISHU_WEBHOOK_PATH=/feishu/webhook
# default: /feishu/webhook
Khi Feishu gửi thử thách xác minh URL ( type: url_verification ), webhook sẽ tự động phản hồi để bạn có thể hoàn tất thiết lập đăng ký trong bảng điều khiển dành cho nhà phát triển Feishu.
Bước 3: Cấu hình Hermes
Tùy chọn A: Thiết lập tương tác
hermes gateway setup
Chọn Feishu / Lark và điền vào lời nhắc.
Tùy chọn B: Cấu hình thủ công
Thêm phần sau vào ~/.hermes/.env :
FEISHU_APP_ID=cli_xxx
FEISHU_APP_SECRET=secret_xxx
FEISHU_DOMAIN=feishu
FEISHU_CONNECTION_MODE=websocket
# Optional but strongly recommended
FEISHU_ALLOWED_USERS=ou_xxx,ou_yyy
FEISHU_HOME_CHANNEL=oc_xxx
FEISHU_DOMAIN chấp nhận:- feishu cho Feishu Trung Quốc
larkcho Lark quốc tế
Bước 4: Khởi động Gateway
hermes gateway
Sau đó nhắn tin cho bot từ Feishu/Lark để xác nhận rằng kết nối đang hoạt động.
Trò chuyện tại nhà
Sử dụng /set-home trong cuộc trò chuyện Feishu/Lark để đánh dấu kênh này là kênh chính để biết kết quả công việc định kỳ và thông báo đa nền tảng.
Bạn cũng có thể cấu hình sẵn nó:
FEISHU_HOME_CHANNEL=oc_xxx
Bảo mật
Danh sách cho phép người dùng
Để sử dụng trong sản xuất, hãy đặt danh sách cho phép các ID mở Feishu:
FEISHU_ALLOWED_USERS=ou_xxx,ou_yyy
Nếu bạn để trống danh sách cho phép thì bất kỳ ai có thể tiếp cận bot đều có thể sử dụng bot đó. Trong cuộc trò chuyện nhóm, danh sách cho phép được kiểm tra dựa trên open_id của người gửi trước khi xử lý tin nhắn.
Khóa mã hóa Webhook
Khi chạy ở chế độ webhook, hãy đặt khóa mã hóa để bật xác minh chữ ký của tải trọng webhook gửi đến:
FEISHU_ENCRYPT_KEY=your-encrypt-key
Bạn có thể tìm thấy khóa này trong phần Đăng ký sự kiện trong cấu hình ứng dụng Feishu của bạn. Khi được đặt, bộ điều hợp sẽ xác minh mọi yêu cầu webhook bằng thuật toán chữ ký:
SHA256(timestamp + nonce + encrypt_key + body)
Hàm băm được tính toán được so sánh với tiêu đề x-lark-signature bằng cách sử dụng so sánh an toàn về thời gian. Yêu cầu có chữ ký không hợp lệ hoặc thiếu chữ ký sẽ bị từ chối bằng HTTP 401.
Ở chế độ WebSocket, việc xác minh chữ ký được chính SDK xử lý, vì vậy FEISHU_ENCRYPT_KEY là tùy chọn. Ở chế độ webhook, nó được khuyến khích sử dụng cho sản xuất.
Mã thông báo xác minh
Một lớp xác thực bổ sung kiểm tra trường token bên trong tải trọng webhook:
FEISHU_VERIFICATION_TOKEN=your-verification-token
Mã thông báo này cũng được tìm thấy trong phần Đăng ký sự kiện trong ứng dụng Feishu của bạn. Khi được đặt, mọi tải trọng webhook gửi đến phải chứa token phù hợp trong đối tượng header của nó. Mã thông báo không khớp sẽ bị từ chối bằng HTTP 401.
Cả FEISHU_ENCRYPT_KEY và FEISHU_VERIFICATION_TOKEN đều có thể được sử dụng cùng nhau để phòng thủ theo chiều sâu.
Chính sách tin nhắn của nhóm
Biến môi trường FEISHU_GROUP_POLICY kiểm soát xem Hermes có phản hồi như thế nào trong các cuộc trò chuyện nhóm hay không và như thế nào:
FEISHU_GROUP_POLICY=allowlist
# default
| Giá trị | Hành vi |
|---|---|
open | Hermes phản hồi các @đề cập từ bất kỳ người dùng nào trong bất kỳ nhóm nào. |
allowlist | Hermes chỉ phản hồi các @đề cập từ người dùng được liệt kê trong FEISHU_ALLOWED_USERS . |
disabled | Hermes hoàn toàn bỏ qua tất cả các tin nhắn nhóm. |
Trong tất cả các chế độ, bot phải được đề cập rõ ràng bằng @ (hoặc @all) trong nhóm trước khi tin nhắn được xử lý. Tin nhắn trực tiếp bỏ qua cổng này.
Nhận dạng Bot cho @Mention Gating
Để phát hiện chính xác @mention trong nhóm, bộ điều hợp cần biết danh tính của bot. Nó có thể được cung cấp một cách rõ ràng:
FEISHU_BOT_OPEN_ID=ou_xxx
FEISHU_BOT_USER_ID=xxx
FEISHU_BOT_NAME=MyBot
Nếu không có tùy chọn nào trong số này được đặt, bộ điều hợp sẽ cố gắng tự động phát hiện tên bot thông qua API thông tin ứng dụng khi khởi động. Để tính năng này hoạt động, hãy cấp phạm vi quyền admin:app.info:readonly hoặc application:application:self_manage.
Hành động thẻ tương tác
Khi người dùng nhấp vào nút hoặc tương tác với thẻ tương tác do bot gửi, bộ chuyển đổi sẽ định tuyến những thẻ này dưới dạng sự kiện lệnh /card tổng hợp:- Số lần bấm nút trở thành: /card button {"key": "value", ...}
- Tải trọng
valuecủa hành động từ định nghĩa thẻ được đưa vào dưới dạng JSON. - Các hành động thẻ được loại bỏ trùng lặp với thời hạn 15 phút để ngăn chặn việc xử lý trùng lặp.
Các sự kiện hành động thẻ được gửi đi bằng MessageType.COMMAND , do đó chúng sẽ chảy qua quy trình xử lý lệnh thông thường.
Để sử dụng tính năng này, hãy bật sự kiện Thẻ tương tác trong đăng ký sự kiện của ứng dụng Feishu của bạn ( card.action.trigger ).
Hỗ trợ truyền thông
Inbound (đang nhận)
Bộ điều hợp nhận và lưu trữ các loại phương tiện sau từ người dùng:
| Loại | Tiện ích mở rộng | Nó được xử lý như thế nào |
|---|---|---|
| Hình ảnh | .jpg, .jpeg, .png, .gif, .webp, .bmp | Được tải xuống qua API Feishu và được lưu vào bộ nhớ đệm cục bộ |
| Âm thanh | .ogg, .mp3, .wav, .m4a, .aac, .flac, .opus, .webm | Đã tải xuống và lưu vào bộ nhớ đệm; các tập tin văn bản nhỏ được tự động giải nén |
| Video | .mp4, .mov, .avi, .mkv, .webm, .m4v, .3gp | Đã tải xuống và lưu vào bộ nhớ đệm dưới dạng tài liệu |
| Tệp | .pdf, .doc, .docx, .xls, .xlsx, .ppt, .pptx, v.v. | Đã tải xuống và lưu vào bộ nhớ đệm dưới dạng tài liệu |
Phương tiện từ các tin nhắn văn bản đa dạng thức (bài đăng), bao gồm hình ảnh nội tuyến và tệp đính kèm, cũng được trích xuất và lưu vào bộ nhớ đệm.
Đối với các tài liệu dạng văn bản nhỏ (.txt, .md), nội dung tệp sẽ tự động được đưa vào văn bản tin nhắn để tổng đài viên có thể đọc trực tiếp mà không cần đến công cụ.
Gửi đi (gửi)
| Phương pháp | Nó gửi gì |
|---|---|
send | Tin nhắn văn bản hoặc bài viết phong phú (được tự động phát hiện dựa trên nội dung đánh dấu) |
send_image / send_image_file | Tải hình ảnh lên Feishu, sau đó gửi dưới dạng bong bóng hình ảnh gốc (có chú thích tùy chọn) |
send_document | Tải tệp lên API Feishu, sau đó gửi dưới dạng tệp đính kèm |
send_voice | Tải tệp âm thanh lên dưới dạng tệp đính kèm tệp Feishu |
send_video | Tải video lên và gửi dưới dạng tin nhắn đa phương tiện gốc |
send_animation | GIF bị hạ cấp thành tệp đính kèm (Feishu không có bong bóng GIF gốc) |
Định tuyến tải lên tệp được tự động dựa trên tiện ích mở rộng:
.ogg,.opus→ được tải lên dưới dạng âm thanhopus.mp4,.mov,.avi,.m4v→ được tải lên dưới dạng phương tiệnmp4.pdf,.doc(x),.xls(x),.ppt(x)→ được tải lên cùng với loại tài liệu của họ- Mọi thứ khác → được tải lên dưới dạng tệp luồng chung
Hiển thị Markdown và đăng dự phòng
Khi văn bản gửi đi chứa định dạng đánh dấu (tiêu đề, in đậm, danh sách, khối mã, liên kết, v.v.), bộ điều hợp sẽ tự động gửi nó dưới dạng tin nhắn Feishu post với thẻ md được nhúng thay vì dưới dạng văn bản thuần túy. Điều này cho phép hiển thị phong phú trong ứng dụng khách Feishu.
Nếu API Feishu từ chối tải trọng bài đăng (ví dụ: do cấu trúc đánh dấu không được hỗ trợ), bộ điều hợp sẽ tự động quay trở lại gửi dưới dạng văn bản thuần túy bị loại bỏ đánh dấu. Dự phòng hai giai đoạn này đảm bảo tin nhắn luôn được gửi.
Tin nhắn văn bản thuần túy (không phát hiện thấy đánh dấu) được gửi dưới dạng tin nhắn text đơn giản.
Phản ứng biểu tượng cảm xúc ACKKhi bộ điều hợp nhận được tin nhắn gửi đến, nó sẽ ngay lập tức thêm phản ứng biểu tượng cảm xúc ✅ (OK) để báo hiệu rằng tin nhắn đã được nhận và đang được xử lý. Điều này cung cấp phản hồi trực quan trước khi tác nhân hoàn thành phản hồi của mình.
Phản hồi diễn ra liên tục - nó vẫn còn trên tin nhắn sau khi phản hồi được gửi đi, đóng vai trò là điểm đánh dấu biên nhận.
Phản ứng của người dùng đối với tin nhắn của bot cũng được theo dõi. Nếu người dùng thêm hoặc xóa phản ứng biểu tượng cảm xúc trên tin nhắn do bot gửi, thì phản ứng đó sẽ được định tuyến dưới dạng sự kiện văn bản tổng hợp ( reaction:added:EMOJI_TYPE hoặc reaction:removed:EMOJI_TYPE ) để tổng đài viên có thể phản hồi phản hồi.
Bảo vệ chống cháy nổ và phân khối
Bộ điều hợp bao gồm việc gỡ lỗi cho các loạt tin nhắn nhanh chóng để tránh làm quá tải tác nhân:
Sắp xếp văn bản
Khi người dùng gửi nhiều tin nhắn văn bản liên tiếp, chúng sẽ được hợp nhất thành một sự kiện duy nhất trước khi được gửi đi:
| Cài đặt | Env Var | Mặc định |
|---|---|---|
| Thời kỳ yên tĩnh | HERMES_FEISHU_TEXT_BATCH_DELAY_SECONDS | 0,6 giây |
| Số tin nhắn tối đa mỗi đợt | HERMES_FEISHU_TEXT_BATCH_MAX_MESSAGES | 8 |
| Ký tự tối đa mỗi đợt | HERMES_FEISHU_TEXT_BATCH_MAX_CHARS | 4000 |
Phương tiện truyền thông hàng loạt
Nhiều tệp đính kèm phương tiện được gửi liên tiếp nhanh chóng (ví dụ: kéo một số hình ảnh) sẽ được hợp nhất thành một sự kiện duy nhất:
| Cài đặt | Env Var | Mặc định |
|---|---|---|
| Thời kỳ yên tĩnh | HERMES_FEISHU_MEDIA_BATCH_DELAY_SECONDS | 0,8 giây |
Tuần tự hóa mỗi cuộc trò chuyện
Các tin nhắn trong cùng một cuộc trò chuyện được xử lý tuần tự (mỗi lần một tin nhắn) để duy trì sự mạch lạc trong cuộc trò chuyện. Mỗi cuộc trò chuyện có khóa riêng nên tin nhắn trong các cuộc trò chuyện khác nhau sẽ được xử lý đồng thời.
Giới hạn tốc độ (Chế độ Webhook)
Ở chế độ webhook, bộ điều hợp thực thi giới hạn tốc độ trên mỗi IP để bảo vệ khỏi lạm dụng:
- Cửa sổ: Cửa sổ trượt 60 giây
- Giới hạn: 120 yêu cầu trên mỗi cửa sổ trên mỗi bộ ba (app_id, path, IP)
- Giới hạn theo dõi: Đã theo dõi tối đa 4096 khóa duy nhất (ngăn chặn sự tăng trưởng bộ nhớ không giới hạn)
Yêu cầu vượt quá giới hạn sẽ nhận được HTTP 429 (Quá nhiều yêu cầu).
Theo dõi sự bất thường của Webhook
Bộ điều hợp theo dõi các phản hồi lỗi liên tiếp trên mỗi địa chỉ IP. Sau 25 lỗi liên tiếp từ cùng một IP trong khoảng thời gian 6 giờ, một cảnh báo sẽ được ghi lại. Điều này giúp phát hiện các máy khách bị định cấu hình sai hoặc các nỗ lực thăm dò.
Các biện pháp bảo vệ webhook bổ sung:
- Giới hạn kích thước cơ thể: tối đa 1 MB
- Thời gian chờ đọc nội dung: 30 giây
- Thực thi loại nội dung: Chỉ chấp nhận
application/json
Điều chỉnh WebSocket
Khi sử dụng chế độ websocket, bạn có thể tùy chỉnh hành vi kết nối lại và ping:
platforms:
feishu:
extra:
ws_reconnect_interval: 120
# Seconds between reconnect attempts (default: 120)
ws_ping_interval: 30
# Seconds between WebSocket pings (optional; SDK default if unset)
| Cài đặt | Phím cấu hình | Mặc định | Mô tả |
|---|---|---|---|
| Khoảng thời gian kết nối lại | ws_reconnect_interval | 120s | Phải đợi bao lâu giữa các lần kết nối lại |
| Khoảng thời gian Ping | ws_ping_interval | (SDK mặc định) | Tần suất ping liên tục của WebSocket |
Kiểm soát truy cập theo nhóm
Ngoài FEISHU_GROUP_POLICY toàn cầu, bạn có thể đặt các quy tắc chi tiết cho mỗi cuộc trò chuyện nhóm bằng cách sử dụng group_rules trong config.yaml:
platforms:
feishu:
extra:
default_group_policy: "open"
# Default for groups not in group_rules
admins:
# Users who can manage bot settings
- "ou_admin_open_id"
group_rules:
"oc_group_chat_id_1":
policy: "allowlist"
# open
| allowlist | blacklist
| admin_only | disabled
allowlist:
- "ou_user_open_id_1"
- "ou_user_open_id_2"
"oc_group_chat_id_2":
policy: "admin_only"
"oc_group_chat_id_3":
policy: "blacklist"
blacklist:
- "ou_blocked_user"
| Chính sách | Mô tả |
|---|---|
open | Bất kỳ ai trong nhóm đều có thể sử dụng bot |
allowlist | Chỉ người dùng trong allowlist của nhóm mới có thể sử dụng bot |
blacklist | Mọi người ngoại trừ người dùng trong blacklist của nhóm đều có thể sử dụng bot |
admin_only | Chỉ những người dùng trong danh sách admins toàn cầu mới có thể sử dụng bot trong nhóm này |
disabled | Bot bỏ qua tất cả tin nhắn trong nhóm này |
Các nhóm không được liệt kê trong group_rules sẽ quay lại default_group_policy (mặc định là giá trị FEISHU_GROUP_POLICY ).
Chống trùng lặp
Tin nhắn gửi đến sẽ được loại bỏ trùng lặp bằng cách sử dụng ID tin nhắn có TTL 24 giờ. Trạng thái loại trừ được duy trì trong suốt quá trình khởi động lại tới ~/.hermes/feishu_seen_message_ids.json .
| Cài đặt | Env Var | Mặc định |
|---|---|---|
| Kích thước bộ đệm | HERMES_FEISHU_DEDUP_CACHE_SIZE | 2048 mục |
Tất cả các biến môi trường
| Biến | Bắt buộc | Mặc định | Mô tả |
|---|---|---|---|
FEISHU_APP_ID | ✅ | — | ID ứng dụng Feishu/Lark |
FEISHU_APP_SECRET | ✅ | — | Bí mật ứng dụng Feishu/Lark |
FEISHU_DOMAIN | — | feishu | feishu (Trung Quốc) hoặc lark (quốc tế) |
FEISHU_CONNECTION_MODE | — | websocket | websocket hoặc webhook |
FEISHU_ALLOWED_USERS | — | (trống) | Danh sách open_id được phân tách bằng dấu phẩy dành cho danh sách cho phép người dùng |
FEISHU_HOME_CHANNEL | — | — | ID trò chuyện cho đầu ra cron/thông báo |
FEISHU_ENCRYPT_KEY | — | (trống) | Khóa mã hóa để xác minh chữ ký webhook |
FEISHU_VERIFICATION_TOKEN | — | (trống) | Mã thông báo xác minh cho xác thực tải trọng webhook |
FEISHU_GROUP_POLICY | — | allowlist | Chính sách tin nhắn nhóm: open , allowlist , disabled |
FEISHU_BOT_OPEN_ID | — | (trống) | open_id của Bot (để phát hiện @mention) |
FEISHU_BOT_USER_ID | — | (trống) | user_id của Bot (để phát hiện @mention) |
FEISHU_BOT_NAME | — | (trống) | Tên hiển thị của Bot (để phát hiện @mention) |
FEISHU_WEBHOOK_HOST | — | 127.0.0.1 | Địa chỉ liên kết máy chủ Webhook |
FEISHU_WEBHOOK_PORT | — | 8765 | Cổng máy chủ Webhook |
FEISHU_WEBHOOK_PATH | — | /feishu/webhook | Đường dẫn điểm cuối Webhook |
HERMES_FEISHU_DEDUP_CACHE_SIZE | — | 2048 | ID tin nhắn được loại bỏ tối đa để theo dõi |
HERMES_FEISHU_TEXT_BATCH_DELAY_SECONDS | — | 0.6 | Văn bản bùng nổ gỡ lỗi thời kỳ yên tĩnh |
HERMES_FEISHU_TEXT_BATCH_MAX_MESSAGES | — | 8 | Số tin nhắn tối đa được hợp nhất trên mỗi lô văn bản |
HERMES_FEISHU_TEXT_BATCH_MAX_CHARS | — | 4000 | Số ký tự tối đa được hợp nhất trên mỗi lô văn bản |
HERMES_FEISHU_MEDIA_BATCH_DELAY_SECONDS | — | 0.8 | Truyền thông bùng nổ thời kỳ im lặng |
Cài đặt WebSocket và ACL theo nhóm được định cấu hình thông qua config.yaml trong platforms.feishu.extra (xem Điều chỉnh WebSocket và Kiểm soát quyền truy cập theo nhóm ở trên).
Khắc phục sự cố
| Vấn đề | Sửa chữa |
|---|---|
lark-oapi not installed | Cài đặt SDK: pip install lark-oapi |
websockets not installed; websocket mode unavailable | Cài đặt ổ cắm web: pip install websockets |
aiohttp not installed; webhook mode unavailable | Cài đặt aiohttp: pip install aiohttp |
FEISHU_APP_ID or FEISHU_APP_SECRET not set | Đặt cả hai biến env hoặc định cấu hình qua hermes gateway setup |
Another local Hermes gateway is already using this Feishu app_id | Tại một thời điểm, chỉ một phiên bản Hermes có thể sử dụng cùng một app_id. Dừng cổng khác trước. |
| Bot không phản hồi theo nhóm | Đảm bảo bot được @đề cập, kiểm tra FEISHU_GROUP_POLICY và xác minh người gửi có trong FEISHU_ALLOWED_USERS nếu chính sách là allowlist |
Webhook rejected: invalid verification token | Đảm bảo FEISHU_VERIFICATION_TOKEN khớp với mã thông báo trong cấu hình Đăng ký sự kiện của ứng dụng Feishu của bạn |
Webhook rejected: invalid signature | Đảm bảo FEISHU_ENCRYPT_KEY khớp với khóa mã hóa trong cấu hình ứng dụng Feishu của bạn |
| Đăng tin nhắn hiển thị dưới dạng văn bản thuần túy | API Feishu từ chối tải trọng bài đăng; đây là hành vi dự phòng bình thường. Kiểm tra nhật ký để biết chi tiết. |
| Bot không nhận được hình ảnh/tập tin | Cấp phạm vi quyền im:message và im:resource cho ứng dụng Feishu của bạn |
| Nhận dạng bot không được tự động phát hiện | Cấp phạm vi admin:app.info:readonly hoặc đặt FEISHU_BOT_OPEN_ID / FEISHU_BOT_NAME theo cách thủ công |
Webhook rate limit exceeded | Hơn 120 yêu cầu/phút từ cùng một IP. Đây thường là một cấu hình sai hoặc một vòng lặp. |
Bộ công cụ
Feishu / Lark sử dụng cài đặt trước nền tảng hermes-feishu, bao gồm các công cụ cốt lõi giống như Telegram và các nền tảng nhắn tin dựa trên cổng khác.