j-cli 12.9.7

A fast CLI tool for alias management, daily reports, and productivity
--- a/src/command/chat/handler/tui_loop.rs
+++ b/src/command/chat/handler/tui_loop.rs
@@ -602,6 +602,20 @@ pub fn run(mut app: ChatApp) -> anyhow::Result<()> {
     
     // 停止输入线程
     input_thread.shutdown();
+
+    // ★ 停止所有 teammates(关键修复:防止资源泄漏)
+    if let Ok(mut manager) = app.teammate_manager.lock() {
+        write_info_log("ChatApp", "Stopping all teammates...");
+        manager.stop_all();
+        
+        // 等待 teammates 完成(可选,带超时)
+        for (name, handle) in &manager.teammates {
+            match handle.wait_for_completion(std::time::Duration::from_secs(5)) {
+                Ok(_) => write_info_log("ChatApp", &format!("Teammate '{}' stopped cleanly", name)),
+                Err(_) => write_info_log("ChatApp", &format!("Teammate '{}' stop timeout", name)),
+            }
+        }
+    }
 
     // ★ 空会话不保存:删除无消息的 session 文件
     if app.state.session.messages.is_empty() {