From 19526146c554c6f785917a41ebff2986456e6bf2 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Wed, 13 May 2026 08:36:27 +0800 Subject: [PATCH] docs: update docstrings for message metadata and reply fields; fix markdown capability check in format instructions; improve streaming card update logic in Feishu --- app/agent/callback/__init__.py | 2 ++ app/agent/prompt/__init__.py | 2 +- app/chain/__init__.py | 1 + app/modules/feishu/feishu.py | 16 +++++++++------- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/app/agent/callback/__init__.py b/app/agent/callback/__init__.py index 71c30744..cbcb1d10 100644 --- a/app/agent/callback/__init__.py +++ b/app/agent/callback/__init__.py @@ -162,6 +162,8 @@ class StreamingHandler: :param user_id: 用户ID :param username: 用户名 :param title: 消息标题 + :param original_message_id: 原始消息ID(如果是回复消息) + :param original_chat_id: 原始聊天ID(如果是回复消息) """ self._channel = channel self._source = source diff --git a/app/agent/prompt/__init__.py b/app/agent/prompt/__init__.py index 75161dd6..6cc44ae0 100644 --- a/app/agent/prompt/__init__.py +++ b/app/agent/prompt/__init__.py @@ -312,7 +312,7 @@ class PromptManager: 根据渠道能力动态生成格式指令 """ instructions = [] - if ChannelCapability.RICH_TEXT not in caps.capabilities: + if ChannelCapability.MARKDOWN not in caps.capabilities: instructions.append( "- Formatting: Use **Plain Text ONLY**. The channel does NOT support Markdown." ) diff --git a/app/chain/__init__.py b/app/chain/__init__.py index 1690b1a0..664e4013 100644 --- a/app/chain/__init__.py +++ b/app/chain/__init__.py @@ -1559,6 +1559,7 @@ class ChainBase(metaclass=ABCMeta): :param text: 新的消息内容 :param title: 消息标题 :param buttons: 更新后的按钮列表 + :param metadata: 其他消息元数据 :return: 编辑是否成功 """ return self.run_module( diff --git a/app/modules/feishu/feishu.py b/app/modules/feishu/feishu.py index 77e7e35e..f6991791 100644 --- a/app/modules/feishu/feishu.py +++ b/app/modules/feishu/feishu.py @@ -1251,13 +1251,15 @@ class Feishu: sequence = int(stream_meta.get("sequence") or 0) + 1 # 无论远端是否响应成功都自增 sequence,防止某次超时导致后续 sequence 一直因为没有递增而被拒绝 stream_meta["sequence"] = sequence - if card_id and element_id and self._update_streaming_card_content( - card_id=card_id, - element_id=element_id, - content=self._escape_card_text(text).strip() or " ", - sequence=sequence, - ): - return True + if card_id and element_id: + if self._update_streaming_card_content( + card_id=card_id, + element_id=element_id, + content=self._escape_card_text(text).strip() or " ", + sequence=sequence, + ): + return True + return False card = self._build_card(title=title, text=text, link=None, buttons=buttons) try: