mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-03 12:34:37 +00:00
Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
41aeda8dc0 | ||
|
|
2ed522667e | ||
|
|
1932444666 | ||
|
|
b49b7e963d | ||
|
|
435c11ff27 | ||
|
|
2e93600437 | ||
|
|
faecb70d0f | ||
|
|
92e1ac5c3a | ||
|
|
8963a2117b | ||
|
|
aa300258ab | ||
|
|
48841daff5 | ||
|
|
8878f1ed87 | ||
|
|
f6205d79c0 | ||
|
|
d6d5dac6b3 | ||
|
|
05b979e68a | ||
|
|
9f7d9e4c0d |
14
README.md
14
README.md
@@ -115,6 +115,20 @@
|
||||
| [阿里云百炼](https://bailian.console.aliyun.com/) | ✅ | 大模型聚合平台, LLMOps 平台 |
|
||||
| [火山方舟](https://console.volcengine.com/ark/region:ark+cn-beijing/model?vendor=Bytedance&view=LIST_VIEW) | ✅ | 大模型聚合平台, LLMOps 平台 |
|
||||
|
||||
### TTS
|
||||
|
||||
| 平台/模型 | 备注 |
|
||||
| --- | --- |
|
||||
| [FishAudio](https://fish.audio/zh-CN/discovery/) | [插件](https://github.com/the-lazy-me/NewChatVoice) |
|
||||
| [海豚 AI](https://www.ttson.cn/?source=thelazy) | [插件](https://github.com/the-lazy-me/NewChatVoice) |
|
||||
| [AzureTTS](https://portal.azure.com/) | [插件](https://github.com/Ingnaryk/LangBot_AzureTTS) |
|
||||
|
||||
### 文生图
|
||||
|
||||
| 平台/模型 | 备注 |
|
||||
| --- | --- |
|
||||
| 阿里云百炼 | [插件](https://github.com/Thetail001/LangBot_BailianTextToImagePlugin)
|
||||
|
||||
## 😘 社区贡献
|
||||
|
||||
LangBot 离不开以下贡献者和社区内所有人的贡献,我们欢迎任何形式的贡献和反馈。
|
||||
|
||||
@@ -77,7 +77,7 @@ class DingTalkEventConverter(adapter.EventConverter):
|
||||
remark=""
|
||||
),
|
||||
message_chain = message_chain,
|
||||
time = datetime.datetime.now(),
|
||||
time = event.incoming_message.create_at,
|
||||
source_platform_object=event,
|
||||
)
|
||||
elif event.conversation == 'GroupMessage':
|
||||
@@ -95,7 +95,7 @@ class DingTalkEventConverter(adapter.EventConverter):
|
||||
last_speak_timestamp=0,
|
||||
mute_time_remaining=0
|
||||
)
|
||||
time = datetime.datetime.now(),
|
||||
time = event.incoming_message.create_at
|
||||
return platform_events.GroupMessage(
|
||||
sender =sender,
|
||||
message_chain = message_chain,
|
||||
|
||||
@@ -226,11 +226,16 @@ class GeWeChatAdapter(adapter.MessagePlatformAdapter):
|
||||
@self.quart_app.route('/gewechat/callback', methods=['POST'])
|
||||
async def gewechat_callback():
|
||||
data = await quart.request.json
|
||||
|
||||
|
||||
if data['data']:
|
||||
data['Data'] = data['data']
|
||||
# print(json.dumps(data, indent=4, ensure_ascii=False))
|
||||
|
||||
|
||||
if 'testMsg' in data:
|
||||
return 'ok'
|
||||
elif 'TypeName' in data and data['TypeName'] == 'AddMsg':
|
||||
elif 'TypeName' in data and data['TypeName'] or data['type_name'] == 'AddMsg':
|
||||
try:
|
||||
|
||||
event = await self.event_converter.target2yiri(data.copy(), self.bot_account_id)
|
||||
@@ -248,7 +253,7 @@ class GeWeChatAdapter(adapter.MessagePlatformAdapter):
|
||||
target_id: str,
|
||||
message: platform_message.MessageChain
|
||||
):
|
||||
geweap_msg = await GewechatMessageConverter.yiri2target(message)
|
||||
geweap_msg = await self.message_converter.yiri2target(message)
|
||||
# 此处加上群消息at处理
|
||||
# ats = [item["target"] for item in geweap_msg if item["type"] == "at"]
|
||||
|
||||
|
||||
@@ -74,7 +74,11 @@ class QQOfficialEventConverter(adapter.EventConverter):
|
||||
remark = "",
|
||||
)
|
||||
return platform_events.FriendMessage(
|
||||
sender = friend,message_chain = yiri_chain,time = event.timestamp,
|
||||
sender = friend,message_chain = yiri_chain,time = int(
|
||||
datetime.datetime.strptime(
|
||||
event.timestamp, "%Y-%m-%dT%H:%M:%S%z"
|
||||
).timestamp()
|
||||
),
|
||||
source_platform_object=event
|
||||
)
|
||||
|
||||
@@ -105,7 +109,11 @@ class QQOfficialEventConverter(adapter.EventConverter):
|
||||
last_speak_timestamp=0,
|
||||
mute_time_remaining=0
|
||||
)
|
||||
time = event.timestamp
|
||||
time = int(
|
||||
datetime.datetime.strptime(
|
||||
event.timestamp, "%Y-%m-%dT%H:%M:%S%z"
|
||||
).timestamp()
|
||||
)
|
||||
return platform_events.GroupMessage(
|
||||
sender = sender,
|
||||
message_chain=yiri_chain,
|
||||
@@ -128,7 +136,11 @@ class QQOfficialEventConverter(adapter.EventConverter):
|
||||
last_speak_timestamp=0,
|
||||
mute_time_remaining=0
|
||||
)
|
||||
time = event.timestamp,
|
||||
time = int(
|
||||
datetime.datetime.strptime(
|
||||
event.timestamp, "%Y-%m-%dT%H:%M:%S%z"
|
||||
).timestamp()
|
||||
),
|
||||
return platform_events.GroupMessage(
|
||||
sender =sender,
|
||||
message_chain = yiri_chain,
|
||||
|
||||
@@ -57,6 +57,9 @@ class MessageEvent(Event):
|
||||
message_chain: platform_message.MessageChain
|
||||
"""消息内容。"""
|
||||
|
||||
time: float | None = None
|
||||
"""消息发送时间戳。"""
|
||||
|
||||
source_platform_object: typing.Optional[typing.Any] = None
|
||||
"""原消息平台对象。
|
||||
供消息平台适配器开发者使用,如果回复用户时需要使用原消息事件对象的信息,
|
||||
|
||||
@@ -5,6 +5,7 @@ import json
|
||||
import uuid
|
||||
import re
|
||||
import base64
|
||||
import datetime
|
||||
|
||||
import aiohttp
|
||||
|
||||
@@ -69,6 +70,7 @@ class DifyServiceAPIRunner(runner.RequestRunner):
|
||||
"""
|
||||
plain_text = ""
|
||||
image_ids = []
|
||||
|
||||
if isinstance(query.user_message.content, list):
|
||||
for ce in query.user_message.content:
|
||||
if ce.type == "text":
|
||||
@@ -230,6 +232,9 @@ class DifyServiceAPIRunner(runner.RequestRunner):
|
||||
|
||||
plain_text, image_ids = await self._preprocess_user_message(query)
|
||||
|
||||
# 尝试获取 CreateTime
|
||||
create_time = int(query.message_event.time) if query.message_event.time else int(datetime.datetime.now().timestamp())
|
||||
|
||||
files = [
|
||||
{
|
||||
"type": "image",
|
||||
@@ -246,6 +251,7 @@ class DifyServiceAPIRunner(runner.RequestRunner):
|
||||
"langbot_user_message_text": plain_text,
|
||||
"langbot_session_id": f"{query.session.launcher_type.value}_{query.session.launcher_id}",
|
||||
"langbot_conversation_id": cov_id,
|
||||
"langbot_msg_create_time": create_time,
|
||||
},
|
||||
user=f"{query.session.launcher_type.value}_{query.session.launcher_id}",
|
||||
files=files,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
semantic_version = "v3.4.10"
|
||||
semantic_version = "v3.4.10.1"
|
||||
|
||||
debug_mode = False
|
||||
|
||||
|
||||
@@ -166,61 +166,72 @@
|
||||
{
|
||||
"name": "glm-4-plus",
|
||||
"requester": "zhipuai-chat-completions",
|
||||
"token_mgr": "zhipuai"
|
||||
"token_mgr": "zhipuai",
|
||||
"tool_call_supported": true
|
||||
},
|
||||
{
|
||||
"name": "glm-4-0520",
|
||||
"requester": "zhipuai-chat-completions",
|
||||
"token_mgr": "zhipuai"
|
||||
"token_mgr": "zhipuai",
|
||||
"tool_call_supported": true
|
||||
},
|
||||
{
|
||||
"name": "glm-4-air",
|
||||
"requester": "zhipuai-chat-completions",
|
||||
"token_mgr": "zhipuai"
|
||||
"token_mgr": "zhipuai",
|
||||
"tool_call_supported": true
|
||||
},
|
||||
{
|
||||
"name": "glm-4-airx",
|
||||
"requester": "zhipuai-chat-completions",
|
||||
"token_mgr": "zhipuai"
|
||||
"token_mgr": "zhipuai",
|
||||
"tool_call_supported": true
|
||||
},
|
||||
{
|
||||
"name": "glm-4-long",
|
||||
"requester": "zhipuai-chat-completions",
|
||||
"token_mgr": "zhipuai"
|
||||
"token_mgr": "zhipuai",
|
||||
"tool_call_supported": true
|
||||
},
|
||||
{
|
||||
"name": "glm-4-flashx",
|
||||
"requester": "zhipuai-chat-completions",
|
||||
"token_mgr": "zhipuai"
|
||||
"token_mgr": "zhipuai",
|
||||
"tool_call_supported": true
|
||||
},
|
||||
{
|
||||
"name": "glm-4-flash",
|
||||
"requester": "zhipuai-chat-completions",
|
||||
"token_mgr": "zhipuai"
|
||||
"token_mgr": "zhipuai",
|
||||
"tool_call_supported": true
|
||||
},
|
||||
{
|
||||
"name": "glm-4v-plus",
|
||||
"requester": "zhipuai-chat-completions",
|
||||
"token_mgr": "zhipuai",
|
||||
"vision_supported": true
|
||||
"vision_supported": true,
|
||||
"tool_call_supported": true
|
||||
},
|
||||
{
|
||||
"name": "glm-4v",
|
||||
"requester": "zhipuai-chat-completions",
|
||||
"token_mgr": "zhipuai",
|
||||
"vision_supported": true
|
||||
"vision_supported": true,
|
||||
"tool_call_supported": true
|
||||
},
|
||||
{
|
||||
"name": "glm-4v-flash",
|
||||
"requester": "zhipuai-chat-completions",
|
||||
"token_mgr": "zhipuai",
|
||||
"vision_supported": true
|
||||
"vision_supported": true,
|
||||
"tool_call_supported": true
|
||||
},
|
||||
{
|
||||
"name": "glm-zero-preview",
|
||||
"requester": "zhipuai-chat-completions",
|
||||
"token_mgr": "zhipuai",
|
||||
"vision_supported": true
|
||||
"vision_supported": true,
|
||||
"tool_call_supported": true
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user