Skip to content
Draft

dev #6325

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
543 commits
Select commit Hold shift + click to select a range
9058505
test: add gateway WebSocket manager tests
LIghtJUNction Mar 23, 2026
225ef79
test: add ABP protocol tests
LIghtJUNction Mar 23, 2026
20b7f60
chore: update protocol clients and add architecture compliance tests
LIghtJUNction Mar 23, 2026
3485605
fix: correct logger import in ACP client
LIghtJUNction Mar 23, 2026
385d882
fix: resolve anyio compliance and type checking issues
LIghtJUNction Mar 23, 2026
99a9941
chore: auto commit
LIghtJUNction Mar 23, 2026
67373cc
merge: resolve conflicts from master
LIghtJUNction Mar 23, 2026
310d2d6
feat: add integration tests infrastructure and MCP echo server fixture
LIghtJUNction Mar 23, 2026
f5bc74c
feat(openspec): add abp-runtime-status-plugin change proposal
LIghtJUNction Mar 23, 2026
15789ef
chore: auto commit
LIghtJUNction Mar 23, 2026
9908f3b
chore: auto commit
LIghtJUNction Mar 23, 2026
08af1e0
refactor: improve MCP connection test error handling in FuncCall
LIghtJUNction Mar 23, 2026
cf47a2e
chore: auto commit
LIghtJUNction Mar 24, 2026
92ba30b
chore: apply ruff format to codebase
LIghtJUNction Mar 24, 2026
b78d3fc
feat: add RuntimeStatusStar and ACP integration tests
LIghtJUNction Mar 24, 2026
2799bbb
fix: MCP integration tests skip and test orchestrator adaptation
LIghtJUNction Mar 24, 2026
faa6f5f
docs: add abp-runtime-status-plugin spec and specs
LIghtJUNction Mar 24, 2026
9f945cf
docs: add runtime-status-star spec
LIghtJUNction Mar 24, 2026
dd53727
style: apply ruff --unsafe-fixes for common issues
LIghtJUNction Mar 24, 2026
cac6272
docs: add specs for add-internal-integration-tests change
LIghtJUNction Mar 24, 2026
40a68c7
docs: add openspec metadata for add-internal-integration-tests
LIghtJUNction Mar 24, 2026
c0010de
docs: add openspec specs for integration tests changes
LIghtJUNction Mar 24, 2026
cf52461
docs: add lsp-integration-tests specs and tasks
LIghtJUNction Mar 24, 2026
35633e5
test: add LSP integration tests with echo server fixture
LIghtJUNction Mar 24, 2026
4f686ed
fix: resolve undefined name errors (F821)
LIghtJUNction Mar 24, 2026
f746efc
style: move Coroutine to collections.abc import
LIghtJUNction Mar 24, 2026
bf19777
docs: update lsp-integration-tests tasks
LIghtJUNction Mar 24, 2026
dbeb104
test: add RuntimeError tests for LSP client not connected cases
LIghtJUNction Mar 24, 2026
f7ec5ea
feat: add name field to protocol status and message tracking
LIghtJUNction Mar 24, 2026
4436420
docs: update tasks.md to reflect completion
LIghtJUNction Mar 24, 2026
f3642df
fix: annotate result dict as dict[str, Any] for last_activity None
LIghtJUNction Mar 24, 2026
ec9a6d3
style: minor formatting fixes
LIghtJUNction Mar 24, 2026
3e9584b
style: apply ruff unsafe-fixes and format
LIghtJUNction Mar 24, 2026
9fe4a0e
merge: resolve ObjectEditor.vue conflict from master
LIghtJUNction Mar 24, 2026
d60a3f0
fix: add missing add_tool and merge methods to base ToolSet
LIghtJUNction Mar 24, 2026
4705fc2
feat: add astrbot-core rust project
LIghtJUNction Mar 24, 2026
1a16a08
feat: add astrbot-core Rust foundation with pyo3 bindings
LIghtJUNction Mar 24, 2026
26c356d
fix(cli): move runtime bootstrap into run command
LIghtJUNction Mar 24, 2026
16f8cde
fix: add missing normalize method to base ToolSet
LIghtJUNction Mar 24, 2026
4cc700f
fix(dashboard): suppress benign SSL close notify errors
LIghtJUNction Mar 24, 2026
569ff43
fix(build): prevent wheel failure when dashboard not bundled
LIghtJUNction Mar 24, 2026
7e941c8
fix: add get_light_tool_set and get_param_only_tool_set to base ToolSet
LIghtJUNction Mar 24, 2026
5f42d82
fix(test_abp_client): update test to match new non-Future implementation
LIghtJUNction Mar 24, 2026
d62d1fe
fix: add missing schema methods to base ToolSet
LIghtJUNction Mar 24, 2026
abbb2c8
revert: restore run command to old architecture
LIghtJUNction Mar 24, 2026
a7343c5
fix(test): move sys.path before import in conftest.py
LIghtJUNction Mar 24, 2026
ac700c6
fix(dashboard): use resolve() instead of absolute() to follow symlinks
LIghtJUNction Mar 24, 2026
7baff6f
feat(rust): initial Rust core runtime with CLI support
LIghtJUNction Mar 24, 2026
64f3a3c
chore: update project config for Rust core runtime
LIghtJUNction Mar 24, 2026
613910f
refactor(cli): update CLI commands structure
LIghtJUNction Mar 24, 2026
be65022
refactor(protocols): update protocol client implementations
LIghtJUNction Mar 24, 2026
55c8c8a
fix(maturin-hook): handle broken dashboard dist symlink gracefully
LIghtJUNction Mar 25, 2026
c529c71
feat: add two-phase startup lifecycle (#6942)
zouyonghe Mar 25, 2026
292199d
feat: add backend URL preset sharing via URL parameters
LIghtJUNction Mar 25, 2026
464baae
Refactor InstalledPluginsTab.vue layout and structure
LIghtJUNction Mar 25, 2026
597ed67
fix: avoid lsp client cancel scope leaks (#6961)
zouyonghe Mar 25, 2026
b8fe573
更新 .gitignore
LIghtJUNction Mar 25, 2026
eaaa90a
fix dashboard: resolve merge conflict in InstalledPluginsTab.vue
LIghtJUNction Mar 26, 2026
75089b1
fix dashboard: fix Vue component self-closing lint errors in Installe…
LIghtJUNction Mar 26, 2026
37f7b43
fix(tool): add list_tools() method to ToolSet
LIghtJUNction Mar 26, 2026
9a023c1
fix(dashboard): resolve npm security alerts via dependency upgrades
LIghtJUNction Mar 26, 2026
143928e
chore: add glob patterns to ruff/pyright test excludes
LIghtJUNction Mar 26, 2026
6463b45
fix(dashboard): drop legacy SSE log cache implementation
LIghtJUNction Mar 26, 2026
4998891
refactor(openspec): restructure protocol specifications
LIghtJUNction Mar 26, 2026
93a6672
refactor: 删除 _internal Python 包
LIghtJUNction Mar 26, 2026
e1ac673
docs: 新增 openspec 规范文档
LIghtJUNction Mar 26, 2026
eae35ff
refactor: 迁移 Rust 核心代码至 rust/ 目录
LIghtJUNction Mar 26, 2026
e8cd999
chore: 更新项目配置和 CLI
LIghtJUNction Mar 26, 2026
c573ba1
docs: 更新 agent-message.md 规范
LIghtJUNction Mar 26, 2026
af59ab9
merge: 合并 master 分支 (webui 改进和 attachment recovery)
LIghtJUNction Mar 26, 2026
9db1790
chore: 添加 MDI 字体到 gitignore 并更新 agent-message 规范
LIghtJUNction Mar 26, 2026
2a5e556
feat(abp): initial ABP protocol implementation
LIghtJUNction Mar 27, 2026
6171abf
fix(dashboard): 修复 customizer store 调用方式和 theme API
LIghtJUNction Mar 27, 2026
390544e
fix(dashboard): 重构 common store 为 Composition API 风格
LIghtJUNction Mar 27, 2026
2c2ad31
chore(dashboard): 将 Sass @import 迁移到 @use
LIghtJUNction Mar 27, 2026
0f8a191
fix(dashboard): 组件卸载时关闭 SSE EventSource
LIghtJUNction Mar 27, 2026
d7d2c9b
chore(dashboard): 将 :deep() 迁移到 ::v-deep()
LIghtJUNction Mar 27, 2026
62ec9c3
fix(dashboard): MessageList 组件卸载后防止操作 DOM
LIghtJUNction Mar 27, 2026
2b5f10e
chore(dashboard): 将剩余 :deep() 迁移到 ::v-deep()
LIghtJUNction Mar 27, 2026
724e495
i18n: 添加 updateAvailable 和 expiryOptions 翻译
LIghtJUNction Mar 27, 2026
0301511
fix(dashboard): 添加组件卸载后防止操作 DOM 的保护
LIghtJUNction Mar 27, 2026
b253423
fix(dashboard): 迁移 Vue Router navigation guard 到返回值的写法
LIghtJUNction Mar 27, 2026
0497b5f
fix(dashboard): 迁移 router.beforeEach 到 Vue Router 4 返回值写法
LIghtJUNction Mar 27, 2026
243ecaa
fix(dashboard): 优先使用 localStorage 中的 apiBaseUrl
LIghtJUNction Mar 27, 2026
eb7f3fe
chore(dashboard): 更新 MDI 图标子集 (248 → 249 icons)
LIghtJUNction Mar 27, 2026
60e20f0
style(rust): 格式化调整
LIghtJUNction Mar 27, 2026
47fc35f
chore(dashboard): 将剩余 :deep() 迁移到 ::v-deep()
LIghtJUNction Mar 27, 2026
20bd0c2
chore(dashboard): 将剩余 :deep() 迁移到 ::v-deep()
LIghtJUNction Mar 27, 2026
a804585
fix(dashboard): 小修复和安全改进
LIghtJUNction Mar 27, 2026
18bc37a
chore(dashboard): 将 views 目录剩余 :deep() 迁移到 ::v-deep()
LIghtJUNction Mar 27, 2026
14a1e37
docs: 更新 openspec 规范文档
LIghtJUNction Mar 27, 2026
0c19457
fix: 修复 tool_call.function 类型错误和合并冲突
LIghtJUNction Mar 27, 2026
b4512f2
feat(openspec): add abp-plugin-loader change for remaining ABP tasks
LIghtJUNction Mar 27, 2026
335daa0
Merge branch 'Sjshi763/issue4409' into dev
LIghtJUNction Mar 27, 2026
bc01532
fix(provider): filter abort_signal from payloads to avoid JSON serial…
LIghtJUNction Mar 27, 2026
1faeee3
merge: pull latest master into dev
LIghtJUNction Mar 28, 2026
7a6cea3
fix(dashboard): remove Authorization header and withCredentials from …
LIghtJUNction Mar 28, 2026
bae7ec4
fix(dashboard): patch bundled DOMPurify to fix XSS vulnerability
LIghtJUNction Mar 28, 2026
c823fcd
chore(dashboard): add d3 dependency and postinstall patch script
LIghtJUNction Mar 28, 2026
d927f01
fix(dashboard): Vuetify 4 compatibility fixes
LIghtJUNction Mar 28, 2026
b70aa51
fix(dashboard): pin pinia to 3.0.0 to avoid regression in 3.0.1+
LIghtJUNction Mar 28, 2026
84c88db
fix(dashboard): fix extraneous @update event listener in PlatformPage
LIghtJUNction Mar 28, 2026
495ca70
fix(dashboard): replace remaining dense prop with density="compact"
LIghtJUNction Mar 28, 2026
f000a21
fix(dashboard): suppress known Vuetify 4 internal slot invocation war…
LIghtJUNction Mar 28, 2026
64bc582
fix(dashboard): wrap VWindowItem in VWindow to fix Vuetify 4 injectio…
LIghtJUNction Mar 28, 2026
eca534f
feat(core): add ToolSessionManager for stateful tool execution
LIghtJUNction Mar 29, 2026
d84565f
feat(dashboard): switch to BlueBusiness theme
LIghtJUNction Mar 29, 2026
610370f
i18n(dashboard): update translation files
LIghtJUNction Mar 29, 2026
5ea790d
chore: misc fixes and new test files
LIghtJUNction Mar 29, 2026
2b70c29
chore: bump version to 4.25.0
LIghtJUNction Mar 29, 2026
7b22e56
security: remove legacy SHA256/MD5 password verification and fix API …
LIghtJUNction Mar 29, 2026
90d565f
fix(dashboard): remove stray closing div in InstalledPluginsTab
LIghtJUNction Mar 29, 2026
b9b3d50
feat(dashboard): rename to Starlight Panel and add daily quote
LIghtJUNction Mar 29, 2026
0ee84ae
fix(dashboard): align daily quote text to left
LIghtJUNction Mar 29, 2026
d13ff84
feat(dashboard): add animated diamond background to login page
LIghtJUNction Mar 29, 2026
f97aca8
refactor(dashboard): simplify diamond bg with hexagonal close packing
LIghtJUNction Mar 29, 2026
7c0e841
refactor(dashboard): replace diamond bg with sci-fi cylinder panel
LIghtJUNction Mar 29, 2026
3e232fb
refactor(dashboard): crosshair schematic background for login
LIghtJUNction Mar 29, 2026
fc0e185
refactor(dashboard): add recessed pit effect with Cherenkov glow unde…
LIghtJUNction Mar 29, 2026
1530ce1
refactor(dashboard): add elastic cursor tracking with gravity pit effect
LIghtJUNction Mar 29, 2026
daaeb94
refactor(dashboard): recessed slot grid with lerp cursor tracking
LIghtJUNction Mar 29, 2026
487c198
refactor(dashboard): torch reveal effect with radial cursor glow
LIghtJUNction Mar 29, 2026
9018423
feat(dashboard): redesign login page with reactor core aesthetic
LIghtJUNction Mar 29, 2026
0121df1
fix(dashboard): show native cursor on login background
LIghtJUNction Mar 29, 2026
282ef94
feat(dashboard): introduce reactor core glassmorphism theme
LIghtJUNction Mar 29, 2026
b79e252
feat(dashboard): glassmorphism editor and reactor Monaco theme
LIghtJUNction Mar 29, 2026
86e6d08
feat(dashboard): redesign log console as reactor terminal
LIghtJUNction Mar 29, 2026
0eb0437
feat(dashboard): reactor form controls and config card glassmorphism
LIghtJUNction Mar 29, 2026
5109ca9
feat(dashboard): reactor glow on logo
LIghtJUNction Mar 29, 2026
c7c878a
feat(dashboard): blueprint light mode theme
LIghtJUNction Mar 29, 2026
934a74f
chore: remove accidental temp file
LIghtJUNction Mar 29, 2026
65d01b7
feat(dashboard): theme-aware reactor canvas and blueprint light mode
LIghtJUNction Mar 29, 2026
a9d6575
fix(dashboard): lock theme to dark-only for industrial aesthetic
LIghtJUNction Mar 29, 2026
15e3c12
fix(dashboard): improve ChatInput dark mode styling and placeholder v…
LIghtJUNction Mar 29, 2026
158a26c
fix(dashboard): improve sidebar styling and dark mode SCSS overrides
LIghtJUNction Mar 29, 2026
0dd91f1
fix: add noqa comments to platform adapter imports and update theme f…
LIghtJUNction Mar 29, 2026
0c02149
fix(dashboard): add additional SCSS overrides for dark mode
LIghtJUNction Mar 29, 2026
7fc1a13
fix(dashboard): ReactorBg eased scope, CSS comments, theme types, and…
LIghtJUNction Mar 29, 2026
c464d7a
fix(dashboard): use CDN MDI font and apply light mode style fixes
LIghtJUNction Mar 29, 2026
9dc3459
fix(dashboard): AddNewPlatform - show v-icon fallback when platform i…
LIghtJUNction Mar 29, 2026
8919d4d
fix(dashboard): TraceDisplayer - use resolveApiUrl instead of manual …
LIghtJUNction Mar 29, 2026
48e54e5
revert(dashboard): remove mdi-robot fallback that caused all platform…
LIghtJUNction Mar 29, 2026
2e66059
fix(dashboard): AddNewPlatform - show platform-specific MDI icon when…
LIghtJUNction Mar 29, 2026
4a0ab86
fix(dashboard): fix Trace page text invisible
LIghtJUNction Mar 29, 2026
62d7df1
chore: stage all dev changes
LIghtJUNction Mar 29, 2026
2a1544f
chore: stage remaining changes
LIghtJUNction Mar 29, 2026
de35ff5
feat(dashboard): complete redesign of Trace page
LIghtJUNction Mar 29, 2026
95cb2a8
fix: resolve multiple type errors and runtime bugs
LIghtJUNction Mar 29, 2026
efa999c
merge: origin/master into dev
LIghtJUNction Mar 30, 2026
086dc00
fix: resolve MCPTool import and openai_source merge conflicts
LIghtJUNction Mar 30, 2026
e855790
fix: restore dev retry logic and add class constants
LIghtJUNction Mar 30, 2026
e1c4b52
fix: resolve create_task type error in tool_loop_agent_runner
LIghtJUNction Mar 30, 2026
480c77a
fix: restore dashboard trace and platform logos
LIghtJUNction Mar 30, 2026
50b7d18
fix: resolve Self return type in ToolImageCache
LIghtJUNction Mar 30, 2026
2aafe18
fix: add type ignore for add_tool arg
LIghtJUNction Mar 30, 2026
376161f
fix: add type ignore for persona_toolset.add_tool
LIghtJUNction Mar 30, 2026
f084fba
fix: add type ignore for func_tool assignment
LIghtJUNction Mar 30, 2026
7e3bdbc
fix: add type ignore for merge
LIghtJUNction Mar 30, 2026
49d1746
fix: add type ignore for msg_dict
LIghtJUNction Mar 30, 2026
9b15a60
fix: resolve 7 type errors in dev branch
LIghtJUNction Mar 30, 2026
abb6a32
fix: type errors
LIghtJUNction Mar 30, 2026
4ca8bc7
fix: type
LIghtJUNction Mar 30, 2026
54f6916
fix: type
LIghtJUNction Mar 30, 2026
70107b2
fix: type
LIghtJUNction Mar 30, 2026
f543f16
fix: type
LIghtJUNction Mar 30, 2026
a550b88
fix: type
LIghtJUNction Mar 30, 2026
ff2d3d1
fix: delete duplicate layout in PersonaManager.vue (#7190)
kyangconn Mar 30, 2026
4a8686e
Merge branch 'dev' of https://github.com/AstrBotDevs/AstrBot into dev
LIghtJUNction Mar 31, 2026
94378d6
feat(dashboard): add auto switch theme button to setting page. (#7170)
kyangconn Mar 31, 2026
d921322
Merge branch 'dev' of https://github.com/AstrBotDevs/AstrBot into dev
LIghtJUNction Mar 31, 2026
3f40a1b
fix: simplify persona page header layout
LIghtJUNction Mar 31, 2026
7ff4057
feat(web-search): add provider routing aliases and explicit-engine se…
Jacobinwwey Mar 31, 2026
a73e388
fix(agent): improve send_message_to_user tool description to prevent …
ccsang Mar 31, 2026
87bfecb
chore: update requirements.txt
LIghtJUNction Mar 31, 2026
fc515d4
Merge remote-tracking branch 'origin/master' into dev
LIghtJUNction Mar 31, 2026
7ff6df9
chore: add type stubs and update pyproject.toml configuration
LIghtJUNction Mar 31, 2026
97077ed
test: clean up type: ignore comments and add package markers
LIghtJUNction Mar 31, 2026
da12fca
refactor(utils): improve type annotations and code quality
LIghtJUNction Mar 31, 2026
3eccbca
refactor(i18n): improve type safety and code quality in i18n_utils
LIghtJUNction Mar 31, 2026
6584168
refactor(platforms): improve type safety in platform adapters
LIghtJUNction Mar 31, 2026
806c3df
refactor(commands): improve type safety and add validation
LIghtJUNction Mar 31, 2026
b152516
refactor(db): clean up redundant type annotations and improve code
LIghtJUNction Mar 31, 2026
9ba2ea6
refactor(provider): improve type safety and code quality
LIghtJUNction Mar 31, 2026
a306c63
refactor(agent): improve type safety in agent components
LIghtJUNction Mar 31, 2026
585ffb3
refactor(pipeline): improve type safety and code quality
LIghtJUNction Mar 31, 2026
7b16068
refactor(star): improve type safety and code quality
LIghtJUNction Mar 31, 2026
5357a29
refactor(computer): improve type safety and error handling
LIghtJUNction Mar 31, 2026
69b1b09
refactor(dashboard): improve SSL configuration and code quality
LIghtJUNction Mar 31, 2026
12168a9
删除 .mcp.json
LIghtJUNction Mar 31, 2026
f695ddc
Delete .mcp.json
LIghtJUNction Mar 31, 2026
5e6a9f9
Merge branch 'dev' of https://github.com/AstrBotDevs/AstrBot into dev
LIghtJUNction Mar 31, 2026
cbeb25f
fix(provider): improve type annotations in volcengine TTS loggable pa…
LIghtJUNction Mar 31, 2026
9c9d4d6
refactor(dashboard): update UI pages to glassmorphism style
LIghtJUNction Mar 31, 2026
360a13b
chore: smart commit — update AGENTS.md, run ruff format, and apply sm…
LIghtJUNction Mar 31, 2026
105530a
fix: correct the image of compose (#7240)
kyangconn Apr 1, 2026
b17e5d4
feat(dashboard): Enhance Types in Settings.vue (#7241)
kyangconn Apr 2, 2026
310fdf3
fix: handle broken dashboard dist symlink in hatch build hook for AUR…
LIghtJUNction Apr 2, 2026
0883437
chore: remove dashboard dist symlink
LIghtJUNction Apr 2, 2026
868c81b
chore: commit all changes
LIghtJUNction Apr 2, 2026
ca4923d
refactor: remove TUI from cmd_run
LIghtJUNction Apr 2, 2026
3af00b9
chore: cmd_run
LIghtJUNction Apr 2, 2026
005b836
Merge remote-tracking branch 'origin/master' into dev
LIghtJUNction Apr 2, 2026
74849b4
fix auth store defineStore arguments
LIghtJUNction Apr 2, 2026
22606f3
Restore original dev frontend request handling
LIghtJUNction Apr 2, 2026
ea5d573
chore(vite): silence Sass import deprecation warnings
LIghtJUNction Apr 2, 2026
c867dac
fix(deps): dompurify version conflict
LIghtJUNction Apr 2, 2026
422d3c1
chore(dashboard): silence Sass if-function deprecation warnings
LIghtJUNction Apr 2, 2026
d3a429a
fix(dashboard): remove unused join import in vite config
LIghtJUNction Apr 2, 2026
582a63b
fix(dashboard): mount pinia before router to avoid white screen on start
LIghtJUNction Apr 2, 2026
5f701a7
fix(dashboard): use global.name.value for Vuetify 3 theme change
LIghtJUNction Apr 2, 2026
59c0e74
fix(dashboard): use @/utils/request instance of axios globally
LIghtJUNction Apr 2, 2026
d9e91bb
style: 修复 Webchat 浅色模式字体颜色及更新数据统计面板样式
LIghtJUNction Apr 2, 2026
2126002
fix: 修复 Vue 样式穿透警告并更新 tsconfig 解析模式
LIghtJUNction Apr 2, 2026
7b11f90
chore(deps): bump lodash from 4.17.23 to 4.18.1 in dashboard
LIghtJUNction Apr 2, 2026
252c623
feat: rename CORS_ALLOW_ORIGIN to ASTRBOT_CORS_ALLOW_ORIGIN and add i…
LIghtJUNction Apr 2, 2026
6918ebe
fix: revert shell execution logic back to master implementation
LIghtJUNction Apr 2, 2026
8310ade
Update pyproject.toml
LIghtJUNction Apr 2, 2026
26ff632
chore: remove astrbot-rs
LIghtJUNction Apr 2, 2026
90b79d5
fix(webui): enforce 12-char dashboard password policy with backend+fr…
Soulter Apr 3, 2026
a0159c8
fix(i18n): update password policy hints and validation rules for impr…
Soulter Apr 3, 2026
a3abb28
test: adapt dashboard auth fixtures for hashed default password
Soulter Apr 3, 2026
fe0e235
Merge remote-tracking branch 'origin/master' into dev
LIghtJUNction Apr 4, 2026
b749f62
fix(security): increase PBKDF2 iterations
Soulter Apr 4, 2026
c4dee90
refactor(cli): unify password encryption logic in cmd_conf.py
LIghtJUNction Apr 4, 2026
4308580
chore: ruff
LIghtJUNction Apr 4, 2026
a47e39d
feat(auth): implement secure login challenge and proof verification
Soulter Apr 4, 2026
5c27cf1
chore: ruff format
Soulter Apr 4, 2026
3d2ff93
fix(cli): use raise from e in exception clauses
LIghtJUNction Apr 4, 2026
a64d4e7
fix(auth): update md5 import syntax for consistency
Soulter Apr 4, 2026
8f62ad5
feat(auth): merge challenge-proof authentication and argon2 hashing f…
LIghtJUNction Apr 4, 2026
f429c72
test: update dashboard password resolution and fix mock loggers
LIghtJUNction Apr 4, 2026
6bff35d
fix(dashboard): resolve JSON syntax errors and BOM in auth.json
LIghtJUNction Apr 4, 2026
5012475
style: remove redundant empty lines and unused exception variables
LIghtJUNction Apr 4, 2026
3b8a77b
fix(dashboard): use correctly intercepted axios in VerticalHeader.vue…
LIghtJUNction Apr 4, 2026
b4f3718
fix(dashboard): restore beautiful glassmorphism login UI lost during …
LIghtJUNction Apr 4, 2026
607735e
fix(dashboard): resolve missing translations and autocomplete warnings
LIghtJUNction Apr 4, 2026
6675a95
fix(dashboard): completely resolve vuetify deprecation warning for th…
LIghtJUNction Apr 4, 2026
0b07409
fix(dashboard): completely eliminate all vuetify theme change warnings
LIghtJUNction Apr 4, 2026
4588543
fix(dashboard): fix vuetify theme deprecation, sse cors, and update i…
LIghtJUNction Apr 4, 2026
b40401a
style(dashboard): format password validation rule
LIghtJUNction Apr 4, 2026
c8b83f0
build(dashboard): upgrade lodash-es to 4.18.1 in overrides to fix sec…
LIghtJUNction Apr 4, 2026
779517d
refactor(dashboard): replace console.log with console.info
LIghtJUNction Apr 4, 2026
6f8e170
style(dashboard): format parameters in authLoginProof.ts
LIghtJUNction Apr 4, 2026
c27118d
style(dashboard): format and fix types in authLoginProof
LIghtJUNction Apr 4, 2026
c2b8378
fix(dashboard): remove unused variables in VerticalHeader.vue
LIghtJUNction Apr 4, 2026
92ecb6e
chore: style
LIghtJUNction Apr 4, 2026
b09defc
fix(dashboard): remove unused theme variable from App.vue
LIghtJUNction Apr 4, 2026
be22a99
chore: dashboard
LIghtJUNction Apr 4, 2026
b802ede
Merge dev and fix conflicts
LIghtJUNction Apr 6, 2026
13d0b8c
Merge branch 'dev' and fix tool_loop_agent_runner conflict
LIghtJUNction Apr 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
184 changes: 184 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
# ==========================================
# AstrBot Instance Configuration: ${INSTANCE_NAME}
# AstrBot 实例配置文件:${INSTANCE_NAME}
# ==========================================
# 将此文件复制为 .env 并根据需要修改。
# Copy this file to .env and modify as needed.
# 注意:在此处设置的变量将覆盖默认配置。
# Note: Variables set here override application defaults.

# ------------------------------------------
# 实例标识 / Instance Identity
# ------------------------------------------

# 实例名称(用于日志和服务名)
# Instance name (used in logs/service names)
INSTANCE_NAME="${INSTANCE_NAME}"

# ------------------------------------------
# 核心配置 / Core Configuration
# ------------------------------------------

# AstrBot 根目录路径
# AstrBot root directory path
# 默认 Default: 当前工作目录,桌面客户端为 ~/.astrbot,服务器为 /var/lib/astrbot/<instance>/
# 示例 Example: /var/lib/astrbot/mybot
ASTRBOT_ROOT="${ASTRBOT_ROOT}"

# 日志等级
# Log level
# 可选值 Values: DEBUG, INFO, WARNING, ERROR, CRITICAL
# 默认 Default: INFO
# ASTRBOT_LOG_LEVEL=INFO

# 启用插件热重载(开发时有用)
# Enable plugin hot reload (useful for development)
# 可选值 Values: 0 (禁用 disabled), 1 (启用 enabled)
# 默认 Default: 0
# ASTRBOT_RELOAD=0

# 禁用匿名使用统计
# Disable anonymous usage statistics
# 可选值 Values: 0 (启用统计 enabled), 1 (禁用统计 disabled)
# 默认 Default: 0
ASTRBOT_DISABLE_METRICS=0

# 覆盖 Python 可执行文件路径(用于本地代码执行功能)
# Override Python executable path (for local code execution)
# 示例 Example: /usr/bin/python3, /home/user/.pyenv/shims/python
# PYTHON=/usr/bin/python3

# 启用演示模式(可能限制部分功能)
# Enable demo mode (may restrict certain features)
# 可选值 Values: True, False
# 默认 Default: False
# DEMO_MODE=False

# 启用测试模式(影响日志和部分行为)
# Enable testing mode (affects logging and behavior)
# 可选值 Values: True, False
# 默认 Default: False
# TESTING=False

# 标记:是否通过桌面客户端执行(主要用于内部)
# Flag: running via desktop client (internal use)
# 可选值 Values: 0, 1
# ASTRBOT_DESKTOP_CLIENT=0

# 标记:是否通过 systemd 服务执行
# Flag: running via systemd service
# 可选值 Values: 0, 1
ASTRBOT_SYSTEMD=1

# ------------------------------------------
# 管理面板配置 / Dashboard Configuration
# ------------------------------------------

# 启用或禁用 WebUI 管理面板
# Enable or disable WebUI dashboard
# 可选值 Values: True, False
# 默认 Default: True
ASTRBOT_DASHBOARD_ENABLE=True

# 允许跨域请求的来源域名(多个用逗号分隔,允许所有则用 *)
# Allowed CORS origins for WebUI dashboard (comma-separated, or * for all)
# 示例 Example: https://dash.astrbot.men
# 默认 Default: *
# ASTRBOT_CORS_ALLOW_ORIGIN="*"

# ------------------------------------------
# 国际化配置 / Internationalization Configuration
# ------------------------------------------

# CLI 界面语言
# CLI interface language
# 可选值 Values: zh (中文), en (英文)
# 默认 Default: zh (跟随系统 locale / follows system locale)
# ASTRBOT_CLI_LANG=zh

# ------------------------------------------
# 网络配置 / Network Configuration
# ------------------------------------------

# API 绑定主机
# API bind host
# 示例 Example: 0.0.0.0 (所有接口 all interfaces), 127.0.0.1 (仅本地 localhost only)
ASTRBOT_HOST="${ASTRBOT_HOST}"

# API 绑定端口
# API bind port
# 示例 Example: 3000, 6185, 8080
ASTRBOT_PORT="${ASTRBOT_PORT}"

# 是否为 API 启用 SSL/TLS
# Enable SSL/TLS for API
# 可选值 Values: true, false
# 默认 Default: false
ASTRBOT_SSL_ENABLE=false

# SSL 证书路径(PEM 格式)
# SSL certificate path (PEM format)
# 示例 Example: /etc/astrbot/certs/myinstance/fullchain.pem
ASTRBOT_SSL_CERT=""

# SSL 私钥路径(PEM 格式)
# SSL private key path (PEM format)
# 示例 Example: /etc/astrbot/certs/myinstance/privkey.pem
ASTRBOT_SSL_KEY=""

# SSL CA 证书链路径(可选,用于客户端验证)
# SSL CA certificates bundle (optional, for client verification)
# 示例 Example: /etc/ssl/certs/ca-certificates.crt
ASTRBOT_SSL_CA_CERTS=""

# ------------------------------------------
# 代理配置 / Proxy Configuration
# ------------------------------------------

# HTTP 代理地址
# HTTP proxy URL
# 示例 Example: http://127.0.0.1:7890, socks5://127.0.0.1:1080
# http_proxy=

# HTTPS 代理地址
# HTTPS proxy URL
# 示例 Example: http://127.0.0.1:7890, socks5://127.0.0.1:1080
# https_proxy=

# 不走代理的主机列表(逗号分隔)
# Hosts to bypass proxy (comma-separated)
# 示例 Example: localhost,127.0.0.1,192.168.0.0/16,.local
# no_proxy=localhost,127.0.0.1

# ------------------------------------------
# 第三方集成 / Third-party Integrations
# ------------------------------------------

# 阿里云 DashScope API 密钥(用于 Rerank 服务)
# Alibaba DashScope API Key (for Rerank service)
# 获取地址 Get from: https://dashscope.console.aliyun.com/
# 示例 Example: sk-xxxxxxxxxxxx
# DASHSCOPE_API_KEY=

# Coze 集成
# Coze integration
# 获取地址 Get from: https://www.coze.com/
# COZE_API_KEY=
# COZE_BOT_ID=

# 计算机控制相关的数据目录(用于截图/文件存储)
# Computer control data directory (for screenshots/file storage)
# 示例 Example: /var/lib/astrbot/bay_data
# BAY_DATA_DIR=

# ------------------------------------------
# 平台特定配置 / Platform-specific Configuration
# ------------------------------------------

# QQ 官方机器人测试模式开关
# QQ official bot test mode
# 可选值 Values: on, off
# 默认 Default: off
# TEST_MODE=off

# End of template / 模板结束
2 changes: 2 additions & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
git pull
git status
15 changes: 9 additions & 6 deletions .github/workflows/smoke_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ on:
branches:
- master
paths-ignore:
- 'README*.md'
- 'changelogs/**'
- 'dashboard/**'
- "README*.md"
- "changelogs/**"
- "dashboard/**"
pull_request:
workflow_dispatch:

Expand All @@ -16,7 +16,7 @@ jobs:
name: Run smoke tests
runs-on: ubuntu-latest
timeout-minutes: 10

steps:
- name: Checkout
uses: actions/checkout@v6
Expand All @@ -26,8 +26,8 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.12'
python-version: "3.12"

- name: Install UV package manager
run: |
pip install uv
Expand All @@ -40,6 +40,9 @@ jobs:
- name: Run smoke tests
run: |
uv run main.py &
# uv tool install -e . --force
# astrbot init -y
# astrbot run --backend-only &
APP_PID=$!

echo "Waiting for application to start..."
Expand Down
25 changes: 23 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# Python related
__pycache__
.mypy_cache
.venv*
.conda/
uv.lock
Expand Down Expand Up @@ -51,16 +50,38 @@ astrbot.lock
chroma
venv/*
pytest.ini
AGENTS.md
IFLOW.md

# genie_tts data
CharacterModels/
GenieData/
.agent/
.codex/
.claude/
.opencode/
.kilocode/
.serena
.worktrees/

.astrbot_sdk_testing/
.env
dashboard/warker.js
dashboard/bun.lock
.pua/

# Rust build artifacts
rust/target/

# Build outputs
dist/
*.whl
# 拓展模块
*.so
*.dll

# MDI font subset (generated by dashboard/scripts/subset-mdi-font.mjs)
dashboard/src/assets/mdi-subset/*.woff
dashboard/src/assets/mdi-subset/*.woff2
.planning
*cache
node_modules
34 changes: 17 additions & 17 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,20 @@ ci:
autoupdate_schedule: weekly
autoupdate_commit_msg: ":balloon: pre-commit autoupdate"
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.14.1
hooks:
# Run the linter.
- id: ruff-check
types_or: [ python, pyi ]
args: [ --fix ]
# Run the formatter.
- id: ruff-format
types_or: [ python, pyi ]
- repo: https://github.com/asottile/pyupgrade
rev: v3.21.0
hooks:
- id: pyupgrade
args: [--py310-plus]
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.15.7
hooks:
# Run the linter.
- id: ruff-check
types_or: [python, pyi]
args: [--fix]
# Run the formatter.
- id: ruff-format
types_or: [python, pyi]

- repo: https://github.com/asottile/pyupgrade
rev: v3.21.2
hooks:
- id: pyupgrade
args: [--py312-plus]
2 changes: 1 addition & 1 deletion .python-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.12
3.12
35 changes: 30 additions & 5 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@
### Core

```
uv sync
uv run main.py
uv tool install -e . --force
astrbot init
astrbot run # start the bot
astrbot run --backend-only # start the backend only
```

Exposed an API server on `http://localhost:6185` by default.
Expand All @@ -13,8 +15,8 @@ Exposed an API server on `http://localhost:6185` by default.

```
cd dashboard
pnpm install # First time only. Use npm install -g pnpm if pnpm is not installed.
pnpm dev
bun install # First time only.
bun dev
```

Runs on `http://localhost:3000` by default.
Expand All @@ -27,8 +29,31 @@ Runs on `http://localhost:3000` by default.
4. When committing, ensure to use conventional commits messages, such as `feat: add new agent for data analysis` or `fix: resolve bug in provider manager`.
5. Use English for all new comments.
6. For path handling, use `pathlib.Path` instead of string paths, and use `astrbot.core.utils.path_utils` to get the AstrBot data and temp directory.
7. Use Python 3.12+ type hinting syntax (e.g., `list[str]` over `List[str]`, `int | None` over `Optional[int]`). Avoid using `Any` and `cast()` - use proper TypedDict, dataclass, or Protocol instead. When encountering dict access issues (e.g., `msg.get("key")` where ty infers wrong type), define a TypedDict with `total=False` to explicitly declare allowed keys.

Good example:
```python
class MessageComponent(TypedDict, total=False):
type: str
text: str
path: str
```

Bad example (avoid):
```python
msg: Any = something
msg = cast(dict, msg)
```
8. When introducing new environment variables:
- Use the `ASTRBOT_` prefix for naming (e.g., `ASTRBOT_ENABLE_FEATURE`).
- Add the variable and description to `.env.example`.
- Update `astrbot/cli/commands/cmd_run.py`:
- Add to the module docstring under "Environment Variables Used in Project".
- Add to the `keys_to_print` list in the `run` function for debug output.
9. To check all available CLI commands and their usage recursively, run `astrbot help --all`.
10. uv sync --group dev && uv run pytest --cov=astrbot tests/

## PR instructions

1. Title format: use conventional commit messages
2. Use English to write PR title and descriptions.
2. Use English to write PR title and descriptions./<
Loading
Loading