LIghtJUNction
65d01b7e62
feat(dashboard): theme-aware reactor canvas and blueprint light mode
...
ReactorBg now adapts to light/dark theme:
- Dark: #0A0A0C bg, white crosshairs, cyan Cherenkov glow
- Light: #F0F4F8 matte silver, deep indigo crosshairs,
ink-drop radial shadow (no glow)
Light mode sidebar: stays dark blueprint panel
(light content + dark sidebar = classic MD3 premium pairing)
2026-03-29 17:09:21 +08:00
LIghtJUNction
934a74fd37
chore: remove accidental temp file
2026-03-29 17:07:18 +08:00
LIghtJUNction
c7c878a8e2
feat(dashboard): blueprint light mode theme
...
- Surface/background: #F0F4F8 cool blue-gray lab white
- On-surface text: #1A2B3C deep indigo
- ContainerBg: translucent rgba glass for light mode
- Surface-variant: slightly deeper cool tone
2026-03-29 17:07:12 +08:00
LIghtJUNction
5109ca96ca
feat(dashboard): reactor glow on logo
...
- Logo image: brightness(1.6) + dual drop-shadow cyan glow
- Radial gradient glow ring beneath logo with slow 4s breath animation
- Title: JetBrains Mono, #00F2FF with text-shadow glow
- All elements share synchronized 4s breathing pulse
2026-03-29 17:04:33 +08:00
LIghtJUNction
0eb04374ce
feat(dashboard): reactor form controls and config card glassmorphism
...
- AstrBotConfigV4: card now uses translucent glassmorphism
(rgba 15,15,22,0.45, blur 20px) with inset shadow
for recessed "embedded panel" feel
- Section titles: JetBrains Mono font, cyan (#00F2FF) with
left 3px glowing gradient bar
- _override.scss: global form control hardening
* Switch: 4px rounded rectangle, Cherenkov cyan glow
* Text fields: cyan border on focus with glow
* Tabs: uppercase monospace, cyan underline + glow on active
* Slider: cyan track fill + glowing thumb
* Checkbox: hollow rectangle with cyan check
2026-03-29 16:58:38 +08:00
LIghtJUNction
86e6d08aef
feat(dashboard): redesign log console as reactor terminal
...
ConsoleDisplayer:
- Status tags: hollow 1px-border chips with glowing level dots
- DEBUG: dim gray, INFO: Cherenkov cyan, WARNING: amber
- ERROR: #FF4D4D, CRITICAL: magenta
- Terminal: deep charcoal glass (rgba 10,10,15,0.6), blur 20px
- Inset shadow for recessed monitor feel
- Animated scanline overlay (CRT effect)
- Log lines: JetBrains Mono, line-height 1.7
- ERROR/CRITICAL: left colored glow bar (inset 3px indicator)
- New entry: brief cyan pulse animation
- Custom thin scrollbar in cyan theme
- ConsolePage toolbar: glassmorphism matching the theme
2026-03-29 16:54:56 +08:00
LIghtJUNction
b79e252100
feat(dashboard): glassmorphism editor and reactor Monaco theme
...
ConfigPage.vue:
- Editor dialog now uses glassmorphism container with backdrop-filter blur(40px)
- Editor card: deep obsidian translucent bg, inset shadow, cyan border
- Monaco theme changed from vs-dark to custom reactor-dark
- Transparent background reveals reactor canvas beneath
- Cherenkov blue line highlights and cursor
- Industrial precision line numbers
New monacoTheme.ts:
- defineReactorMonacoTheme() registers the custom theme
- Transparent editor background (rgba 0,0,0,0)
- Cyan cursor, selection, and line highlight colors
2026-03-29 16:51:59 +08:00
LIghtJUNction
282ef94911
feat(dashboard): introduce reactor core glassmorphism theme
...
Global reactor background (ReactorBg):
- Full-screen canvas with 24px crosshair grid and socket dots
- Mouse energy field (120px radius) with lerp=0.08 smooth tracking
- Crosses shrink and glow cyan when energy field passes
- Canvas sits behind all UI (z-index 0, pointer-events none)
Theme updates:
- Dark surface now #0F0F12 for reactor aesthetic
- Background deepens to #0A0A0C
- Cards: translucent glassmorphism (40% opacity, blur 12px)
with inset shadow, 1px cyan border on hover
- Sidebar: glassmorphism (75% opacity, blur 16px, cyan border)
- Header: glassmorphism (80% opacity, blur 20px, cyan border)
- V-main: transparent so reactor bg shows through
2026-03-29 16:48:52 +08:00
LIghtJUNction
0121df1754
fix(dashboard): show native cursor on login background
2026-03-29 16:45:04 +08:00
LIghtJUNction
90184239c1
feat(dashboard): redesign login page with reactor core aesthetic
...
- DiamondBg: Canvas-based interactive background with:
- 24px grid with faint crosshairs and recessed socket dots
- 150px mouse energy field with lerp following (0.1 speed)
- Crosses shrink/darken when "pressed" by energy field
- Cherenkov blue core dot at exact cursor position
- Gravity well glow beneath login panel
- Login card: cyan edge border (rgba 0,242,255,0.2), deep blue shadow
- Radial fade mask around login area
- DailyQuote component replaces static welcome text
2026-03-29 16:43:36 +08:00
LIghtJUNction
487c1988d6
refactor(dashboard): torch reveal effect with radial cursor glow
2026-03-29 16:36:22 +08:00
LIghtJUNction
daaeb9474b
refactor(dashboard): recessed slot grid with lerp cursor tracking
2026-03-29 16:33:23 +08:00
LIghtJUNction
1530ce1932
refactor(dashboard): add elastic cursor tracking with gravity pit effect
2026-03-29 16:31:28 +08:00
LIghtJUNction
fc0e185246
refactor(dashboard): add recessed pit effect with Cherenkov glow under login panel
2026-03-29 16:30:31 +08:00
LIghtJUNction
3e232fb31e
refactor(dashboard): crosshair schematic background for login
2026-03-29 16:27:25 +08:00
氕氙
a40a5fe18c
docs: add usage of select_knowledgebase in plugin development docs ( #7115 )
...
* docs: 补充 select_knowledgebase 及 _special 字段文档
在插件配置文档中添加 select_knowledgebase 的说明(返回 list,
支持多选),并列出 AstrBot Core 内部使用的其他 _special 值供参考。
* docs: 优化 _special 字段文档表达
标注内部 _special 值为不稳定实现,请勿在插件中使用;
说明 select_agent_runner_provider:* 中 * 的含义;
修正英文措辞。
2026-03-29 16:26:28 +08:00
LIghtJUNction
7c0e8414a6
refactor(dashboard): replace diamond bg with sci-fi cylinder panel
2026-03-29 16:25:54 +08:00
LIghtJUNction
f97aca8501
refactor(dashboard): simplify diamond bg with hexagonal close packing
2026-03-29 16:13:48 +08:00
LIghtJUNction
d13ff84a20
feat(dashboard): add animated diamond background to login page
2026-03-29 16:11:58 +08:00
LIghtJUNction
0ee84ae362
fix(dashboard): align daily quote text to left
2026-03-29 16:06:14 +08:00
LIghtJUNction
b9b3d50986
feat(dashboard): rename to Starlight Panel and add daily quote
...
- Change login page title from "AstrBot WebUI/Dashboard" to "AstrBot Starlight Panel"
- Replace welcome subtitle with DailyQuote component showing programming quotes
- Quotes are localized for en-US, zh-CN, and ru-RU
- Quote of the day stays consistent throughout each day
2026-03-29 16:05:22 +08:00
LIghtJUNction
90d565f4c7
fix(dashboard): remove stray closing div in InstalledPluginsTab
2026-03-29 15:51:09 +08:00
LIghtJUNction
7b22e56252
security: remove legacy SHA256/MD5 password verification and fix API key logging
...
- Remove insecure SHA256/MD5 password hash verification from cmd_conf.py
(rejection logic for storing legacy hashes is preserved)
- Remove API key logging from gemini_source.py, openai_source.py
- Remove header logging (contains Authorization header) from volcengine_tts.py
CodeQL issues fixed:
- Broken cryptographic hash (SHA256/MD5 for passwords)
- Clear-text logging of sensitive information (API keys)
2026-03-29 15:48:38 +08:00
LIghtJUNction
2b70c29ea4
chore: bump version to 4.25.0
2026-03-29 15:46:11 +08:00
LIghtJUNction
5ea790d045
chore: misc fixes and new test files
...
- fix(openai_source): remove dead code comment
- fix(common.ts): use resolveApiUrl helper for live-log endpoint
- style(mdi-subset): clean up icon CSS
- feat: add translation check script and unit tests
2026-03-29 15:40:58 +08:00
LIghtJUNction
610370f3e8
i18n(dashboard): update translation files
...
Update ru-RU, zh-CN and en-US locale files for various features.
2026-03-29 15:40:58 +08:00
LIghtJUNction
d84565f21b
feat(dashboard): switch to BlueBusiness theme
...
Replace PurpleTheme with BlueBusiness theme for improved visual design.
Includes new light and dark theme definitions.
2026-03-29 15:40:57 +08:00
LIghtJUNction
eca534f6d4
feat(core): add ToolSessionManager for stateful tool execution
...
Introduce session-level state management for tools that need to maintain
state across conversation turns within the same session (UMO).
- Add ToolSessionManager class for central per-(UMO, tool_name) state
- Add ToolSessionState with set_persistent(key) support
- Add is_stateful flag to FunctionTool base class
- Wire session_manager through run_context in all agent runners
- Update ExecuteShellTool to use framework session manager
- Update CLAUDE.md with stateful tool documentation
BREAKING: Tools that were manually managing session state via _sessions
dict should migrate to use the framework's ToolSessionManager for proper
lifecycle management and persistence support.
2026-03-29 15:40:57 +08:00
Soulter
afa43fc0e2
chore: update version to 4.22.2 in multiple files
v4.22.2
2026-03-29 00:32:31 +08:00
Soulter
551c956107
feat: implement EmptyModelOutputError for handling empty responses across providers and enhance retry logic in ToolLoopAgentRunner ( #7104 )
...
closes : #7044
2026-03-29 00:03:05 +08:00
Soulter
1070804b90
feat(dashboard): add SSL configuration resolution for dashboard ( #7102 )
...
fixes : #7058
program will not exit but fallback to non-ssl mode when ssl config is wrong
2026-03-28 23:22:24 +08:00
Soulter
7db7f4a16c
feat(agent-runner): add tool_choice parameter to fix empty tool calls response in "skills-like" tool call mode ( #7101 )
...
fixes : #7049
2026-03-28 23:06:06 +08:00
Rainor_da!
77419e0bc7
fix(webui): handle history wheel on preview container ( #6972 )
2026-03-28 21:38:27 +08:00
Yokami
971bcbad10
fix(provider): fix Bailian rerank payload compatibility for qwen3-rerank ( #6222 )
...
* fix(provider): align bailian qwen3 rerank payload with latest API schema
* fix(provider): explicitly ignore unsupported return_documents for qwen3 rerank
2026-03-28 21:27:53 +08:00
Flartiny
da1eb65afe
feat: allow copy config from existing configs ( #6785 )
...
* feat: allow copy config from existing configs
* fix: issues mentioned by reviewer bot
- duplicated logic for initializing/resetting the config
- check whitespace-only names
2026-03-28 21:25:19 +08:00
Foolllll
bbec8efa0d
fix(dashboard): apply labels mapping for list options in config renderer ( #6844 )
2026-03-28 21:22:00 +08:00
Soulter
b98bd3898f
feat: update QQOfficialPlatformAdapter to support async parsing and attachment preparation ( #7007 )
...
fixes : #6853
2026-03-28 21:18:33 +08:00
秋月白
81f4bd4e67
fix: allow multiple skills in a single zip archive ( #7070 )
...
* fix: allow multiple skills in a single zip archive
* refactor: address bot review comments
* fix: apply ruff format and fix return value
2026-03-28 21:16:40 +08:00
Stardust
4e9916caa4
fix(pipeline): skip waking on empty messages ( #6893 )
...
* fix(pipeline): skip waking on empty messages
* fix(pipeline): skip empty message LLM request even with provider_request
* fix(pipeline): skip empty messages in empty_mention_waiter
2026-03-28 20:50:42 +08:00
Rain-0x01_
995a318232
fix(gsvi_tts): Use the correct calling method ( #7083 )
...
* fix(gsvi_tts): Use the correct calling method (#5638 )
Add some configuration items for GSVI
* fix(gsvi_tts): add default value for api_key in provider configuration
* fix(gsvi_tts): Adjust wherever the Authorization header is built to only include it when `self.api_key` is truthy
Delete some comments
* chore: ruff format
---------
Co-authored-by: Soulter <905617992@qq.com >
2026-03-28 20:48:43 +08:00
エイカク
bcbf7dd8df
fix: bundle httpx SOCKS proxy support ( #7093 )
...
* fix: bundle httpx SOCKS proxy support
* test: tighten SOCKS dependency regression coverage
* test: allow SOCKS dependency environment markers
* test: broaden SOCKS dependency regex coverage
2026-03-28 21:31:52 +09:00
LIghtJUNction
64bc582879
fix(dashboard): wrap VWindowItem in VWindow to fix Vuetify 4 injection error
...
VWindowItem requires a VWindow parent for group context injection.
Without it, Vuetify 4 throws:
"Could not find useGroup injection with symbol vuetify:v-window"
Changes:
- ExtensionPage.vue: wrap all tab content in v-window v-model="activeTab"
- InstalledPluginsTab.vue: remove v-window-item root wrapper
- MarketPluginsTab.vue: remove v-window-item root wrapper
2026-03-28 16:34:07 +08:00
LIghtJUNction
f000a21c01
fix(dashboard): suppress known Vuetify 4 internal slot invocation warning
...
Vuetify 4's VDefaultsProvider triggers "Slot default invoked outside of
render function" internally - not fixable from our side without framework
changes. Suppress via Vue warnHandler.
2026-03-28 16:20:23 +08:00
LIghtJUNction
495ca70ec5
fix(dashboard): replace remaining dense prop with density="compact"
...
Vuetify 4 deprecates `dense` prop on v-row and form fields.
2026-03-28 15:31:25 +08:00
LIghtJUNction
84c88db712
fix(dashboard): fix extraneous @update event listener in PlatformPage
...
@update was passed to AddNewPlatform but the component only emits
update:show, causing Vue warning about unrecognized event.
2026-03-28 15:27:54 +08:00
奉眠
fcfd6a9e1c
fix(weixin_oc): allow CDN uploads to use upload_full_url when provided ( #7066 )
...
* fix(weixin_oc): 处理微信开放平台CDN上传URL的新格式
适配微信开放平台`getuploadurl`接口返回的新格式,该接口现在可能返回`upload_full_url`字段。
优先使用`upload_full_url`作为上传地址,以保持上传功能正常。
* fix(weixin_oc): 改进CDN上传URL缺失时的错误信息
- 在适配器中,将通用错误信息具体化为“CDN上传URL缺失”
- 在客户端中,移除冗余的参数处理逻辑,使参数验证更清晰
* fix(weixin_oc): 调整CDN上传参数顺序并移除冗余检查
移除对weixin_oc_adapter中upload_param和upload_full_url同时为空的检查,因为逻辑上已由底层方法保证。
调整upload_to_cdn方法的参数顺序以匹配其内部实现,确保正确传递。
2026-03-28 14:45:58 +08:00
LIghtJUNction
b70aa517c8
fix(dashboard): pin pinia to 3.0.0 to avoid regression in 3.0.1+
...
Pinia 3.0.1-3.0.4 introduced a bug where devtoolsPlugin receives
undefined options when createOptionsStore is called, causing
"Cannot destructure property 'state' of 'options' as it is undefined"
on page load. Downgrade to 3.0.0 which is stable.
2026-03-28 14:43:29 +08:00
tlw00988
9238ad58ff
docs: corrent weixin_oc wechat version requirements ( #7068 )
...
* docs:corrent weixin_oc wechat version requirements
Update WeChat version requirements for the adapter.
* Update docs/zh/platform/weixin_oc.md
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
---------
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-03-28 14:37:06 +08:00
LIghtJUNction
d927f01da0
fix(dashboard): Vuetify 4 compatibility fixes
...
- Replace deprecated v-chip-text with span (PersonaForm)
- Replace deprecated v-tab-item with v-window-item (ExtensionPage, InstalledPluginsTab, MarketPluginsTab)
- Replace deprecated v-row dense with density="compact" (SessionManagementPage, InstalledPluginsTab)
- Add missing hasUnsavedChanges field to ConfigPage data()
- Add missing i18n key editPersona (en-US, zh-CN)
Fixes multiple Vue warnings about failed component resolution and deprecated Vuetify props.
2026-03-28 14:12:36 +08:00
LIghtJUNction
c823fcd3ae
chore(dashboard): add d3 dependency and postinstall patch script
2026-03-28 13:09:12 +08:00