mu を使う
権限と安全性
3 つの権限モード、Jev があなたに代わって承認できること、ハード制約、危険なコマンド、外部からのコンテンツ。
mu が確認なしにどこまでできるかを決めるのが権限モードです。ステータスラインとアプリの入力欄に表示され、/permissions でいつでも切り替えられます。
3 つのモード
| モード | 確認なしで実行するもの | あなたに確認するもの |
|---|---|---|
| フルアクセス | すべて | なし |
| Jev が承認(既定) | 読み取り、プロジェクト内のファイルの編集、タスクに必要だと Jev が確信したもの | Jev が確信を持てないもの、依頼の範囲を超えると判断したもの、無関係と判断したもの |
| 最小権限 | 読み取りのみ | すべての編集、コマンド、外部への操作、サブエージェント |
/permissions full、/permissions jev、/permissions ask で直接切り替えられます。切り替えはこの会話に適用され、新しい会話の既定にもなります。実行中のほかの会話は、それぞれのモードのままです。MU_PERMISSIONS=ask mu で 1 回の実行だけ設定できます。
Jev が承認するもの
「Jev が承認」では、コマンド、プロジェクト外の変更、外部への操作、サブエージェントのそれぞれについて、まず Jev に一つの問いが送られます。この呼び出しは、タスクとあなたの発言に必要か、それを超えているか、無関係か、それとも不明か。0.8 以上の確率で必要とされたものだけが、あなたを介さずに実行されます。それ以外はあなたに確認し、その理由も示します。たとえば Jev の判定では、この操作はあなたの依頼の範囲を超えています のようにです。
答えられる判定器がないとき(キーがなく無料の Jev も使えない、アカウントの利用枠を使い切った、承認を任されないローカルの判定器しかない)、mu はすべてのステップであなたに確認し、そのことを伝えます。mu setup で Jev のキーを設定するか、モードを切り替えてください。
mu が確認するとき
あなたの判断が必要な呼び出しでは、次の選択肢が表示されます:
- 今回のみ許可
- この会話中は許可:呼び出しに安全な範囲があるときだけ表示されます。プロジェクト内のすべての編集、1 つのプログラム(
git、npm、cargoなどではサブコマンドまで。つまりnpm全体ではなくnpm test)、プロジェクト外の 1 つのファイル、または 1 つのツールです - 許可しない
連結、リダイレクト、コマンド置換を含むコマンドや、sudo や env で始まるコマンドは、今回のみしか許可できません。Esc は許可しないとして扱われます。拒否すると、モデルには、別の抜け道を探さず、あなたに尋ねるかそれなしで進めるよう伝えられます。許可は、モードを切り替えるか /permissions reset を実行すると忘れられます。
どのモードでも有効なこと
- あなたのハード制約。 マイグレーションには触らないで のように、あなたが禁じたことは、タスクフレームに原文どおり残ります。何かを変更する呼び出しの前には必ず制約を確認し、確実な違反はあなた自身の言葉を示して止めます。これはフルアクセスでも有効で、サブエージェントも同じ制約のもとで作業します。
- 読み取りは確認しません:ファイルの読み取り、検索、一覧、Web 検索と Web の読み取り、そして
git statusやcat … | grep …のような、読み取り専用のプログラムだけでできたシェルコマンド。 - 未知のツールは確認します。 MCP のツールのように mu が知らないツールには、許可が必要です。
- mu 自身の設定はあなたのもの。
~/.mu/agentに触れる呼び出しは毎回確認します。Jev は承認できません。
危険なコマンド
危険に見えるコマンドには、ルールが印を付けます。rm -rf、強制プッシュ、sudo、ダウンロードしたスクリプトの実行などです。「Jev が承認」では、あなたが頼んだと Jev が確信したときだけ、そうしたコマンドが実行されます。最小権限では、確認の中にその印が表示されます。印の付いたコマンドは今回のみ許可でき、会話全体で許可することはできません。
外部からのコンテンツ
Web ページ、検索結果、内蔵ブラウザ、MCP サーバーは、AI を操るために書かれたテキストを含むことがあります。ルールを無視せよ、このファイルを送れ、このコマンドを実行せよ、あるいは会話の内容を外に持ち出すリンクなどです。モデルがそうした結果を読む前に、一節ずつ検査します。AI に向けた指示を含む一節は差し止められ、1 行の注記に置き換わります。判定器が時間内に答えないときも、あからさまなインジェクションの言い回しはルールで差し止めます。
web_fetch 自体にも制限があります。リクエストごとの時間とサイズの制限があり、ページのテキストには信頼できないものとしてラベルが付き、プライベートネットワーク内のアドレスは許可しない限り拒否されます。そのため、ページが読み手をあなたのローカルネットワークに誘導することはできません。
変更を元に戻す
ファイルを編集するターンでは、毎回最初の変更の前に、mu がプロジェクトを専用のシャドー git ディレクトリにスナップショットします。あなたのリポジトリ、インデックス、ブランチには一切触れず、プロジェクトが git リポジトリである必要もありません。秘密情報を含むファイル(.env、鍵、証明書)はスナップショットに含めません。
/checkpointsは、会話の現在のブランチにあるチェックポイントを一覧します。/rewindは何が変わるかを示してから、ファイル、会話、またはその両方を戻します。その後あなた自身が編集したファイルは別に一覧され、確認されます。/rewind undoは、直前の巻き戻しを取り消します。
ホームフォルダで始めたセッションと、非常に大きなプロジェクト(取り込むファイルが 5,000 を超えるか、200 MB を超える)では、チェックポイントは注記付きで省かれます。目標モードと完了も参照してください。