參考
設定
mu.json、環境變數、網路代理,以及各功能的選項在哪裡。
mu 讀取 pi 的設定(模型、登入、偏好)和它自己的設定,後者在 ~/.mu/agent/mu.json 裡。桌面版的設定寫的也是這個檔案:在那裡做的每一處改動都可以手動做,反過來也一樣。
只讀取你自己的 mu.json。專案不能更改判定器、它的位址或模式,因為判定器會讀你的訊息。
mu.json
{
"tiers": ["jev"],
"modes": {
"default": "active",
"turn.continue": "shadow",
"output.drift": "off"
},
"routes": {
"browser.step": ["jev"],
"memory.capture": ["laya", "jev"]
},
"features": {
"admission": { "testLog": "rules" },
"board": { "defaultOn": true },
"ttsr": false
},
"writer": "anthropic/claude-haiku-4-5",
"recordState": false
}
| 鍵 | 意義 | 預設 |
|---|---|---|
tiers |
依序回答的判定器。後一個判定器只看到前面幾個拿不準的問題。 | ["jev"] |
modes |
default 加上每個判定點一項:active、shadow 或 off |
{ "default": "active" } |
routes |
讓一個判定點用自己的判定器,取代 tiers |
無 |
judges |
你自己命名的判定器;請見判定器 | 無 |
features |
各功能的開關和選項:false 關掉一個功能,一個物件覆寫其中的選項。所有選項都列在功能與選項裡。 |
各功能自己的預設值 |
writer |
一個小模型,格式為 provider/model,做判定器做不了的事:寫任務框架和經驗。留空就用工作階段的模型。 |
無 |
recordState |
在帳本裡保存被判定的狀態,而不只是判定結果。訓練你自己的判定器時需要;預設關閉,因為狀態裡有你的內容。 | false |
mcp |
mu 自己的 MCP 伺服器:{ "servers": { "<name>": { "command": … } } }。來自 Claude Code、Cursor 和 Codex 的伺服器也會被找到。 |
無 |
mu 看不懂的部分會退回預設值,而不是讓 mu 停下。完全無法解析的檔案會在工作階段開始時回報,並使用預設值。
實際使用中的模式
- 每個判定點從一開始就生效。想試一個判定器,或者對某個判定點沒把握,就把它設成影子模式,讀帳本(
mu ledger、/status或桌面版的「判定」頁),再把它設回生效。 /mu mode <point> <off|shadow|active>在目前的工作階段裡切換一個判定點;/mu mode default shadow切換全部。想保留一個模式,就寫進mu.json。MU_JUDGE_MODE=shadow mu為一次執行設定預設模式。
環境變數
判定器和模式:
| 變數 | 效果 |
|---|---|
MU_JUDGE |
這次執行用的判定器,以逗號分隔:laya、laya,jev、jev-opencode-free、classifier:<provider>/<model>、llm:<provider>/<model>。off 關掉判定核心。 |
MU_JUDGE_MODE |
這次執行的預設模式:off、shadow 或 active |
MU_WRITER |
writer 模型的 provider/model |
MU_PERMISSIONS |
這次執行的權限模式:full、jev 或 ask |
MU_LOCAL_JUDGE_URL |
本機判定器伺服器的位址,用於 mu judge start 啟動的那個之外的伺服器 |
Jev 的金鑰,每個只送給它自己的服務:TYPESAFE_API_KEY、MU_JUDGE_OPENROUTER_API_KEY、AI_GATEWAY_API_KEY、OPENCODE_API_KEY、CLOUDFLARE_API_KEY 加 CLOUDFLARE_ACCOUNT_ID、MU_JUDGE_CLM_API_KEY。
啟動器:
| 變數 | 效果 |
|---|---|
MU_AGENT_DIR |
代理資料夾,取代 ~/.mu/agent |
MU_NO_SETUP=1 |
第一次啟動時從不詢問是否設定模型 |
MU_LANG |
工作階段裡 mu 自己的訊息:zh… 用中文,其他用英文。桌面版把它設成應用程式的語言;mu setup 跟隨你的系統語言。 |
MU_LINK_DIR |
mu link 把 mu 指令放在哪裡,取代 ~/.local/bin |
MU_CHROME |
命令列裡內建瀏覽器使用的 Chrome 或 Chromium |
每個 MU_ 變數也認得它以前的 KYRN_ 寫法。
mu 還會讀一個 .env 檔案:npm 套件用的是 ~/.mu/.env。每行是 KEY=VALUE;裡面的任何內容都不會被執行。mu setup 把 Jev 金鑰寫在那裡。環境裡已經設定的變數優先。
網路代理
mu 遵循 HTTPS_PROXY、HTTP_PROXY 和 NO_PROXY。沒有設定 HTTPS_PROXY 時,桌面版還會跟隨系統代理(macOS 的網路設定、Windows 的網際網路設定)。pi 的 httpProxy 設定也有效。
常改的選項
| 設定 | 做什麼 |
|---|---|
features.admission.testLog |
"rules" 摺疊測試日誌裡完全相同的重複;"jev" 再加上依目標挑選。預設關閉。 |
features.board.defaultOn |
每個專案一開始就開啟人話看板 |
features.permissions.mode |
你還沒選時,新對話的權限模式 |
features.injection.tools |
哪些工具的結果要做提示注入篩查 |
features.continuation.maxNudges |
每則訊息裡,半路停下的執行最多被送回去幾次 |
features.swarm.models |
子代理可以被分派到的模型梯隊,便宜的在前 |
features.goal.checkModel |
檢查目標是否成立的模型 |
所有功能和選項,以及預設值和取值範圍:功能與選項。