Getting Started
INSTALL · DEV · FIRST RUN
從 0 到 Mori 在你 Ubuntu 上跑起來 — 三步驟。
支援平台:Linux / Windows / macOS。
Linux (Ubuntu 26.04 + GNOME Wayland 主力測試)— paste-back / 全域熱鍵 / primary selection / 全套到位
Windows 10/11 (v0.4.0 起 first-class)— paste-back(SetClipboardData + SendInput)/ 全域熱鍵(tauri-plugin-global-shortcut)/ open_url / open_app(ShellExecuteExW)/ 視窗 context capture(Win32 API)全到位;**短名 binary 自動探 .cmd shim**(claude-bash / gemini-bash / codex-bash 直接用短名就 work)
macOS (基本可跑,paste-back 經 Cmd+V 模擬,部分平台原生功能尚未接)
1. 系統需求
共通 :Rust 1.94+,Node 22+
Linux :Tauri 2 build deps + wl-clipboard + ydotool
+ xdg-desktop-portal ≥ 1.19(Wayland 全域熱鍵)。Ubuntu 24.04 LTS 自帶 1.18 不夠新,
詳見 Troubleshooting
Windows :Microsoft C++ Build Tools(MSVC)+ WebView2(Windows 11 自帶);
Bash CLI provider 用的話需先裝對應 CLI(`claude` / `gemini` / `codex`,後二者透過 npm 全域裝)
macOS :Xcode Command Line Tools + WebKit(系統自帶)
Ubuntu 26.04 一條龍 setup script:
yazelin/ubuntu-26.04-setup
./setup-rust.sh # Rust toolchain
./setup-tauri-deps.sh # WebKitGTK + ALSA + tray libs
./setup-wayland-input.sh # wl-clipboard + ydotool daemon
Linux 裝完要重開機一次 讓 input group 生效(ydotool 需要)。
Windows / macOS 不必。
2. Clone + Build
git clone https://github.com/yazelin/mori-desktop.git
cd mori-desktop
npm install
npm run build # 建 dist/ — tauri::generate_context!() 編譯時會檢查這路徑
cargo build --workspace # workspace 才會 build mori-cli (Bash CLI proxy 需要)
順序不能換 :cargo build 編 mori-tauri 時,
tauri::generate_context!() 巨集會驗證 tauri.conf.json 的
frontendDist(../../dist)路徑存在,所以前端 dist/
必須先建好。fresh clone 直接跑 cargo build 會炸
The `frontendDist` configuration is set to "../../dist" but this path doesn't exist。
3. 跑 Dev 模式
npm run tauri dev
第一次 build 在 Intel Ultra 上 ~3 分鐘。之後 incremental ~10 秒。
注意 :npm run tauri dev 只 build mori-tauri。
mori CLI(Bash CLI proxy 用)要另外跑 cargo build -p mori-cli,
binary 在 target/debug/mori。
主畫面截圖
主視窗 = sidebar shell(7 個 tab:Chat / Profiles / Config / Memory / Annuli / Skills / Deps / Logs)+ 桌面常駐 floating sprite + Ctrl+Alt+P picker overlay。
主視窗 · Mori Dark theme — Whisper 收音不佳時 Mori 老實察覺(不假裝聽懂)
主視窗 · Mori Light theme(空 state)
Ctrl+Alt+P Profile Picker
桌面常駐 sprite + chat bubble
Config · Theme picker
Floating sprite · 錄音中(藍水波 + profile chip)
Floating sprite · 轉錄 / 思考中(綠雙環)
第一次啟動會發生的事
權限對話框 :Linux GNOME Wayland 跳「全域熱鍵」對話框 — 點「新增(Add) 」。
X11 / Windows / macOS 直接 grab 不會跳。誤點拒絕 / Wayland portal 太舊的修法見
Troubleshooting → 全域熱鍵
~/.mori/ 建立 :
config.json stub + themes/dark.json + themes/light.json
(v0.4.1+ OS prefers-color-scheme 自動偵測 預設套深 / 淺)
voice_input/ 6 個 starter:USER-00.純文字輸入 ~ USER-05.提示詞優化
agent/ 6 個 starter:AGENT.md(default Mori)+ AGENT-01.翻譯助手 ~ AGENT-05.聽我指令
corrections.md(v0.5.1+)— 200+ 條 STT 諧音 / 技術詞校正 baseline
宿靈儀式(Quickstart) :第一次啟動跳 modal,2 個模式擇一(詳見 ):
儀式 — 5 幕詩意 onboarding(預設)
Direct setup — 制式表格、一頁完成,給趕時間 / 喜歡技術用詞的人
這版會問:使用者名 / Groq API key / LLM provider key / starter 語系(中文預設,可選英文 — 詳見
tokenizer 對比 )。Direct mode 偵測到 OS env var 設好的 key 會自動彈 banner,讓 you 一鍵跳過手填。
主視窗顯示 :sidebar shell + 桌面右下 floating sprite(160×160)
第一次按 Ctrl+Alt+Space :錄音 → STT → 走 active profile pipeline。
若 provider 沒設好會在 Logs tab 看到 spawn_error / llm_call ok=false 等 event。
除錯一律先看 Logs tab (v0.4.0+ 自動寫 ~/.mori/logs/mori-YYYY-MM-DD.jsonl)。
基本操作流程
裝完 + provider 設好以後,日常用法 4 個鍵打天下:
選 mode (每按一次就鎖在那個 mode 直到再切):
Alt +0 → VoiceInput slot 0(預設極簡聽寫,STT → 貼游標)
Alt +1 → VoiceInput slot 1(預設「朋友閒聊」,放鬆語氣 + 自動 Enter)
Ctrl +Alt +0 → Agent slot 0(預設 Mori 角色,STT → agent loop → 回應)
Ctrl +Alt +1 → Agent slot 1(預設「翻譯助手」,STT → 翻成繁中 / 英)
錄音 + 送出 Ctrl +Alt +Space :
Toggle 模式(預設) :按第一次 → 開始錄音(floating sprite 變藍水波);
按第二次 → 停止 + 自動送 STT + LLM(走當前 mode)
Hold 模式(可切) :按住開錄、放開立刻停錄送 STT(像 push-to-talk)。
Config tab → Hotkey → toggle_mode 改成 hold 即時生效。
詳見 Hotkeys → 自訂熱鍵
中斷 Ctrl +Alt +Esc :
錄音中按 → 丟掉音檔,不送 STT
思考中按 → abort LLM call,SIGKILL 子程序
不記 slot 數字就用 picker overlay :Ctrl +Alt +P
開 picker,方向鍵在 voice / agent profile 中選。
「Hey Mori 待命」 (v0.6.0+,Listening mode):不想按熱鍵 →
托盤右鍵選「Hey Mori 待命」進 Listening mode。對麥克風喊「Hey Mori」就自動觸發
錄音(Mori 會先回一句「嗯,我在聽」讓你知道可以講)。講完連續 1.5s 靜音就
自動送 STT。Tray menu 切回別的 mode 就退出待命。
Bundled hey-mori.onnx 預設 model 開箱即用 — fresh install 不用先
跑訓練腳本
命中率對個人聲線不夠?Linux + GPU user 可進階自訓 — 跑
examples/scripts/mori-wake-verifier.py 錄 ~15 條自己聲音的
「Hey Mori」+ ~15 條雜句,訓二階段 verifier 提高命中率
設定都在 Config tab → Voice subtab 滑到底:threshold / VAD 停頓 /
wake-ack 應答音切換
自訂更多 profile slot(2~9):用同檔名格式 AGENT-NN.<display>.md /
USER-NN.<display>.md 丟到 ~/.mori/agent/ /
~/.mori/voice_input/ 即可(範本見
Profile 範本頁 )。
下一步
Hotkeys — 全域熱鍵 + UI 內熱鍵清單 + toggle / hold 模式
宿靈儀式 — Quickstart 5 幕 + Direct setup 表格,starter 語系 picker
Providers — Groq / Gemini / Ollama / Claude / Gemini / Codex CLI 各種設定
~/.mori/ — config / profile / memory / theme / logs / corrections 全套結構
Profile 範本 — Agent + VoiceInput starter pack(zh / en × 各 6 份)
Tokenizer 對比 — 中英 starter 在不同 LLM 的 token 數差異 + 取捨建議
README — 整體介紹 + 進度 + 規劃
CHANGELOG — 版本演進歷史