magisk317
5e808bab65
fix(platform): prevent 'NoneType' object is not iterable in _outline_chain and set_result ( #3103 )
...
Guard against cases where message chain is None during pipeline execution. This change enhances error-resilience for logging and processing message chains.
- Updated AstrMessageEvent._outline_chain to return an empty string when input chain is None
- Updated AstrMessageEvent.set_result to ensure result.chain is always at least an empty list
This prevents TypeError when result.chain or chain is unexpectedly None, improving pipeline stability when handling external plugins or corner cases.
Co-authored-by: engine-labs-app[bot] <140088366+engine-labs-app[bot]@users.noreply.github.com>
Co-authored-by: cto-new[bot] <140088366+cto-new[bot]@users.noreply.github.com>
2025-10-19 20:16:14 +08:00
Dt8333
361d78247b
fix(core): 修复人格预设对话的重复注入 ( #3088 )
...
备份Context避免供应商适配器移除Context内字段导致将预设会话存入历史。深拷贝人格预设会话防止运行时被意外修改。
#3063
2025-10-19 20:13:57 +08:00
a490077
3550103e45
feat: QQ 官方机器人增加沙盒模式选项,让本地部署能跳过 IP 白名单验证 ( #3087 )
...
* QQ官方机器人增加沙箱模式选项,让本地部署能跳过IP白名单验证
* chore: ruff format
---------
Co-authored-by: 郭鹏 <gp@pp052.top >
Co-authored-by: Soulter <905617992@qq.com >
2025-10-19 20:09:08 +08:00
PaloMiku
8b0d4d4de4
feat: 优化 Misskey 适配器的通知和聊天消息处理,改进 @用户提及逻辑 ( #3075 )
2025-10-19 20:05:55 +08:00
shangxue
dc71c04b67
feat(satori): 添加对合并转发消息功能的支持 ( #3050 )
...
* Update satori_event.py
* Update satori_event.py
* Update satori_event.py
* Update satori_adapter.py
* style: format code for better readability in satori_adapter.py and satori_event.py
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-10-19 20:05:03 +08:00
PaloMiku
23f13ef05f
feat:Misskey 适配器支持文件上传、投票内容感知功能和重构部分代码 ( #2986 )
...
* feat: 为 Misskey 适配器修正一些问题,添加投票信息读取支持
* feat: 增强 Misskey 平台适配器,添加随机重连延迟和通道重新订阅功能
* feat: 添加文件上传功能并优化消息发送接口,支持同时发送文件和文本
* feat: 增强文件上传功能,支持 MIME 类型检测和外部 URL 回退
* feat: 增加 Misskey 文件上传功能开关,支持配置文件上传启用与并发限制
* feat: 添加 Misskey 文件上传目标文件夹配置,支持将文件上传到指定文件夹
* feat: 优化 Misskey 平台适配器,增强文件上传和消息发送功能,支持更多可选字段
* feat: 代码优化结构与功能
* feat(misskey): 增强消息发送逻辑和工具函数
- 重构了 `misskey_event.py` 中的 `send` 方法,使用新的适配器方法 `send_by_session`,以改进消息处理(包括文件上传)。
- 添加了详细的日志记录,以提高消息发送过程的可追溯性。
- 在 `misskey_utils.py` 中引入了 `FileIDExtractor` 和 `MessagePayloadBuilder` 类,以简化文件 ID 提取和消息载荷构建。
- 在 `misskey_utils.py` 中实现了 MIME 类型检测和文件扩展名解析,以支持多种文件上传。
- 增强了 `resolve_component_url_or_path`,以更好地处理不同类型的组件上传文件。
- 在 `upload_local_with_retries` 中添加了重试逻辑,以优雅地处理不允许的文件类型。
* feat(misskey): 限制文件上传并发数,优化消息处理逻辑
* feat(misskey): ruff formatted
* feat: 大幅优化 misskey 文件上传逻辑,简化上传流程并增强可见性解析
* feat(misskey): 移除 Url上传方式,精简日志
* fix(misskey): 修复错把URL文件当本地文件上传的问题,明确处理 URL 和本地文件的方式
* fix(misskey): 修复 session_id 解析逻辑,确保与 user_cache 键格式匹配
* perf: streaming the file with a file object in FormData to reduce peak memory usage.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* style: format debug log message for local file upload in MisskeyAPI
* refactor: remove unnecessary thread executor for reading file bytes in MisskeyAPI
---------
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Soulter <905617992@qq.com >
2025-10-16 10:27:04 +08:00
Soulter
7d776e0ce2
chore: bump version to 4.3.5
2025-10-15 12:19:26 +08:00
Soulter
9ab652641d
feat: 支持配置工具调用超时时间并适配 ModelScope 的 MCP Server 配置 ( #3039 )
...
* feat: 支持配置工具调用超时时间并适配 ModelScope 的 MCP Server 配置。
closes : #2939
* fix: Remove unnecessary blank lines in _quick_test_mcp_connection function
2025-10-15 12:06:57 +08:00
shangxue
9119f7166f
feat: satori 适配器支持 video、reply 消息类型 ( #3035 )
...
* Update satori_event.py
* style: format
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-10-15 10:45:35 +08:00
Soulter
80fccc90b7
feat: 支持接入企业微信智能机器人平台 ( #3034 )
...
* stage
* stage
* feat: 支持图片收发
* feat: add support for wecom_ai_bot in getPlatformIcon function
2025-10-14 23:20:56 +08:00
Soulter
37bdb6c6f6
feat: 内置网页搜索功能支持接入百度 AI 搜索 ( #3031 )
...
* feat: 内置网页搜索功能支持接入百度 AI 搜索
* fix: 修正配置文件中的拼写错误,更新为正确的键名
* Fix Baidu AI Search initialization logic
2025-10-14 09:35:34 +08:00
Soulter
79e2743aac
chore: bump version to 4.3.3
2025-10-12 11:42:18 +08:00
anka
5e9c7cdd91
fix: 当没有填写 api key 时,设置为空字符串 ( #2834 )
...
* fix: 修复空key导致的无法创建Provider对象的问题
* style: format code
* Update astrbot/core/provider/provider.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
---------
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Soulter <905617992@qq.com >
2025-10-12 10:50:01 +08:00
Dt8333
6f73e5087d
feat(core): 在新对话中重用先前的对话人格设置 ( #3005 )
...
* feat(core): reuse persona conf in new conversation
#2985
* refactor(core): simplify persona retrieval logic
* style: code format
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-10-12 10:42:35 +08:00
Yaron
8c120b020e
fix: 修复阿里云百炼平台 TTS 下接入 CosyVoice V2, Qwen TTS 生成报错的问题 ( #2964 )
...
* fix: 修复了CosyVoice V2,Qwen TTS生成报错的问题。Fixed compatability problems with CosyVoice V2, Qwen TTS.
* fix: 将urlopen的同步请求替换为aiohttp的异步请求以下载音频
* fix: cozyvoice 报错显示
* fix: 添加阿里云百炼 TTS API Key 获取提示信息
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-10-12 01:03:06 +08:00
Soulter
7191d28ada
fix: 启动了 TTS 但未配置 TTS 模型时,At 和 Reply 发送人无效
...
fixes : #2996
2025-10-10 12:11:03 +08:00
Soulter
e6b5e3d282
feat: tokenpony provider
2025-10-09 16:00:31 +08:00
ctrlkk
1413d6b5fe
fix: 让事件钩子被暂停时跳出循环,而不是继续执行 ( #2989 )
2025-10-09 15:01:45 +08:00
ctrlkk
dcd8a1094c
feat: 优化 SQLite 参数配置,对话和会话管理增加输入防抖机制 ( #2969 )
...
* feat: 优化 SQLite 数据库初始化设置并增强会话搜索功能,会话管理增加输入防抖
* fix: adjust SQLite cache and mmap size
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-10-06 17:13:53 +08:00
Futureppo
e64b31b9ba
fix: Correct default modalities for DeepSeek provider ( #2963 )
...
* 更新 package.json
* 更新 ExtensionPage.vue
* fix(provider): Correct default modalities for DeepSeek provider
2025-10-06 16:30:05 +08:00
Soulter
dd5a02e8ef
chore: bump version to 4.3.2
2025-10-05 01:01:13 +08:00
Soulter
cc6fe57773
fix: on_tool_end无法获得工具返回的结果 ( #2956 )
...
fixes : #2940
2025-10-05 00:37:51 +08:00
Soulter
d951b99718
fix: 发送阶段将 Plain 为空的消息段移除
2025-10-03 00:45:07 +08:00
Soulter
0ad87209e5
chore: bump version to 4.3.1
2025-10-02 17:25:09 +08:00
Soulter
ee08659f01
chore: bump version to 4.3.0
2025-10-02 16:37:54 +08:00
Soulter
baf5ad0fab
fix: 修复接入智谱提供商后,工具调用无限循环的问题,并停止支持 glm-4v-flash ( #2931 )
...
fixes : #2912
2025-10-02 16:03:24 +08:00
kterna
8bdd748aec
feat: 支持注册消息平台适配器的 logo ( #2109 )
...
* feat: 添加平台适配器 logo 支持
* 优化平台logo注册逻辑,增加缓存机制并支持并行处理
* 去除判断绝对路径
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-10-02 14:36:15 +08:00
Soulter
cef0c22f52
feat: update prompt prefix handling to support placeholder replacement
2025-10-02 14:20:52 +08:00
Soulter
f8a4b54165
fix: 修复插件指令注解为联合类型时处理异常的问题 ( #2925 )
...
* fix: 修复插件指令注解为联合类型时处理异常的问题
* fix: 修复参数类型检查以支持 typing.Union
* Update astrbot/core/star/filter/command.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update astrbot/core/star/filter/command.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: 修复参数类型检查以支持 typing.Union 的处理逻辑
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-10-01 21:46:49 +08:00
Soulter
afe007ca0b
refactor: 优化 packages/astrbot 内置插件的代码结构以提高可维护性和可读性 ( #2924 )
...
* refactor: code structure for improved readability and maintainability
* style: ruff format
* Update packages/astrbot/commands/provider.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* Update packages/astrbot/commands/persona.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* Update packages/astrbot/commands/llm.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* Update packages/astrbot/commands/conversation.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* fix: improve error handling message formatting in key switching
* fix: update LLM command to use safe get for provider settings
* feat: implement ProcessLLMRequest class for handling LLM requests and persona injection
---------
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
2025-10-01 21:29:15 +08:00
Soulter
8a9a044f95
fix: 修复注册指令组指令时的 Pyright 类型检查提示 ( #2923 )
2025-10-01 20:03:04 +08:00
u0_ani-nya.com
5eaf03e227
perf: 对于 Telegram 群聊,将回复机器人的消息视为唤醒机器人 ( #2926 )
...
* reply as at for tg
Add handling for bot replies in group messages.
* style: type checking and ruff format
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-10-01 19:04:37 +08:00
Seayon
a8437d9331
feat: 支持在 Telegram 和飞书下请求 LLM 前预表态功能 ( #2737 )
...
* ✨ feat(platform): 为 Telegram 和飞书添加消息表情回应功能
支持在收到命令时自动添加表情回应,提升用户交互体验
新增平台特异配置项,允许自定义启用状态和表情列表
* Update astrbot/core/platform/astr_message_event.py
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* style: ruff format
* fix: 优化平台特异配置的预回应表情处理逻辑
---------
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Soulter <905617992@qq.com >
2025-09-30 17:29:34 +08:00
ctrlkk
68ff8951de
feat: 添加分页和搜索功能以获取会话列表,优化前端与后端的数据交互 ( #2906 )
...
* feat: 添加分页和搜索功能以获取会话列表,优化前端与后端的数据交互
* fix: 修复会话计数显示,使用总项数替代会话数组长度
* fix: 将参数类型和名称与实现内容匹配。
* perf: convert for loop into list comprehension
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* fix: type checking error
* fix: 优化 persona_id 的获取逻辑
---------
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Soulter <905617992@qq.com >
2025-09-28 23:25:30 +08:00
Soulter
50f74f5ba2
fix: 修复"开启 TTS 时同时输出语音和文字内容"功能不可用的问题 ( #2900 )
...
fixes : #2844
2025-09-28 10:48:57 +08:00
Soulter
b9de2aef60
chore: bump version to 4.2.1
2025-09-27 23:36:25 +08:00
Soulter
7a47598538
fix: 修复指令无法使用的问题
...
fixes : #2897
2025-09-27 23:35:35 +08:00
Soulter
3c8c28ebd5
chore: bump version to 4.2.0
2025-09-27 20:45:50 +08:00
Soulter
c2a34475f1
feat: 支持删除指定会话以及部分会话管理优化 ( #2895 )
...
* feat: add toast notification system with snackbar component
* feat: add session deletion functionality
* feat: support batch operations for updating session persona, provider, LLM, and TTS statuses
fix : #2263
* feat: 修复对话状态关闭,删除对话管理库会导致对话无法恢复
fixes : #2309
2025-09-27 20:36:30 +08:00
Soulter
a69195a02b
fix: webchat streaming queue interrupted after user closing tab ( #2892 )
...
* feat: add toast notification system with snackbar component
* feat: enhance chat functionality with conversation running state and notifications
* fix: update bot message avatar rendering during streaming
* feat: implement conversation tracking context manager for webchat
* fix: update conversation tracking to remove conversation ID on exit
2025-09-27 17:57:12 +08:00
anka
ccb380ce06
feat: 支持接入 Coze ( #2858 )
...
* feat: 适配 coze 供应商
1. 支持文件上传
2. 支持多模态
3. 支持流式传输
4. 支持 API 端的上下文保存历史记录
5. 支持类似 dify 的 forget 接口
* style: format code
* fix: type checking error
* fix: 修复:
1. 使用coze api端的上下文时, 现在不会重复传递上下文
2. 使用 AstrBot 的上下文时, 正确处理其中的图片信息
3. 上传图片时, 提供一个非持久化的缓存避免重复上传(在解析上下文并将文件转化为file_id传递给coze api时, 如果没有缓存会导致很多的网络资源浪费)
4. 修复reset等指令不能正确重置上下文的问题
* fix: 移除某些地方多余的针对 dify 的断言, 以兼容 Coze
* style: 修改配置项显示/webchat平台对于非预期的类型的处理
* fix: 让conversation_id放到请求中正确的位置
* refactor: extract coze api client
* refactor: improve image processing logic in ProviderCoze
* chore: remove file ext guessing
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-09-27 14:23:29 +08:00
Ding Jiatong
a35c439bbd
fix: 使用增量解码器修复 Dify 流式返回结果偶现的解码错误 ( #2888 )
...
* fix: 修复linux下utf-8解码错误的问题
* feat: use incremental decoder
* fix: add type hint for response parameter in _stream_sse and refactor file upload method
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-09-26 23:04:58 +08:00
Soulter
09d1f96603
fix: 修复 /alter_cmd 指令无法控制指令组、子指令组和子指令组下子指令的问题 ( #2873 )
...
* fix: revert changes in command_group.py at 782c036 to fix command group permission check
* fix: 不传递 GroupCommand handler
* perf: alter_cmd 指令支持对子指令、指令组进行配置
* chore: remove test commands and subcommands from test_group
* chore: add cache for complete command names list in CommandFilter and CommandGroupFilter
---------
Co-authored-by: Dt8333 <25431943+Dt8333@users.noreply.github.com >
Co-authored-by: Soulter <905617992@qq.com >
2025-09-26 14:16:50 +08:00
Raven95676
d10b542797
chore: format
2025-09-26 11:05:32 +08:00
Raven95676
ce4e4fb8dd
fix: add missing id field
2025-09-26 10:59:11 +08:00
Soulter
8f4a31cf8c
chore: bump version to 4.1.7
2025-09-23 22:16:36 +08:00
Soulter
d5b3ce8424
fix: update download_dashboard to log specific dashboard release URLs
2025-09-23 13:10:33 +08:00
Soulter
80cbbfa5ca
chore: bump version to 4.1.6
2025-09-23 13:02:06 +08:00
Soulter
9177bb660f
fix: improve error handling in run_agent for streaming responses
2025-09-23 10:34:24 +08:00
Soulter
1542ea3e03
fix: context.get_provider_by_id issue
2025-09-22 17:22:50 +08:00