Soulter
d19945009f
refactor: decople the agent impl part and introduce some helper context method to call llm
2025-11-14 19:17:24 +08:00
Soulter
c77256ee0e
feat: add id field to ProviderMetaData and update provider manager to set provider ID
2025-11-14 12:35:30 +08:00
Soulter
7d823af627
refactor: update provider metadata handling and enhance ProviderMetaData structure
2025-11-13 19:53:23 +08:00
Soulter
3957861878
refactor: streamline llm processing logic ( #3607 )
...
* refactor: streamline llm processing logic
* perf: merge-nested-ifs
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* fix: ruff format
* refactor: remove unnecessary debug logs in FunctionToolExecutor and LLMRequestSubStage
---------
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
2025-11-13 10:08:57 +08:00
Dt8333
6ac43c600e
perf: improve streaming fallback strategy for streaming-unsupported platform ( #3547 )
...
* feat: 修改tool_loop_agent_runner,新增stream_to_general属性。
Co-authored-by: aider (openai/gemini-2.5-flash-preview) <aider@aider.chat >
* refactor: 优化text_chat_stream,直接yield完整信息
Co-authored-by: aider (openai/gemini-2.5-flash-preview) <aider@aider.chat >
* feat(core): ✨ 添加streaming_fallback选项,允许进行流式请求和非流式输出
添加了streaming_fallback配置,默认为false。在PlatformMetadata中新增字段用于标识是否支持真流式输出。在LLMRequest中添加判断是否启用Fallback。
#3431 #2793 #3014
* refactor(core): 将stream_to_general移出toolLoopAgentRunner
* refactor(core.platform): 修改metadata中的属性名称
* fix: update streaming provider settings descriptions and add conditions
* fix: update streaming configuration to use unsupported_streaming_strategy and adjust related logic
* fix: remove support_streaming_message flag from WecomAIBotAdapter registration
* fix: update hint for non-streaming platform handling in configuration
* fix(core.pipeline): Update astrbot/core/pipeline/process_stage/method/llm_request.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix(core.pipeline): Update astrbot/core/pipeline/process_stage/method/llm_request.py
---------
Co-authored-by: aider (openai/gemini-2.5-flash-preview) <aider@aider.chat >
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
Co-authored-by: Soulter <905617992@qq.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-12 18:01:20 +08:00
RC-CHN
27af9ebb6b
feat: changelog display improvement
...
* feat: 添加旧版本changelog的modal
* style: 调整发布说明对话框的样式,移除背景颜色
2025-11-12 14:54:03 +08:00
Soulter
b360c8446e
feat: add default model selection chip in provider model selector
2025-11-10 13:04:28 +08:00
Soulter
6d00717655
feat: add streaming support with toggle in chat interface and adjust layout for mobile
2025-11-09 21:57:30 +08:00
Soulter
bb5f06498e
perf: refine login page
2025-11-09 20:57:45 +08:00
Dt8333
aca5743ab6
feat: 为部分适配器添加缺失的 send_streaming 方法 ( #3545 )
...
为Wechatpadpro和discord添加缺失的方法。
2025-11-09 16:00:24 +08:00
Soulter
6903032f7e
fix: improve knowledge base chip display with truncation and styling ( #3582 )
...
fixes : #3546
2025-11-09 15:30:41 +08:00
nazo
1ce0ff87bd
feat: supports to add custom headers for openai providers ( #3581 )
...
* feat: OPENAI系支持自定义添加请求头
* chore: add custom headers and extra body to config for zhipu
---------
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
2025-11-09 15:12:52 +08:00
Soulter
e39d6bae0b
fix: update JSON submission link in plugin publish template
2025-11-09 15:06:40 +08:00
Raven95676
8028e9e9a6
chore: bump version to 4.5.6
v4.5.6
2025-11-07 16:20:19 +08:00
Raven95676
817f20ea01
fix: pyproject
2025-11-07 16:18:42 +08:00
Raven95676
ad5579a2f4
chore: bump version to 4.5.5
v4.5.5
2025-11-07 15:52:58 +08:00
Raven95676
81a689a79b
fix: typo
2025-11-07 15:41:14 +08:00
Raven95676
1893dd8336
fix: dockefile
2025-11-07 15:41:03 +08:00
Soulter
021ca8175b
chore: bump version to 4.5.4
v4.5.4
2025-11-07 14:28:51 +08:00
Soulter
39d6207fe1
chore: remove dynamic version
2025-11-07 14:26:56 +08:00
Soulter
23ce687229
chore: fix dockerfile
2025-11-07 14:23:49 +08:00
鸦羽
3715312fd2
fix: update project description to English ( #3516 )
2025-11-07 01:13:32 +08:00
Soulter
8196922cac
docs: simplify README
2025-11-06 15:22:43 +08:00
Soulter
8089ad91da
perf: improve extension market ui
2025-11-06 13:57:46 +08:00
Soulter
2930cc3fd8
chore: bump version to 4.5.3
v4.5.3
2025-11-05 21:21:14 +08:00
Soulter
0e841a8b25
fix: correct tools dictionary comprehension in get_tool_list method
2025-11-05 21:19:10 +08:00
Soulter
67fa1611cc
chore: bump version to 4.5.2
v4.5.2
2025-11-05 19:02:51 +08:00
Soulter
91136bb9f7
fix: llm tool register error ( #3493 )
2025-11-05 14:27:37 +08:00
Copilot
7c050d1adc
feat: add customizable sidebar module ordering ( #3307 )
...
* Initial plan
* Add sidebar customization feature with drag-and-drop support
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
* Add dist/ to .gitignore to exclude build artifacts
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
* Fix memory leak and improve code quality per code review
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
* Fix i18n key format: use dot notation instead of colon notation
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
* Fix drag-and-drop to empty list issue
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
2025-11-04 23:59:45 +08:00
Misaka Mikoto
a0690a6afc
feat: support options to delete plugins config and data ( #3280 )
...
* - 为插件管理页面中,删除插件提供一致的二次确认(原本只有卡片视图有二次确认)
- 二次确认时可选删除插件配置和持久化数据
- 添加对应的i18n支持
* ruff
* 移除未使用的
const $confirm = inject('$confirm');
2025-11-04 11:48:48 +08:00
Dt8333
c51609b261
fix: typing error ( #3267 )
...
* fix: 修复一些小错误。
修复aiocqhttp和slack中部分逻辑缺失的await。修复discord中错误的异常捕获类型。
* fix(core.platform): 修复discord适配器中错误的message_chain赋值
* fix(aiocqhttp): 更新convert_message方法的返回类型为AstrBotMessage | None
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-11-03 23:38:52 +08:00
Soulter
72148f66eb
chore: nodejs in Dockerfile
2025-11-03 13:19:51 +08:00
Copilot
a04993a2bb
Replace insecure random with secrets module in cryptographic contexts ( #3248 )
...
* Initial plan
* Security fixes: Replace insecure random with secrets module and improve SSL context
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
* Address code review feedback: fix POST method and add named constants
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
* Improve documentation for random number generation constants
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
* Update astrbot/core/utils/io.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update astrbot/core/platform/sources/wecom_ai_bot/WXBizJsonMsgCrypt.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update tests/test_security_fixes.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update astrbot/core/utils/io.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update astrbot/core/utils/io.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Fix: Handle path parameter in SSL fallback for download_image_by_url
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
Co-authored-by: LIghtJUNction <lightjunction.me@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-03 02:43:00 +08:00
LIghtJUNction
74f845b06d
Chore: Dockerfile ( #3266 )
...
* fix: Dockerfile
python main.py 改为uv run main.py
* fix(dockerfile): 减少重复安装
* fix: 修复一些细节问题
* fix(.dockerignore): 需要git文件夹以获取astrbot版本(带git commit hash后缀)
* fix(.dockerignore): uv run之前会uv sync
2025-11-03 02:41:40 +08:00
Soulter
50144ddcae
refactor: revise LLM message schema and fix the reload logic when using dataclass-based LLM Tool registration ( #3234 )
...
* refactor: llm message schema
* feat: implement MCPTool and local LLM tools with enhanced context handling
* refactor: reorganize imports and enhance docstrings for clarity
* refactor: enhance ContentPart validation and add message pair handling in ConversationManager
* chore: ruff format
* refactor: remove debug print statement from payloads in ProviderOpenAIOfficial
* Update astrbot/core/agent/tool.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update astrbot/core/agent/message.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update astrbot/core/agent/message.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update astrbot/core/agent/tool.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update astrbot/core/pipeline/process_stage/method/llm_request.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update astrbot/core/agent/message.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* refactor: enhance documentation and import mcp in tool.py; update call method return type
* fix: 修复以数据类的方式注册 tool 时的插件重载机制问题
* refactor: change role attributes to use Literal types for message segments
* fix: add support for 'decorator_handler' method in call_local_llm_tool
* fix: handle None prompt in text_chat method and ensure context is properly formatted
---------
Co-authored-by: LIghtJUNction <lightjunction.me@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-02 18:12:20 +08:00
Copilot
94bf3b8195
Fix incorrect type annotations and errors ( #3250 )
...
* Initial plan
* Fix type annotation errors in cmd_conf, cmd_init, and version_comparator
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
* Changes before error encountered
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
* Fix more type annotation errors: change `= None` to `| None = None`
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
* Fix final batch of type annotation errors
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
Co-authored-by: LIghtJUNction <lightjunction.me@gmail.com >
2025-11-02 17:02:56 +08:00
Copilot
e190bbeeed
Optimize string concatenation in loops: replace += with list.join() ( #3246 )
...
* Initial plan
* Fix string concatenation performance issues in loops
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
* Address code review feedback: Fix plugin list logic and add comment
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
* Improve comment clarity for at_parts accumulation
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
2025-11-02 13:00:59 +08:00
Copilot
92abc43c9d
Fix mutable default arguments in constructors and methods ( #3247 )
...
* Initial plan
* Fix mutable default arguments in constructors and methods
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
2025-11-02 12:57:37 +08:00
Copilot
c8e34ff26f
[WIP] Translate mixed English comments to Chinese ( #3256 )
...
* Initial plan
* Changes before error encountered
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: LIghtJUNction <106986785+LIghtJUNction@users.noreply.github.com >
2025-11-02 12:52:46 +08:00
Soulter
630df3e76e
refactor: reorganize ComponentType definitions and remove unused classes
2025-11-01 23:18:40 +08:00
Raven95676
bdbf382201
chore: remove astrbot.lock
2025-11-01 17:43:54 +08:00
Raven95676
00eefc82db
chore(.gitignore): update ignore rule
2025-11-01 17:41:02 +08:00
LIghtJUNction
dc97080837
Update .gitignore
2025-11-01 17:37:57 +08:00
LIghtJUNction
0b7fc29ac4
style: add ruff lint module of isort and pyupgrade, and some ruff check fix ( #3214 )
...
Co-authored-by: Dt8333 <25431943+Dt8333@users.noreply.github.com >
Co-authored-by: Soulter <905617992@qq.com >
2025-11-01 13:26:19 +08:00
Soulter
ff998fdd8d
chore: bump version to 4.5.1
v4.5.1
2025-10-31 23:55:40 +08:00
LIghtJUNction
d7461ed54c
fix(helper.py): 修复了迁移逻辑,现在不再误判 ( #3215 )
...
* fix(helper.py): 修复了迁移逻辑,现在不再误判
* fix(helper.py): 没有data_v3 dir
2025-10-31 23:37:37 +08:00
Soulter
3ce577acf9
docs: enhance bug report template with clarity on details
...
Updated bug report template to emphasize the need for detailed logs and information.
2025-10-31 23:18:15 +08:00
Chris
50b1dccff3
feat: support xAI Grok Live Search config ( #3203 )
...
* Add xai_native_search configuration option
* Implement xAI compatibility and search injection
Add support for xAI integration with search parameters injection.
* Refactor xAI handling in openai_source.py
Removed the _is_xai method and updated xAI search injection logic.
* Fix formatting of condition in default.py
* Fix formatting in openai_source.py
2025-10-31 21:48:45 +08:00
Dt8333
c33e7e30d4
chore(requirements): Sync dependencies from pyproject to requirements.txt ( #3208 )
...
* chore(requirements): 将pyproject中的dependency同步到requirements.txt
* chore(requirements): 补全遗漏dependency
2025-10-31 15:27:16 +08:00
RC-CHN
bc7f01ba36
feat: add Xinference STT provider ( #3197 )
...
* feat: add Xinference STT provider
* chore:update comment in xinference_stt_provider
* style: ruff format xinference_stt_provider
* chore: remove unused import of base64 in xinference_stt_provider
* fix: enhance model initialization check in get_text method
---------
Co-authored-by: Soulter <905617992@qq.com >
2025-10-31 01:49:35 +08:00