主要改动在 main.py: process_message(...) 现在只做入队,立刻返回 True, "queued",主链路立即释放。 原来的完整处理逻辑迁到 _process_message_impl(...),由后台 worker 消费队列执行。 新增队列 worker 循环 _message_worker_loop(...),并在 start()/stop() 管理生命周期。 增加 _ensure_workers_started(),避免插件在无事件循环阶段 create_task 报错(延迟到有 loop 时启动)。 保留了之前的 LLM 防阻塞措施:to_thread + semaphore + timeout。 配置也加在 config.toml 的 [runtime]: llm_max_concurrency = 3 llm_call_timeout_sec = 120 queue_worker_count = 2 queue_maxsize = 500 已做语法校验:py_compile 通过。
46 KiB
46 KiB