myagent-ai 1.16.9 → 1.16.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/web/api_server.py +34 -13
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myagent-ai",
3
- "version": "1.16.9",
3
+ "version": "1.16.10",
4
4
  "description": "本地桌面端执行型AI助手 - Open Interpreter 风格 | Local Desktop Execution-Oriented AI Assistant",
5
5
  "main": "main.py",
6
6
  "bin": {
package/web/api_server.py CHANGED
@@ -1093,21 +1093,18 @@ class ApiServer:
1093
1093
 
1094
1094
  # ── 尝试 faster-whisper ──
1095
1095
  try:
1096
- # [v1.16.3] 抑制 HuggingFace 未认证警告和 pydub ffmpeg 警告
1097
- import warnings
1098
- warnings.filterwarnings("ignore", message=".*HF_TOKEN.*", category=UserWarning)
1099
- warnings.filterwarnings("ignore", message=".*huggingface_hub.*token.*", category=UserWarning)
1100
- warnings.filterwarnings("ignore", message=".*ffmpeg or avconv.*", category=RuntimeWarning)
1101
- # 抑制 HF Hub telemetry 和进度条
1102
- os.environ.setdefault("HF_HUB_DISABLE_TELEMETRY", "1")
1103
- os.environ.setdefault("HF_HUB_DISABLE_PROGRESS_BARS", "1")
1104
- os.environ.setdefault("TRANSFORMERS_VERBOSITY", "error")
1105
-
1106
- from faster_whisper import WhisperModel
1107
- whisper_model = getattr(self, '_whisper_model', None)
1096
+ whisper_model = self._whisper_model
1108
1097
  if whisper_model is None:
1098
+ # 预加载未完成或未安装,尝试懒加载
1099
+ import warnings as _w
1100
+ _w.filterwarnings("ignore", message=".*HF_TOKEN.*", category=UserWarning)
1101
+ _w.filterwarnings("ignore", message=".*huggingface_hub.*token.*", category=UserWarning)
1102
+ _w.filterwarnings("ignore", message=".*ffmpeg or avconv.*", category=RuntimeWarning)
1103
+ os.environ.setdefault("HF_HUB_DISABLE_TELEMETRY", "1")
1104
+ os.environ.setdefault("HF_HUB_DISABLE_PROGRESS_BARS", "1")
1105
+ os.environ.setdefault("TRANSFORMERS_VERBOSITY", "error")
1106
+ from faster_whisper import WhisperModel
1109
1107
  model_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'models', 'whisper')
1110
- # 使用 tiny 模型(最轻量,~39MB),CPU int8 量化
1111
1108
  self._whisper_model = WhisperModel("tiny", device="cpu", compute_type="int8",
1112
1109
  download_root=model_dir)
1113
1110
  whisper_model = self._whisper_model
@@ -5710,6 +5707,30 @@ class ApiServer:
5710
5707
  # 加载禁用技能列表
5711
5708
  self._load_disabled_skills()
5712
5709
 
5710
+ # [v1.16.10] 后台预加载 STT 模型,避免首次语音识别时等待数秒
5711
+ # 在后台线程中加载,不阻塞服务启动
5712
+ try:
5713
+ import threading
5714
+ def _preload_stt():
5715
+ try:
5716
+ import warnings
5717
+ warnings.filterwarnings("ignore")
5718
+ os.environ.setdefault("HF_HUB_DISABLE_TELEMETRY", "1")
5719
+ os.environ.setdefault("HF_HUB_DISABLE_PROGRESS_BARS", "1")
5720
+ os.environ.setdefault("TRANSFORMERS_VERBOSITY", "error")
5721
+ from faster_whisper import WhisperModel
5722
+ model_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'models', 'whisper')
5723
+ self._whisper_model = WhisperModel("tiny", device="cpu", compute_type="int8",
5724
+ download_root=model_dir)
5725
+ logger.info("STT faster-whisper 模型预加载完成")
5726
+ except ImportError:
5727
+ logger.debug("faster-whisper 未安装,跳过 STT 预加载")
5728
+ except Exception as e:
5729
+ logger.debug(f"STT 模型预加载失败(不影响使用): {e}")
5730
+ threading.Thread(target=_preload_stt, daemon=True).start()
5731
+ except Exception:
5732
+ pass
5733
+
5713
5734
  # 恢复被中断的任务:自动重新投递群聊任务
5714
5735
  try:
5715
5736
  tp = self._get_task_persistence()