发生了什么
我在AstrBot的WebUI中的本插件的配置设置中填写UMO并保存时,整个AstrBot就崩溃了。
我把日志给deepseek看了,然后验证了一下。可能的原因是Proactive Chat 插件在初始化时会启动一个内部 Web 服务器跑在 127.0.0.1:4100,当在主面板(http://127.0.0.1:6185)保存配置时,AstrBot 会发一个"配置已变更"的通知给插件。插件收到后尝试重启自己的 Web 服务器,但它没有先停掉旧的,直接起新的 → 两个进程抢 4100 端口 → uvicorn 内部调了 sys.exit(1) → 整个 AstrBot 被拉倒。
如何复现?
1.打开AstrBot WebUI
2.在AstrBot插件中找到主动消息并打开插件配置
3.更改配置后点击保存并退出
插件版本
v1.2.4
AstrBot 版本
v4.25.2
部署方式
AstrBot App 桌面应用部署
使用的消息平台适配器
QQ 官方机器人 (Websockets 方式)
其他平台名称(如选择“其他平台”请填写)
No response
操作系统
Windows
补充说明(可选)
No response
报错日志
[20:54:26.504] [Core] [ERRO] [v4.25.2] [star.star_manager:1245]: ----- 插件 astrbot_plugin_proactive_chat 载入失败 -----
[20:54:26.509] [Core] [ERRO] [v4.25.2] [star.star_manager:1248]: | Traceback (most recent call last):
| File "E:\ProgramFiles\AstrBot\backend\python\Lib\site-packages\uvicorn\server.py", line 172, in startup
| server = await loop.create_server(
| File "E:\ProgramFiles\AstrBot\backend\python\Lib\asyncio\base_events.py", line 1584, in create_server
| raise OSError(err.errno, msg) from None
| OSError: [Errno 10048] error while attempting to bind on address ('127.0.0.1', 4100): [winerror 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
| During handling of the above exception, another exception occurred:
| Traceback (most recent call last):
| File "E:\ProgramFiles\AstrBot\backend\python\Lib\asyncio\runners.py", line 195, in run
| return runner.run(main)
| ...
| File "C:\Users\s1oth.astrbot\data\plugins\astrbot_plugin_proactive_chat\core\web_admin_server.py", line 1299, in _serve
| await self.server.serve()
| File "E:\ProgramFiles\AstrBot\backend\python\Lib\site-packages\uvicorn\server.py", line 182, in startup
| sys.exit(1)
| SystemExit: 1
| During handling of the above exception, another exception occurred:
| Traceback (most recent call last):
| File "\?\E:\ProgramFiles\AstrBot\backend\app\astrbot\core\star\star_manager.py", line 1229, in load
| await metadata.star_cls.initialize()
| File "C:\Users\s1oth.astrbot\data\plugins\astrbot_plugin_proactive_chat\core\plugin_lifecycle.py", line 138, in initialize
| await self.web_admin_server.start()
| File "C:\Users\s1oth.astrbot\data\plugins\astrbot_plugin_proactive_chat\core\web_admin_server.py", line 1324, in start
| await asyncio.sleep(0.1)
| asyncio.exceptions.CancelledError
你愿意提交 PR 吗?
Code of Conduct
发生了什么
我在AstrBot的WebUI中的本插件的配置设置中填写UMO并保存时,整个AstrBot就崩溃了。
我把日志给deepseek看了,然后验证了一下。可能的原因是Proactive Chat 插件在初始化时会启动一个内部 Web 服务器跑在 127.0.0.1:4100,当在主面板(http://127.0.0.1:6185)保存配置时,AstrBot 会发一个"配置已变更"的通知给插件。插件收到后尝试重启自己的 Web 服务器,但它没有先停掉旧的,直接起新的 → 两个进程抢 4100 端口 → uvicorn 内部调了 sys.exit(1) → 整个 AstrBot 被拉倒。
如何复现?
1.打开AstrBot WebUI
2.在AstrBot插件中找到主动消息并打开插件配置
3.更改配置后点击保存并退出
插件版本
v1.2.4
AstrBot 版本
v4.25.2
部署方式
AstrBot App 桌面应用部署
使用的消息平台适配器
QQ 官方机器人 (Websockets 方式)
其他平台名称(如选择“其他平台”请填写)
No response
操作系统
Windows
补充说明(可选)
No response
报错日志
[20:54:26.504] [Core] [ERRO] [v4.25.2] [star.star_manager:1245]: ----- 插件 astrbot_plugin_proactive_chat 载入失败 -----
[20:54:26.509] [Core] [ERRO] [v4.25.2] [star.star_manager:1248]: | Traceback (most recent call last):
| File "E:\ProgramFiles\AstrBot\backend\python\Lib\site-packages\uvicorn\server.py", line 172, in startup
| server = await loop.create_server(
| File "E:\ProgramFiles\AstrBot\backend\python\Lib\asyncio\base_events.py", line 1584, in create_server
| raise OSError(err.errno, msg) from None
| OSError: [Errno 10048] error while attempting to bind on address ('127.0.0.1', 4100): [winerror 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
| During handling of the above exception, another exception occurred:
| Traceback (most recent call last):
| File "E:\ProgramFiles\AstrBot\backend\python\Lib\asyncio\runners.py", line 195, in run
| return runner.run(main)
| ...
| File "C:\Users\s1oth.astrbot\data\plugins\astrbot_plugin_proactive_chat\core\web_admin_server.py", line 1299, in _serve
| await self.server.serve()
| File "E:\ProgramFiles\AstrBot\backend\python\Lib\site-packages\uvicorn\server.py", line 182, in startup
| sys.exit(1)
| SystemExit: 1
| During handling of the above exception, another exception occurred:
| Traceback (most recent call last):
| File "\?\E:\ProgramFiles\AstrBot\backend\app\astrbot\core\star\star_manager.py", line 1229, in load
| await metadata.star_cls.initialize()
| File "C:\Users\s1oth.astrbot\data\plugins\astrbot_plugin_proactive_chat\core\plugin_lifecycle.py", line 138, in initialize
| await self.web_admin_server.start()
| File "C:\Users\s1oth.astrbot\data\plugins\astrbot_plugin_proactive_chat\core\web_admin_server.py", line 1324, in start
| await asyncio.sleep(0.1)
| asyncio.exceptions.CancelledError
你愿意提交 PR 吗?
Code of Conduct