參考
功能與選項
判定核心的每個功能:是否預設開啟、它的判定點,以及每個選項的預設值和取值範圍。
每個功能在 ~/.mu/agent/mu.json 的 features.<name> 下設定。false 關掉一個功能,true 用預設值開啟它,一個物件則覆寫單個選項:
{
"features": {
"injection": { "tools": ["web_fetch", "mcp__*"] },
"board": { "defaultOn": true },
"ttsr": false
}
}
桌面版的設定寫的是同一個檔案,名稱和說明也和這一頁相同。兩者都來自儲存庫裡的同一份清單。
訊息預檢 preflight
預設開啟判定點 input.preflight
開工前先判定訊息,並在對話裡顯示判定結果。
| 選項 | 預設 | 說明 |
|---|---|---|
thinking | false | 依判定結果設定思考強度(切換會丟掉提示快取) |
hints | true | 給模型一行提示 |
show | true | 顯示等待過程和判定結果 |
waitMs | 4000 毫秒 | 最多等待。超過這個時間,這一輪就不等判定結果,直接開始。範圍 500 到 30000。 |
中途插話 interjection
預設開啟判定點 input.interjection
處理代理工作時傳來的訊息。
| 選項 | 預設 | 說明 |
|---|---|---|
waitMs | 1500 毫秒 | 最多等待。範圍 200 到 10000。 |
技能揭露 skills
預設開啟判定點 skills.disclosure
決定一個對話帶上哪些技能說明。
| 選項 | 預設 | 說明 |
|---|---|---|
minSkills | 4 | 技能少於這個數就不篩選。範圍 1 到 100。 |
waitMs | 4000 毫秒 | 最多等待。範圍 500 到 30000。 |
能力目錄 catalog
預設開啟判定點 capability.disclosure
裝得多、露得少:能力包和 MCP 伺服器預設隱藏,依任務開啟。
| 選項 | 預設 | 說明 |
|---|---|---|
waitMs | 4000 毫秒 | 最多等待。範圍 500 到 30000。 |
任務框架與待辦清單 frame
預設開啟判定點 task.frame
記住你真正想要的:目標、你的硬性約束(你的原話,附出處)、目前的子目標和驗收項目。這些驗收項目就是待辦清單,模型用 todo 工具勾選。所有「和目標有關嗎」的判斷都以它為準,回退對話時它也跟著回退。
| 選項 | 預設 | 說明 |
|---|---|---|
waitMs | 3000 毫秒 | 每輪最多等任務框架多久。從訊息到達時算起。來晚的更新不會丟掉:這一輪先用上一版加上這則訊息的原文開始,更新好了再照常套用。範圍 0 到 30000。 |
writerTimeoutMs | 20000 毫秒 | 撰寫任務框架的時限。逾時或回覆格式不對時,保留上一版並標為過期,依目標篩選的功能先暫停,下一則訊息時再重試。範圍 1000 到 120000。 |
show | true | 在對話裡顯示任務框架更新 |
經驗庫 memory
預設開啟判定點 memory.recall memory.capture memory.outcome memory.worth memory.merge memory.applied
從你的糾正、代理自己的脫困、模型和子代理的發現裡學經驗;存之前先和已有的合併,下次遇到相關任務時帶上,沒人照做的自動退役。/lessons 列出經驗,/forget 讓一條退役。
| 選項 | 預設 | 說明 |
|---|---|---|
path | 空 | 經驗庫檔案。留空使用預設位置。 |
maxCandidates | 24 | 每次最多評估。照做次數多的排在前面,其次是最近記下或確認過的。範圍 1 到 200。 |
maxInjected | 5 | 每輪最多帶入。範圍 0 到 20。 |
waitMs | 4000 毫秒 | 最多等召回結果。從訊息到達時算起;替子代理挑經驗也等這麼久。範圍 0 到 30000。 |
retireAfter | 8 | 召回幾次都沒照做就退役。0 表示從不自動退役。範圍 0 到 100。 |
mergeNeighbours | 6 | 存下之前比較幾條最像的經驗。依字面重合挑出來,一次請求問完;0 表示不整理,直接存。範圍 0 到 16。 |
outcome | true | 從代理的脫困中學。需要 writer 模型或目前對話的模型,把經驗寫成一句話。 |
applied | true | 一輪結束時檢查經驗有沒有被照做 |
危險指令把關 guard
預設開啟判定點 tool.risk
危險指令執行前先確認。
沒有選項。
權限模式 permissions
預設開啟判定點 tool.approval
完全存取、Jev 審批、最小權限三種模式,隨時可用 /permissions 切換。需要你授權時會在狀態列詢問,可以只允許這一次,或這次對話都允許。開啟時,危險指令的把關也由它負責。
| 選項 | 預設 | 說明 |
|---|---|---|
mode | jev | 新對話的預設模式。用 /permissions 選過之後,以你最後選的為準。full 完全存取 · jev Jev 審批 · ask 最小權限 |
硬性約束把關 constraints
預設開啟判定點 tool.constraint
改動檔案或執行指令之前,先對照你的硬性約束檢查一遍;子代理同樣受這些約束。
| 選項 | 預設 | 說明 |
|---|---|---|
maxConstraints | 6 | 每次呼叫最多對照的約束數。取最新的幾條。範圍 1 到 20。 |
waitMs | 5000 毫秒 | 最多等待。範圍 500 到 30000。 |
注入篩查 injection
預設開啟判定點 tool.injection
模型讀網頁、搜尋結果和 MCP 結果之前,扣下寫給 AI 的指令。
| 選項 | 預設 | 說明 |
|---|---|---|
tools | web_fetch, web_search, browse, mcp__* | 要篩的工具。工具名,或以 * 結尾的前綴;mcp__* 是所有 MCP 伺服器。 |
waitMs | 6000 毫秒 | 最多等待。逾時就只依規則扣下明顯的注入用語,判定照樣記錄。範圍 500 到 30000。 |
工具輸出篩選 admission
預設開啟判定點 tool.admission tool.admission.test-log
控制很長的工具輸出以什麼方式進入上下文。
| 選項 | 預設 | 說明 |
|---|---|---|
minChars | 4000 字元 | 超過這個長度才篩選。範圍 500 到 200000。 |
chunkChars | 1200 字元 | 每塊大小。範圍 200 到 20000。 |
maxChunks | 48 | 最多判斷幾塊。範圍 4 到 400。 |
batchChunks | 16 | 一次請求判斷幾塊。託管判定器把多塊放進一個請求,狀態只計費一次;本機判定器一律一次一塊。範圍 1 到 32。 |
waitMs | 4000 毫秒 | 最多等待。超過這個時間,輸出就整段放行,判定結果只記錄下來。範圍 500 到 30000。 |
passThrough | read, edit, write | 這些工具的輸出不篩選 |
testLog | off | 測試日誌精簡off 關閉 · rules 只去掉完全重複的段落(無損) · jev 再由判定器從其餘部分挑選 |
agentEnv | true | 告訴測試工具「讀者是代理」。Vitest 等工具因此只會輸出失敗和摘要。 |
遺忘過期結果 forgetting
預設開啟判定點 context.forget
上下文吃緊時,把用不上的舊結果換成佔位文字。
| 選項 | 預設 | 說明 |
|---|---|---|
thresholds | 50, 70, 85 | 觸發門檻(上下文用量 %) |
minChars | 6000 字元 | 只處理長於此的結果。範圍 500 到 200000。 |
minAgeTurns | 2 | 至少經過幾輪。範圍 0 到 50。 |
maxPerBatch | 12 | 每批最多判斷。範圍 1 到 100。 |
waitMs | 4000 毫秒 | 最多等待。這次請求最多等這麼久;來晚的判定在下一次請求時生效。範圍 500 到 30000。 |
免摘要壓縮 compaction
預設關閉實驗判定點 context.compact
壓縮時保留原文片段,而不是寫摘要。
| 選項 | 預設 | 說明 |
|---|---|---|
keepThreshold | 0.5 | 保留門檻。範圍 0 到 1。 |
minChars | 600 字元 | 短於此的原樣保留。範圍 100 到 20000。 |
headChars | 300 字元 | 裁剪時保留的開頭。範圍 0 到 5000。 |
targetRatio | 0.5 | 壓縮後佔原本的比例。範圍 0.05 到 1。 |
maxWindowShare | 0.25 | 最多佔上下文視窗的比例。範圍 0.05 到 0.9。 |
freeChars | 24000 字元 | 短於此的歷史不受預算擠壓。範圍 0 到 500000。 |
maxJudged | 120 | 最多判斷的片段數。範圍 10 到 1000。 |
檢查點與回退 checkpoint
預設開啟判定點 turn.rewind
每一輪第一次改動檔案之前,先為工作區拍一張快照,存在 mu 自己的影子 git 目錄裡,從不碰你的儲存庫。/rewind 讓檔案和對話一起回到那一刻,/rewind undo 撤銷這次回退。
| 選項 | 預設 | 說明 |
|---|---|---|
dir | 空 | 快照存放位置。留空則放在 mu 主目錄的 mu/checkpoints 下,每個專案一個影子儲存庫。 |
keep | 50 | 每個專案保留的快照數。範圍 1 到 1000。 |
maxAgeDays | 14 天 | 快照保留天數。範圍 1 到 365。 |
maxFileMb | 5 MB | 單一檔案大小上限。更大的檔案不會進入快照,回退時也絕不會動到它們。範圍 1 到 1024。 |
maxFiles | 5000 個 | 一次快照最多的檔案數。要拍的檔案更多時,這個對話就不建立檢查點,並說明一次原因。你的主目錄和 mu 自己的目錄從來不拍。範圍 100 到 1000000。 |
maxTotalMb | 200 MB | 一次快照最多的總大小。要拍的檔案加起來更大時,這個對話就不建立檢查點,並說明一次原因。範圍 1 到 100000。 |
ignore | 空 | 額外忽略的路徑。gitignore 寫法,一行一條。專案自己的 .gitignore 和內建清單(node_modules、建置產物等)一律適用。 |
timeoutMs | 30000 毫秒 | 單次快照的時限。超過這個時間,這一輪就不建立檢查點;工具呼叫照常執行。範圍 1000 到 600000。 |
propose | true | 走進死路時提議回退 |
confirmSeconds | 120 秒 | 提議等你回覆的時間。沒有回覆就繼續原本的工作。0 表示一直等。範圍 0 到 3600。 |
偏離監控 monitor
預設開啟判定點 turn.drift
發現偏離目標和原地打轉。
| 選項 | 預設 | 說明 |
|---|---|---|
every | 6 | 每隔幾次工具呼叫檢查一次。範圍 1 到 100。 |
repeats | 3 | 同一呼叫重複幾次算打轉。範圍 2 到 20。 |
window | 8 | 觀察視窗。範圍 2 到 100。 |
語言伺服器診斷 lsp
預設開啟判定點 diagnostics.delivery
使用本機已安裝的語言伺服器(不會代為安裝),只保留這次改動新引入的問題,由判定器決定何時告訴模型。
| 選項 | 預設 | 說明 |
|---|---|---|
builtin | true | 使用內建的常見伺服器清單。TypeScript、Python、Go、Rust 和 C/C++ 的常見伺服器,只在 PATH 上尋找。自訂的伺服器寫在 mu.json 的 features.lsp.servers 下。 |
editTools | edit, write | 算作修改檔案的工具 |
subAgents | false | 子代理也啟動語言伺服器。預設關閉:每個子代理各跑一套伺服器,很吃電腦資源。 |
settleMs | 1500 毫秒 | 改完後最多等伺服器多久。超過就不再等:晚到的診斷留到下一次改動或這一輪結束時處理。範圍 0 到 10000。 |
turnEndSettleMs | 3000 毫秒 | 一輪結束時最多等多久。範圍 0 到 30000。 |
quietMs | 250 毫秒 | 伺服器安靜多久算完成。範圍 20 到 5000。 |
baselineMs | 5000 毫秒 | 最多等改動前的診斷多久。在背景等待,從不擋住工具。超過這個時間,第一份回報就不算作新問題。範圍 100 到 60000。 |
maxItems | 10 | 一次最多告知幾條診斷。範圍 1 到 100。 |
maxServers | 4 | 同時執行的伺服器上限。範圍 1 到 16。 |
waitMs | 4000 毫秒 | 最多等判定器多久。範圍 500 到 30000。 |
寫偏即停(實驗) ttsr
預設關閉判定點 output.drift
語意版 TTSR:不用正規表示式,而是由判定器發現輸出走偏,截斷輸出、指出規則,再讓模型接著寫。預設關閉;開啟後每一段輸出都會多一次判定器呼叫。
| 選項 | 預設 | 說明 |
|---|---|---|
rules | 空 | 隨時都要遵守的規則。一行一條,用平常的話寫,例如「用中文回答」「不要寫佔位實作」。任務框架裡你的硬性約束會自動加入。 |
segmentChars | 600 | 每輸出多少字元檢查一次。範圍 200 到 5000。 |
maxRules | 4 | 每次呼叫最多對照的規則數。規則更多時,保留你最近說的那些。範圍 1 到 12。 |
maxInterrupts | 2 | 你兩次發言之間最多截斷幾次。範圍 1 到 10。 |
目標模式 goal
預設開啟判定點 goal.met
輸入 /goal <條件> 之後,代理會一直做到條件成立為止(只輸入 /goal 會問你條件)。每次它想停下,都由大模型讀取證據判斷:已經達成,還是下一步該做什麼。遇到你打斷、模型呼叫失敗、閒置空轉或原地打轉,或是次數和時間額度用完,它會自己停下;你再傳一則訊息,它就接著做。
| 選項 | 預設 | 說明 |
|---|---|---|
checker | model | 由誰判斷目標是否達成。大模型讀取目標、這次執行做了什麼、最後一次測試結果和結束語,給出結論和下一步;只有它沒給出答案時才改由 Jev 判斷。無論哪種,只要還有未完成的驗收項目,或有改動沒驗證過,都算還沒達成。model 大模型(推薦) · jev Jev 判定器 |
checkModel | 空 | 判斷用的模型。格式為 provider/model。留空則使用這個對話目前的模型。 |
checkThinking | off | 判斷時的思考強度off 關閉 · minimal 極低 · low 低 · medium 中 · high 高 |
checkTimeoutMs | 90000 毫秒 | 判斷最多等多久。逾時就改由 Jev 判斷,Jev 也不行就只看事實。範圍 5000 到 600000。 |
stallLimit | 2 | 連續幾次沒進展就停。判斷時發現代理在重複自己。第一次會要它換個方向;達到這個次數,目標模式就暫停,等你決定。範圍 1 到 10。 |
maxContinuations | 20 | 最多自動續跑幾次。從你上一次發言算起。範圍 1 到 200。 |
maxMinutes | 180 分鐘 | 最長自動執行。從你上一次發言算起。範圍 5 到 1440。 |
idleLimit | 2 | 連續空轉幾次就停。連續幾次執行都沒呼叫任何工具就結束了:代理沒有在推進。範圍 1 到 10。 |
人話看板 board
預設開啟判定點 board.read
用大白話告訴你專案推進到哪、現在在做什麼、有什麼要你確認,並記一份流水:代理每做一步就記一行,它說的話、發現的事由會講人話的模型當場重講,Jev 決定什麼值得講;一輪做完再總結一遍,過程留在流水裡。只給人看,不進模型的上下文。每個專案單獨開關;第一次打開時選一個模型來講,之後可以換。
| 選項 | 預設 | 說明 |
|---|---|---|
defaultOn | false | 沒單獨設定過的專案也開啟。預設關閉:看板每更新一次就要呼叫一次模型。 |
model | 空 | 寫看板的模型。格式為 provider/model;在這裡填了就不會再問。留空:第一次開啟看板時讓你挑一個(推薦 Claude Opus 4.6,其次 Gemini 3.8 Flash),記在 mu/board.json 裡;沒挑的話用 writer 模型,再沒有就用這個對話的模型。 |
language | auto | 看板的語言auto 跟著你用的語言 · zh 中文 · en 英文 |
everyTools | 5 | 每隔幾次工具呼叫看一次。範圍 1 到 100。 |
minIntervalMs | 20000 毫秒 | 工作時兩次查看至少間隔多久。代理停下時一定會看一次,不受這個限制。範圍 0 到 600000。 |
maxSteps | 10 | 每次讀最近幾次工具呼叫。範圍 3 到 50。 |
narrateTimeoutMs | 60000 毫秒 | 撰寫看板最多等多久。逾時就改用固定的句子。範圍 5000 到 300000。 |
完成核對 completion
預設開啟判定點 turn.completion
說「做完了」之前,確認有沒有驗證過。
| 選項 | 預設 | 說明 |
|---|---|---|
waitMs | 3000 毫秒 | 最多等待。超過這個時間就不再提醒,判定結果只記錄下來。範圍 500 到 30000。 |
半路停下時接著做 continuation
預設開啟判定點 turn.continue
說了要做卻停下的一輪,讓它接著做。
| 選項 | 預設 | 說明 |
|---|---|---|
maxNudges | 2 | 每則訊息最多催幾次。範圍 1 到 5。 |
waitMs | 3000 毫秒 | 最多等待。超過這個時間就不再提醒,判定結果只記錄下來。範圍 500 到 30000。 |
通知分流 notify
預設開啟判定點 notify.routing
決定各類事件何時告訴模型。
| 選項 | 預設 | 說明 |
|---|---|---|
budgetThresholds | 70, 85 | 上下文預算提醒(%) |
快取保溫 warming
預設開啟判定點 cache.warming
划算時,在提示快取過期前先續上。
沒有選項。
判定器連線保溫 warmup
預設開啟
對話使用中時,每隔一陣子問判定器一個小問題,讓連線一直保持熱的:一輪開始前的判定就能省下 1–3 秒的連線時間。
| 選項 | 預設 | 說明 |
|---|---|---|
intervalMs | 50000 毫秒 | 間隔。伺服器端約 90 秒沒有動靜就會斷開連線,間隔要比這短。範圍 10000 到 85000。 |
idleMs | 900000 毫秒 | 多久沒動靜就停。範圍 60000 到 7200000。 |
子代理 swarm
預設開啟判定點 swarm.routing swarm.patch
把任務委派給按角色分工的子代理。
| 選項 | 預設 | 說明 |
|---|---|---|
models | 空 | 模型梯隊(從便宜到最強)。留空則所有子代理都使用這個對話的模型。 |
maxTasks | 6 | 每次呼叫最多委派幾個任務。範圍 1 到 32。 |
concurrency | 3 | 同時執行。範圍 1 到 16。 |
defaultAgent | worker | 預設角色 |
agentsDir | 空 | 自訂角色資料夾。留空使用 <agent 目錄>/agents。 |
isolation | worktree | 會改檔案的子代理。隔離時,改動會以修補程式交回,由主代理決定是否用 apply_patch_from 套用。不在 git 儲存庫裡時,會退回直接在原處修改。worktree 在自己的 git 工作樹裡修改 · none 直接在原處修改 |
carryUncommitted | true | 帶上未提交的改動。子代理從主代理目前看到的檔案狀態開始,而不是從上一次提交開始。 |
patchPreviewLines | 30 | 修補程式預覽行數。隨子代理的報告一起顯示的修補程式開頭。範圍 0 到 400。 |
蜂群 hive
預設開啟判定點 hive.publish hive.deliver hive.relate
多個蜂群成員平行處理同一個難題,由判定器把關它們之間傳遞什麼。輸入 /hive <問題> 就能自己發起;遇到直接做不下去的難題,代理也會自己發起。
| 選項 | 預設 | 說明 |
|---|---|---|
maxNotesPerBee | 12 | 每個成員最多發布幾則。範圍 1 到 100。 |
maxDeliveriesPerBee | 10 | 每個成員最多收到幾則。範圍 1 到 100。 |
checkpointEvery | 4 | 連續幾次工具呼叫沒分享發現就詢問。0 表示不詢問。範圍 0 到 50。 |
lastCall | true | 寫報告時再收一次遲到的發現 |
maxRelatedPerNote | 6 | 一則新發現最多對照幾則較早的發現。只對照和它有共同字詞的舊發現。0 表示不做更正。範圍 0 到 30。 |
verifyConflicts | 1 | 為未解決的爭議最多加派幾個核實成員。0 表示不加派,爭議的兩邊都留在報告裡。範圍 0 到 3。 |
verifyAfterSeconds | 60 | 爭議幾秒沒人解決才加派核實成員。範圍 0 到 600。 |
檔案定位 locate
預設開啟判定點 files.locate
locate 工具:用描述來找檔案。
| 選項 | 預設 | 說明 |
|---|---|---|
candidates | 40 | 送交判定的候選數。範圍 5 到 400。 |
results | 12 | 回傳筆數。範圍 1 到 100。 |
批次判定工具 judgeItems
預設開啟判定點 judge.items
judge_items 工具:一個是非題,對很多條目逐條給出機率。
| 選項 | 預設 | 說明 |
|---|---|---|
maxItems | 500 | 一次最多幾條。範圍 10 到 5000。 |
內建瀏覽器 browser
預設開啟判定點 browser.step
由判定器驅動的瀏覽器,使用自己獨立的設定檔,從不碰你的瀏覽器。
| 選項 | 預設 | 說明 |
|---|---|---|
headless | true | 無視窗執行 |
maxSteps | 40 | 每次最多步數。範圍 1 到 200。 |
textChars | 4000 字元 | 每步讀取的頁面文字。範圍 500 到 50000。 |
embedded | true | 桌面應用程式開著時,使用它的瀏覽器面板。這樣每一步都看得見,可以暫停、停止或接手;應用程式沒開時,使用 mu 自己的瀏覽器。 |
profileDir | 空 | 瀏覽器設定檔資料夾。留空使用 mu 自己的資料夾。 |
背景指令 background
預設開啟
bg_start / bg_output / bg_stop:開發伺服器和長時間的建置不會卡住這一輪。工作結束時要不要打斷,交給「通知分流」決定;對話結束時,所有工作一起停止。
| 選項 | 預設 | 說明 |
|---|---|---|
maxJobs | 8 | 同時執行的工作數上限。範圍 1 到 32。 |
bufferChars | 262144 字元 | 每個工作留在記憶體中的輸出。只保留最新的部分;完整內容在日誌檔裡。 |
maxOutputChars | 20000 字元 | 單次 bg_output 回傳上限 |
killGraceMs | 3000 毫秒 | 強制終止前的等待時間。先送出 SIGTERM(Windows 上是不帶 /F 的 taskkill),超過這個時間再強制終止。 |
logDir | 空 | 日誌目錄。留空為 ~/.mu/jobs/<對話 ID>,7 天後清除。 |
inheritShell | true | 沿用前景 shell 設定。和 bash 工具一樣,從 settings.json 讀取 shellPath 和 shellCommandPrefix。 |
wakeWhenIdle | false | 工作結束時可喚醒閒置的代理。只有判定為「立刻」時才會開始新的一輪;關閉時只附上一則通知。 |
網頁讀取與搜尋 web
預設開啟
web_fetch 把網頁讀成文字(有時間和大小限制,拒絕內部位址,頁面文字標為不可信);web_search 使用在中國大陸不需金鑰也能回應的搜尋來源。
| 選項 | 預設 | 說明 |
|---|---|---|
search | so | 搜尋來源。so(360)、sogou、bing-cn、searxng:<base url>,或含有 {query} 的網址。 |
searchFallback | true | 失敗時改用其他內建來源。遇到驗證頁、沒有結果,或結果與查詢無關時適用。 |
maxChars | 20000 字元 | 單次 web_fetch 回傳上限 |
timeoutMs | 20000 毫秒 | 單次請求時限 |
maxBytes | 2000000 位元組 | 下載上限 |
maxRedirects | 5 | 最多跟隨幾次重新導向。範圍 0 到 20。 |
allowLoopback | true | 允許本機的開發伺服器。只限網址本身寫的就是 localhost 或 127.0.0.1;從外部網頁重新導向過來的一律拒絕。 |
allowPrivate | false | 允許內部網路位址。10/8、172.16/12、192.168/16、連結本機位址等。預設拒絕,以免網頁把讀取引導到區域網路。 |
歡迎畫面 welcome
預設開啟
終端機裡的歡迎框和身分說明。
沒有選項。
沿用現有設定 inherit
預設開啟
以唯讀方式沿用你已經為 Claude Code、Cursor 和 Codex 設好的規則、技能和 MCP 伺服器。常駐規則會加入提示詞;限定檔案範圍的規則只交給模型一次,隨第一個碰到符合檔案的工具結果一起送出;其餘只列出描述。專案裡的內容只在專案受信任時才會使用。
| 選項 | 預設 | 說明 |
|---|---|---|
claude | true | 來自 Claude Code |
cursor | true | 來自 Cursor |
codex | true | 來自 Codex |
rules | true | 沿用規則 |
skills | true | 沿用技能 |
mcp | true | 沿用 MCP 伺服器。關閉後只使用 mu.json 裡 mcp.servers 下的伺服器。 |
maxRuleChars | 4000 字元 | 單條檔案範圍規則最多交給模型。其餘部分留在檔案裡,模型可以自己去讀。範圍 500 到 20000。 |
maxAlwaysChars | 16000 字元 | 常駐規則的總量上限。放不下的常駐規則改為只列出描述,避免規則把提示詞撐大。範圍 0 到 100000。 |
MCP 伺服器 mcp
預設開啟
MCP 伺服器由 pi 內建的用戶端連線(stdio 與 Streamable HTTP,支援 OAuth 登入,用 /mcp 管理)。從 Claude Code、Cursor、Codex 和 mu.json 沿用的每個伺服器都是能力目錄裡的一項,預設隱藏:判定器認定任務需要它,或模型透過 find_capability 要求時,才啟動它並把工具交給模型。工具清單會快取,所以伺服器即使從未執行過,判定器也有描述可以判斷。專案定義的伺服器第一次啟動前會先問你,定義變了也會再問。在 mu.json 的 mcp.servers 下為伺服器加上 "exposure": "always",就能讓它常駐開啟。用 mu mcp add 加入的伺服器歸 pi 管理:隨工作階段連線,工具由 tool_search 按需載入。
| 選項 | 預設 | 說明 |
|---|---|---|
startTimeoutMs | 45000 毫秒 | 啟動逾時。npx 這類伺服器會先下載自己。範圍 1000 到 300000。 |
requestTimeoutMs | 120000 毫秒 | 呼叫逾時。範圍 1000 到 3600000。 |
能力包 packs
預設開啟判定點 review.triage
隨 mu 附帶的工具包,預設隱藏,任務需要時才開啟;缺少外部程式時會提示如何安裝。
| 選項 | 預設 | 說明 |
|---|---|---|
astGrep | true | ast-grep 結構化搜尋與改寫。依語法而不是文字來尋找和修改程式碼。需要本機裝有 ast-grep。 |
maxResults | 50 | 單次搜尋最多回傳幾筆。範圍 1 到 500。 |
maxDiffChars | 12000 字元 | 單個結果最多附帶多少 diff。範圍 1000 到 200000。 |
astGrepCommand | 空 | ast-grep 的路徑。留空則依序在 PATH 中尋找 ast-grep 和 sg。 |
github | true | GitHub(透過 gh)。不加工具,只帶一個教模型用 gh 處理 PR、issue、檢查和發行版本的技能。需要本機裝有 gh。 |
ghCommand | 空 | gh 的路徑。留空則在 PATH 中尋找 gh。 |
commit | true | /commit:把改動拆成多個提交。由模型提議如何分組、提交訊息怎麼寫;你確認計畫後才會提交,而且全有或全無。從不推送。 |
maxPlanChars | 60000 | 模型最多讀多少字元的改動。範圍 5000 到 400000。 |
review | true | /review:審查並依 P0 到 P3 分級 |
conflicts | true | 衝突解決。合併、rebase 或 cherry-pick 因衝突停下時:逐個檔案顯示雙方和共同基準,逐塊寫入解決結果,再把檔案標為已解決。從不提交,也從不執行 --continue。 |
maxSideLines | 80 | 衝突區塊每一側最多顯示幾行。範圍 10 到 1000。 |
maxConflictChars | 20000 | 單一檔案的衝突最多顯示多少字元。範圍 2000 到 200000。 |
maxFindings | 40 | 每次分級最多處理幾則發現。超出的照樣回報,只是不分級。範圍 5 到 200。 |
debugger | true | 偵錯工具:中斷點、逐步執行、變數。在偵錯工具下執行程式,停在中斷點或未攔截的例外處,查看呼叫堆疊和變數。Python 用 debugpy、Go 用 delve、編譯型程式用 lldb-dap,都需要本機已安裝;也可以在 mu.json 的 debugAdapters 下加入自己的。一次只執行一個,隨對話結束。 |
maxFrames | 20 | 停下時顯示幾層呼叫堆疊。範圍 1 到 200。 |
maxVariables | 50 | 每個範圍最多列出幾個變數。範圍 5 到 1000。 |
debugOutputChars | 4000 字元 | 單個結果最多附帶多少程式輸出。超出時只保留最後的部分。範圍 500 到 100000。 |
debugWaitMs | 30000 毫秒 | 最多等程式停下多久。到時程式既沒停下也沒結束,就告訴模型它還在執行;模型可以暫停它看看停在哪裡,或繼續等。範圍 1000 到 600000。 |
用 Google 帳號登入(實驗) googleLogin
預設開啟實驗
在 /login 裡多出兩個選項:借用 Gemini CLI 的登入來使用 Gemini 模型,借用 Antigravity 的登入來使用 Gemini、Claude 和 GPT-OSS。這些是 Google 給自家工具用的登入方式,其他程式使用它們可能違反 Google 的條款,導致帳號受限或被停用,所以登入前會先說明風險,你同意才會繼續。官方的方式不需要這些:Gemini API 金鑰(供應商 google)和 Vertex AI(供應商 google-vertex,用 gcloud 登入)。
| 選項 | 預設 | 說明 |
|---|---|---|
geminiCli | true | Gemini CLI 登入。Gemini 模型;個人帳號使用免費額度,有 Code Assist 授權的則使用授權。 |
antigravity | true | Antigravity 登入。Gemini、Claude 和 GPT-OSS;登入後,清單會依帳號實際能用的模型更新。 |