Skip to content
Draft

dev #6325

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
660 commits
Select commit Hold shift + click to select a range
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
7d22cfb
chore: gitignore
LIghtJUNction Apr 8, 2026
43156d6
Merge branch 'origin/dev' into dev
LIghtJUNction Apr 8, 2026
b3c3f52
chore: remove pnpm-lock.yaml
LIghtJUNction Apr 8, 2026
86a78b5
chore: ignore pnpm-lock.yaml
LIghtJUNction Apr 8, 2026
89209ae
fix(deps): bump pinia to ^3.0.4 for vue-router@5.0.4 compatibility
LIghtJUNction Apr 8, 2026
ba7ace4
fix: add .npmrc with legacy-peer-deps=true
LIghtJUNction Apr 8, 2026
dd36913
fix(discord): resolve 'await' outside async function in collect_comma…
LIghtJUNction Apr 8, 2026
25f1081
fix(dashboard): redirect to server config dialog when backend URL not…
LIghtJUNction Apr 8, 2026
07b49b9
fix(deps): bump vite to 8.0.5 (resolves 3 security advisories)
LIghtJUNction Apr 8, 2026
3f1a148
fix(dashboard): auto-prepend https:// for backend URLs without protocol
LIghtJUNction Apr 8, 2026
3cd48ad
feat(cli): block password change if astrbot is running
LIghtJUNction Apr 8, 2026
33f54aa
fix(updator): skip update prompt when prerelease version >= latest st…
LIghtJUNction Apr 8, 2026
ec1af1a
ruff check --fix --select ALL
LIghtJUNction Apr 10, 2026
7a23c26
chore: gitignore
LIghtJUNction Apr 10, 2026
e781c5e
chore: ruff check --fix --select ALL
LIghtJUNction Apr 10, 2026
aa279f0
chore: ruff format .
LIghtJUNction Apr 10, 2026
18e6659
chore: ruff check --fix && ruff format .
LIghtJUNction Apr 10, 2026
5303e40
Merge branch 'master' into dev
LIghtJUNction Apr 10, 2026
dcf84e6
feat: enhance CLI prompts and fix frontend 401 handling
LIghtJUNction Apr 10, 2026
9daf44a
feat(cli): add detailed version command with system and git info
LIghtJUNction Apr 10, 2026
1cd49b4
refactor(cli): remove logo from default CLI output
LIghtJUNction Apr 10, 2026
cb9d7c0
fix(cli): only run runtime bootstrap when needed
LIghtJUNction Apr 10, 2026
6a81739
feat(cli): show ASCII logo and QR code only in interactive mode
LIghtJUNction Apr 10, 2026
ec363aa
fix(core): suppress SSL protocol errors from logging
LIghtJUNction Apr 10, 2026
8946a90
feat(provider): add lm_studio timeout in advanced config (#6415)
exynos967 Apr 10, 2026
7543dd2
refactor: remove TUI module and fix type annotations
LIghtJUNction Apr 11, 2026
3fc29a6
fix(provider): add missing ClassVar import in gemini_source
LIghtJUNction Apr 11, 2026
4d1e0ef
merge: resolve conflicts from upstream
LIghtJUNction Apr 15, 2026
e16e5c7
fix: resolve merge conflicts from upstream and fix tool conflict reso…
LIghtJUNction Apr 15, 2026
6d49428
Merge remote-tracking branch 'origin' into dev
LIghtJUNction Apr 18, 2026
33ec7bb
merge: master -> dev
LIghtJUNction Apr 22, 2026
c4048bb
refactor: delete _internal
LIghtJUNction Apr 22, 2026
60738b4
Update internal.py
LIghtJUNction Apr 22, 2026
5e32fdf
Update context.py
LIghtJUNction Apr 22, 2026
2ecd95b
chore: ruff check && format
LIghtJUNction Apr 22, 2026
1b76af4
test: improve storage_cleaner tests (constants, helpers, clearer asse…
LIghtJUNction Apr 22, 2026
4463895
chore: improve code quality score from 55 to 81
LIghtJUNction Apr 28, 2026
5f827ff
feat: persistent shell session and remove dead ToolSessionManager
LIghtJUNction Apr 28, 2026
63e1988
chore: merge CLAUDE.md into AGENTS.md and remove CLAUDE.md
LIghtJUNction Apr 28, 2026
0208dbb
Merge branch 'master' of https://github.com/AstrBotDevs/AstrBot into dev
LIghtJUNction Apr 28, 2026
f5d60f3
fix: restore persistent shell session lost in merge, upgrade axios to…
LIghtJUNction Apr 28, 2026
497fefb
fix: restore missing sentinel classes and import lost in merge
LIghtJUNction Apr 28, 2026
1acefcd
fix: restore dashboard to pre-merge version (broken by -X theirs merge)
LIghtJUNction Apr 28, 2026
c059d60
fix: port IME enter fix and Firecrawl tool name from master
LIghtJUNction Apr 28, 2026
9bc8731
fix: add Firecrawl API key and CUA image config from master
LIghtJUNction Apr 28, 2026
2c3bceb
feat: add file dedup and signature check from master attachment handling
LIghtJUNction Apr 28, 2026
946685d
fix: re-export BACKGROUND_TASK_WOKE_USER_PROMPT and CONVERSATION_HIST…
LIghtJUNction Apr 28, 2026
7c4a061
feat: port attachment handling improvements from master
LIghtJUNction Apr 28, 2026
d57582e
fix: restore merge-dropped port/ip_addr variable definitions and payl…
LIghtJUNction Apr 28, 2026
716e651
feat: add inline message editing and regeneration functionality for w…
LIghtJUNction Apr 28, 2026
e610c49
fix: port IME enter fix and Firecrawl tool name from master
LIghtJUNction Apr 28, 2026
4925397
fix: restore IME fix, fileTypeStyles, clearStaged fix lost in inline …
LIghtJUNction Apr 28, 2026
50b1485
fix: add 5 missing SQLiteDatabase method implementations lost in merge
LIghtJUNction Apr 28, 2026
1d36f04
fix: restore _sanitize_upload_filename function lost in merge
LIghtJUNction Apr 28, 2026
0c47c27
test: add import smoke, auth roundtrip, and startup tests
LIghtJUNction Apr 28, 2026
846a1ab
test: add main.py syntax check and SQLiteDatabase abstract method check
LIghtJUNction Apr 28, 2026
71ce6b0
test: add compile-all check and CLI entry point test for AUR compat
LIghtJUNction Apr 28, 2026
e9a62f7
test: align imports with PKGBUILD check(), add AUR startup chain tests
LIghtJUNction Apr 28, 2026
cafe26b
fix: repair test failures from merge
LIghtJUNction Apr 28, 2026
3fb7515
fix: LocalShellComponent tests - mock sessions to avoid event loop co…
LIghtJUNction Apr 28, 2026
afb0f88
fix: test_cua_config_log logger mock compat with multi-arg info calls
LIghtJUNction Apr 28, 2026
585b871
test: add dashboard API smoke tests for all route classes
LIghtJUNction Apr 28, 2026
4480bc2
fix: test_ensure_vec_db mock path and create kb_dir to avoid SQLite e…
LIghtJUNction Apr 28, 2026
d3793ee
fix: align test_initial_loader with current InitialLoader.start imple…
LIghtJUNction Apr 28, 2026
d6c4c70
fix: add missing functools and TYPE_CHECKING imports in shipyard.py
LIghtJUNction Apr 28, 2026
1bc8175
fix: make registered_web_apis/_register_tasks instance vars, add rese…
LIghtJUNction Apr 28, 2026
b403422
test: cover all non-placeholder API routes with parametrized smoke tests
LIghtJUNction Apr 28, 2026
10fa16e
fix: core_lifecycle event_bus cleanup, initialize_core sets dashboard…
LIghtJUNction Apr 28, 2026
d8eb3d3
fix: dashboard_shutdown_event None safety, missing KnowledgeBaseUploa…
LIghtJUNction Apr 28, 2026
a0c9cc8
fix: test_api.py type errors - inline kwargs, fix ParameterSet import…
LIghtJUNction Apr 28, 2026
dcaaf62
test: comprehensive test coverage and type fixes
LIghtJUNction Apr 28, 2026
c7cfb81
fix: replace optional chaining/nullish coalescing in Vue templates
LIghtJUNction Apr 28, 2026
e875709
fix: reasoning_content None guard in openai_source think part parsing
LIghtJUNction Apr 28, 2026
adc31fd
Fix: NoneType += str error in openai_source.py
LIghtJUNction Apr 28, 2026
9f999e4
test: add test for None think content edge case in openai_source
LIghtJUNction Apr 28, 2026
361f42f
fix: add exc_info to agent error log for debugging NoneType += str
LIghtJUNction Apr 28, 2026
1f3f86a
fix: system_prompt None guard before += in _ensure_persona_and_skills
LIghtJUNction Apr 28, 2026
40fb75f
test: regression test for system_prompt=None + TypeError
LIghtJUNction Apr 28, 2026
5e0fece
feat: add Computer Use step to onboarding wizard
LIghtJUNction Apr 28, 2026
85a50ef
Revert "feat: add Computer Use step to onboarding wizard"
LIghtJUNction Apr 28, 2026
de590c4
feat: add Computer Use step to onboarding wizard (sync with master)
LIghtJUNction Apr 28, 2026
a131d7f
fix: add fetchDefaultConfig helper for computer access step
LIghtJUNction Apr 28, 2026
eac4215
fix: add missing clear_persona param to SQLiteDatabase.update_convers…
LIghtJUNction Apr 29, 2026
7a0909a
test: add regression test for update_conversation clear_persona param
LIghtJUNction Apr 29, 2026
daee102
test: comprehensive import smoke tests for all dashboard routes
LIghtJUNction Apr 29, 2026
169a856
test: mass-coverage push — ~1000+ new unit tests
LIghtJUNction Apr 29, 2026
d582a85
test: dashboard routes unit tests for chat/conversation/open_api
LIghtJUNction Apr 29, 2026
8b609a9
fix: jsonschema ValidationError import in test_tool
LIghtJUNction Apr 29, 2026
e980151
test: utils test expansion - network, command_parser, storage, tempdi…
LIghtJUNction Apr 29, 2026
3d7dff6
test: final coverage batch - utils, pipeline, agent, star tests
LIghtJUNction Apr 29, 2026
6996dbd
Update .gitignore
LIghtJUNction Apr 29, 2026
a5141e2
ci(dashboard): add biome lint check to CI workflow
LIghtJUNction Apr 29, 2026
284700d
feat(dashboard): support first-login auto admin setup
LIghtJUNction Apr 29, 2026
e9c3481
wip: current local changes before squash rebase
LIghtJUNction May 7, 2026
d373a24
merge: sync origin/master into dev
LIghtJUNction May 8, 2026
273b677
test: fix unit tests after master→dev merge
LIghtJUNction May 8, 2026
987099d
chore: merge origin/master into dev
LIghtJUNction May 19, 2026
92c58f8
fix: resolve merge follow-ups (typing, imports, frontend tests)
LIghtJUNction May 19, 2026
ec0baa4
Merge remote-tracking branch 'origin' into dev
LIghtJUNction May 19, 2026
03b3373
fix: add missing Any import in zip_updator
LIghtJUNction May 19, 2026
0b4cf94
chore: fix zip_updator lint errors and allowlist existing frontend vi…
LIghtJUNction May 19, 2026
01aafc2
fix: resolve circular import in updator.py
LIghtJUNction May 21, 2026
4098303
refactor: miscellaneous updates across modules
LIghtJUNction May 21, 2026
fb4f76a
Merge remote-tracking branch 'origin/master' into dev
LIghtJUNction May 21, 2026
3f4f171
fix: resolve type warnings across core modules
LIghtJUNction May 21, 2026
97f0fd3
feat: add CLI commands documentation and service management features
Soulter May 21, 2026
944afc4
Merge remote-tracking branch 'origin' into dev
LIghtJUNction May 22, 2026
7c224eb
ruff check && format
LIghtJUNction May 22, 2026
250bacc
feat(service): update Windows service command to use PowerShell and e…
Soulter May 22, 2026
96d189f
Merge remote-tracking branch 'origin/feat/service-command' into dev
LIghtJUNction May 22, 2026
9528f1c
fix service command root path helpers
LIghtJUNction May 22, 2026
f48c114
refactor(core): remove tools prompts module
LIghtJUNction May 22, 2026
a368609
Merge remote-tracking branch 'origin/master' into dev
LIghtJUNction May 30, 2026
1b1ae10
ruff
LIghtJUNction May 30, 2026
5990576
Potential fix for code scanning alert no. 89: Binding a socket to all…
LIghtJUNction May 30, 2026
480c078
Merge master into dev to resolve conflicts
Copilot May 30, 2026
99f57c9
Harden selector writes against prototype pollution
Copilot May 30, 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
1 change: 1 addition & 0 deletions .github/workflows/dashboard_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ jobs:
working-directory: dashboard
run: |
pnpm install --frozen-lockfile
pnpm lint:check
pnpm run build

- name: Inject Commit SHA
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '24.13.0'
node-version: "24.13.0"
cache: "pnpm"
cache-dependency-path: dashboard/pnpm-lock.yaml

Expand Down Expand Up @@ -139,7 +139,6 @@ jobs:
name: Dashboard-${{ steps.tag.outputs.tag }}
path: release-assets


- name: Resolve release notes
id: notes
shell: bash
Expand Down
54 changes: 28 additions & 26 deletions .github/workflows/smoke_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,17 @@ on:
branches:
- master
paths-ignore:
- 'README*.md'
- 'changelogs/**'
- 'dashboard/**'
- "README*.md"
- "changelogs/**"
- "dashboard/**"
pull_request:
workflow_dispatch:

jobs:
smoke-test:
name: Smoke test (${{ matrix.os }}, Python ${{ matrix.python-version }})
runs-on: ${{ matrix.os }}
name: Run smoke tests
runs-on: ubuntu-latest
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
python-version:
- '3.10'
- '3.11'
- '3.12'
- '3.13'
- '3.14'

steps:
- name: Checkout
Expand All @@ -39,21 +26,36 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: requirements.txt
python-version: "3.12"

- name: Install uv
- name: Install UV package manager
run: |
python -m pip install --upgrade pip
python -m pip install uv
pip install uv

- name: Install dependencies
run: |
uv pip install --system -r requirements.txt
uv sync
timeout-minutes: 15

- name: Run smoke tests
run: |
python scripts/smoke_startup_check.py
uv run main.py &
# uv tool install -e . --force
# astrbot init -y
# astrbot run --backend-only &
APP_PID=$!

echo "Waiting for application to start..."
for i in {1..60}; do
if curl -f http://localhost:6185 > /dev/null 2>&1; then
echo "Application started successfully!"
kill $APP_PID
exit 0
fi
sleep 1
done

echo "Application failed to start within 30 seconds"
kill $APP_PID 2>/dev/null || true
exit 1
timeout-minutes: 2
33 changes: 31 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,46 @@ astrbot.lock
chroma
venv/*
pytest.ini
AGENTS.md
IFLOW.md
CLAUDE.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

*pinokio*
dashboard/pnpm-lock.yaml
.obsidian
dashboard/.codex
.codex
.zed/settings.json
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
Loading
Loading