Soulter
fa4df28c22
feat: nervous
2026-01-18 17:07:19 +08:00
Soulter
06fa7be63e
feat: eyes
2026-01-18 10:53:04 +08:00
Soulter
e92b103fd0
feat: add metrics
2026-01-17 21:44:13 +08:00
Soulter
dcd699d733
feat: enhance live mode audio processing and text handling
2026-01-17 17:11:31 +08:00
Soulter
856d3496fa
feat: enhance audio processing and metrics display in live mode
2026-01-17 15:35:02 +08:00
Soulter
19e6253d5d
feat: metrics
2026-01-17 15:34:46 +08:00
Soulter
c0846bc789
feat: astr live
2026-01-17 14:41:05 +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
af2b3b3bfc
fix: update stream-monaco dependency to version 0.0.15
2026-01-15 19:53:58 +08:00
Soulter
6497d9a46f
fix: update stream-markdown dependency to version 0.0.13
2026-01-15 19:52:23 +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
680b900c76
feat: implement iPython tool and reasoning blocks with enhanced UI components
2026-01-15 18:15:42 +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
Soulter
561741d43d
fix: title saving logic and update project sessions on changes
2026-01-14 20:51:54 +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
Soulter
a7eca40fe7
feat: implement localStorage persistence for showReservedPlugins state
2026-01-13 02:23:31 +08:00
Soulter
49ad22ca82
fix(i18n): refine default source label in English and Chinese locales
2026-01-12 20:05:21 +08:00
Soulter
858e245108
chore: remove default provider source displayed in webui
2026-01-12 19:51:18 +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
clown145
3416e8990c
fix(webui): optimize markdown rendering and remove redundant code ( #4415 )
...
* fix(dashboard): optimize markdown rendering and remove redundant code
* style: format code and refactor ReadmeDialog for i18n/isolation
* fix: robust clipboard fallback for http context
* refactor: optimize markdown rendering and fix table styles in ReadmeDialog
2026-01-12 17:39:53 +08:00
NayukiMeko
131950b909
fix ( #4297 ): fix list config being saved as [""] instead of [] after deletion ( #4401 )
...
* fix: 修复列表配置项删除后保存为['']而非[]的问题 (#4297 )
* fix: 添加类型检查以处理非字符串列表项
* refactor: 移除 ExtensionPage 中重复的 cleanEmptyListItems
过滤逻辑已在 ListConfigItem.vue 源头处理,保存配置时无需再次过滤。
2026-01-11 18:53:15 +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
8dfe43f22f
fix(webui): add null check for plugin list in config to fix empty list issue ( #4392 )
2026-01-11 14:39:54 +08:00
letr
c1102f2f5c
fix(webui): fix unexpected expansion of all rows in tool table ( #4366 )
...
Corrected the property from `item-key` to `item-value` to align with
Vuetify 3 API. This ensures each row has a unique identifier for
the expansion state.
2026-01-11 14:27:07 +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
letr
8c7a4b87d0
fix(webui): maintain international consistency of the 'repo' button ( #4358 )
2026-01-08 13:34:13 +08:00
Oscar Shaw
479284a8dd
feat(extension): plugin marketplace search supports matching display names. ( #4332 )
2026-01-06 12:54:11 +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
9896aebfb5
feat: enhance provider source configuration with custom hints and tooltips
2026-01-05 20:20:09 +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
RC-CHN
9bcf9bf2a0
fix(dashboard): complete i18n support for shared components ( #4327 )
...
* fix(dashboard): complete i18n support for shared components
- Replace hardcoded Chinese strings with i18n translations in:
- PluginSetSelector.vue
- ProviderSelector.vue
- PersonaSelector.vue
- KnowledgeBaseSelector.vue
- T2ITemplateEditor.vue
- AstrBotConfigV4.vue
- ConfigItemRenderer.vue
- ProxySelector.vue
- ListConfigItem.vue
- Add missing translations to locale files:
- core/shared.json: personaSelector, t2iTemplateEditor
- core/common.json: autoDetect
- features/settings.json: network.proxySelector
- Change prop defaults from hardcoded Chinese to empty strings,
allowing components to use i18n fallback translations
* fix(i18n): 修正插件选择器标签的翻译格式,添加冒号
* fix(deployment): 添加持久化 machine-id PVC 和初始化容器,优化资源限制
2026-01-05 09:45:28 +08:00
clown145
442b5403df
feat(webui): supports force update plugins ( #4293 )
2026-01-03 15:30:50 +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
Soulter
c61d62edb6
fix: handle null item-meta in ConfigItemRenderer ( #4269 )
...
fixes : #4268
2025-12-31 17:55:49 +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
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
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
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
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
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
Luna-channel
61dfb0f207
chore: remove unnecessary files and revert auto_release.yml
2025-12-25 15:04:47 +08:00
Luna-channel
f4e05e1352
2.0
2025-12-25 02:25:38 +08:00
Luna-channel
8af46ab804
稳定版
2025-12-25 01:44:24 +08:00
Luna-channel
9d32c4e720
自定义规则界面修改
2025-12-25 00:37:10 +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