mu-agent 0.1.14 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/README.md +3 -1
- package/judge/dist/mude.js +1338 -0
- package/judge/manifest.json +26 -26
- package/judge/mu/index.js +16 -1
- package/kyrn/bin/kyrn-doctor +27 -1
- package/kyrn/bin/mu.mjs +119 -3
- package/kyrn/local-judge/mude-requirements.lock.txt +746 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.2.0] - 2026-10-23
|
|
6
|
+
|
|
7
|
+
**0.2.0 starts the era of mu's own models: `mu judge mude install` turns on mude 1.0 in one command.**
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- `mu judge mude install` makes mude 1.0, mu's own decision model optimized for coding, the judge on a Mac with Apple silicon (macOS 14 or later, 8 GB of memory or more). The steps:
|
|
12
|
+
- It downloads the MLX 8-bit edition from huggingface.co/qybaihe/mude-1.0-mlx-8bit at a pinned revision: 31 files, 1.8 GB. Every file is checked against the sha256 pinned in `src/mude/manifest.ts`, and an interrupted download resumes with a range request.
|
|
13
|
+
- It makes a Python 3.13 environment with uv: the machine's own, or a pinned release mu downloads. The packages come from `kyrn/local-judge/mude-requirements.lock.txt` with `--require-hashes`.
|
|
14
|
+
- It starts the package's own System One server on 127.0.0.1:8790 (another free port when that one is taken) with a random key.
|
|
15
|
+
- It puts `mude` first in `tiers`. The key goes in the .env as `MU_JUDGE_MUDE_KEY`.
|
|
16
|
+
- What happens when mude can't answer:
|
|
17
|
+
- By default, a decision it can't answer (its server is down, or a yes/no between 0.2 and 0.8) goes to the judges that were there before. Those are hosted, so what they read leaves the machine. `tool.description` and `tool.injection` also keep going to them (`routes`): mude did worse than Jev on the first in mu's internal benchmark, and the second was not measured.
|
|
18
|
+
- With `--local-only`, mude is the only judge.
|
|
19
|
+
- Other commands: `enable [--local-only | --with-fallback]`, `disable` (back to the judges from before), `start`, `stop`, `status` and `uninstall`. `--json` prints one JSON object per line, for the desktop app.
|
|
20
|
+
- A session starts the server in the background when `tiers`, a route or `MU_JUDGE` names mude, on macOS only; the desktop app's host does too, with Electron as Node. It is shared by every session like Laya's, and uses about 4 GB of memory until stopped.
|
|
21
|
+
- The built-in judge `mude`: `typesafe` at 127.0.0.1:8790, key `MU_JUDGE_MUDE_KEY` (never sent to TypeSafe), 4 s timeout, trusted on every capability.
|
|
22
|
+
- `mu doctor` checks the mude server's `/health` and its key.
|
|
23
|
+
|
|
5
24
|
## [0.1.14] - 2026-10-23
|
|
6
25
|
|
|
7
26
|
### Added
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**A coding agent with a judgment kernel.** It hands its routine decisions to a small, fast judge model, so the main model can keep its attention on the work.
|
|
4
4
|
|
|
5
|
-
>
|
|
5
|
+
> Source, docs and the desktop app: [github.com/qybaihe/mu](https://github.com/qybaihe/mu) (README in English, 简体中文, 繁體中文, 日本語 and 한국어).
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
@@ -32,6 +32,7 @@ Out of the box, the judge is Jev 1.13, TypeSafe's hosted judge model, free on Op
|
|
|
32
32
|
- **Jev** (hosted): set `TYPESAFE_API_KEY` (TypeSafe), `MU_JUDGE_OPENROUTER_API_KEY` (Jev on OpenRouter), `AI_GATEWAY_API_KEY` (Vercel AI Gateway), `OPENCODE_API_KEY` (OpenCode Zen) or `CLOUDFLARE_API_KEY` with `CLOUDFLARE_ACCOUNT_ID` (Cloudflare Workers AI) in your environment, or add it to `~/.mu/.env` as `KEY=value`. `mu setup` asks for a key and writes it there. mu reads that file as data, never prints it and starts using the key automatically.
|
|
33
33
|
- **Another classifier** from pi's catalog: `/mu judge classifier:<provider>/<model>`, for example Cloudflare's Clef (`clef`, `clef-flash`) or a System One model on OpenRouter, with that provider's key.
|
|
34
34
|
- **CLM** (self-hosted; its encoder needs a GPU): start `clm-serve` from [Contrastive-LM/CLM](https://github.com/Contrastive-LM/CLM), then run `/mu judge clm`. For a server on another machine, add `"judges": { "clm": { "type": "clm", "baseUrl": "http://<host>:8700" } }` to `~/.mu/agent/mu.json`. If the server was started with `CLM_API_KEY`, set the same value in `MU_JUDGE_CLM_API_KEY`. `mu doctor` checks the server.
|
|
35
|
+
- **mude 1.0** (local, a Mac with Apple silicon, macOS 14+), mu's own decision model, optimized for coding: `mu judge mude install` downloads it (1.8 GB), sets it up in `~/.mu/local-judge/mude`, starts its server on 127.0.0.1 and puts it first. What it can't answer goes to the judges you had before, which are hosted; `mu judge mude enable --local-only` keeps everything on your Mac. Its server uses about 4 GB of memory until `mu judge mude stop`.
|
|
35
36
|
- **Laya** (local, macOS on Apple silicon): `mu judge setup` installs it into `~/.mu/local-judge`. It downloads about 930 MB, and only when you run that command.
|
|
36
37
|
- **Any model you already use:** `/mu judge llm:<provider>/<model>`.
|
|
37
38
|
|
|
@@ -45,6 +46,7 @@ mu "prompt" start a session with this prompt
|
|
|
45
46
|
mu -p "prompt" run one prompt, print the answer and exit
|
|
46
47
|
mu -c | -r continue the last session | pick a session to resume
|
|
47
48
|
mu setup connect a model and choose a judge (see mu setup --help for scripting and services)
|
|
49
|
+
mu judge mude <cmd> mude 1.0 on this Mac: install | enable | disable | start | stop | status | uninstall
|
|
48
50
|
mu judge <cmd> manage the local judge, Laya (macOS on Apple silicon): setup | start | stop | status | run
|
|
49
51
|
mu ledger [n] [--json] print the judge's verdicts from the last n sessions
|
|
50
52
|
mu import <file>... import Claude Code, Codex and ZCode conversations; --list shows them (mu import --help)
|