Soulter
73fca5d1a2
fix: clarify logic for skipping initial system messages in conversation
2026-01-17 18:02:31 +08:00
Soulter
844773a735
feat: skip saving head system messages in history ( #4538 )
...
* feat: skip saving the first system message in history
* fix: rename variable for clarity in system message handling
* fix: update logic to skip all system messages until the first non-system message
2026-01-17 17:57:11 +08:00
Soulter
f6a189f118
feat: add event hooks for tool usage and response handling ( #4516 )
...
* feat: add event hooks for tool usage and response handling
* fix: update decorator for LLM tool response handling
2026-01-16 16:51:35 +08:00
Soulter
82e2e0d02f
feat: add web search references feature with sidebar and extraction logic ( #4515 )
...
* feat: add web search references feature with sidebar and extraction logic
* fix: reorder import statements for consistency
* chore: remove log
2026-01-16 16:49:48 +08:00
Soulter
8771317a1e
perf: chatui default persona ( #4502 )
2026-01-16 16:46:39 +08:00
Soulter
ebae70c514
chore: bump version to 4.12.1
2026-01-15 22:20:52 +08:00
Soulter
dbdb4f5185
fix: unique session not working ( #4490 )
...
* fix: unique session not working
* fix: correct session initialization and update unified_msg_origin setter
* fix: update session ID assignment in WakingCheckStage
2026-01-15 22:16:21 +08:00
Soulter
acbe83a2e2
chore: bump version to 4.12.0
2026-01-15 19:47:25 +08:00
Gao Jinzhe
e0f3fb3c3d
Merge pull request #4194 from Luna-channel/feat/session-management
...
feat: add batch operation functionality for session management
2026-01-15 19:38:24 +08:00
Soulter
f797f132cf
perf: refine tool call related prompts
2026-01-15 17:22:50 +08:00
Soulter
5eea508296
feat: astrbot agent sandbox env(improved code interpreter) ( #4449 )
...
* stage
* fix: update tool call logging to include tool call IDs and enhance sandbox ship creation parameters
* feat: file upload
* fix
* update
* fix: remove 'boxlite' option from booter and handle error in PythonTool execution
* feat: implement singleton pattern for ShipyardSandboxClient and add FileUploadTool for file uploads
* feat: sandbox
* fix
* beta
* uv lock
* remove
* chore: makes world better
* feat: implement localStorage persistence for showReservedPlugins state
* docs: refine EULA
* fix
* feat: add availability check for sandbox in Shipyard and base booters
* feat: add shipyard session configuration options and update related tools
* feat: add file download functionality and update shipyard SDK version
* fix: sending OpenAI-style image_url causes Anthropic 400 invalid tag error (#4444 )
* feat: chatui project (#4477 )
* feat: chatui-project
* fix: remove console log from getProjects function
* fix: title saving logic and update project sessions on changes
* docs: standardize Context class documentation formatting (#4436 )
* docs: standardize Context class documentation formatting
- Unified all method docstrings to standard format
- Fixed mixed language and formatting issues
- Added complete parameter and return descriptions
- Enhanced developer experience for plugin creators
- Fixes #4429
* docs: fix Context class documentation issues per review
- Restored Sphinx directives for versionadded notes
- Fixed MessageSesion typo to MessageSession throughout file
- Added clarification for kwargs propagation in tool_loop_agent
- Unified deprecation marker format
- Fixes #4429
* Convert developer API comments to English
* chore: revise comments
---------
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
* fix: handle empty output case in PythonTool execution
* fix: update description for command parameter in ExecuteShellTool
* refactor: remove unused file tools and update PythonTool output handling
* project list
* fix: ensure message stream order (#4487 )
* feat: enhance iPython tool rendering with Shiki syntax highlighting
* bugfixes
* feat: add sandbox mode prompt for enhanced user guidance in executing commands
* chore: remove skills prompt
---------
Co-authored-by: 時壹 <137363396+KBVsent@users.noreply.github.com >
Co-authored-by: Li-shi-ling <114913764+Li-shi-ling@users.noreply.github.com >
2026-01-15 16:17:56 +08:00
時壹
9782d1bff8
fix:exclude disabled commands from platform command registration ( #4485 )
2026-01-15 14:04:15 +08:00
Soulter
0e3d224c12
fix: ensure message stream order ( #4487 )
2026-01-15 13:11:27 +08:00
Soulter
8aeb2229ce
fix: chatui title ( #4486 )
2026-01-15 12:47:55 +08:00
Li-shi-ling
179f3e6426
docs: standardize Context class documentation formatting ( #4436 )
...
* docs: standardize Context class documentation formatting
- Unified all method docstrings to standard format
- Fixed mixed language and formatting issues
- Added complete parameter and return descriptions
- Enhanced developer experience for plugin creators
- Fixes #4429
* docs: fix Context class documentation issues per review
- Restored Sphinx directives for versionadded notes
- Fixed MessageSesion typo to MessageSession throughout file
- Added clarification for kwargs propagation in tool_loop_agent
- Unified deprecation marker format
- Fixes #4429
* Convert developer API comments to English
* chore: revise comments
---------
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
2026-01-14 23:46:27 +08:00
Soulter
63e8d0634f
feat: chatui project ( #4477 )
...
* feat: chatui-project
* fix: remove console log from getProjects function
2026-01-14 19:15:48 +08:00
時壹
350667b60f
fix: sending OpenAI-style image_url causes Anthropic 400 invalid tag error ( #4444 )
2026-01-14 10:50:56 +08:00
Soulter
ef28dc5001
chore: makes world better
2026-01-13 02:20:24 +08:00
Soulter
d29ac4023a
fix: typo
2026-01-12 21:24:11 +08:00
Soulter
c2af2c6d5e
chore: bump version to 4.11.4
2026-01-12 20:42:49 +08:00
Soulter
981421ded6
docs: update readme
2026-01-12 20:31:17 +08:00
Soulter
858e245108
chore: remove default provider source displayed in webui
2026-01-12 19:51:18 +08:00
Soulter
6ac37ecd60
chore: bump version to 4.11.3
2026-01-12 19:35:41 +08:00
Soulter
2bbe010747
Sanitize invalid platform IDs on load ( #4432 )
2026-01-12 19:04:44 +08:00
Soulter
52bba9026a
feat(safety): LLM healthy mode ( #4431 )
...
* feat(safety): implement LLM safety mode
* chore: ruff format
2026-01-12 18:33:34 +08:00
時壹
eedb62a5a3
fix: detect image MIME type from binary data for Anthropic API ( #4426 )
2026-01-12 17:35:23 +08:00
Oscar Shaw
e8bd821e72
feat(log): append version number tag to WARN and ERROR level logs ( #4388 )
...
* feat(log): 在 WARN 和 ERROR 级别日志中追加版本号标签
* refactor(core): 简化日志版本标签过滤逻辑以包含 WARNING 及以上级别
2026-01-12 17:30:38 +08:00
Futureppo
2e172804e3
feat(context): sannitize llm context by modalities ( #4367 )
...
* feat(context): 添加按模型能力清理历史上下文
* fix(config): 更新历史上下文清理提示信息
* chore: ruff format
* fix: simplify modality checks and sanitize context handling
* fix(config): disable context sanitization by modalities
* fix(agent): skip messages with empty roles in InternalAgentSubStage
* fix(agent): refine tool call handling in InternalAgentSubStage
---------
Co-authored-by: Soulter <905617992@qq.com >
2026-01-11 15:39:23 +08:00
Gao Jinzhe
2f3a3f354f
fix: add image placeholder for non-vision models to fix no response in private chat ( #4411 )
...
* fix: 修复私聊中单独发送图片无响应的问题,为非视觉模型添加图片占位符
* ruffcheck
* 修复占位符被重复添加的问题
* 简化逻辑
2026-01-11 15:11:35 +08:00
letr
86e9b41dde
fix(core): correct duplicate word in agent logger warning ( #4390 )
...
- Fix duplicate '没有' in logger warning message
- Improve punctuation and readability of tool response comments
2026-01-11 15:00:35 +08:00
stevessr
6c2f738940
fix: when session_id including ":" ( #4380 )
2026-01-11 14:33:44 +08:00
Li-shi-ling
9a91f2fb11
fix: ensure atomic creation of knowledge base with proper cleanup on failure ( #4406 )
...
* fix: ensure atomic creation of knowledge base with proper cleanup on failure
- Added pre-validation for embedding_provider_id parameter
- Added check for existing knowledge base with same name
- Implemented proper rollback mechanism when KBHelper initialization fails
- Uses same session for cleanup to ensure data consistency
- Fixes #4403
* fix: ensure atomic KB creation with session.flush() to remove race condition risks
* fix: ensure change the annotation back
2026-01-11 14:24:26 +08:00
Soulter
81309bc908
perf: enhance reply functionality to support selected text quoting ( #4387 )
...
* feat(chat): enhance reply functionality to support selected text quoting
* perf: improve ui
* feat(chat): add label for tools used in tool calls and update translations
* feat(chat): simplify reply handling by removing text truncation logic
2026-01-09 18:04:43 +08:00
Soulter
34921e91f0
chore: bump version to 4.11.2
2026-01-08 15:32:37 +08:00
Soulter
6c15592cbb
feat(metrics): add metrics tracking for plugin installation events
2026-01-08 15:29:32 +08:00
Gao Jinzhe
8ff12e3972
fix: on_waiting_llm_request hook did not check message validity ( #4349 )
...
* fix:修复waitingllmrequest没有检查消息有效性的问题
* 进行ruff修复
2026-01-07 12:51:00 +08:00
Gao Jinzhe
eefa3f2f00
fix: conversation was still saved to the context after stop_event ( #4345 )
2026-01-07 12:48:13 +08:00
clown145
9322218880
feat: supports to display plugin CHANGELOG.md ( #4337 )
...
* feat: optimize plugin update changelog feature, refactor to reuse ReadmeDialog and support independent view entry
* fix: distinguish error state from empty state in ReadmeDialog
2026-01-06 12:53:14 +08:00
Soulter
399062f14d
chore: remove wechatpadpro
2026-01-06 11:14:54 +08:00
Soulter
de82df3c33
chore: bump version to 4.11.1
2026-01-05 20:22:18 +08:00
Soulter
df7653eb99
fix: 部分情况下选择提供商出现”暂无可用提供商的问题“,即使实际上有
2026-01-05 20:01:54 +08:00
Soulter
8e7b44185d
chore: bump version to 4.11.0
2026-01-05 18:05:12 +08:00
RC-CHN
ef1c66a92e
feat(webui): enable Range request support for backup downloads ( #4329 )
2026-01-05 17:27:03 +08:00
Soulter
241f1c26d3
feat: context compress ( #4322 )
...
* feat: context compressor
Co-authored-by: kawayiYokami <289104862@qq.com >
* Add comprehensive tests for ContextManager and ContextTruncator
- Implemented a full test suite for ContextManager covering initialization, message processing, token-based compression, and error handling.
- Added tests for ContextTruncator focusing on message fixing, truncation by turns, dropping oldest turns, and halving.
- Ensured that both test suites validate edge cases and maintain expected behavior with various message types, including system and tool messages.
* feat: add MockProvider for LLM compression tests
* chore: remove lock
* ruff fix
* fix
* perf
* feat: enhance context compression with token tracking and logging
* feat: update logging for context compression trigger
* feat: implement context compression logic with dynamic threshold and token tracking
* fix: reorder import statements for consistency
* feat: add token_usage tracking to conversations and update related processing logic
---------
Co-authored-by: kawayiYokami <289104862@qq.com >
2026-01-05 17:26:10 +08:00
Soulter
3615b7dde2
fix: token usage is always 0 in anthropic source ( #4328 )
2026-01-05 17:06:12 +08:00
Gao Jinzhe
7f5cc7cf1a
feat: add on_waiting_llm_request event hook ( #4319 )
...
* 加入on_waiting_llm_request钩子
* ruff check
2026-01-04 16:11:12 +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
雪語
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
2026-01-02 12:14:59 +08:00