בעמוד הזה
תיעוד OpenMila
כל מה שצריך כדי להתקין את OpenMila על Linux או Windows ולהשתמש בה יום יום, ואחריו מדריך מהיר לסוכן AI שרוצה לקרוא את התמלולים שלכם דרך MCP. כל טענה כאן נשאבת מהמאגר של הפורט עצמו, ושום דבר בעמוד הזה לא חורג ממה שטבלת ההשוואה אומרת.
הדפדפן שלכם לא אפשר לעמוד הזה לכתוב ללוח הגזירה. הנה אותו קובץ Markdown: סמנו הכול והעתיקו ידנית, או פתחו את /he/docs.md ישירות.
איפה הדברים עומדים. OpenMila יוצאת כבטא שעוקבת אחרי
הבטא של Mila עצמה. Linux היא פלטפורמת הפיתוח, והתכונות שלה נושאות
ראיה ישירה. Windows נבנית ונבדקת על ריצת windows-2025
ב-CI, שם תהליך האריזה מפעיל את האפליקציה עצמה לפני שהוא כותב חבילה;
בדיקה ידנית על שולחן עבודה של Windows רק החלה, כך שתכונות Windows
מסומנות ככתובות ולא כמוכנות עד שזה ישתווה.
התקנת OpenMila
שלוש חבילות: AppImage וחבילת .deb עבור Linux,
ו-zip נייד עבור Windows. על Mac, השתמשו במקור,
Mila. OpenMila לא
נבנית עבור macOS ולא מנסה לעשות זאת.
Linux: ה-AppImage
קובץ יחיד, ללא התקנה. נבדק על Ubuntu 26.04 (GNOME, גם ב-Wayland
וגם ב-X11); שולחנות עבודה נוכחיים אחרים עם GTK 4 צפויים לעבוד. הורידו
את OpenMila-<version>-x86_64.AppImage ואת
קובץ ה-.sha256 שלידו, ואז בדקו אותו:
sha256sum -c OpenMila-<version>-x86_64.AppImage.sha256
הפכו אותו להרצה והריצו:
chmod +x OpenMila-<version>-x86_64.AppImage
./OpenMila-<version>-x86_64.AppImage
אם הוא מתלונן על FUSE, הריצו אותו עם
--appimage-extract-and-run, או התקינו
libfuse2t64. ה-AppImage מתעדכן בעצמו: הוא
בודק את ה-SHA-256 שפורסם ומחליף את הקובץ הרץ, ויש לו ערוץ בטא עם
הגנת טרום-שחרור.
Linux: חבילת ה-Debian
openmila_<version>_amd64.deb נבנית מאותו
תוכן כמו ה-AppImage וכוללת קובץ .sha256 משלה.
בדקו אותה, ואז התקינו אותה עם מנהל החבילות כך שהתלויות יגיעו איתה:
sha256sum -c openmila_<version>_amd64.deb.sha256
sudo apt install ./openmila_<version>_amd64.deb
החבילה שמה את התוכן שלה ב-/opt/openmila/
ושלושה מפעילים ב-PATH שלכם:
openmila עבור האפליקציה,
openmila-cli עבור הרתמה חסרת הממשק, ו-
openmila-mcp עבור
שרת ה-MCP. התקנת .deb
לא מתעדכנת בעצמה: עדכון שייך למנהל החבילות, כך שהאפליקציה מפנה אתכם
חזרה לעמוד הגרסאות.
Windows: ה-zip הנייד
Windows 11, ו-Windows 10 22H2, על x64. הורידו את
OpenMila-<version>-win64.zip ובדקו אותו
מול קובץ ה-.sha256 שלידו:
(Get-FileHash OpenMila-<version>-win64.zip -Algorithm SHA256).Hash
בטלו את החסימה וחלצו לכל מקום, ואז הריצו את
openmila.exe. שום דבר אחר לא צריך להתקין: ה-
Swift runtime ומנוע התמלול נוסעים עם האפליקציה.
openmila-cli.exe ו-openmila-mcp.exe
יושבים לידה באותה תיקייה. ל-zip אין התקנה עצמית, כך שעדכון הוא הורדה
חדשה.
מה כל מערכת צריכה שיהיה קיים
- Linux, נדרש
-
GTK 4 ו-libadwaita, libsecret, GLib, zlib, ו-PipeWire או
PulseAudio עבור אודיו. ה-
.debמצהירה עליהם כ-libgtk-4-1,libadwaita-1-0,libsecret-1-0,libglib2.0-0,libc6ו-zlib1g. - Linux, להקלטת אודיו של אפליקציה אחת
-
הכלים של PipeWire עצמה, חבילת
pipewire-bin, שמספקת אתpw-dumpואתpw-record. ברוב התקנות PipeWire הם כבר קיימים. בלעדיהם, בורר המקורות עדיין מציע את מוניטורי המערכת כולה, כך שאפשר להקליט כל מה שהמחשב מנגן אבל לא אפליקציה בודדת בפני עצמה. - Linux, למקשי קיצור גלובליים להכתבה
-
שום דבר נוסף.
XGrabKeyמשמש בכל מקום שבו תצוגת X עונה, כולל XWayland, וה-portal XDGGlobalShortcutsבסשן Wayland טהור; שני הנתיבים נבחרים מעצמם. ראו הכתבה. - Linux, להכתבה שמדביקה בעצמה
-
xdotoolאוwtypeלהדבקה במיקום הסמן, ובנוסףwl-clipboardאוxclipעבור לוח הגזירה. בסשן Wayland, OpenMila יכולה להשתמש ב-portalRemoteDesktopבמקום, ברגע שתאשרו זאת. בלי אף אחד מאלה, הטקסט המוכתב עדיין מגיע ללוח הגזירה והתראה אומרת לכם ללחוץ Ctrl+V. - Linux, אופציונלי
-
ffmpeg, עבור הקלטות.m4aקומפקטיות, מנגנון התמלול המרוחק, וייבוא אודיו שאינו WAV. GStreamer משמש כשאין ffmpeg, מה שכמעט תמיד קיים בהתקנת GNOME או KDE.libnotify-binעבור התראות שולחן עבודה. - Windows
- שום דבר. כל מה שהאפליקציה צריכה נוסע בתוך ה-zip.
אימות מה שהורדתם
כל גרסה מפרסמת קובץ SHA256SUMS יחיד שמכסה את
כל הקבצים שלה, לצד קובצי .sha256 לכל קובץ
בנפרד. הורידו אותו מהגרסה ובדקו את הקבצים שיש לכם:
sha256sum --ignore-missing -c SHA256SUMS
צינור הגרסאות גם מאשר (attest) מה הוא בנה, כך שתוכלו לוודא שקובץ הגיע מזרימת העבודה של המאגר הזה ולא ממקום אחר. עם GitHub CLI מותקן:
gh attestation verify OpenMila-<version>-x86_64.AppImage --repo NX1X/OpenMila
אותה פקודה עובדת עבור הקבצים האחרים, גם ב-Windows:
gh attestation verify .\OpenMila-<version>-win64.zip --repo NX1X/OpenMila
אם hash או attestation לא עוברים אימות, אל תריצו את הקובץ, ואנא דווחו על כך באופן פרטי.
הסרת התקנה וניקוי מלא
הסרת OpenMila מסירה את התוכנית. היא לא מסירה את ההקלטות, התמלולים, המודלים או ההגדרות שלכם. מחיקת אלה היא בקשה נפרדת ומפורשת, שנקראת למטה "ניקוי מלא" (purge).
Windows
Installed Apps, ואז Uninstall. זה מסיר את התוכנית מ-
%LOCALAPPDATA%\Programs\OpenMila, את
הקיצורים, את השיוך ל-.milaconfig, כל רשומת
הפעלה אוטומטית ואת המטמון הניתן ליצירה מחדש. לאחר מכן זה שואל, פעם
אחת, האם למחוק גם את הנתונים שלכם; התשובה כברירת מחדל היא לא. שום
דבר תחת %APPDATA%\Mila לא נמחק אלא אם תגידו
כן.
ה-zip הנייד לא מתקין כלום, כך שהסרתו היא מחיקת התיקייה. הנתונים שלכם נמצאים במקום אחר ונשארים.
Linux
sudo apt remove openmila # the .deb
openmila-uninstall # desktop entry, icons, autostart, MCP
openmila-uninstall --purge # also deletes your data, after asking
apt remove ואפילו apt purge
משאירים את ~/.local/share/Mila ואת
~/.config בשלמותם: סקריפט חבילה רץ כ-root
ואין לו דרך בטוחה להחליט של איזה משתמש נתונים למחוק. ה-AppImage הוא
קובץ יחיד, כך שמחיקתו היא ההסרה; הריצו
openmila-uninstall קודם אם השתמשתם ב-
--install כדי להוסיף רשומת מפעיל.
איפה הנתונים שלכם נמצאים
| What | Linux | Windows |
|---|---|---|
| Recordings, transcripts, models | ~/.local/share/Mila/ | %APPDATA%\Mila\ |
| Settings | ~/.local/share/Mila/ and ~/.config/ | %APPDATA%\Mila\ and a preferences file under %LOCALAPPDATA% |
| Logs | ~/.local/state/openmila/logs/ | %LOCALAPPDATA%\OpenMila\logs\ |
| The program itself (removed) | /usr/lib/openmila or wherever the AppImage sits | %LOCALAPPDATA%\Programs\OpenMila\ |
פירוט מלא, כולל המטמון והכספת: docs/port/INSTALL.md.
חומרה ו-GPU
ל-Mila על Mac יש שני מאיצים שהיא יכולה לסמוך עליהם, כי Apple מספקת אותם בכל מחשב שהיא תומכת בו: ה-GPU דרך Metal, וה-Neural Engine דרך מקודד CoreML. ל-Linux ול-Windows אין מקבילה שתמיד קיימת, כך שהכלל של הפורט הוא: לעבוד תמיד על ה-CPU, ולהשתמש ב-GPU כשמתברר שיש למחשב אחד שמיש.
| Vendor | Linux driver | Windows driver | Counted as |
|---|---|---|---|
| NVIDIA | the proprietary driver, or NVK on Mesa | the vendor driver | discrete GPU |
| AMD | RADV (Mesa), or AMDVLK | the vendor driver | discrete GPU, or integrated on an APU |
| Intel | ANV (Mesa), for Arc cards and for the iGPU in any recent Core chip | the vendor driver | discrete GPU for Arc, integrated GPU for an iGPU |
| Anything virtual | venus, virtio-gpu | a hypervisor's driver | virtual GPU |
| llvmpipe, lavapipe, SwiftShader | present on almost every Mesa install | rare | software, refused |
GPU נפרד, משולב או וירטואלי מקבל את המודל. מכשיר Vulkan תוכנתי נדחה
בכוונה, כי הרצת המודל דרך CPU שמעמיד פנים שהוא GPU איטית יותר מהליבה
של ה-CPU של whisper.cpp עצמה. היעדר Vulkan לגמרי הוא לא שגיאה: נתיב
ה-CPU הוא ברירת המחדל והמקרה הנפוץ. GPU משולב (iGPU) של Intel נעשה
בו שימוש, לא מדולג, ומדורג נמוך מכרטיס נפרד רק כשלמחשב יש את שניהם.
openmila-cli gpu מדפיס מה הבדיקה מצאה,
הגדרות > מודלים מציגה זאת, ומתג שם כופה CPU עבור
דרייבר שמתנהג לא כשורה, וכך גם OPENMILA_DISABLE_GPU=1.
אין עדיין נתון מהירות שנמדד. לוגיקת ההחלטה נבדקת והליבה מקומפלת פנימה, אבל שום תמלול לא נמדד לזמן על GPU אמיתי באף אחת מהמערכות: למחשב הפיתוח אין GPU, ואף מחשב Windows לא הריץ מודל. מדדי ביצועים מגיעים מהבטא. ההנמקה המלאה נמצאת ב- docs/port/HARDWARE.md.
הפעלה ראשונה
הורדת מודל
מודלי ה-Whisper גדולים ולא ארוזים מראש, כך שהדבר הראשון לעשות הוא להוריד אחד. פתחו הגדרות > מודלים והורידו את זה שאתם צריכים:
- OpenAI
large-v3-turboלאנגלית ולשפות אחרות, 1.6 GB. - ivrit.ai
large-v3לעברית, 3.0 GB.
כל הורדה מציגה אחוזים בזמן שהיא רצה ונבדקת מול SHA-256 קבוע לפני השימוש. כמה זמן זה לוקח הוא עניין של החיבור שלכם ולא של האפליקציה: אין נתון תזמון מפורסם, כי שום דבר לא נמדד. תכננו להעברה של 1.6 GB או 3.0 GB והשאירו את זה רץ. מחיקת מודל מאוחר יותר משחררת את כל ההתקנה ושומרת על הבחירה הנותרת הגיונית. שפת ההקלטה קובעת איזה מודל משמש, כך שתצטרכו רק את זה שאתם מקליטים בו.
איפה התמלול רץ: GPU כשיש, אחרת CPU
ל-Mila על Mac יש שני מאיצים שהיא יכולה לסמוך עליהם, ה-GPU דרך Metal וה-Neural Engine דרך מקודד CoreML, כי Apple מספקת אותם בכל מחשב שהיא תומכת בו. ל-Linux ול-Windows אין מקבילה שתמיד קיימת, כך שהכלל של הפורט הוא לעבוד תמיד על ה-CPU ולהשתמש ב-GPU כשמתברר שיש למחשב אחד שמיש.
חבילות הגרסה לשתי המערכות כוללות את הליבה של whisper.cpp דרך
Vulkan, שמכסה NVIDIA, AMD ו-Intel דרך API אחד ברמת הדרייבר. GPU
נפרד, משולב או וירטואלי מקבל את המודל. מכשיר Vulkan תוכנתי
(llvmpipe, lavapipe, SwiftShader) נדחה, כי הרצת המודל דרך CPU
שמעמיד פנים שהוא GPU איטית יותר מהליבה של ה-CPU של whisper.cpp
עצמה. היעדר Vulkan לגמרי הוא לא שגיאה: נתיב ה-CPU הוא ברירת המחדל
והמקרה הנפוץ. openmila-cli gpu מדפיס מה
הבדיקה מצאה, הגדרות > מודלים מציגה זאת, ומתג שם
כופה CPU עבור דרייבר שמתנהג לא כשורה, וכך גם
OPENMILA_DISABLE_GPU=1.
אין נתון מהירות שנמדד. לוגיקת ההחלטה נבדקת והליבה מקומפלת פנימה, אבל שום תמלול לא נמדד לזמן על GPU אמיתי באף אחת מהמערכות, כך ש"Vulkan עובד" אומר: נבנה, נבדק וחובר, ואין נתון שנטען. אין נתיב CoreML או Neural Engine כלל מחוץ ל-macOS. ההנמקה ומה שעדיין לא נמדד נמצאים ב- docs/port/HARDWARE.md.
אם המחשב שלכם איטי בזה, הדרך החוצה היום היא שרת משלכם: הגדרות > מודלים > Backend יכולה להצביע על כל נקודת קצה לתמלול התואמת ל-OpenAI. אודיו יוצא מהמחשב בזמן שמנגנון מרוחק פעיל, והאפליקציה מציינת זאת במסך הזה.
הקלטה
במסך הבית יש בורר מקור, בורר שפה וכפתור הקלטה. יש שלושה מקורות:
- מיקרופון
- מכשיר הקלט שלכם, עם מד רמה חי ושעון חולף. בחרו מכשיר ב- הגדרות > אודיו, או השאירו על ברירת המחדל של המערכת. הגברה אדפטיבית למיקרופונים חלשים היא מתג באותו מקום.
- אודיו מערכת
- ב-Linux, בחירה בזה חושפת בורר שני שמציג מה מתנגן כרגע: OpenMila מבקשת מ-PipeWire לקשר את הפלט של האפליקציה הבודדת הזו לזרם לכידה, כך שאתם מקליטים את הפגישה ולא את המוזיקה שלכם. מוניטורי המערכת כולה מוצעים באותה רשימה. ל-Windows יש אותן שתי אפשרויות, דרך WASAPI process loopback שקשור לעץ התהליכים הנבחר; הקוד הזה מקומפל ב-CI ומעולם לא רץ על מחשב Windows.
- פגישה (מיקרופון + מערכת)
-
שניהם, מעורבבים לקובץ WAV מונו יחיד ב-16 kHz. אם OpenMila שמה לב
שאפליקציית פגישות מתחילה, היא מציעה להתחיל הקלטת פגישה עבורכם,
ומציעה לעצור כשהאפליקציה מסתיימת. אפליקציות טבעיות נמצאות לפי שם
תהליך בכל סשן, מ-
/procב-Linux. פגישה בכרטיסיית דפדפן נמצאת בכותרת החלון, מ-X11 כשתצוגה עונה, ובסשן Wayland טהור, מהאוטובוס הנגישות של שולחן העבודה במקום, מכיוון שפרוטוקול Wayland עצמו מסרב שלקוח אחד יקרא את כותרות החלונות של לקוח אחר בכוונה. Firefox ו-Chromium מפרסמים את החלונות שלהם לאוטובוס הזה רק כשהנגישות מופעלת:gsettings set org.gnome.desktop.interface toolkit-accessibility true. בלי המתג הזה, פגישת כרטיסיית דפדפן ב-Wayland מוחמצת, והאפליקציה מציינת זאת במקום למצוא כלום בשקט. ל-Windows אין הגבלה כזו, כך שפגישת כרטיסייה ניתנת לזיהוי בכל סשן Windows.
תמלול חי רץ בזמן שאתם מקליטים, בחלונית התמלול החי, ואתם יכולים לערוך ולהעתיק אותו שם.
השהיה וחזרה
בזמן שהקלטה רצה כפתור ההקלטה הופך להשהיה, ועצירה יושבת לצידו. קטע מושהה נעדר מהאודיו ומהשעון, כך שהשהיה לשיחת צד לא משאירה פער של שקט לשבת דרכו אחר כך.
לאן הקובץ הולך
עצירה שומרת את ההקלטה, מכניסה אותה לתור לתמלול, ומציגה גליון
שלאחר-הקלטה שבו אפשר לקבל שם מוצע ולראות את הסיכום ופריטי הפעולה
אם תכונות ה-AI פעילות. האודיו והתמלול שלו נוחתים בתיקיית ההקלטות,
שהיא ~/.local/share/Mila/ ב-Linux ו-
%APPDATA%\Mila\ ב-Windows, וניתנת להגדרה
ב-הגדרות > אחסון יחד עם תקרת אחסון. ראו
איפה הכול נמצא בדיסק.
הכתבה
הכתבה מתמללת פרץ קצר של דיבור ומדביקה אותו במקום שהקלדתם. שני מקשי קיצור, אחד לכל שפה: Ctrl+Alt+2 לאנגלית ו-Ctrl+Alt+3 לעברית כברירת מחדל. שנו אותם ב-הגדרות > כללי, שם אתם מקלידים צירוף כמאפיינים ועוד מקש (Ctrl, Alt, Shift, Super, ואות, ספרה, מקש F, רווח, Enter, Escape או Tab). האפליקציה אומרת לכם אם אפליקציה אחרת כבר תפסה את הצירוף שביקשתם.
ב-X11, ובחלונות XWayland, מקש הקיצור עובד בכל מקום: לחצו עליו, דברו, לחצו שוב, והטקסט מודבק לתוך איזה חלון שהיה לו פוקוס.
בסשן Wayland טהור, שולחן העבודה מחזיק בבעלות על
קיצורי דרך גלובליים, כך ש-OpenMila מבקשת אותם דרך ה-portal XDG
GlobalShortcuts במקום לתפוס אותם. שולחן
העבודה שלכם יבקש מכם לאשר את הצירוף פעם אחת. שני הנתיבים נבחרים
מעצמם; אתם לא בוחרים איזה. לחיצת מקש דרך ה-portal עדיין לא אושרה
על ידי אדם בשולחן עבודה של Wayland, אז אם זה לא מופעל, כפתורי
הכתבה במסך הבית עושים את אותה העבודה.
החזרת הטקסט לסמן עוברת בשלושה מסלולים, בסדר הזה:
xdotool או wtype
היכן שהם מותקנים, ה-portal RemoteDesktop
בסשן Wayland ברגע שתאשרו אותו (openmila-cli grant-typing,
או הכפתור בהגדרות), ולוח הגזירה עם התראה בכל מקרה אחר. הכתבה לעולם
לא ממתינה לדיאלוג ההסכמה: בלי הרשאה היא חוזרת לחלופה בתוך עשירית
שנייה.
ב-Windows, מקשי קיצור נרשמים אצל מערכת ההפעלה והטקסט המוכתב מודבק לתוך איזה חלון שיש לו פוקוס. הקוד הזה כתוב ועובר ב-CI, אבל כמו כל דבר אחר ב-Windows הוא לא רץ עדיין על שולחן עבודה אמיתי.
הכתבות נשמרות תחת הכתבות בסרגל הצד, ומכבדות את תקרת האחסון כמו כל הקלטה אחרת.
דוברים
זיהוי דוברים (diarization) מזהה מי אמר מה, בזמן אמת במהלך הקלטה וגם אחריה, עם צבע לכל דובר. זה כבוי כברירת מחדל, כמו ב-Mila.
בפעם הראשונה שתפעילו את זה, האפליקציה מורידה PyTorch עבור CPU, כ-200 מגה-בייט, לתוך ה-Python runtime שהחבילות כוללות. ההורדה הזו קורית פעם אחת. הפעלה או כיבוי של זיהוי דוברים באמצע הקלטה נכנסים לתוקף מיידית.
לתת שם לדובר זה לחיצה על תווית הדובר בתמלול: נפתח גליון עם שדה
טקסט, הצעות מהשמות שכבר השתמשתם בהם, כפתור שמירה
וכפתור ביטול שם. נתינת אותו שם לשתי
תוויות ממזגת אותן, וכך מתקנים מקרה שבו זיהוי הדוברים פיצל
אדם אחד ל-SPEAKER_01 ו-SPEAKER_04.
השמות שהשתמשתם בהם רשומים ב-הגדרות > דוברים, שם
אפשר להסיר כל אחד מהם. דוברים שלא נתתם להם שם נשארים כ-
SPEAKER_NN.
זיהוי אותו אדם בין הקלטות שונות הוא נפרד ואופציונלי. המתג הוא זיהוי אותו דובר בין הקלטות ב-הגדרות > דוברים. כשהוא פעיל, קול שכבר נתתם לו שם פעם אחת מתויג אוטומטית בהקלטות מאוחרות יותר. לצידו יש כפתור מחיקת כל מה שנלמד על קולות, שעושה בדיוק מה שהוא אומר.
תכונות AI
שום דבר לא נשלח לשום מקום עד שתגדירו ספק. OpenMila לא כוללת מפתחות API ואין לה ספק משלה, וכל תכונת AI כבויה עד ש- הגדרות > ספק AI קובעת עם מי לדבר. התמלול עצמו אף פעם לא צריך אף אחד מאלה.
בחירת ספק
ב-הגדרות > ספק AI, בחרו אחד מכלי שורת הפקודה
ש-OpenMila יכולה להריץ, Claude, Cursor או Gemini CLI, או נקודת
קצה תואמת-OpenAI. כלי CLI אפשר למצוא ב-PATH
שלכם או לתת לו נתיב הרצה מפורש. נקודת קצה תואמת-OpenAI לוקחת
כתובת בסיס, שם מודל ומפתח API, והמפתח נשמר באותה דרך שהמערכת
שומרת סודות ולא בקובץ הגדרות (ראו סודות).
כל קריאה נרשמת ביומן עם פרטי הזיהוי מוסתרים.
Ollama (מקומי): האפשרות שבה שום דבר לא יוצא מהמחשב
לנקודת הקצה התואמת-OpenAI יש הגדרות מוכנות, ואחת מהן היא
Ollama (מקומי). היא מצביעה על
http://localhost:11434/v1, הכתובת ברירת
המחדל של Ollama הרצה על המחשב
שלכם, וזו ההגדרה המוכנה היחידה שלא דורשת מפתח API, כי אין למי
להזדהות מולו. התקינו את Ollama, משכו מודל (
ollama pull llama3.1 תואם לשם המודל ברירת
המחדל של ההגדרה), בחרו את ההגדרה, וכל תכונת AI בעמוד הזה - שמות
מוצעים, סיכומים, פריטי פעולה, Live AI, Send to LLM - רצה בלי
אפילו בקשה יוצאת אחת.
זה לא נבדק מקצה לקצה ב-OpenMila: טבלת ההשוואה מסמנת את רשימת הספקים done ב-Linux על סמך הרצה דרך Claude CLI, ו- written ב-Windows. ההגדרה המוכנה עצמה היא קוד מהמקור שהפורט מקמפל ללא שינוי. אם היא מתנהגת לא כשורה, אנא דווחו על כך.
סיכומים ופריטי פעולה
הגדרות > תכונות AI מפעילה שמות הקלטה מוצעים
וסיכום אוטומטי אחרי כל הקלטה, ומחזיקה את הפרומפט שכל תכונה
משתמשת בו, שאותו אפשר לערוך. סיכום אפשר ליצור מחדש מתפריט
פעולות של הקלטה, והקלטות מלפני שהפעלתם את
התכונה אפשר למלא רטרואקטיבית. פריטי פעולה נושאים מאיפה הם הגיעו:
פריט voice_command הוא כזה שמישהו הכתיב
בקול, ופריט inferred הוא כזה ש-Live AI
הסיק מהשיחה. אלה לא אותה טענה.
Live AI
Live AI שומר סיכום מתגלגל ורשימת פריטי פעולה בזמן שהפגישה עוד מתקיימת, לצד התמלול החי, עם תיבת הקשר שאתם ממלאים לכל הקלטה כדי שהמודל ידע על מה הפגישה. הרצת תמלול ומעבר AI בו-זמנית היא הדבר הכבד ביותר שהאפליקציה עושה, כך שזה מותנה במה שהמחשב באמת יכול להתמודד איתו: OpenMila קוראת את כמות הזיכרון ומספר המעבדים ומכבה את Live AI בחומרה שלא יכולה לעמוד בקצב.
Send to LLM
Send to LLM לוקח את התמלול של הקלטה אחת ופרומפט משלכם ושולח לספק שהגדרתם, עבור שאלות שפרומפט סיכום קבוע לא עונה עליהן.
הגדרת AI מקומי
Mila משאירה את מציאת מודל השפה לכם. OpenMila יכולה להגדיר אחד
עבורכם: הגדרות > ספק AI > הגדרת AI מקומי מורידה
את Ollama, סביבת
ריצת המודל, בגרסה קבועה, מאמתת אותה מול הדיגסט שהספק מפרסם,
מפעילה אותה כתהליך ילד של האפליקציה הקשור ל-
127.0.0.1:11434 (או משתמשת באחת שכבר רצה),
מושכת את המודל שבחרתם, ומגדירה את הספק ל-Ollama
(מקומי) עם סיכומים אוטומטיים מופעלים. זו תכונה של הפורט
בלבד; ל-Mila אין מקבילה.
שום דבר לא מותקן ברמת המערכת ואין מעורבות של מנהל. השרת רץ רק כשהאפליקציה רצה, והסרת האפליקציה משאירה את המודלים במקומם כמו כל נתון משתמש אחר; ניקוי מלא בזמן הסרה מוחק אותם.
מודלים מוצעים
| Model | Publisher | Licence | Size | Memory |
|---|---|---|---|---|
| Mistral 7B (default) | Mistral AI, France | Apache-2.0 | 4.4 GB | 8 GB |
| Mistral NeMo 12B | Mistral AI and NVIDIA | Apache-2.0 | 7.1 GB | 16 GB |
| OLMo 2 7B | Allen Institute for AI, USA | Apache-2.0 | 4.5 GB | 8 GB |
| Gemma 3 4B | Google, USA | Gemma terms | 3.3 GB | 8 GB |
| Llama 3.1 8B | Meta, USA | Llama 3.1 community licence | 4.9 GB | 8 GB |
| SmolLM2 1.7B | Hugging Face | Apache-2.0 | 1.8 GB | 4 GB |
ה-runtime הוא Ollama, ברישיון MIT, נשלף מהגרסאות של GitHub שלו בגרסה קבועה. מודלים נמשכים מספריית Ollama דרך HTTPS על ידי השרת הרץ; האפליקציה עצמה לעולם לא פונה לספק מודלים. כל מודל אחר ש-Ollama יכולה למשוך עובד גם: משכו אותו ידנית עם ה-runtime המנוהל והקלידו את שמו בשדה Model.
| What | Linux | Windows |
|---|---|---|
| Runtime | ~/.cache/openmila/local-ai/runtime/ | %LOCALAPPDATA%\OpenMila\cache\local-ai\runtime\ |
| Models | ~/.cache/openmila/local-ai/models/ | %LOCALAPPDATA%\OpenMila\cache\local-ai\models\ |
openmila-selftest local-ai [--model name] [--cache dir]
מריץ את כל הנתיב מטרמינל, וכך התכונה אומתה ב-Linux לפני שהיה לה
כפתור. פירוט מלא:
docs/port/LOCAL-AI.md.
תיקיות, ייצוא והגדרת צוות
תיקיות במעקב
Mila עוקבת אחרי התיקייה שאליה iCloud מסנכרן הערות קוליות מ- iPhone. OpenMila עוקבת אחרי כל תיקייה שאתם מסנכרנים הקלטות אליה, תיקיית Syncthing או Nextcloud או טלפון מוצמד (mounted), ומייבאת קובצי אודיו חדשים אוטומטית. הצביעו על תיקייה ב-הגדרות > תיקיות במעקב, ואז בחרו אילו תת-תיקיות לכלול והאם לקחת קבצים שיושבים ישירות בתיקייה. רק קבצים חדשים מתאריך ההתחלה מיובאים, והם נוחתים בתיקיית Voice Memos בספרייה.
ייצוא ל-Obsidian
עם כספת Obsidian מוגדרת, כל הקלטה שהושלמה נכתבת גם אליה כפתק
Markdown שנושא את הכותרת, התאריך, המשך, הסיכום, פריטי הפעולה
והתמלול. זה כבוי עד שתבחרו כספת, והכספת יכולה להתחייב (commit)
ולהידחף (push) עבורכם באמצעות git מה-
PATH שלכם. טבלת ההשוואה מסמנת את זה כמוכן
ב-Linux.
הגדרת צוות עם .milaconfig
קובץ .milaconfig נושא תצורה מוכנה, שרת
התמלול, המודל, השפה ועוד, כך שאדם אחד יכול להגדיר צוות בשלב אחד.
OpenMila מציגה לכם בדיוק מה ישתנה לפני שמיישמים אותה, והגדרות
שהקובץ לא מציין נשארות ללא שינוי. ייבאו אחד מ-הגדרות >
כללי > ייבוא קובץ .milaconfig, או פתחו אותו מטרמינל:
openmila team.milaconfig
לחיצה כפולה על קובץ כזה עדיין לא עובדת, באף אחת מהמערכות: שיוך
קובץ שולחן העבודה לא מותקן ב-Linux ואין שיוך קובץ ב-Windows. קובץ
.milaconfig שנכתב עבור Mila עובד ב-OpenMila,
ולהפך. שימו לב שהקובץ מחזיק את מפתח ה-API שלו בטקסט גלוי, אז
העבירו אותו לצוות שלכם בערוץ שאתם סומכים עליו.
ייצוא SRT
פעולות > ייצוא SRT בהקלטה כותב קובץ כתוביות עם חותמות הזמן לכל קטע. אפשר לייצא גם באמצע הקלטה, מהתמלול החי, בלי לחכות שההקלטה תסתיים. אותו תפריט מעתיק את התמלול עם תוויות הדוברים שלו.
מהירות ניגון
הקלטה מתנגנת בין 0.5x ל-2x, בקפיצות, והתמלול עוקב אחריה; לחיצה על שורה מדלגת אליה. שינוי המהירות עובר דרך מותח זמן WSOLA, כך שהקולות שומרים על הגובה הטבעי שלהם במקום להפוך לצפצוף. האודיו המתוח נבדק על ידי תמלול חוזר שלו ב-0.75x וב-1.5x וקבלת אותן מילים, שזו בדיקת ההבנה שמדידת תדר לא יכולה לתת.
איפה הכול נמצא בדיסק
| What | Linux | Windows |
|---|---|---|
| Recordings, transcripts, models, settings sidecars | ~/.local/share/Mila/ |
%APPDATA%\Mila\ |
| Logs | ~/.local/state/openmila/logs/openmila.log |
%LOCALAPPDATA%\OpenMila\logs\openmila.log |
| Settings | ~/.config/, managed by the app |
managed by the app |
| MCP consent flag | ~/.local/share/Mila/mcp-access.json |
%APPDATA%\Mila\mcp-access.json |
תיקיית הנתונים נקראת Mila בכוונה: עוזר ה-MCP
וקוד משותף אחר מחפשים אותה בשם הזה.
סודות
מפתחות API וטוקנים לעולם לא נכתבים לתוך קובץ ההגדרות. ב-
Linux הם הולכים לכספת שולחן העבודה שלכם דרך
Secret Service, שהיא GNOME Keyring, KWallet או KeePassXC בהתאם
לשולחן העבודה שלכם. במקום שבו אין כספת שעונה, הם חוזרים לקבצים
תחת ~/.local/share/Mila/secrets/ עם הרשאות
לבעלים בלבד. ב-Windows הם חיים ב-
%APPDATA%\Mila\secrets\, מוצפנים עם DPAPI
עבור חשבון Windows שלכם.
פתרון תקלות
אין מיקרופון בבורר
בדקו ש-PipeWire או PulseAudio רצים ושהמכשיר מופיע לשאר שולחן העבודה. הרתמה בשורת הפקודה מציגה בדיוק מה האפליקציה יכולה לראות, מה שמפריד בעיית OpenMila מבעיית מחסנית אודיו:
openmila-cli devices
אם המכשיר רשום שם אבל ההקלטה נכשלת, השגיאה נוקבת בשם המכשיר וקובץ היומן מכיל את הפרטים. ב-Windows, הגדרת פרטיות המיקרופון היא של מערכת ההפעלה עצמה; אין שער הרשאה לפי אפליקציה באף אחת מהמערכות.
אין קול מהאפליקציה שבחרתם
הקלטת אודיו של אפליקציה אחת ב-Linux צריכה את הכלים של PipeWire,
חבילת pipewire-bin, שמספקת את
pw-dump ואת pw-record.
בלעדיהם הבורר מציע רק את מוניטורי המערכת כולה. התקינו את החבילה,
ואז בדקו שהאפליקציה באמת מנגנת כשאתם מתחילים: הקישור נוצר לזרם
הפלט שקיים באותו רגע.
openmila-cli app-audio
ב-Windows אותו בורר נשאב מ-WASAPI process loopback. שום דבר שם לא רץ על מחשב אמיתי, אז אם הוא לא מציע מה שציפיתם, בחרו את loopback המערכת כולה והשתיקו מה שלא תרצו שיוקלט, ואנא דווחו על כך.
מקשי קיצור לא מופעלים ב-Wayland
בסשן Wayland טהור, מקשי הקיצור עוברים דרך ה-portal XDG
GlobalShortcuts, ששולחן העבודה שלכם צריך
להעניק. אשרו את הצירוף כששולחן העבודה שואל; אם ביטלתם את ההודעה
הזו, בדקו את הגדרות קיצורי הדרך של שולחן העבודה שלכם עבור
OpenMila. הנתיב הזה עדיין לא אושר על ידי אדם בשולחן עבודה של
Wayland, אז אם זה נשאר שקט, השתמשו בכפתורי הכתבה
במסך הבית וספרו
לנו. אם הטקסט המוכתב לא מוקלד בסמן, התקינו
xdotool או wtype,
או אשרו את ה-portal RemoteDesktop עם
openmila-cli grant-typing; בלי אחד מאלה,
הטקסט מונח על לוח הגזירה ואתם מדביקים אותו בעצמכם.
הורדת המודל נכשלת
השגיאה מוצגת ליד המודל ב-הגדרות > מודלים. הורדה נבדקת מול SHA-256 קבוע ובדיקה שנכשלה נדחית, כך שקובץ קטוע או שעברו בו מניפולציה נזרק ולא נעשה בו שימוש. נסו שוב; ניסיון חדש מתחיל נקי. אם זה ממשיך להיכשל, בדקו שאתם יכולים להגיע לרשת בכלל ושיש בדיסק מקום לקובץ של 1.6 GB או 3.0 GB. רשת שמסננת מאיפה המשקלים מוגשים תיראה כהורדה שאף פעם לא מתחילה, אז כדאי לנסות את החיבור שדרכו אתם רגילים להתקין תוכנה. אם זה עדיין נכשל, צרפו דוח אבחון ל-issue.
זיהוי דוברים לא מצליח להתקין torch
הפעלת זיהוי דוברים מורידה PyTorch עבור CPU, כ-200 מגה-בייט, לתוך ה-Python runtime שהחבילות כוללות. שני דברים גורמים לכישלון: ה- runtime לא נמצא בחבילה, מה שקורה היום ב-Windows כי חבילת זיהוי הדוברים ל-Windows מעולם לא נבנתה, והרשת מסרבת להורדה. השאירו את זיהוי הדוברים כבוי במקרה הראשון; הוא כבוי כברירת מחדל וכל השאר עובד בלעדיו. במקרה השני, נסו שוב עם הרשת שדרכה בדרך כלל מתקינים חבילות Python. קובץ היומן רושם מה הניסיון עשה.
ייצוא דוח אבחון
הגדרות > כללי > ייצוא דוח אבחון כותבת קובץ zip ואומרת לכם איפה היא שמרה אותו. בפנים יש פרטי מערכת, ההגדרות שלכם עם פרטי זיהוי מוסתרים ופרומפטים מקוצרים לאורכם, מבנה ההקלטות שלכם בלי כותרות או נתיבים, וקובצי היומן. הוא בנוי כך שבטוח לצרף אותו בפומבי, והוא הדבר השימושי ביותר שאפשר לשים בדיווח תקלה.
איפה לדווח על תקלה
- תקלות ובקשות תכונה: ה-issues של המאגר, עם דוח אבחון מצורף. אם משהו מסומן כמוכן בטבלת ההשוואה ולא עובד אצלכם, זו תקלה ששווה לדווח עליה.
- שאלות ולא תקלות: Discussions.
- בעיות אבטחה: אל תפתחו דיווח ציבורי. השתמשו ב דיווח הפגיעויות הפרטי במאגר.
- כל דבר אחר: טופס יצירת הקשר והקישורים החברתיים ב nx1xlab.dev/contact.
לסוכני AI: שרת ה-MCP
הקטע הזה מיועד לסוכן AI, ולאדם שמגדיר אחד. OpenMila כוללת את אותו
שרת MCP ש-Mila כוללת, בנוי מאותו מקור, כעוזר בשם
openmila-mcp. הוא מדבר MCP דרך stdio ומאפשר
לסשן לחפש ולקרוא את התמלולים שלכם, כולל התמלול החי של פגישה
שעדיין מתקיימת. הוא קורא את המאגר על-דיסק של OpenMila עצמה; שום
דבר לא יוצא מהמחשב אלא אם מבקשים מהסוכן לעשות משהו עם זה.
ב-Linux זה נבדק מקצה לקצה דרך Claude Code, נדחה כשהסכמה כבויה ומציג רשימת הקלטות כשהיא פעילה. ב-Windows העוזר נבנה ומופץ בתוך ה-zip, ושום דבר לא הריץ אותו שם.
מה השרת חושף
| Tool | What it returns |
|---|---|
list_recordings |
A list of recordings, filtered by speaker display name, by text in the title, application or folder, by source, or by date range, and sorted by date, duration or title. Trashed recordings are not included. |
get_transcript |
One recording's full transcript with speaker names resolved, plus its
summary and action items. Omit the id and you get the latest
completed recording. Each action item carries a source,
either voice_command (somebody dictated it out loud) or
inferred (Live AI derived it from the conversation);
those are not the same claim, so do not present the second as the
first. Trashed recordings are not reachable, by id or otherwise.
|
search_transcripts |
Full-text matches over titles and transcripts, with context snippets,
sorted by relevance or by date. Relevance is the default and scores
every recording, so it always finds the best match and costs more as
the library grows. Sorting by created_at stops at the
limit, which is cheaper and usually the better question when you want
recent mentions.
|
get_live_transcript |
The in-progress recording's transcript, with a polling cursor for
cheap deltas: nothing new gives a tiny unchanged reply, new content
gives only the new segments. A status field says whether to keep
polling, and hands off to get_transcript when the
recording completes.
|
שום דבר לא נשמר במטמון. כל קריאה קוראת את המאגר כפי שהוא באותו רגע, וזה מה שהופך את התשובות לאמינות בזמן שהקלטה עדיין רצה.
שער ההסכמה
הגישה כבויה כברירת מחדל. הפעילו אותה ב- הגדרות > אחסון > אפשר גישת MCP לתמלולים. כל עוד היא כבויה כל קריאת כלי נדחית, והדחייה מסבירה את עצמה על ידי הפניה חזרה למתג הזה, כך שסוכן שנתקל בזה יכול לומר לאדם מה לעשות במקום לנחש שהתמלולים לא קיימים. ההגדרה נכנסת לתוקף מיידית: כיבוי שלה חותך סשן שכבר רץ בלי להפעיל מחדש שום דבר.
הדגל חי בקובץ mcp-access.json בתיקיית
הנתונים, ~/.local/share/Mila/mcp-access.json
ב-Linux ו-%APPDATA%\Mila\mcp-access.json
ב-Windows. כל קריאה קוראת אותו מחדש. חסר, לא קריא או פגום כולם
אומרים דחייה: השער נכשל סגור על כל מה שהוא לא מבין בבירור, וניסיון
כושל לבטל גישה מסלים למחיקת הקובץ כך שביטול לא יכול להיכשל פתוח.
זהו פקד הסכמה, לא גבול הרשאות. העוזר רץ כמשתמש שלכם וקורא את אותם קבצים שאתם יכולים, כך שכל דבר שכבר רץ כמותכם יכול לקרוא את המאגר ישירות בלי קשר למה שההגדרה הזו אומרת. מה שהמתג מונע הוא התאונה הריאלית: לקוח MCP שבמקרה מוגדר וקורא בשקט תמלולי פגישות ושולח אותם למודל בענן פשוט כי הכלים היו שם. הוא לא, ולא יכול, להגן מפני תוכנית עוינת שכבר רצה כמותכם.
רישום עם Claude Code
פקודה אחת, פעם אחת. השתמשו בשורה שמתאימה לאיך שהתקנתם את OpenMila.
מה-AppImage, שנושא את העוזר בתוכו:
claude mcp add openmila -- /path/to/OpenMila-<version>-x86_64.AppImage --mcp
מחבילת ה-Debian, ששמה את העוזר ב-PATH שלכם:
claude mcp add openmila -- /usr/bin/openmila-mcp
מה-zip של Windows, באמצעות התיקייה שחילצתם אליה:
claude mcp add openmila -- C:\path\to\OpenMila\openmila-mcp.exe
מבנייה מהמקור:
claude mcp add openmila -- /path/to/OpenMila/.build/debug/openmila-mcp
אותו הדבר כ-JSON
לקוחות MCP אחרים לוקחים קובץ תצורה במקום. הצורה זהה בכל מקום: שרת בשם עם פקודה להרצה. החליפו את הנתיב באחד המתאים להתקנה שלכם מהקטע למעלה.
{
"mcpServers": {
"openmila": {
"command": "/usr/bin/openmila-mcp"
}
}
}
העוזר לא לוקח ארגומנטים משלו ולא צריך סביבה. הוא מוצא את המאגר דרך קובץ מצביע שהאפליקציה כותבת מחדש בכל הפעלה, כך שהוא עוקב אחרי תיקיית ההקלטות אם תעבירו אותה.
מה לשאול אותו
- קרא את התמלול האחרון שלי עם אדם בשם מסוים וסכם אותו.
- חפש בתמלולים שלי החלטה שאני חצי זוכר, והראה לי את השורות סביב כל התאמה.
- הצג רשימה של כל מה שהקלטתי בשבוע שעבר, מהארוך לקצר.
- משוך את פריטי הפעולה מהפגישה של אתמול, ואמור אילו מהם מישהו ביקש בקול לעומת אלו שהוסקו.
-
עקוב אחרי הפגישה הנוכחית שלי: תשאל (poll) את
get_live_transcriptעם ה-cursor כל חמש-עשרה עד עשרים שניות, וכשמשהו חדש מגיע, הצע במשפט או שניים מה כדאי לי לומר הלאה. כשהסטטוס הופך ל-completed, משוך את התמלול הסופי וסכם אותו.
קריאת האתר כולו
סוכן שרוצה את שאר האתר, לא רק את העמוד הזה, צריך לקרוא את /llms.txt, שמסכם מה זו OpenMila, איפה הפורט עומד, מה הוא עושה, תכונות הפרטיות שלו והמגבלות הידועות שלו, עם קישורים לכל עמוד. העמוד הזה עצמו זמין כ-Markdown ב- /he/docs.md, נוצר מה-HTML הזה בכל בנייה כך ששניהם לא יכולים לחלוק.
קרדיטים ורישיון
OpenMila הוא פורט קהילתי עצמאי של Mila עבור Linux ו-Windows. הוא אינו קשור ל-Island Technology, Inc. ואינו מאושר על ידה.
Mila נוצרה בידי Uri Harduf ב-Island ופורסמה תחת רישיון Apache 2.0 בכתובת github.com/island-io/mila. OpenMila משתמשת מחדש במנוע התמלול, מודל הנתונים והלוגיקה של האפליקציה של Mila ללא שינוי בכל מקום שהפלטפורמה מאפשרת, ומממשת מחדש רק את מה שקשור ל-macOS. הקבצים במקור שהפורט הזה משנה רשומים ב-CHANGES.md.
רישיון Apache 2.0. הזכויות ב-Mila שייכות ל-Island Technology, Inc.; הזכויות ב-OpenMila שייכות ל-NX1X. ראו LICENSE ואת NOTICE.