LIghtJUNction
5721f7bf24
fix: remove broken tests referencing non-existent functions
...
- Remove test_computer_config.py (discover_bay_credentials not found)
- Remove test_main.py (check_dashboard_files not found)
- Remove test_skill_metadata_enrichment.py (_parse_frontmatter_description not found)
- Fix test_uninstall.py assertions to match actual output
- Fix test_bk.py digest test async mock
- Fix test_booter_decoupling.py shipyard test (incomplete config returns 0 tools)
- Fix computer_client.py _list_local_skill_dirs type error (Path vs anyio.Path)
- Remove TestApplySandboxTools class (function _apply_sandbox_tools not found)
2026-03-22 22:30:53 +08:00
LIghtJUNction
2f45280222
fix(dashboard): symlink dist for dev-mode resource resolution
...
importlib.resources.files('astrbot')/dashboard/dist needs to exist
in the package dir for bundled dashboard detection to work in dev.
2026-03-22 22:29:26 +08:00
LIghtJUNction
798182fd8a
Merge branch 'dev' of https://github.com/AstrBotDevs/AstrBot into dev
2026-03-22 20:17:28 +08:00
LIghtJUNction
5ba7ecec9e
Merge branch 'master' of https://github.com/AstrBotDevs/AstrBot into dev
2026-03-22 20:16:52 +08:00
二枣子
937872cda7
feat(aiocqhttp): support file upload via Napcat stream transfer ( #6433 )
...
* feat(aiocqhttp): support file upload via Napcat stream transfer aiocqhttp
feat(aiocqhttp): support file upload via Napcat stream transfer
aiocqhttp上传资源文件时只传输本地路径,此方案对于没有共享磁盘方案不友好,Napcat >= v4.8.115 后,已支持新的 Stream API 方案。此方案在路径传输失败时自动尝试流式传输。
* perf(aiocqhttp): optimize file upload retry and streaming memory usage
1.内存使用优化,文件边读边传。
2.重试逻辑包装为独立方法便于阅读维护。
3.异常处理优化。
4.硬编码提取为模块级常量,提升可读性和配置性。
---------
Co-authored-by: LIghtJUNction <lightjunction.me@gmail.com >
2026-03-22 20:11:58 +08:00
LIghtJUNction
3545c8d393
chore: 新增依赖,移除类型忽略注释
2026-03-22 19:58:46 +08:00
LIghtJUNction
2f82f04ee2
chore: restore tui screen from history
2026-03-22 19:53:56 +08:00
LIghtJUNction
88821bd1bb
Update test_plugin_manager.py
2026-03-22 19:50:36 +08:00
LIghtJUNction
b1d048ca5c
chore: resolve merge conflicts (prefer HEAD)
2026-03-22 19:50:26 +08:00
LIghtJUNction
eab231fd94
chore: gitignore .env warker.js
2026-03-22 19:12:12 +08:00
LIghtJUNction
dd5105a504
fix(core/platform): platform event and adapters updates
2026-03-22 19:08:59 +08:00
LIghtJUNction
8cff9be334
fix(core): event bus and pipeline stage updates
2026-03-22 19:08:56 +08:00
LIghtJUNction
3a9bbcfdee
fix(core/cron): update cron manager logic
2026-03-22 19:08:54 +08:00
LIghtJUNction
95ba23c3ab
fix(core): minor changes to agent tool executor and lifecycle
2026-03-22 19:08:51 +08:00
LIghtJUNction
b70eb4e64f
fix(core): narrow typed overrides for quoted message parser
2026-03-22 19:08:48 +08:00
Soulter
eab3298d42
docs: update wechat app version requirements for WeChat adapter and add instructions for profile photo/remark modifications
2026-03-22 18:33:32 +08:00
Soulter
81c7b0f715
chore: bump version to 4.22.0
v4.22.0
2026-03-22 17:34:09 +08:00
Frank
1879e5961d
fix: keep all CallToolResult content items ( #6149 )
...
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
2026-03-22 17:21:22 +08:00
Soulter
b2d71e2b77
feat: supports image compressing ( #6794 )
...
* feat: supports image compressing (#6463 )
Co-authored-by: Soulter <905617992@qq.com >
* feat: 增加图像压缩最大尺寸至1280
* Update astrbot/core/astr_main_agent.py
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* feat: 增强临时文件管理,添加图像压缩路径跟踪与清理功能
* feat: 更新图片压缩功能提示,移除对 chat_completion 提供商的限制说明
---------
Co-authored-by: Chen <42998804+a61995987@users.noreply.github.com >
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-03-22 17:12:28 +08:00
Chen
02a910f038
feat: supports image compressing ( #6463 )
...
* feat:新增本地图片预压缩机制 避免原图体积过大造成的413错误
* 修正“图片解析失败”消息追加的位置错误
修正"temp_dir"的路径错误
* 修正temp_dir的相对路径错误
* 移动模块导入位置
* fix:重构图片压缩方法 使用异步方式避免阻塞
* ```
feat(core): 优化图片压缩功能并替换UUID为时间戳
- 将图片压缩的同步阻塞操作移至线程池执行,提升性能
- 替换uuid依赖为time模块,使用时间戳生成文件名
- 添加异步图片压缩内部函数_do_compress_sync
- 修复图片压缩时的异常处理日志级别
- 在消息附件和回复链中集成图片压缩功能
```
* fix:修改temp_dir指向 现在使用框架内置的get_astrbot_temp_path来获取临时目
fix:分离image_path的计算行为 提高可读性
fix:使用uuid来生成压缩后的图片 而非时间戳
* fix:修改错误的注释
* fix:分离图片压缩函数到媒体文件处理工具中
* fix:修改原有的列表推导式以提高可读性
feat:增加预留功能的说明注释
* fix:在图片压缩工具中使用pathlib.path获取路径并拼接压缩后的文件名称
* feat: 新增本地图片预压缩机制,增强图片解析容错能力
---------
Co-authored-by: Soulter <905617992@qq.com >
2026-03-22 16:36:33 +08:00
Soulter
63dd28d778
fix: handle potential None values for token usage metrics in OpenAI provider ( #6788 )
...
Such as: unsupported operand type(s) for -: 'int' and 'NoneType'
fixes : #6772
2026-03-22 15:20:22 +08:00
M1LKT
a2dae0fc5e
Feat(webui): support pinning and dragging for installed plugins ( #6649 ) ( #6776 )
...
* refactor(persona): replace local folder components with shared folder components
* feat(webui): implement draggable reordering with animation for pinned plugins
* refactor(webui): extract PinnedPluginItem into a standalone component
2026-03-22 14:55:02 +08:00
Ruochen Pan
554c9cecfa
feat: fix preserve escaped newlines in frontmatter & update tests & ci workflows ( #6783 )
2026-03-22 14:23:21 +08:00
Waterwzy
ef43217117
feat: skip search when the entire knowledge base is empty ( #6750 )
...
* feat:增加知识库全为空时的跳过检索
* apply bot suggestions
* style:reformat code
2026-03-22 13:36:18 +08:00
Lockinwize Lolite
3e68b7a3f3
fix(platform.tg_adapter): import Forbidden instead of deprecated Unauthorized ( #6765 ) ( #6769 )
2026-03-22 13:35:09 +08:00
Soulter
e204790797
feat: supports weixin personal account ( #6777 )
...
* feat: supports weixin personal account
* feat(weixin): update documentation for personal WeChat integration and add QR code image
* feat(weixin): refactor send method to streamline message handling
* fix(weixin): correct AES key encoding in media payload construction
* feat(weixin): update weixin_oc_base_url description for clarity in config metadata
* feat(weixin): enhance WeChat integration with QR code support and configuration updates
* feat(weixin): implement WeixinOCClient for improved media handling and API requests
* feat(platform): update platform status refresh interval to 5 seconds
2026-03-22 13:25:12 +08:00
lightjunction
753e9a2bba
chore:
2026-03-22 02:00:53 +08:00
Soulter
0743cb51bc
chore: bump version to 4.21.0
v4.21.0
2026-03-22 02:00:28 +08:00
Soulter
5419efbc9c
feat(extension): add category filtering for market plugins and enhance UI components ( #6762 )
2026-03-22 01:54:21 +08:00
Soulter
52beeef83c
feat(skill_manager): normalize and rename legacy skill markdown files to SKILL.md ( #6757 )
...
* feat(skill_manager): normalize and rename legacy skill markdown files to `SKILL.md`
* fix(vec_db): format debug log message for empty batch insert
2026-03-22 00:43:30 +08:00
LIghtJUNction
f9243a73d5
feat: reduce default max_agent_step to 3 and refactor shell execution
...
- Lower default max_agent_step from 30 to 3 across all agent runners
(coze, dashscope, deerflow, dify) for faster responses
- Refactor ExecuteShellTool to use plumbum with session-based isolation,
maintaining shell state per session (cwd, env vars, etc.)
- Remove unused API-specific environment variables from cmd_run
- Fix data access bug in shipyard_neo._maybe_model_dump
- Add plumbum>=1.10.0 dependency
2026-03-21 23:47:43 +08:00
Stable Genius
589776ab3f
fix: skip empty knowledge-base embedding batches ( #6106 )
...
Co-authored-by: stablegenius49 <185121704+stablegenius49@users.noreply.github.com >
2026-03-21 20:56:13 +08:00
Stable Genius
5b71d01efb
fix: convert Feishu opus files for Whisper API STT ( #6078 )
...
* fix: convert lark opus files for whisper api
* chore: ruff format
---------
Co-authored-by: Stable Genius <259448942+stablegenius49@users.noreply.github.com >
Co-authored-by: Soulter <905617992@qq.com >
2026-03-21 20:44:36 +08:00
LIghtJUNction
43e107068a
chore: cloudflare
2026-03-21 17:35:30 +08:00
LIghtJUNction
09157f8b88
Fix: combine conditions for bot mention check in Discord adapter
2026-03-21 17:12:29 +08:00
若月千鸮
173583781e
fix(lark): Defer card creation and renew on tool call break ( #6743 )
...
* fix(lark): defer streaming card creation and renew card on tool call break
- Defer CardKit streaming card creation until the first text token
arrives, preventing an empty card from rendering before content.
- Handle `type="break"` signal in send_streaming: close the current
card and lazily create a new one for post-tool-call text, so the
new card appears below the tool status message in correct order.
- Only emit "break" signal when show_tool_use is enabled; when tool
output is hidden, the AI response continues on the same card.
* style: format ruff
* fix: cr bug
* fix: cr
2026-03-21 17:08:25 +08:00
LIghtJUNction
256c8cceeb
Fix: handle None values for ctx.author and ctx.interaction in Discord adapter
2026-03-21 16:15:33 +08:00
LIghtJUNction
7391f8e5ee
Fix: only enable CORS credentials when allow_origin is not wildcard
2026-03-21 16:00:17 +08:00
LIghtJUNction
b563518711
Fix: replace fullwidth comma with halfwidth comma in discord_platform_adapter.py
2026-03-21 15:21:35 +08:00
LIghtJUNction
255a4c0d5b
Fix: support configuring allowed CORS origins via CORS_ALLOW_ORIGIN env
...
var for cross-origin credential requests
2026-03-21 15:20:43 +08:00
LIghtJUNction
859ca98f1e
Fix: support configuring allowed CORS origins via CORS_ALLOW_ORIGIN env var for cross-origin credential requests
2026-03-21 15:14:08 +08:00
LIghtJUNction
a58319f594
Fix: Discord adapter not adding At component when bot is mentioned, causing group messages to not wake the bot
2026-03-21 14:26:22 +08:00
LIghtJUNction
26c5e67efe
Refactor: change relative imports to absolute imports in tool_loop_agent_runner.py
2026-03-21 14:13:43 +08:00
LIghtJUNction
4412f789e1
Fix: downgrade SSL APPLICATION_DATA_AFTER_CLOSE_NOTIFY errors to debug level
2026-03-21 14:13:07 +08:00
LIghtJUNction
cefeaf8d9f
Fix: add task tracking to BaseAgentRunner and ToolLoopAgentRunner, replace asdict with custom serialization in Response
2026-03-21 13:55:05 +08:00
LIghtJUNction
97efa3ab38
Fix: _BUNDLED_DIST undefined, use self.bundled_dist instead
2026-03-21 13:54:39 +08:00
LIghtJUNction
61e525afd4
Merge branch 'master' into dev
2026-03-21 12:25:04 +08:00
Stable Genius
25c136ef95
fix: fall back on Windows skill file encodings ( #6058 )
...
Co-authored-by: stablegenius49 <185121704+stablegenius49@users.noreply.github.com >
2026-03-21 11:00:40 +08:00
Stable Genius
5e69b62e4c
fix(webchat): render standalone HTML replies as code ( #6074 )
...
Co-authored-by: Stable Genius <259448942+stablegenius49@users.noreply.github.com >
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
2026-03-21 10:52:46 +08:00
Stable Genius
968868f16b
fix: ensure Gemini array schemas always include items ( #6051 )
...
Co-authored-by: Stable Genius <259448942+stablegenius49@users.noreply.github.com >
2026-03-21 10:44:48 +08:00