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

여기서 시작

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

mu 사용하기

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

참고

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

참고

설정

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, 앱의 판정 탭)를 읽은 다음, 다시 active로 돌려요.
  • /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 글쓰기 모델의 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 ~/.local/bin 대신 mu link가 mu 명령을 둘 곳
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 목표가 충족됐는지 확인하는 모델

모든 기능과 옵션, 기본값과 범위: 기능과 옵션.

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

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

GitHub에서 Star 누르기464