新版本桌面版 v0.1.7:設定依區域分組,首次引導重做,內建 mu-agent 0.1.8
文件 文件

開始

快速開始 桌面版 命令列

使用 mu

判定器 權限與安全 目標模式與收尾 上下文 經驗 人話看板 子代理與蜂群

參考

設定 功能與選項 疑難排解 隱私

使用 mu

上下文

mu 怎樣讓上下文保持精簡:工具輸出分塊進入,過期結果不寫摘要直接放下,技能和 MCP 伺服器只在需要時出現。

模型的注意力有限,上下文也有限。mu 把任務用不上的東西擋在外面,所以上下文很少填滿,提示快取也保持熱的。下面每一項都是一個判定點,可以開關,也可以設成影子模式。

長工具輸出

搜尋、建置或指令產生的、超過 4,000 個字元的輸出,會被切成約 1,200 個字元一塊,判定器對每一塊問一次:這一塊現在重要嗎?最多十六塊放在一個請求裡,狀態只計費一次。重要的進上下文;其餘的封存,留一個指標,模型發現自己需要時可以取回。判定器超過四秒還沒回答,輸出就整段放進去。

read、edit 和 write 從不過濾:模型讀一個檔案,拿到的就是整個檔案。

測試日誌

一次失敗的執行,常常為每個失敗的測試各印一遍同樣的 diff、DOM dump 或堆疊追蹤。開啟測試日誌精簡後,mu 保留第一份,之後每一份換成一行,寫明它重複的是哪幾行。不呼叫任何模型,標記展開後逐位元組等於原文;完整日誌留在磁碟上,結尾有一行指向它。

{ "features": { "admission": { "testLog": "rules" } } }

"jev" 更進一步:用詳細的 reporter 時,判定器還會挑出目前的目標還需要哪些通過紀錄和測試輸出。失敗和摘要從不參與提問。設定裡把這一項叫作「測試日誌精簡」。實測資料在判定點頁面上。

mu 還會告訴測試工具「讀者是代理」,所以 Vitest 等工具只印出失敗和摘要。

遺忘過期結果

上下文用量超過 50%、70% 和 85% 時,長於 6,000 個字元、至少兩輪之前的結果會被判定:還需要,還是已經過期?過期的結果從此在每個請求裡變成一行墓碑。不寫任何摘要,工作階段檔案裡保留原文。

免摘要壓縮

預設關閉。對話被壓縮時,由判定器逐段決定保留還是刪掉,而不是由模型寫一份摘要。保留的段落一字不改;刪掉的只留開頭 300 個字元。

{ "features": { "compaction": true } }

技能、能力包和 MCP 伺服器

裝得多,露得少:

  • 技能。 只有和任務有關的技能,描述才會進提示詞。其餘的仍然找得到。技能少於四個時不做篩選。
  • 能力包和 MCP 伺服器。 它們裝著,但預設隱藏:直到判定器認定任務需要,或模型主動要求,伺服器的行程才會啟動,它的工具才會顯示出來。工具清單會快取,所以伺服器還沒執行過,判定器也知道它提供什麼。在 mu.json 的 mcp.servers 下寫 "exposure": "always",可以讓某個伺服器一直開著。

mu 內建的能力包:ast-grep 結構化搜尋與改寫、透過 gh 使用 GitHub、/commit、/review、衝突解決,以及一個偵錯工具(debugpy、delve、lldb-dap)。每個都需要裝好對應的程式,缺少時會給出安裝提示。

你在別處已經設定好的東西

mu 讀取你為 Claude Code、Cursor 和 Codex 設定好的規則、技能和 MCP 伺服器,但不改動它們。常駐規則進提示詞;針對某些檔案的規則,在模型第一次碰到這類檔案時交給它;其餘的只列出描述。專案自己的規則和伺服器只在專案受信任時才會使用,專案定義的伺服器第一次啟動前會先問你。/inherit 顯示沿用了什麼、沒沿用什麼。

經驗和快取

  • 經驗:不管經驗庫多大,一輪最多帶進五行相關的經驗;請見經驗。
  • 快取保溫。 你很可能馬上回來時,mu 會在提示快取過期之前先續一次,這樣你的下一則訊息不用再為整段提示詞付費。
  • 通知:上下文預算(70%、85%)之類的通知,由判定器決定現在告訴模型、晚點告訴,還是不告訴,這樣它們不會在編輯到一半時插進來。

喜歡 mu,就到 GitHub 給個 Star

Star 能讓更多人看到它。程式碼、討論和每一個版本都在儲存庫裡。

在 GitHub 上 Star464