Soulter
a14d588b44
docs: add Matrix adapter to community maintained section in multiple languages
2026-01-04 10:15:16 +08:00
Soulter
e236402d92
chore: update platform adapter name for clarity
2026-01-04 10:12:25 +08:00
Soulter
454841de10
fix: database is locked error when invoking tts command ( #4313 )
...
* fix: database is locked error when invoking /tts command
fixes : #4311
* chore: rm pnpm lockfile
* perf: 减少操作数据库的次数
2026-01-03 19:12:39 +08:00
clown145
442b5403df
feat(webui): supports force update plugins ( #4293 )
2026-01-03 15:30:50 +08:00
Soulter
9db7bf59b8
docs: add new community group contact
2026-01-03 00:48:55 +08:00
雪語
3622504021
fix: retry failed due to a mismatch in the msg.id data type of a WeChat Official Account ( #4292 )
...
问题描述:
- 控制台显示正常发送消息,但公众号未收到
- 处理时间 > 5秒的消息几乎总是失败(如 AI 图片生成)
- 短消息(<5秒)正常工作
根本原因:
msg.id 是整数类型,但字典 key 使用字符串类型,导致类型不匹配。
检查时整数无法匹配字符串 key,导致每次都创建新的 future,
微信重试时无法重用,最终导致响应失败。
修复内容:
将 msg.id 转换为字符串后再检查字典
if str(msg.id) in self.wexin_event_workers:
影响范围:
- 修复了微信重试时无法正确重用 future 的问题
- AI 图片生成、长文本生成等耗时操作现在可以正常工作
- 仅影响微信公众号适配器,其他平台不受影响
Fixes #1679
2026-01-02 22:16:04 +08:00
Soulter
fc42db40ce
chore: bump version to 4.10.6
v4.10.6
2026-01-02 12:14:59 +08:00
Soulter
e413a002c1
perf: list view mode toggle with localStorage support in ExtensionPage ( #4288 )
...
closes : #4253
2026-01-02 11:59:41 +08:00
tjc66666666
6437d759a3
fix: reasoning content inject for openai api ( #4284 )
2026-01-02 01:09:28 +08:00
Soulter
c758b2d888
feat: use shell globbing to match umop config router ( #4270 )
...
* feat: use shell globbing to match umop config router
* rf
* fix: use fnmatchcase for case-sensitive matching in UmopConfigRouter
2025-12-31 23:10:12 +08:00
Soulter
510290fe0e
chore: bump version to 4.10.5
v4.10.5
2025-12-31 17:58:28 +08:00
Soulter
c61d62edb6
fix: handle null item-meta in ConfigItemRenderer ( #4269 )
...
fixes : #4268
2025-12-31 17:55:49 +08:00
Soulter
45bce6fe76
chore: bump version to 4.10.4
v4.10.4
2025-12-31 12:50:37 +08:00
Soulter
f156adddf8
feat: enhance configuration editor with template schema support and UI improvements ( #4267 )
...
- Added support for template schemas in the configuration editor, allowing users to define and manage additional parameters like temperature, top_p, and max_tokens.
- Improved UI components in ProviderModelsPanel and ObjectEditor for better user interaction, including new configuration buttons and enhanced input handling.
- Updated localization files to include new configuration options.
2025-12-31 12:19:29 +08:00
Soulter
b5a4b80c36
perf: Add list item add button ( #4259 )
...
fixes : #4254
2025-12-30 15:27:17 +08:00
Soulter
792fb69d6d
perf: allow zero chunk overlap in recursive chunker ( #4258 )
...
* Allow zero chunk overlap
* Validate recursive chunking bounds
2025-12-30 15:23:05 +08:00
Oscar Shaw
300a73ace0
fix( #4188 ): terminate the same plugin when install the plugin via file ( #4250 )
...
* fix(#4188 ): 从文件安装插件时先终止并解绑已存在的同名插件
* feat(star): 优化从文件安装插件的处理同名冲突逻辑,增加边缘检查
2025-12-30 13:43:44 +08:00
Oscar Shaw
a5b9de3695
Update stale.yml
2025-12-30 11:10:21 +08:00
fluidcat
90142bcafe
fix: ensure close aiodocker.Docker() ( #4251 )
...
* fix: ensure close aiodocker.Docker()
* fix: code formatted
2025-12-30 00:24:29 +08:00
Misaka Mikoto
79d0487c03
feat: add template_list config type to support multiple repeated core/plugin config sets ( #4208 )
...
* feat: 添加模板列表配置支持,包含验证和编辑功能
* refactor(dashboard): extract ConfigItemRenderer to eliminate code duplication
- Create ConfigItemRenderer.vue to centralize rendering logic for various config types (string, int, bool, selectors, etc.)
- Refactor TemplateListEditor.vue to use the new renderer for entry fields
- Refactor AstrBotConfig.vue and AstrBotConfigV4.vue to simplify metadata-driven rendering
- Resolve circular dependency by decoupling TemplateListEditor from the base renderer
* ruff format
* refactor: improve config validation and fix unidirection data flow
- Frontend: Fix one-way data flow in TemplateListEditor.vue by cloning entries before applying defaults and emitting updates instead of in-place modification.
- Frontend: Remove unused TemplateListEditor import in ConfigItemRenderer.vue.
- Backend: Refactor validate_config in config.py by extracting _expect_type and _validate_template_list helpers to reduce nesting and complexity.
2025-12-30 00:16:24 +08:00
akuuma
4f15102e79
perf(satori): increase websocket max message size to 10MB ( #4238 )
...
* perf(satori): increase websocket max message size to 10MB
Add max_size parameter to websocket connection to handle larger messages
and prevent connection drops when receiving large payloads from Satori platform.
* chore: ruff format
---------
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
2025-12-29 23:59:55 +08:00
Oscar Shaw
ef1feb639c
fix(utils): optimize pip install output decoding for cross-platform encoding compatibility ( #4249 )
2025-12-29 23:54:11 +08:00
Oscar Shaw
1039a4f864
chore: update stale issue workflow to target only 'bug' labeled issues and adjust inactivity handling ( #4252 )
2025-12-29 23:49:40 +08:00
Soulter
66e2f49c11
perf: support extended thinking for Anthropic, DeepSeek reasoning mode, and Gemini text part thought signatures to improve multi-turn reasoning performance. ( #4240 )
...
* perf: support extended thinking for Anthropic, DeepSeek reasoning mode, and Gemini text part thought signatures to improve multi-turn reasoning performance.
* chore: remove verbose
* perf
* refactor: remove special tools handling for deepseek-reasoner model in openai source
* fix: improve error handling and logging in InternalAgentSubStage processing
* refactor: remove unused reasoning content from Gemini source processing
* refactor: enhance modality determination logic in useProviderSources
Co-authored-by: kawayiYokami <289104862@qq.com >
2025-12-29 14:22:30 +08:00
fluidcat
c5773fe63e
feat: add JSON value for custom_extra_body ( #4246 )
...
* feat: add JSON value for custom_extra_body
* feat: add invalid format tip
2025-12-29 12:52:10 +08:00
NieiR
4e9ef48af2
fix: handle None values in _extract_usage to prevent TypeError ( #4244 )
...
* fix: handle None values in _extract_usage to prevent TypeError
Some LLM providers (especially API proxies) may return None for
prompt_tokens and completion_tokens in the usage response. This
causes a TypeError when attempting arithmetic operations.
Added null checks with fallback to 0 for both prompt_tokens and
completion_tokens before performing calculations.
* refactor: use explicit None check and reuse cached variable
- Use `is None` instead of `or 0` to avoid masking unexpected falsy values
- Reuse `cached` variable for `input_cached` to avoid redundant calculation
* ruff format
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-12-29 12:49:25 +08:00
RC-CHN
9eafd7b44a
feat: add features for chunked upload and backup file management to the backup section ( #4237 )
...
* feat: 添加分片上传备份文件功能
* feat: 为上传备份文件添加异步并发以提升速度
* feat: 使用浏览器原生下载方式以显示进度条
* feat: 添加从已上传备份列表恢复的功能
* feat: 允许重命名备份文件
* feat: 在后端校验可用备份文件后在前端部分显示备份版本号,添加手动上传提示
* style: format code
* fix: 更新备份部分测试
* fix: 修复浏览器原生下载鉴权问题,通过url传参的方式完成认证
* feat(backup): 改进备份系统的分片上传和下载鉴权
- 修复浏览器原生下载鉴权问题,支持 URL 参数传递 token
- 修复上传会话过期判断,使用 last_activity 避免活跃上传被清理
- 延迟启动后台清理任务,避免 asyncio 事件循环问题
- 统一由后端计算 chunk_size 和 total_chunks,避免前后端不一致
- 更新 generate_unique_filename 文档注释与实际行为一致
- 更新测试用例以验证 origin 字段
修复问题:
- 浏览器下载时显示"需要授权"
- 大文件上传可能因会话过期失败
- __init__ 中 asyncio.create_task 可能失败
* style: format code
2025-12-29 12:30:59 +08:00
Soulter
fc61f7ad32
fix: unique session config cannot be applied in non-default astrbot config ( #4232 )
...
* fix: unique session config cannot be applied in non-default astrbot config
fixes : #4195
* perf: sesison id
2025-12-28 15:01:43 +08:00
simplify123
f51810997a
fix: Xinference STT failed: INVALID ( #4231 )
...
* Update xinference_stt_provider.py
* chore: ruff format
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-12-28 14:42:06 +08:00
Soulter
fb4baf676f
perf: add auto voice emotion for minimax tts ( #4228 )
...
* perf: add `auto` voice emotion for minimax tts
* ruff format
2025-12-28 00:34:44 +08:00
Oscar Shaw
71ad974c3c
feat: two dashboard persistence optimizations ( #4221 )
...
* feat: persist console visibility state in local storage on PlatformPage
* feat: add persistence for sidebar opened items in local storage
2025-12-27 14:06:01 +08:00
Soulter
f0fff68947
fix: at sender users not working in dingtalk ( #4219 )
...
fixes : #4218
2025-12-27 11:26:39 +08:00
Soulter
3e3599835e
chore: bump version to 4.10.3
v4.10.3
2025-12-26 22:39:59 +08:00
Soulter
5255388e2d
refactor: move builtin stars to astrbot package ( #4209 )
...
* refactor: move builtin stars to astrbot package
fixes : #4202
* chore: ruff format
* chore: remove print
2025-12-26 22:31:22 +08:00
Yokami
fbdd60b64c
feat: add extra user content block support ( #4189 )
...
* feat: 多文本块功能
* FIX
* 传递链
* 重命名
* refactor: unify extra_user_content_parts type to ContentPart across providers and update related handling
* claude额外块支持图片模态
* 已经处理过了不用再处理
* feat: enhance image handling in extra content blocks for multiple providers
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-12-26 22:08:20 +08:00
Soulter
bd1b0a2836
perf: drop unnecessary none-value fields in tool call loop ( #4213 )
2025-12-26 21:12:34 +08:00
Soulter
19541d9d07
fix: ensure max_tokens is set and validate tool_calls type in ProviderAnthropic ( #4212 )
2025-12-26 21:01:05 +08:00
大饼鸡蛋
2a5d574394
fix: failed to initialize FishAudio TTS instance ( #4200 )
...
fixes : #4172
* fix: 修复 FishAudio 源的配置加载问题并增强请求鲁棒性
- Fix `KeyError: 'model'``: 适配新版配置结构。
- Add `timeout` support: 防止长文本生成时超时。
- Improve response handling: 使用更标准的 Header 检查方式。
* feat: 使用更安全的类型转换并优化错误信息打印
2025-12-26 20:50:45 +08:00
Soulter
f2924fbd1b
chore: update readme
2025-12-26 18:04:56 +08:00
Gao Jinzhe
703e208947
fix: handle index out of range error when selecting provider ( #4206 )
2025-12-26 18:02:43 +08:00
NoctuUFO
9a5cc977c2
fix: fix log loss on SSE reconnect using Last-Event-ID ( #4205 )
...
* feat: implement last-event-id handing in log route
* perf: better log handling
* chore: ruff format
* perf: log
* Update ConsoleDisplayer.vue
* Update package.json
* Update ConsoleDisplayer.vue
* Update common.js
* chore: ruff format
* fix: ensure last_event_id is required for log replay
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-12-26 18:01:58 +08:00
RC-CHN
aa38fe776a
feat: supports data backup ( #4105 )
...
* feat: 添加数据迁移功能
* test: 添加迁移相关测试
* feat: 备份插件及相关持久化目录
* fix: 修复版本号比较逻辑,添加相关测试
* fix: 清洗文件名,添加相关测试
* fix: 修复安全文件名测试用例断言
* refactor: 优化代码,为备份模块提取公用常量
* feat: 修改备份版本校验逻辑,允许强制小版本间导入
* fix: 修复备份创建时间读取,修复备份相关i18n
* refactor(backup): 使用 astrbot_path 统一管理备份目录路径
* fix(backup): 清理备份模块中未使用的导入
* refactor(backup): 统一备份路径与参数并移除未用附件目录
- 通过 astrbot_path 动态获取备份/知识库/数据相关路径
- 移除 exporter/importer 未使用的 attachments_dir/data_root 传参
- 更新备份路由与测试用例的构造参数
* fix(dashboard): alias mermaid to dist entry for Vite prebundle
* fix(backup): 放行start-time接口到白名单以处理备份导入后jwt token变化导致无法自动刷新webui的问题
* chore(backup): 统一配置路径以使用动态数据目录
* refactor(backup): 使用 VersionComparator 替代重复的版本比较函数
* style(backup test): format code
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-12-26 15:47:50 +08:00
Soulter
701399c00c
docs: update readme xmas
2025-12-24 21:58:04 +08:00
Soulter
eaee98d4b8
chore: bump version to 4.10.2
v4.10.2
2025-12-24 21:55:05 +08:00
Soulter
76c66000a7
chore: restrict psutil version <7.2.0 to avoid compatibility issues
...
fixes : #4176
2025-12-24 15:48:58 +08:00
Oscar Shaw
4b365143c0
feat: support for managing command aliases ( #4170 )
...
* feat(command): persist aliases on rename and apply to runtime filter
* feat(dashboard-api): support aliases in rename command endpoint
* feat(dashboard-ui): add alias editor to rename command dialog
* feat(dashboard-ui): enhance alias editor UI in rename dialog
2025-12-24 15:37:10 +08:00
Soulter
6e4e5011e2
chore: bump version to 4.10.1
v4.10.1
2025-12-23 21:35:40 +08:00
Venus Yan
d853bfde84
perf: handle unsupported message types with logging in OneBot adapter ( #4164 )
...
* Handle unsupported message types with logging
解决else 分支中对未知消息类型毫无防御,直接索引ComponentTypes[t],导致新类型markdown类信息报错并炸掉事件管道,且对应群聊单群永久不响应插件;尝试支持markdown类型进行支持但未经过测试
* chore: ruff format
* chore: ruff format
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-12-23 21:31:32 +08:00
Soulter
a0e856f80f
fix: provider source id contains slash will lead to 405 ( #4162 )
2025-12-22 20:28:20 +08:00
Oscar Shaw
8c94a0010c
fix(core): improve error handling of command parser and sync ( #4161 )
2025-12-22 19:54:26 +08:00