LIghtJUNction
4fd77ea008
修复:启动链,参数/环境变量加载逻辑优化
2026-03-20 19:47:04 +08:00
LIghtJUNction
78edc0fff8
修复:启动链,参数/环境变量加载逻辑优化
2026-03-20 19:44:12 +08:00
LIghtJUNction
4f04d39348
同步:同步主线
2026-03-20 16:59:43 +08:00
LIghtJUNction
13132517b2
重构: 修正一些错误,引入_internel包
2026-03-20 16:51:27 +08:00
LIghtJUNction
804a02a2d1
fix(types): await anyio.open_file before async use to satisfy type checkers
2026-03-20 16:36:22 +08:00
LIghtJUNction
f076799b81
fix: async dashboard version read via anyio async context manager
2026-03-20 16:33:51 +08:00
LIghtJUNction
0068825cd5
cli(init): add --root option and generate .env from config.template into ASTRBOT_ROOT (auto-loaded by run)
2026-03-20 16:24:02 +08:00
LIghtJUNction
0b2a143681
cli(run): simplify env loading — move .env early-load to astrbot_path; service-config treated as .env; preserve CLI > service-config > .env precedence
2026-03-20 16:05:30 +08:00
LIghtJUNction
0e95a47276
fix: import error
2026-03-20 15:18:03 +08:00
Yufeng He
39131d2e12
fix: Follow-up logic persists after /stop trigger ( #6656 )
...
/stop 设置 agent_stop_requested 标记,但 runner 直到当前工具调用
超时才从 _ACTIVE_AGENT_RUNNERS 注销。在此窗口期内,用户发的新消息
被 try_capture_follow_up() 当作 follow-up 吞掉。
在 follow-up 捕获前检查 stop 标记:一旦用户请求停止,就不再把后续
消息注入到正在终止的 agent 上下文中。
Fixes #6626
2026-03-20 13:53:56 +08:00
letr
735bd43648
fix(dashboard): simplify persona selector layout for mobile screens ( #5907 )
2026-03-20 13:45:21 +08:00
Soulter
6a42ad7934
fix(openai): improve logging for proxy and API base configuration ( #6669 )
...
fix : #6558
2026-03-20 13:42:58 +08:00
daniel5u
b07dbb3d26
feat: add Kimi Coding Plan provider with Anthropic API compatibility ( #6559 )
...
* Add Kimi Code provider
* Add icon mapping for Kimi Code provider
* Clarify Kimi CodingPlan provider labeling
* Refine Kimi Code header handling
* modified docker compose
* fix: correct Kimi Coding Plan label and update API base URL
---------
Co-authored-by: Soulter <905617992@qq.com >
2026-03-20 13:32:06 +08:00
leonforcode
0b69034491
fix: prevent truncation logic from removing the only user message in long tool-calling conversations ( #6198 )
...
* fix: 压缩算法删除 user 消息 Bug 修复
* perf: improve truncate algo
---------
Co-authored-by: Soulter <905617992@qq.com >
2026-03-20 12:05:54 +08:00
Yufeng He
e286da75c4
fix: 截断器丢失唯一 user 消息导致智谱等 provider 返回 400 ( #6581 )
...
* fix: 截断器丢失唯一 user 消息导致 API 400
修复 #6196
当对话只有一条 user 消息(长 tool chain 场景:system → user → assistant
→ tool → assistant → tool → ...),三个截断方法都会把这条 user 消息丢掉,
导致智谱、Gemini 等要求 user 消息的 provider 返回 400。
改动:
- 提取 `_split_system_rest()` 去掉三个方法里重复的 system/non-system 拆分
- 新增 `_ensure_user_message()`:截断后如果没有 user 了,从原始消息里补回
第一条 user,避免违反 API 格式要求
- 删掉 `truncate_by_dropping_oldest_turns` 里把没有 user 就清空全部消息的逻辑
- 5 个新测试覆盖单 user + 长 tool chain 场景,3 个旧测试更新断言
* style: format code
---------
Co-authored-by: Yufeng He <40085740+universeplayer@users.noreply.github.com >
Co-authored-by: RC-CHN <1051989940@qq.com >
2026-03-20 10:06:20 +08:00
LIghtJUNction
bf11f4c376
chore: fw2hw
2026-03-20 00:44:39 +08:00
LIghtJUNction
ef5dac77a2
chore: fw2hw
2026-03-20 00:44:08 +08:00
LIghtJUNction
92bae1fdae
docs: replace prints with logger in upload_doc_images_to_r2.py
2026-03-19 23:30:25 +08:00
LIghtJUNction
a3371ad6c8
core: refactor modules & fix typing/runtime issues
2026-03-19 23:06:27 +08:00
LIghtJUNction
8184e20850
dashboard: validate SSL file paths with pathlib before use (fix typing/runtime issues)
2026-03-19 22:41:04 +08:00
LIghtJUNction
a4e6e16fd8
fix: surface https backend requirement in dashboard ( #6623 )
...
* fix: surface https backend requirement in dashboard
* Update dashboard/src/stores/api.ts
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-19 20:35:32 +08:00
LIghtJUNction
cc88ac6bef
fix(cli): export webui group symbol
2026-03-19 20:09:47 +08:00
LIghtJUNction
b6f4614c58
fix(cli): robust password hashing when argon2 missing (fallback to PBKDF2)
2026-03-19 20:02:24 +08:00
LIghtJUNction
f03040a12e
chore(pyproject): limit requires-python <3.14 to avoid resolver mismatch in env
2026-03-19 19:58:27 +08:00
LIghtJUNction
1bb73ab3cf
feat(cli): add 'webui' group + register command in CLI
2026-03-19 19:53:48 +08:00
LIghtJUNction
17b0dfe974
fix(cli): restore cmd_conf password hashing and validators; use absolute import for check_astrbot_root
2026-03-19 19:46:21 +08:00
LIghtJUNction
d16f62423c
Merge branch 'master' into dev
2026-03-19 19:25:47 +08:00
machina
7008a46158
fix: update hint for ID whitelist configuration to clarify behavior when empty ( #6611 )
...
* fix: update hint for ID whitelist configuration to clarify behavior when empty
* fix: update whitelist hint
---------
Co-authored-by: machina <1531829828@qq.com >
Co-authored-by: Soulter <905617992@qq.com >
2026-03-19 19:06:53 +08:00
Soulter
5a90b56e45
fix(openai): Token usage not working when using MoonshotAI official API ( #6618 )
...
fixes : #6614
2026-03-19 19:04:24 +08:00
LIghtJUNction
c0282e4d28
Potential fix for code scanning alert no. 45: 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>
2026-03-19 17:40:25 +08:00
LIghtJUNction
fce8069b18
Potential fix for code scanning alert no. 44: 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>
2026-03-19 17:40:09 +08:00
LIghtJUNction
201a19a63e
Potential fix for code scanning alert no. 46: 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>
2026-03-19 17:39:55 +08:00
Yufeng He
2cb6c84eeb
feat: context token counting support for multimodal content (images, audio, and chain-of-thought) ( #6596 )
...
EstimateTokenCounter 之前只计算 TextPart,完全忽略 ImageURLPart、
AudioURLPart 和 ThinkPart。多模态对话中图片占 500-2000 token,
不被计入会导致 context 压缩触发过晚,API 先报 context_length_exceeded。
改动:
- ImageURLPart 按 765 token 估算(OpenAI vision 低/高分辨率中位数)
- AudioURLPart 按 500 token 估算
- ThinkPart 的文本内容正常计算
- 10 个新测试覆盖各类型单独和混合场景
Co-authored-by: Yufeng He <40085740+universeplayer@users.noreply.github.com >
2026-03-19 17:25:49 +08:00
Soulter
1a1d83d3be
fix(wecom-aibot): significantly improve streaming readability and speed via add throttling ( #6610 )
...
* fix(wecom-ai): add 0.5s interval for streaming responses
* fix(wecom-ai): correct event type checking and add spacing in WecomAIBotMessageEvent
2026-03-19 17:14:42 +08:00
Scofield
a748264fa4
fix: prevent wecom ai bot long connection replies from disappearing ( #6606 )
...
* fix: prevent empty fallback replies from clearing wecom ai bot output
* fix: 优化消息发送逻辑,避免发送空消息
---------
Co-authored-by: shijianhuai <shijianhuai@simuwang.com >
Co-authored-by: Soulter <905617992@qq.com >
2026-03-19 16:56:15 +08:00
LIghtJUNction
664bc68093
fix: support github pages base path config ( #6608 )
2026-03-19 16:03:52 +08:00
Ruochen Pan
2cda708eba
docs(sandbox): clarify section references in guides ( #6591 )
2026-03-19 10:07:30 +08:00
Ruochen Pan
7f897887fd
feat (doc) : Add doc for shipyard-neo sandbox driver ( #6590 )
...
* fix(ui): localize session management group texts
Replace hardcoded Chinese strings in SessionManagementPage with i18n
lookups for group management labels, dialogs, and action feedback.
Add and align translation keys in en-US, ru-RU, and zh-CN for group
management and batch operation messages to ensure consistent multilingual
UI behavior.
* fix(ui): localize interval method hint text
* docs(sandbox): document shipyard neo setup
Expand the Chinese sandbox guide to cover Shipyard Neo as the
recommended driver and distinguish it from legacy Shipyard.
Add deployment and configuration guidance for standalone and
compose-based setups, include a full annotated config example,
and clarify profile selection, TTL behavior, workspace paths,
and persistence semantics.
* docs(sandbox): recommend standalone shipyard neo
Clarify that Shipyard Neo is best deployed on a separate,
better-provisioned host for long-term use.
Update the setup steps and AstrBot connection guidance, and
remove the earlier combined Docker Compose deployment flow.
* docs(sandbox): expand shipyard neo guide
Document Shipyard Neo as the recommended sandbox driver and
clarify how it differs from the legacy Shipyard setup.
Add guidance for deployment, performance requirements, Bay
configuration, profile selection, TTL behavior, workspace
persistence, and browser capability support.
Also reorganize the sandbox configuration section and keep the
legacy Shipyard instructions for compatibility.
* docs(sandbox): fix shipyard neo doc links
Update the sandbox guides in English and Chinese to link
directly to the upstream `config.yaml` example.
Replace duplicated TTL and persistence notes with references
to the dedicated sections to keep the guide concise and easier
to maintain.
2026-03-19 10:00:19 +08:00
LIghtJUNction
b49c3210d9
Update linting rules in pyproject.toml
...
Added new rules for isort, pyupgrade, flake8-debugger, flake8-print, flake8-pyi, flake8-pytest-style, flake8-tidy-imports, and Ruff-specific rules.
2026-03-19 03:35:58 +08:00
LIghtJUNction
46b7a4e441
move runtime_bootstrap.py
2026-03-19 03:25:24 +08:00
LIghtJUNction
ee1f9dece8
fix:gh-pages
2026-03-19 01:32:43 +08:00
LIghtJUNction
99453652f8
fix(plugin): make temporary requirements context manager async to allow and avoid blocking event loop
2026-03-19 00:04:59 +08:00
LIghtJUNction
6e90937ab4
fix: path
2026-03-18 23:51:33 +08:00
エイカク
40076b6aff
fix: set packaged Windows runtime build env for pip native builds ( #6575 )
...
* Fix Windows packaged runtime pip build env
* test(pip): cover packaged runtime env injection edges
* refactor(pip): tighten packaged runtime env handling
* test(pip): cover missing runtime build dirs
* fix(pip): build runtime env inside locked section
* test(pip): expand windows path normalization coverage
* refactor(pip): build runtime env from snapshots
* fix(pip): preserve windows env key semantics
* refactor(pip): simplify windows runtime env handling
Keep the in-process pip environment mutation and case-insensitive INCLUDE/LIB handling localized so packaged Windows builds are easier to follow. Add a UNC no-op regression case to guard path normalization.
* refactor(pip): streamline runtime env mutation helpers
Keep packaged Windows pip environment handling easier to follow by reusing a temporary environment context manager, isolating case-insensitive INCLUDE/LIB lookup, and documenting native path normalization behavior.
2026-03-19 00:07:03 +09:00
LIghtJUNction
bb4e9f61f4
Merge branch 'master' into dev
2026-03-18 23:03:00 +08:00
LIghtJUNction
98a8502ebe
fix: resolve asynchronous context manager and coroutine attribute issues
...
- Fixed '_GeneratorContextManager' error in pip_installer.py by using synchronous 'with' for constraints_file().
- Fixed 'CoroutineType' has no attribute 'is_file' in dashboard/routes/config.py by adding missing await.
- Fixed undefined names (Group, ComponentTypes, File, Reply, At) in aiocqhttp_platform_adapter.py.
- Added 'pytest-cov' for code coverage testing.
2026-03-18 22:35:49 +08:00
LIghtJUNction
a410fa3351
fix: path
2026-03-18 21:20:11 +08:00
糯米茨
24554cf443
enhance:更改未完成更新的文档用词问题(多处“消息平台”已更名为“机器人”) ( #6568 )
...
* Update kubernetes.md
* Update discord.md
* Update kubernetes.md
* Update AstrBot setup instructions in Kubernetes doc
2026-03-18 21:12:39 +08:00
LIghtJUNction
9cbf253697
chore: remove redundant pdf parser type ignores
2026-03-18 20:12:58 +08:00
LIghtJUNction
a92dfc3913
refactor: simplify cli initialization and uninstall messaging
2026-03-18 20:12:53 +08:00