Soulter
a404436f2c
feat: astrbot http api ( #5280 )
...
* feat: astrbot http api
* Potential fix for code scanning alert no. 34: Use of a broken or weak cryptographic hashing algorithm on sensitive data
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* fix: improve error handling for missing attachment path in file upload
* feat: implement paginated retrieval of platform sessions for creators
* feat: refactor attachment directory handling in ChatRoute
* feat: update API endpoint paths for file and message handling
* feat: add documentation link to API key management section in settings
* feat: update API key scopes and related configurations in API routes and tests
* feat: enhance API key expiration options and add warning for permanent keys
* feat: add UTC normalization and serialization for API key timestamps
* feat: implement chat session management and validation for usernames
* feat: ignore session_id type chunks in message processing
---------
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-02-21 17:20:26 +08:00
香草味的纳西妲喵
bcb12a0717
fix: update contributor avatar image URL to include max size and columns ( #5268 )
2026-02-21 00:38:11 +08:00
エイカク
5d0fc8ac7a
refactor(dashboard): replace legacy isElectron bridge fields with isDesktop ( #5269 )
...
* refactor dashboard desktop bridge fields from isElectron to isDesktop
* refactor dashboard runtime detection into shared helper
2026-02-21 01:35:23 +09:00
Soulter
a4d37e2c20
chore: ruff format
2026-02-20 23:06:37 +08:00
Soulter
c599fb75ed
feat: add OpenRouter provider support and icon
2026-02-20 22:57:20 +08:00
Soulter
e7e0f84edf
chore: bump vertion to 4.17.6
v4.17.6
2026-02-20 18:40:45 +08:00
Soulter
e19a282c59
fix: streamline error response for empty new username and password in account edit
2026-02-20 18:35:26 +08:00
Raven95676
fbc8667968
fix: simplify error messages for account edit validation
2026-02-20 16:27:28 +08:00
Soulter
cda49c3a9a
fix: remove additionalProperties from tool schema properties ( #5253 )
...
fixes : #5217
2026-02-20 16:13:20 +08:00
Soulter
4be1027444
fix: update tool status display and add localization for inactive tools
2026-02-20 16:01:55 +08:00
Soulter
46152d3faf
fix: enhance PersonaForm layout and improve tool selection display
2026-02-20 15:54:06 +08:00
Soulter
ed4cacfffb
fix: all mcp tools exposed to main agent ( #5252 )
2026-02-20 15:40:13 +08:00
Soulter
52d1979937
chore: remove outdated heihe.md documentation file
2026-02-20 14:47:06 +08:00
NayukiMeko
b30cb12133
fix(provider): 修复 dict 格式 content 导致的 JSON 残留问题 ( #5250 )
...
* fix(provider): 修复 dict 格式 content 导致的 JSON 残留问题
修复 _normalize_content 函数未处理 dict 类型 content 的问题。
当 LLM 返回 {"type": "text", "text": "..."} 格式的 content 时,
现在会正确提取 text 字段而非直接转为字符串。
同时改进 fallback 行为,对 None 值返回空字符串。
Fixes #5244
* Update warning message for unexpected dict format
---------
Co-authored-by: Soulter <37870767+Soulter@users.noreply.github.com >
2026-02-20 13:48:41 +08:00
whatevertogo
31d4e304fc
feat: add password confirmation when changing password ( #5247 )
...
* feat: add password confirmation when changing password
Fixes #5177
Adds a password confirmation field to prevent accidental password typos.
Changes:
- Backend: validate confirm_password matches new_password
- Frontend: add confirmation input with validation
- i18n: add labels and error messages for password mismatch
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
* fix(auth): improve error message for password confirmation mismatch
* fix(auth): update password hashing logic and improve confirmation validation
---------
Co-authored-by: whatevertogo <whatevertogo@users.noreply.github.com >
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-20 13:41:13 +08:00
Soulter
9a7a594cb5
feat: add support for plugin astrbot-version and platform requirement checks ( #5235 )
...
* feat: add support for plugin astrbot-version and platform requirement checks
* fix: remove unsupported platform and version constraints from metadata.yaml
* fix: remove restriction on 'v' in astrbot_version specification format
* ruff format
2026-02-20 13:35:45 +08:00
SnowNightt
e469178a6b
Feat/config leave confirm ( #5249 )
...
* feat: 配置文件增加未保存提示弹窗
* fix: 移除unsavedChangesDialog插件使用组件方式实现弹窗
2026-02-20 12:55:21 +08:00
Soulter
0a517980b7
fix: update feature request template for clarity and consistency in English and Chinese
2026-02-20 12:07:42 +08:00
エイカク
9c691b2266
chore: remove Electron desktop pipeline and switch to tauri repo ( #5226 )
...
* ci: remove Electron desktop build from release pipeline
* chore: remove electron desktop and switch to tauri release trigger
* ci: remove desktop workflow dispatch trigger
* refactor: migrate data paths to astrbot_path helpers
* fix: point desktop update prompt to AstrBot-desktop releases
2026-02-19 23:04:18 +09:00
雪語
3597726aad
fix(core): terminate active events on reset/new/del to prevent stale responses ( #5225 )
...
* fix(core): terminate active events on reset/new/del to prevent stale responses
Closes #5222
* style: fix import sorting in scheduler.py
2026-02-19 19:26:47 +08:00
Soulter
a4a37c268d
docs: update related repo links
2026-02-19 18:11:07 +08:00
NanoRocky
651a0645c5
fix: 修复仅发送 JSON 消息段时的空消息回复报错 ( #5208 )
...
* Fix Register_Stage
· 补全 JSON 消息判断,修复发送 JSON 消息时遇到 “消息为空,跳过发送阶段” 的问题。
· 顺带补全其它消息类型判断。
Co-authored-by: Pizero <zhaory200707@outlook.com >
* Fix formatting and comments in stage.py
* Format stage.py
---------
Co-authored-by: Pizero <zhaory200707@outlook.com >
2026-02-19 17:47:08 +08:00
Dream Tokenizer
bf3fa3e918
fix: 改进微信公众号被动回复处理机制,引入缓冲与分片回复,并优化超时行为 ( #5224 )
...
* 修复wechat official 被动回复功能
* ruff format
---------
Co-authored-by: Soulter <905617992@qq.com >
2026-02-19 17:42:38 +08:00
Soulter
3b2ce9f500
feat: add admin permission checks for Python and Shell execution ( #5214 )
2026-02-19 01:48:48 +08:00
Soulter
20d6ff4620
chore: bump version to 4.17.5
v4.17.5
2026-02-18 22:04:43 +08:00
Chiu Chun-Hsien
a2b61e2ab8
refactor: extract Voice_messages_forbidden fallback into shared helper with typed BadRequest exception ( #5204 )
...
- Add _send_voice_with_fallback helper to deduplicate voice forbidden handling
- Catch telegram.error.BadRequest instead of bare Exception with string matching
- Add text field to Record component to preserve TTS source text
- Store original text in Record during TTS conversion for use as document caption
- Skip _send_chat_action when chat_id is empty to avoid unnecessary warnings
2026-02-18 21:45:19 +08:00
sanyekana
c6289d8f75
feat(core): add plugin error hook for custom error routing ( #5192 )
...
* feat(core): add plugin error hook for custom error routing
* fix(core): align plugin error suppression with event stop state
2026-02-18 21:38:27 +08:00
Soulter
567390e27c
feat: add LINE support to multiple language README files
2026-02-18 21:35:27 +08:00
Soulter
0c0f8bf484
chore: ruff format
2026-02-18 18:22:06 +08:00
Soulter
ae0a9cb591
docs: update readme
2026-02-18 18:20:08 +08:00
Soulter
3f4d7255a0
feat: supports aihubmix
2026-02-18 18:11:13 +08:00
Soulter
b8d2499475
feat: add MarketPluginCard component and integrate random plugin feature in ExtensionPage ( #5190 )
...
* feat: add MarketPluginCard component and integrate random plugin feature in ExtensionPage
* feat: update random plugin selection logic to use pluginMarketData and refresh on relevant events
2026-02-18 17:29:04 +08:00
SnowNightt
8cb26d886f
fix: 修复选择配置文件进入配置文件管理弹窗直接关闭弹窗显示的配置文件不正确 ( #5174 )
2026-02-18 16:33:18 +08:00
時壹
3ca8dd204f
fix: prevent duplicate error message when all LLM providers fail ( #5183 )
2026-02-18 16:29:35 +08:00
Soulter
3476afce41
feat: supports send markdown message in qqofficial ( #5173 )
...
* feat: supports send markdown message in qqofficial
closes : #1093 #918 #4180 #4264
* ruff format
2026-02-18 00:35:52 +08:00
Soulter
9b0e24ec49
chore: bump version to 4.17.4
v4.17.4
2026-02-17 21:19:53 +08:00
Soulter
92d71fffe9
feat: add announcement section to WelcomePage and localize announcement title
2026-02-17 21:15:12 +08:00
Soulter
80c22f4f72
feat: add FAQ link to vertical sidebar and update navigation for localization
2026-02-17 21:01:29 +08:00
Soulter
6e22d266dd
feat: implement search functionality in configuration components and update UI ( #5168 )
2026-02-17 20:47:24 +08:00
Soulter
4c285fb521
feat: add unsaved changes notice to configuration page and update messages
2026-02-17 20:32:25 +08:00
Helian Nuits
51c3521aaa
ui(CronJobPage): fix action column buttons overlapping in CronJobPage ( #5163 )
...
- 修改前:操作列容器仅使用 `d-flex`,在页面宽度变窄时,子元素(开关和删除按钮)会因为宽度挤压而发生视觉重叠,甚至堆叠在一起。
- 修改后:
1. 为容器添加了 `flex-nowrap`,强制禁止子元素换行。
2. 设置了 `min-width: 140px`,确保该列拥有固定的保护空间,防止被其他长文本列挤压。
3. 增加了 `gap: 12px` 间距,提升了操作辨识度并优化了点击体验。
2026-02-17 18:58:05 +08:00
Soulter
32112a3326
feat: enhance PersonaForm component with responsive design and improved styling ( #5162 )
...
fix : #5159
2026-02-17 18:46:52 +08:00
Soulter
f22221f781
fix: improve permission denied message for local execution in Python and shell tools
2026-02-17 18:02:41 +08:00
Soulter
4250d997b3
feat: enhance provider sources panel with styled menu and mobile support
2026-02-17 16:14:35 +08:00
Soulter
153d8cef6b
feat: add NVIDIA provider template ( #5157 )
...
fixes : #5156
2026-02-17 16:08:35 +08:00
Soulter
c9cdf47603
chore: ruff format
v4.17.3
2026-02-17 14:33:27 +08:00
Soulter
55ac878648
chore: bump version to 4.17.3
2026-02-17 14:09:10 +08:00
Soulter
60abddada3
fix: enhance handle_result to support event context and webchat image sending
2026-02-17 14:03:29 +08:00
Soulter
bbc583cc8d
fix: enhance plugin metadata handling by injecting attributes before instantiation ( #5155 )
2026-02-17 14:01:31 +08:00
Soulter
7906030037
fix: 'Plain' object has no attribute 'text' when using python 3.14 ( #5154 )
2026-02-17 13:51:25 +08:00