새 버전데스크톱 v0.1.7: 영역별로 묶은 설정, 새 설정 가이드, mu-agent 0.1.8 내장
문서 문서

여기서 시작

시작하기 데스크톱 앱 명령줄

mu 사용하기

판정기 권한과 안전 목표 모드와 마무리 컨텍스트 교훈 쉬운 말 보드 서브 에이전트와 하이브

참고

설정 기능과 옵션 문제 해결 프라이버시

참고

기능과 옵션

판정 커널의 모든 기능, 기본으로 켜져 있는지, 해당 판정 지점, 그리고 옵션마다의 기본값과 범위.

기능은 각각 ~/.mu/agent/mu.json의 features.<name> 아래에서 설정해요. false는 기능을 끄고, true는 기본값으로 켜고, 객체는 개별 옵션을 덮어써요.

{
  "features": {
    "injection": { "tools": ["web_fetch", "mcp__*"] },
    "board": { "defaultOn": true },
    "ttsr": false
  }
}

데스크톱 앱의 설정도 같은 파일에 쓰고, 이 페이지와 같은 이름과 설명을 써요. 둘 다 저장소의 매니페스트 하나에서 나와요.

메시지 사전 분류 preflight

기본으로 켜짐판정 지점 input.preflight

작업을 시작하기 전에 메시지를 판정하고, 그 판정을 대화에 표시합니다.

옵션기본값의미
thinkingfalse판정에 따라 사고 수준 설정(바꾸면 프롬프트 캐시가 사라짐)
hintstrue모델에 한 줄 힌트 제공
showtrue대기 상태와 판정 표시
waitMs4000 밀리초최대 대기 시간. 이 시간이 지나면 판정 없이 턴을 시작합니다. 범위는 500부터 30000까지예요.

작업 중 끼어들기 interjection

기본으로 켜짐판정 지점 input.interjection

에이전트가 작업하는 동안 보낸 메시지를 처리합니다.

옵션기본값의미
waitMs1500 밀리초최대 대기 시간. 범위는 200부터 10000까지예요.

스킬 노출 skills

기본으로 켜짐판정 지점 skills.disclosure

세션에 어떤 스킬 설명을 넣을지 고릅니다.

옵션기본값의미
minSkills4스킬이 이보다 적으면 거르지 않음. 범위는 1부터 100까지예요.
waitMs4000 밀리초최대 대기 시간. 범위는 500부터 30000까지예요.

기능 확장 카탈로그 catalog

기본으로 켜짐판정 지점 capability.disclosure

많이 설치하고 적게 노출합니다. 기능 확장 팩과 MCP 서버는 숨겨 두었다가 작업마다 엽니다.

옵션기본값의미
waitMs4000 밀리초최대 대기 시간. 범위는 500부터 30000까지예요.

작업 프레임과 할 일 목록 frame

기본으로 켜짐판정 지점 task.frame

사용자가 실제로 원하는 것을 기록합니다. 목표, 제약 조건(사용자가 한 말 그대로, 출처 포함), 현재 하위 목표, 확인 항목입니다. 확인 항목은 모델이 todo 도구로 체크하는 할 일 목록입니다. 목표와 관련 있는지 따지는 모든 판정이 이를 읽으며, 세션을 되감으면 함께 되감깁니다.

옵션기본값의미
waitMs3000 밀리초턴이 프레임을 기다리는 최대 시간. 메시지가 도착한 때부터 셉니다. 늦은 업데이트도 버리지 않습니다. 턴은 이전 버전과 원래 메시지로 시작하고, 업데이트는 준비되는 대로 반영됩니다. 범위는 0부터 30000까지예요.
writerTimeoutMs20000 밀리초프레임 작성 시간 제한. 시간이 초과되거나 응답 형식이 잘못되면 마지막 버전을 유지하고 오래된 것으로 표시하며, 목표 기반 필터링을 보류하고 다음 메시지에서 다시 시도합니다. 범위는 1000부터 120000까지예요.
showtrue대화에 프레임 업데이트 표시

교훈 memory

기본으로 켜짐판정 지점 memory.recall memory.capture memory.outcome memory.worth memory.merge memory.applied

사용자의 정정, 에이전트가 스스로 찾은 탈출구, 모델과 하위 에이전트가 알아낸 것에서 교훈을 배웁니다. 저장하기 전에 기존 교훈과 병합하고, 다음에 관련된 교훈을 함께 가져오며, 아무도 따르지 않는 교훈은 사용 중지합니다. /lessons로 목록을 보고, /forget으로 하나를 사용 중지합니다.

옵션기본값의미
path비어 있음교훈 파일. 비워 두면 기본 위치를 사용합니다.
maxCandidates24판정할 최대 교훈 수. 따른 횟수가 많은 교훈이 먼저이고, 그다음은 최근에 저장되거나 확인된 교훈입니다. 범위는 1부터 200까지예요.
maxInjected5가져올 최대 교훈 수. 범위는 0부터 20까지예요.
waitMs4000 밀리초불러오기 최대 대기 시간. 메시지가 도착한 때부터 셉니다. 하위 에이전트에게 줄 교훈을 고를 때도 이만큼 기다립니다. 범위는 0부터 30000까지예요.
retireAfter8한 번도 따르지 않은 채 이만큼 불러오면 사용 중지. 0이면 교훈을 자동으로 사용 중지하지 않습니다. 범위는 0부터 100까지예요.
mergeNeighbours6저장 전에 비교할 비슷한 교훈 수. 겹치는 단어로 골라 한 번의 요청으로 묻습니다. 0이면 병합하지 않고 바로 저장합니다. 범위는 0부터 16까지예요.
outcometrue에이전트가 찾은 탈출구에서 배우기. 교훈을 글로 옮기려면 writer 모델이나 대화의 모델이 필요합니다.
appliedtrue턴이 끝날 때 교훈을 따랐는지 확인

위험한 명령 차단 guard

기본으로 켜짐판정 지점 tool.risk

위험한 명령은 실행하기 전에 확인합니다.

옵션이 없어요.

권한 모드 permissions

기본으로 켜짐판정 지점 tool.approval

전체 접근, Jev 승인, 최소 권한 중 하나를 쓰며 /permissions로 언제든 전환합니다. 단계에 권한이 필요하면 상태 표시줄에서 묻고, 한 번만 허용하거나 대화 전체에 허용할 수 있습니다. 켜져 있는 동안에는 위험한 명령 차단도 이 기능이 맡습니다.

옵션기본값의미
modejev새 대화의 모드. /permissions로 한 번 고르면 마지막으로 고른 모드를 사용합니다.full 전체 접근 · jev Jev 승인 · ask 최소 권한

제약 조건 검사 constraints

기본으로 켜짐판정 지점 tool.constraint

변경이나 명령을 먼저 사용자의 제약 조건에 비추어 확인합니다. 하위 에이전트도 이 제약 조건을 따릅니다.

옵션기본값의미
maxConstraints6호출당 확인할 최대 제약 조건 수. 가장 최근의 것을 사용합니다. 범위는 1부터 20까지예요.
waitMs5000 밀리초최대 대기 시간. 범위는 500부터 30000까지예요.

주입 선별 injection

기본으로 켜짐판정 지점 tool.injection

모델이 웹 페이지, 검색 결과, MCP 응답을 읽기 전에 AI를 겨냥한 지시를 보류합니다.

옵션기본값의미
toolsweb_fetch, web_search, browse, mcp__*선별할 도구. 도구 이름 또는 *로 끝나는 접두사. mcp__*는 모든 MCP 서버입니다.
waitMs6000 밀리초최대 대기 시간. 이 시간이 지나면 명백한 주입 문구만 규칙으로 보류합니다. 판정은 그대로 기록됩니다. 범위는 500부터 30000까지예요.

도구 출력 선별 admission

기본으로 켜짐판정 지점 tool.admission tool.admission.test-log

긴 도구 출력이 컨텍스트에 어떻게 들어갈지 정합니다.

옵션기본값의미
minChars4000 자이보다 긴 출력만 선별. 범위는 500부터 200000까지예요.
chunkChars1200 자청크 크기. 범위는 200부터 20000까지예요.
maxChunks48판정할 최대 청크 수. 범위는 4부터 400까지예요.
batchChunks16요청당 청크 수. 호스팅 판정기는 여러 청크를 한 번의 요청으로 받으며 상태는 한 번만 과금됩니다. 로컬 판정기는 한 번에 하나씩 처리합니다. 범위는 1부터 32까지예요.
waitMs4000 밀리초최대 대기 시간. 이 시간이 지나면 출력을 통째로 넣고, 판정은 기록만 합니다. 범위는 500부터 30000까지예요.
passThroughread, edit, write선별하지 않을 도구
testLogoff테스트 로그 정리off 끔 · rules 완전히 같은 반복만 제거(무손실) · jev 나머지에서도 판정기가 선별
agentEnvtrue테스트 실행기에 에이전트가 읽는다고 알림. 그러면 Vitest 등은 실패와 요약만 출력합니다.

오래된 결과 잊기 forgetting

기본으로 켜짐판정 지점 context.forget

컨텍스트가 빠듯해지면 오래된 결과를 자리 표시로 바꿉니다.

옵션기본값의미
thresholds50, 70, 85발동 임계값(컨텍스트 사용량 %)
minChars6000 자이보다 긴 결과만. 범위는 500부터 200000까지예요.
minAgeTurns2최소 경과 턴 수. 범위는 0부터 50까지예요.
maxPerBatch12배치당 최대 판정 수. 범위는 1부터 100까지예요.
waitMs4000 밀리초최대 대기 시간. 이번 요청은 이 시간만큼 기다리며, 늦게 온 판정은 다음 요청에 적용됩니다. 범위는 500부터 30000까지예요.

요약 없는 압축 compaction

기본으로 꺼짐실험판정 지점 context.compact

요약 대신 원문 구절을 유지하는 압축입니다.

옵션기본값의미
keepThreshold0.5유지 임계값. 범위는 0부터 1까지예요.
minChars600 자이보다 짧으면 그대로 유지. 범위는 100부터 20000까지예요.
headChars300 자잘라낼 때 남기는 앞부분. 범위는 0부터 5000까지예요.
targetRatio0.5원본 대비 목표 비율. 범위는 0.05부터 1까지예요.
maxWindowShare0.25컨텍스트 창 대비 최대 비율. 범위는 0.05부터 0.9까지예요.
freeChars24000 자이보다 짧은 기록은 줄이지 않음. 범위는 0부터 500000까지예요.
maxJudged120판정할 최대 구절 수. 범위는 10부터 1000까지예요.

체크포인트와 되감기 checkpoint

기본으로 켜짐판정 지점 turn.rewind

파일을 편집하는 모든 턴에서 첫 변경 전에 작업 트리의 스냅샷을 mu 전용 섀도 git 디렉토리에 저장하며, 사용자의 저장소는 건드리지 않습니다. /rewind는 파일과 대화를 되돌리고, /rewind undo는 되감기를 취소합니다.

옵션기본값의미
dir비어 있음스냅샷 저장 위치. 비워 두면 mu 홈의 mu/checkpoints를 쓰며, 프로젝트마다 섀도 저장소를 하나씩 둡니다.
keep50프로젝트별 보관 스냅샷 수. 범위는 1부터 1000까지예요.
maxAgeDays14 일스냅샷 보관 기간. 범위는 1부터 365까지예요.
maxFileMb5 MB스냅샷의 최대 파일 크기. 이보다 큰 파일은 스냅샷에서 제외되며, 되감기도 이런 파일은 건드리지 않습니다. 범위는 1부터 1024까지예요.
maxFiles5000 개스냅샷 한 번에 담는 최대 파일 수. 담을 파일이 이보다 많으면 해당 세션은 체크포인트 없이 진행되며, 그 사실을 한 번 알려 줍니다. 홈 폴더와 mu 자체 폴더는 스냅샷에 넣지 않습니다. 범위는 100부터 1000000까지예요.
maxTotalMb200 MB스냅샷 한 번의 최대 전체 크기. 담을 양이 이보다 많으면 해당 세션은 체크포인트 없이 진행되며, 그 사실을 한 번 알려 줍니다. 범위는 1부터 100000까지예요.
ignore비어 있음추가로 무시할 경로. gitignore 패턴을 한 줄에 하나씩 입력하세요. 프로젝트의 .gitignore와 내장 목록(node_modules, 빌드 결과물 등)은 항상 적용됩니다.
timeoutMs30000 밀리초스냅샷 최대 소요 시간. 이 시간을 넘기면 해당 턴은 체크포인트 없이 진행되며, 도구 호출은 그대로 실행됩니다. 범위는 1000부터 600000까지예요.
proposetrue막다른 길에서 되감기 제안
confirmSeconds120 초제안이 응답을 기다리는 시간. 응답이 없으면 실행을 계속합니다. 0이면 무기한 기다립니다. 범위는 0부터 3600까지예요.

이탈 감시 monitor

기본으로 켜짐판정 지점 turn.drift

목표에서 벗어나거나 제자리를 맴도는 것을 알아차립니다.

옵션기본값의미
every6확인 간격(도구 호출 수). 범위는 1부터 100까지예요.
repeats3맴돌기로 보는 반복 횟수. 범위는 2부터 20까지예요.
window8관찰 구간. 범위는 2부터 100까지예요.

언어 서버 진단 lsp

기본으로 켜짐판정 지점 diagnostics.delivery

이 컴퓨터에 이미 설치된 언어 서버를 사용하고(따로 설치하지 않음), 편집으로 새로 생긴 진단만 남기며, 모델에게 알릴 시점은 판정기가 고릅니다.

옵션기본값의미
builtintrue잘 알려진 서버의 내장 목록 사용. TypeScript, Python, Go, Rust, C/C++용으로 잘 알려진 서버이며, PATH에서만 찾습니다. 직접 추가하는 서버는 mu.json의 features.lsp.servers에 넣습니다.
editToolsedit, write파일 편집으로 보는 도구
subAgentsfalse하위 에이전트도 언어 서버 시작. 기본값은 꺼짐입니다. 하위 에이전트마다 서버를 따로 띄우면 컴퓨터에 부담이 큽니다.
settleMs1500 밀리초편집 후 서버 최대 대기 시간. 이 시간이 지나면 기다리지 않습니다. 늦게 온 진단은 다음 편집 때나 턴이 끝날 때 처리합니다. 범위는 0부터 10000까지예요.
turnEndSettleMs3000 밀리초턴 종료 시 최대 대기 시간. 범위는 0부터 30000까지예요.
quietMs250 밀리초서버가 끝난 것으로 보는 무응답 시간. 범위는 20부터 5000까지예요.
baselineMs5000 밀리초편집 전 진단 최대 대기 시간. 백그라운드에서 기다리며 도구를 막지 않습니다. 이 시간이 지나면 첫 보고를 새 진단으로 보지 않습니다. 범위는 100부터 60000까지예요.
maxItems10한 번에 알릴 최대 진단 수. 범위는 1부터 100까지예요.
maxServers4동시에 실행할 최대 서버 수. 범위는 1부터 16까지예요.
waitMs4000 밀리초판정기 최대 대기 시간. 범위는 500부터 30000까지예요.

출력 중 교정(실험) ttsr

기본으로 꺼짐판정 지점 output.drift

의미 기반 TTSR: 정규식이 아니라 판정기가 출력이 벗어나는 것을 알아차리고, 출력을 끊고, 규칙을 보여 준 뒤 모델이 이어서 쓰게 합니다. 기본값은 꺼짐이며, 켜면 출력 구간마다 판정기 호출이 한 번씩 더 듭니다.

옵션기본값의미
rules비어 있음항상 지킬 규칙. 한 줄에 하나씩 평소 말로 쓰세요. 예: “한국어로 답할 것”, “임시 구현 금지”. 작업 프레임에 있는 사용자의 제약 조건은 자동으로 추가됩니다.
segmentChars600확인 간격(출력 글자 수). 범위는 200부터 5000까지예요.
maxRules4호출당 확인할 최대 규칙 수. 규칙이 더 많으면 가장 최근에 말한 것을 남깁니다. 범위는 1부터 12까지예요.
maxInterrupts2사용자 메시지 사이 최대 중단 횟수. 범위는 1부터 10까지예요.

목표 모드 goal

기본으로 켜짐판정 지점 goal.met

/goal <조건>을 입력하면 에이전트는 조건이 충족될 때까지 계속 작업합니다(/goal만 입력하면 조건을 묻습니다). 멈추려 할 때마다 모델이 증거를 읽고 충족되었는지, 다음 단계가 무엇인지 확인합니다. 사용자가 중단하거나, 모델 호출이 실패하거나, 아무것도 하지 않거나 제자리를 맴돌거나, 허용된 횟수나 시간을 다 쓰면 스스로 멈추며, 다음 메시지를 보내면 다시 이어 갑니다.

옵션기본값의미
checkermodel목표 달성 확인 주체. 모델이 목표, 이번 실행에서 한 일, 마지막 테스트 실행, 마무리 메시지를 읽고 결론과 다음 단계를 제시합니다. Jev는 모델이 답하지 않을 때만 씁니다. 어느 쪽이든 완료되지 않은 확인 항목이나 검증되지 않은 편집이 있으면 아직 달성되지 않은 것입니다.model 모델(추천) · jev Jev 판정기
checkModel비어 있음확인에 쓸 모델. provider/model 형식입니다. 비워 두면 세션의 현재 모델을 씁니다.
checkThinkingoff확인 시 사고 수준off 끔 · minimal 최소 · low 낮음 · medium 보통 · high 높음
checkTimeoutMs90000 밀리초확인 최대 대기 시간. 이 시간이 지나면 Jev가 판정하고, 그것도 안 되면 사실만 보고 정합니다. 범위는 5000부터 600000까지예요.
stallLimit2멈추기 전 진전 없는 실행 수. 확인에서 에이전트가 같은 일을 반복하고 있다고 본 경우입니다. 처음에는 방향을 바꾸라고 알리고, 이 횟수에 이르면 목표를 일시정지하고 사용자를 기다립니다. 범위는 1부터 10까지예요.
maxContinuations20최대 계속 실행 횟수. 사용자의 마지막 메시지부터 셉니다. 범위는 1부터 200까지예요.
maxMinutes180 분최대 자동 실행 시간. 사용자의 마지막 메시지부터 셉니다. 범위는 5부터 1440까지예요.
idleLimit2멈추기 전 빈 실행 수. 도구를 한 번도 호출하지 않고 끝난 실행이 연속된 횟수입니다. 에이전트에 아무 진전이 없다는 뜻입니다. 범위는 1부터 10까지예요.

쉬운 말 보드 board

기본으로 켜짐판정 지점 board.read

일이 어디까지 진행됐는지, 지금 무슨 일이 일어나는지, 무엇이 여러분을 기다리는지 쉬운 말로 알려 주고, 기록도 남겨요. 한 걸음마다 그 자리에서 한 줄, 에이전트가 말하거나 알아낸 것은 쉽게 말하는 모델이 바로 다시 말해 주고, 무엇이 말할 가치가 있는지는 Jev가 정해요. 실행이 끝나면 한 번 더 요약하고 기록은 그대로 남아요. 여러분만을 위한 것이며 모델의 컨텍스트에는 들어가지 않아요. 프로젝트별로 켜고 꺼요(/board on, /board off). 처음에는 글을 쓸 모델을 고르고(/board model로 바꿀 수 있어요).

옵션기본값의미
defaultOnfalse아직 설정하지 않은 프로젝트에도 켜기. 기본값은 꺼짐입니다. 보드를 업데이트할 때마다 모델을 한 번 호출합니다.
model비어 있음보드를 작성하는 모델. provider/model 형식이며, 여기서 정하면 묻지 않습니다. 비워 두면 보드를 처음 켤 때 고르게 되며(Claude Opus 4.6 추천, 다음은 Gemini 3.8 Flash), mu/board.json에 저장됩니다. 고르지 않으면 writer 모델을, 그것도 없으면 세션의 모델을 씁니다.
languageauto보드 언어auto 사용자가 쓰는 언어 · zh 중국어 · en 영어
everyTools5살펴보기 간격(도구 호출 수). 범위는 1부터 100까지예요.
minIntervalMs20000 밀리초작업 중 살펴보기 최소 간격. 에이전트가 멈추면 이 설정과 관계없이 항상 살펴봅니다. 범위는 0부터 600000까지예요.
maxSteps10매번 읽는 최근 도구 호출 수. 범위는 3부터 50까지예요.
narrateTimeoutMs60000 밀리초보드 작성 최대 대기 시간. 이 시간이 지나면 정해진 문장을 씁니다. 범위는 5000부터 300000까지예요.

완료 확인 completion

기본으로 켜짐판정 지점 turn.completion

완료라고 하기 전에 작업을 검증한 것이 있는지 확인합니다.

옵션기본값의미
waitMs3000 밀리초최대 대기 시간. 이 시간이 지나면 알려 주지 않고, 판정은 기록만 합니다. 범위는 500부터 30000까지예요.

중간에 멈추면 이어서 하기 continuation

기본으로 켜짐판정 지점 turn.continue

하겠다고 하고 멈춘 실행을 다시 작업으로 돌려보냅니다.

옵션기본값의미
maxNudges2메시지당 최대 재촉 횟수. 범위는 1부터 5까지예요.
waitMs3000 밀리초최대 대기 시간. 이 시간이 지나면 알려 주지 않고, 판정은 기록만 합니다. 범위는 500부터 30000까지예요.

알림 라우팅 notify

기본으로 켜짐판정 지점 notify.routing

이벤트를 언제 모델에게 알릴지 정합니다.

옵션기본값의미
budgetThresholds70, 85컨텍스트 예산 알림(%)

캐시 예열 warming

기본으로 켜짐판정 지점 cache.warming

이득이 될 때 프롬프트 캐시가 만료되기 전에 갱신합니다.

옵션이 없어요.

판정기 연결 예열 warmup

기본으로 켜짐

세션을 쓰는 동안 이따금 아주 작은 질문을 보내 판정기와의 연결을 웜 상태로 유지합니다. 그래서 턴이 시작되기 전의 판정은 연결에 드는 1~3초를 아낍니다.

옵션기본값의미
intervalMs50000 밀리초간격. 서버는 약 90초 동안 쉬고 있는 연결을 끊으므로, 간격은 그보다 짧아야 합니다. 범위는 10000부터 85000까지예요.
idleMs900000 밀리초이만큼 조용하면 중지. 범위는 60000부터 7200000까지예요.

하위 에이전트 swarm

기본으로 켜짐판정 지점 swarm.routing swarm.patch

역할을 맡은 하위 에이전트에게 작업을 위임합니다.

옵션기본값의미
models비어 있음모델 등급(저렴한 것부터 강한 것까지). 비워 두면 모든 하위 에이전트가 세션의 모델을 씁니다.
maxTasks6호출당 최대 작업 수. 범위는 1부터 32까지예요.
concurrency3동시 실행 수. 범위는 1부터 16까지예요.
defaultAgentworker기본 역할
agentsDir비어 있음사용자 정의 역할 폴더. 비워 두면 <에이전트 디렉토리>/agents를 씁니다.
isolationworktree파일을 편집하는 하위 에이전트. 격리된 변경은 패치로 돌아오며, 메인 에이전트가 apply_patch_from으로 적용할지 정합니다. git 저장소 밖에서는 현재 위치에서 바로 편집합니다.worktree 자체 git 워크트리에서 편집 · none 현재 위치에서 바로 편집
carryUncommittedtrue커밋하지 않은 변경 가져가기. 하위 에이전트가 마지막 커밋이 아니라 메인 에이전트가 보는 파일 상태에서 시작합니다.
patchPreviewLines30패치 미리 보기 줄 수. 하위 에이전트의 보고와 함께 보여 줄 패치의 앞부분입니다. 범위는 0부터 400까지예요.

하이브 hive

기본으로 켜짐판정 지점 hive.publish hive.deliver hive.relate

여러 비(bee)가 하나의 어려운 작업을 병렬로 처리하고, 비 사이에 오가는 내용은 판정기가 통제합니다. /hive <질문>으로 직접 시작할 수 있고, 곧바로 풀리지 않는 문제에서는 에이전트도 스스로 시작합니다.

옵션기본값의미
maxNotesPerBee12비 한 마리당 최대 게시 수. 범위는 1부터 100까지예요.
maxDeliveriesPerBee10비 한 마리당 최대 전달 수. 범위는 1부터 100까지예요.
checkpointEvery4발견 요청 전 보고 없는 도구 호출 수. 0이면 끕니다. 범위는 0부터 50까지예요.
lastCalltrue보고서 작성 중 마지막으로 한 번 더 수신
maxRelatedPerNote6새 발견과 대조할 이전 발견의 최대 수. 같은 단어가 들어 있는 발견만 대조합니다. 0이면 정정을 하지 않습니다. 범위는 0부터 30까지예요.
verifyConflicts1해결되지 않은 이견에 더 보낼 검증 비 최대 마릿수. 0이면 추가하지 않으며, 양쪽 모두 보고서에 남습니다. 범위는 0부터 3까지예요.
verifyAfterSeconds60검증 비를 더 보내기 전까지 이견을 기다리는 시간(초). 범위는 0부터 600까지예요.

파일 찾기 locate

기본으로 켜짐판정 지점 files.locate

locate 도구: 설명으로 파일을 찾습니다.

옵션기본값의미
candidates40판정할 후보 수. 범위는 5부터 400까지예요.
results12반환할 결과 수. 범위는 1부터 100까지예요.

일괄 판정 도구 judgeItems

기본으로 켜짐판정 지점 judge.items

judge_items 도구: 예/아니오 질문 하나로 여러 항목 각각에 확률을 줍니다.

옵션기본값의미
maxItems500한 번에 최대 항목 수. 범위는 10부터 5000까지예요.

내장 브라우저 browser

기본으로 켜짐판정 지점 browser.step

판정기가 조작하는 브라우저로, 자체 프로필을 씁니다. 사용자의 브라우저는 건드리지 않습니다.

옵션기본값의미
headlesstrue헤드리스로 실행
maxSteps40실행당 최대 단계 수. 범위는 1부터 200까지예요.
textChars4000 자단계마다 읽는 페이지 텍스트. 범위는 500부터 50000까지예요.
embeddedtrue데스크톱 앱이 실행 중이면 앱의 브라우저 패널 사용. 그러면 모든 단계가 보이고, 일시정지, 중지, 직접 조작을 할 수 있습니다. 앱이 없으면 mu 자체 브라우저를 씁니다.
profileDir비어 있음브라우저 프로필 폴더. 비워 두면 mu 자체 폴더를 씁니다.

백그라운드 명령 background

기본으로 켜짐

bg_start / bg_output / bg_stop: 개발 서버나 긴 빌드를 턴을 막지 않고 실행합니다. 작업이 끝났을 때 끼어들지는 알림 라우팅이 정하며, 모든 작업은 세션과 함께 중지됩니다.

옵션기본값의미
maxJobs8동시 실행 작업 수. 범위는 1부터 32까지예요.
bufferChars262144 자작업당 메모리에 보관하는 출력. 최신 출력만 남기며, 전체 출력은 로그 파일에 있습니다.
maxOutputChars20000 자bg_output 1회 최대 반환량
killGraceMs3000 밀리초강제 종료 전 대기 시간. 먼저 SIGTERM을 보내고(Windows에서는 /F 없는 taskkill), 이 시간이 지나면 강제로 종료합니다.
logDir비어 있음로그 디렉토리. 비워 두면 ~/.mu/jobs/<세션 ID>이며, 7일 후 삭제됩니다.
inheritShelltrue포그라운드 셸 설정 사용. bash 도구처럼 settings.json에서 shellPath와 shellCommandPrefix를 읽습니다.
wakeWhenIdlefalse끝난 작업이 유휴 에이전트를 깨울 수 있음. “지금”으로 판정될 때만 턴을 시작합니다. 끄면 알림을 덧붙이기만 합니다.

웹 읽기와 검색 web

기본으로 켜짐

web_fetch는 페이지를 텍스트로 읽습니다(시간·크기 제한, 내부 주소 거부, 페이지 텍스트는 신뢰할 수 없음으로 표시). web_search는 중국 본토에서 키 없이 응답하는 검색 소스를 씁니다.

옵션기본값의미
searchso검색 소스. so(360), sogou, bing-cn, searxng:<기본 URL> 중 하나 또는 {query}가 들어간 URL입니다.
searchFallbacktrue실패 시 다른 내장 소스 시도. 보안 확인 페이지, 결과 없음, 검색어와 무관한 결과일 때 적용됩니다.
maxChars20000 자web_fetch 1회 최대 반환량
timeoutMs20000 밀리초요청당 시간 제한
maxBytes2000000 바이트다운로드 한도
maxRedirects5최대 리디렉션 수. 범위는 0부터 20까지예요.
allowLoopbacktrue이 컴퓨터의 개발 서버 허용. URL 자체에 localhost 또는 127.0.0.1이 적힌 경우에만 허용합니다. 웹에서 리디렉션된 경우는 항상 거부합니다.
allowPrivatefalse사설 네트워크 주소 허용. 10/8, 172.16/12, 192.168/16, 링크 로컬 등입니다. 페이지가 읽기 도구를 내부 네트워크로 유도하지 못하도록 기본적으로 거부합니다.

환영 화면 welcome

기본으로 켜짐

터미널의 환영 상자와 신원 안내입니다.

옵션이 없어요.

기존 설정 상속 inherit

기본으로 켜짐

Claude Code, Cursor, Codex에 이미 설정한 규칙, 스킬, MCP 서버를 읽기 전용으로 사용합니다. 항상 적용되는 규칙은 프롬프트에 들어가고, 파일 패턴으로 범위가 정해진 규칙은 일치하는 파일을 처음 건드린 도구의 결과와 함께 한 번 전달되며, 나머지는 설명만 나열됩니다. 프로젝트 내용은 신뢰하는 프로젝트에서만 사용합니다.

옵션기본값의미
claudetrueClaude Code에서
cursortrueCursor에서
codextrueCodex에서
rulestrue규칙 상속
skillstrue스킬 상속
mcptrueMCP 서버 상속. 끄면 mu.json의 mcp.servers에 있는 서버만 사용합니다.
maxRuleChars4000 자파일 범위 규칙 1개당 최대 전달량. 나머지는 파일에 남아 있어 모델이 읽을 수 있습니다. 범위는 500부터 20000까지예요.
maxAlwaysChars16000 자항상 적용 규칙의 예산. 예산에 들어가지 않는 항상 적용 규칙은 설명만 나열하므로, 규칙 때문에 프롬프트가 부풀지 않습니다. 범위는 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가 불러옵니다.

옵션기본값의미
startTimeoutMs45000 밀리초시작 시간 제한. npx 방식의 서버는 먼저 자신을 다운로드합니다. 범위는 1000부터 300000까지예요.
requestTimeoutMs120000 밀리초호출 시간 제한. 범위는 1000부터 3600000까지예요.

기능 확장 팩 packs

기본으로 켜짐판정 지점 review.triage

mu와 함께 제공되며 작업에 필요할 때까지 숨겨 두는 도구 팩입니다. 필요한 프로그램이 없으면 설치 안내를 보여 줍니다.

옵션기본값의미
astGreptrueast-grep 구조 검색 및 재작성. 텍스트가 아닌 문법 구조로 코드를 찾고 바꿉니다. 이 컴퓨터에 ast-grep이 있어야 합니다.
maxResults50검색 1회 최대 일치 수. 범위는 1부터 500까지예요.
maxDiffChars12000 자결과 1개의 최대 diff. 범위는 1000부터 200000까지예요.
astGrepCommand비어 있음ast-grep 경로. 비워 두면 PATH에서 ast-grep을, 그다음 sg를 찾습니다.
githubtruegh를 통한 GitHub. 도구 없이, PR, 이슈, 검사, 릴리스에 gh를 쓰는 법을 알려 주는 스킬 하나만 제공합니다. 이 컴퓨터에 gh가 있어야 합니다.
ghCommand비어 있음gh 경로. 비워 두면 PATH에서 gh를 찾습니다.
committrue/commit: 변경을 여러 커밋으로 나누기. 모델이 커밋 묶음과 메시지를 제안하고, 사용자가 계획을 확인한 뒤에만 커밋합니다. 모두 커밋되거나 하나도 커밋되지 않습니다. 푸시는 하지 않습니다.
maxPlanChars60000모델이 읽는 변경 글자 수. 범위는 5000부터 400000까지예요.
reviewtrue/review, 발견을 P0~P3로 분류
conflictstrue충돌 해결. 병합, 리베이스, 체리픽이 충돌로 멈추면 파일마다 양쪽 내용과 공통 기준을 보여 주고, 블록 단위로 해결 내용을 쓴 뒤 파일을 해결됨으로 표시합니다. 커밋하지 않으며 --continue도 실행하지 않습니다.
maxSideLines80충돌 블록 한쪽당 표시 줄 수. 범위는 10부터 1000까지예요.
maxConflictChars20000파일 하나의 충돌 표시 글자 수. 범위는 2000부터 200000까지예요.
maxFindings40분류 1회당 최대 발견 수. 나머지도 보고되지만 분류되지는 않습니다. 범위는 5부터 200까지예요.
debuggertrue디버거: 중단점, 단계 실행, 변수. 프로그램을 디버거에서 실행해 중단점이나 처리되지 않은 예외에서 멈추고, 호출 스택과 변수를 보여 줍니다. Python은 debugpy, Go는 delve, 컴파일된 프로그램은 lldb-dap을 쓰며, 각각 설치되어 있어야 합니다. mu.json의 debugAdapters에 직접 추가할 수도 있습니다. 한 번에 하나만 실행하며, 세션과 함께 끝납니다.
maxFrames20멈췄을 때 표시할 스택 프레임 수. 범위는 1부터 200까지예요.
maxVariables50범위당 표시할 변수 수. 범위는 5부터 1000까지예요.
debugOutputChars4000 자결과 1개에 담을 프로그램 출력. 이보다 많으면 끝부분만 남깁니다. 범위는 500부터 100000까지예요.
debugWaitMs30000 밀리초프로그램이 멈출 때까지 최대 대기 시간. 그때까지 멈추지도 끝나지도 않으면 모델에게 아직 실행 중이라고 알립니다. 모델은 일시정지해서 위치를 확인하거나 더 기다릴 수 있습니다. 범위는 1000부터 600000까지예요.

Google로 로그인(실험적) googleLogin

기본으로 켜짐실험

/login에 두 항목을 추가합니다. Gemini 모델용 Gemini CLI 로그인과, Gemini, Claude, GPT-OSS용 Antigravity 로그인입니다. 이는 Google이 자사 도구용으로 만든 로그인이므로, 다른 프로그램이 사용하면 Google 약관을 위반해 계정이 제한되거나 정지될 수 있습니다. 그래서 로그인 전에 위험을 먼저 알리고, 동의할 때만 진행합니다. 공식 경로에는 이런 절차가 필요 없습니다. Gemini API 키(공급자 google)와 Vertex AI(공급자 google-vertex, gcloud로 로그인)입니다.

옵션기본값의미
geminiClitrueGemini CLI 로그인. Gemini 모델을 개인 계정은 무료 등급으로, Code Assist 라이선스가 있으면 라이선스로 사용합니다.
antigravitytrueAntigravity 로그인. Gemini, Claude, GPT-OSS를 사용합니다. 로그인하면 계정이 쓸 수 있는 모델에 맞춰 목록이 바뀝니다.

mu가 쓸모 있다면 GitHub에서 Star를 눌러 주세요

Star 하나가 더 많은 사람이 mu를 찾도록 도와요. 코드, 토론, 모든 릴리스가 저장소에 있어요.

GitHub에서 Star 누르기464