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

여기서 시작

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

mu 사용하기

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

참고

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

mu 사용하기

컨텍스트

mu가 컨텍스트를 작게 유지하는 방법. 도구 출력은 청크 단위로, 오래된 결과는 요약 없이 내려놓고, 스킬과 MCP 서버는 필요할 때만.

모델의 주의력은 한정되어 있고, 컨텍스트도 마찬가지예요. mu는 작업에 필요 없는 것을 컨텍스트에 넣지 않아서, 컨텍스트가 좀처럼 가득 차지 않고 프롬프트 캐시도 웜 상태로 유지돼요. 아래 하나하나가 켜고 끄거나 섀도로 둘 수 있는 판정 지점이에요.

긴 도구 출력

검색, 빌드, 명령에서 나온 4,000자보다 긴 출력은 약 1,200자 청크로 잘리고, 판정기가 청크마다 지금 중요한지 물어요. 요청 하나에 최대 16청크가 들어가고, 상태는 한 번만 과금돼요. 중요한 것은 컨텍스트에 들어가고, 나머지는 포인터와 함께 보관돼서 모델이 필요해지면 다시 꺼낼 수 있어요. 판정기가 4초보다 오래 걸리면 출력은 통째로 들어가요.

read, edit, write는 절대 거르지 않아요. 모델이 파일을 읽으면 그 파일을 그대로 받아요.

테스트 로그

실패한 실행은 실패한 테스트마다 같은 diff, DOM 덤프, 스택 트레이스를 한 번씩 출력하곤 해요. 테스트 로그 정리를 켜면 mu는 첫 번째 것을 남기고, 그 뒤의 반복은 어느 줄을 반복하는지 적은 한 줄로 바꿔요. 모델은 부르지 않고, 표시를 펼치면 원래 로그와 바이트 단위로 같아요. 전체 로그는 디스크에 남고, 끝에 그 위치를 가리키는 줄이 붙어요.

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

"jev"는 한 걸음 더 나아가요. 자세한 리포터를 쓸 때, 통과한 기록과 테스트 출력 중 지금 목표에 아직 필요한 것을 판정기가 골라요. 실패와 요약은 질문 대상이 아니에요. 설정에서는 이 기능을 테스트 로그 정리라고 불러요. 측정 결과는 판정 지점 페이지에 있어요.

mu는 테스트 러너에게 에이전트가 읽고 있다는 것도 알려서, Vitest 같은 러너가 실패와 요약만 출력하게 해요.

오래된 결과 잊기

컨텍스트 사용량이 50%, 70%, 85%를 넘을 때마다, 6,000자보다 길고 두 턴 이상 지난 결과를 판정해요. 아직 필요한가, 오래되었는가? 오래된 결과는 그때부터 모든 요청에서 한 줄짜리 툼스톤이 돼요. 아무것도 요약하지 않고, 세션 파일에는 원본이 남아요.

요약 없는 압축

기본값은 꺼짐이에요. 대화를 압축할 때, 모델이 요약을 쓰는 대신 판정기가 구간을 하나씩 남기거나 잘라 내요. 남긴 구간은 원문 그대로이고, 잘라 낸 구간은 처음 300자만 남아요.

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

스킬, 팩, MCP 서버

많이 설치하고, 조금만 보여 줘요.

  • 스킬. 작업과 관련 있는 스킬의 설명만 프롬프트에 들어가요. 나머지는 찾으면 나오는 상태로 남아요. 스킬이 4개보다 적으면 아무것도 거르지 않아요.
  • 팩과 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은 무엇을 물려받았고 무엇을 물려받지 않았는지 보여 줘요.

교훈과 캐시

  • 교훈은 라이브러리가 아무리 커도 관련 있는 줄을 많아야 5개만 턴에 가져와요. 교훈을 보세요.
  • 캐시 예열. 여러분이 곧 돌아올 것 같으면, mu가 프롬프트 캐시가 만료되기 전에 갱신해서 다음 메시지가 프롬프트 전체 값을 다시 치르지 않게 해요.
  • 컨텍스트 예산(70%, 85%) 같은 알림은 판정기가 정하는 대로 지금, 나중에 모델에게 가거나 아예 가지 않아요. 그래서 편집 도중에 끼어들지 않아요.

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

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

GitHub에서 Star 누르기464