Logo dropped at project root by user. Bake it everywhere it matters:
Assets:
- assets/muyue.ico — multi-res (16/24/32/48/64/128/256) generated via PIL
- assets/muyue-{16,32,64,128,256,512}.png — clean PNG resizes
- LogoMuyue.png kept at root as the source of truth
Windows binary (.exe):
- CI runs `rsrc -ico assets/muyue.ico -arch {amd64,arm64} -o cmd/muyue/rsrc_windows_{amd64,arm64}.syso`
before `go build` (both ci-main.yml and ci-develop.yml)
- Go automatically links *.syso files matching the target GOOS/GOARCH —
no code change in the cmd/muyue main package
- .syso files are gitignored: regenerated at every build, never committed
- Existing install-shortcuts subcommand already uses IconLocation =
"$exe,0" so the embedded icon flows automatically into Desktop +
Start Menu .lnk files
Web UI:
- web/public/favicon-{16,32}.png + muyue.png + muyue-64.png
- web/index.html: real <link rel="icon"> tags (16/32 PNG + apple-touch),
replacing the placeholder SVG hexagon
- App.jsx header: 22×22 logo image rendered next to the "MUYUE" wordmark
(rounded 4px corners for visual consistency with the source logo)
Install snippet (ci-main.yml changelog template):
- Idempotent first line: `New-Item -ItemType Directory -Force -Path $dest`
to handle the case where the user re-runs after a partial install
Versioning unchanged (still v0.7.3 — these additions stay on the same
release branch / PR #9).
52 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
v0.7.4
Logo Muyue intégré
LogoMuyue.pngajouté à la racine + déclinaisons générées dansassets/(16/32/64/128/256/512 px) etassets/muyue.ico(multi-résolution 16-256 px).- Binaire Windows : icône embarquée comme ressource Windows via
github.com/akavel/rsrcau build CI (génération decmd/muyue/rsrc_windows_{amd64,arm64}.syso). Conséquences :- Explorateur Windows affiche l'icône Muyue sur le
.exe - Les raccourcis créés par
install-shortcutshéritent de l'icône (viaIconLocation = "$exe,0") - Aucune dépendance Go à runtime ; les
.sysosont gitignorés et regénérés à chaque build
- Explorateur Windows affiche l'icône Muyue sur le
- UI web : favicon réel (16/32 px), apple-touch-icon (256 px) et logo affiché dans le header à côté de "MUYUE".
- Snippet d'install Windows : 1ʳᵉ ligne idempotente (
New-Item -ItemType Directory -Force) pour gérer le cas d'une ré-exécution après install partielle. - Préservation du logo source en pleine résolution (912×950 RGBA) — pas de perte d'information.
v0.7.3
Onboarding — focus MiniMax + MiMo
- L'étape
apikeydu wizard de premier lancement propose désormais les deux clés (MiniMax + MiMo) côte à côte ; au moins une doit être validée pour continuer. - Les autres fournisseurs (OpenAI, Anthropic, Z.AI, Ollama) ne sont plus proposés dans le wizard — l'utilisateur les configure ensuite via l'onglet Configuration s'il le souhaite. Justification : pour les nouveaux utilisateurs, deux choix simples > six choix qui ralentissent le démarrage.
- Si MiniMax est validé, il devient le provider actif. Sinon, c'est MiMo. Si les deux sont validés, MiniMax reste actif (peut être basculé via
/model changeplus tard).
Install Windows — pas d'admin + raccourcis automatiques
- Avant : la 3ᵉ ligne du snippet d'install (
Move-Item ... C:\Windows\muyue.exe) échouait avecUnauthorizedAccessExceptionsur PowerShell sans élévation. - Maintenant : 4 lignes, toutes exécutables sans admin :
$dest = "$env:LOCALAPPDATA\Muyue" Invoke-WebRequest -Uri ".../muyue-windows-amd64.zip" -OutFile "$env:TEMP\muyue.zip" Expand-Archive -Path "$env:TEMP\muyue.zip" -DestinationPath $dest -Force & "$dest\muyue-windows-amd64.exe" install-shortcuts - Nouvelle commande
muyue install-shortcuts(Windows uniquement) :- crée
Muyue.lnksur le Bureau et dans le Menu Démarrer (résolus via[Environment]::GetFolderPath, robuste OneDrive / profils non-standards) ; - utilise WScript.Shell COM via PowerShell pour générer les
.lnk(pas de dépendance Go ajoutée) ; - ajoute le dossier d'install au
PATHutilisateur (scope User, pas de modif système).
- crée
- Une icône custom pourra être branchée plus tard en remplaçant la ressource embed du
.exe; pour l'instant, l'icône Windows par défaut du binaire est utilisée.
v0.7.2
Amélioration
- feat(studio): réflexion avancée forcée automatiquement pendant les tests — quand au moins une session
browser_testest connectée, chaque message à Studio active automatiquement la réflexion avancée (un second modèle, si configuré, produit un rapport préalable injecté dans le prompt actif). Le toggle UI est ignoré tant qu'une session de test est active. Justification : pendant un test piloté par l'IA, avoir une analyse complémentaire d'un autre modèle améliore matériellement la qualité des décisions de clic et la couverture du rapport final. - Si aucun second provider n'est configuré, le comportement reste silencieux (fallback chat normal — pas d'erreur visible côté utilisateur).
- Hint UI ajouté dans l'onglet Tests pour expliquer le comportement.
v0.7.1
Fix
- fix(terminal/windows): "unsupported" / connection closed —
creack/ptyn'a pas de support Windows natif etpty.Start()retourne immédiatement une erreur ("operating system not supported"), fermant le WebSocket avant même la bannière. L'utilisateur voyait le menu des terminaux peuplé (détection OK :wsl --list --quietfonctionne) mais chaque clic se soldait par "unsupported" ou une connexion fermée. - Introduction de l'abstraction
termSession(internal/api/terminal_session.go) avec deux implémentations sélectionnées au runtime :ptySession(Linux / macOS / BSDs) : conserve le comportement existant (TTY complet viacreack/pty, resize, apps interactives type vim/top).pipeSession(Windows) : pipes natifsstdin+stdout+stderrmergés, lus en goroutines, forwardés au WebSocket. Suffisant pourwsl.exe,pwsh,cmden mode ligne — la plupart des cas d'usage (lancer une commande, voir la sortie, taper la suivante). Resize est un no-op (pas de SIGWINCH sans TTY) ; les TUIs en plein écran ne fonctionnent pas dans ce mode.
- Refactor minimal de
handleTerminalWS: utilisestartTermSession(cmd)au lieu depty.Start(cmd)direct ; même chemin code pour les deux OS.
v0.7.0
Changes since v0.4.0
- fix(ci): rename browser_test.go → browsertest.go (
6d2f174) - feat: AI-driven browser tests — Tests tab + browser_test agent tool (
c820d55) - release: v0.6.0 — security audit fixes + 7 new features (
6a7b4d8) - chore: bump version to 0.5.0 (
2a6647b) - feat: agent concurrency, conversation summaries, AI tools config, UI polish (
3740454) - feat: AI task API, token-based context windows, SSH password auth, sudo bypass detection (
d98110c) - feat: agent concurrency, conversation summaries, AI tools config, UI polish (
d2bb42b) - feat: AI task API, token-based context windows, SSH password auth, sudo bypass detection (
e8a289c)
Downloads
| Platform | File |
|---|---|
| Linux x86_64 | muyue-linux-amd64.tar.gz |
| Linux ARM64 | muyue-linux-arm64.tar.gz |
| macOS Intel | muyue-darwin-amd64.tar.gz |
| macOS Apple Silicon | muyue-darwin-arm64.tar.gz |
| Windows x86_64 | muyue-windows-amd64.zip |
| Windows ARM64 | muyue-windows-arm64.zip |
The binary includes both CLI and Desktop modes.
Run muyue for TUI, muyue desktop for web UI.
Install
Linux (x86_64)
curl -sL https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.7.0/muyue-linux-amd64.tar.gz | tar xz
chmod +x muyue-linux-amd64
sudo mv muyue-linux-amd64 /usr/local/bin/muyue
macOS (Apple Silicon)
curl -sL https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.7.0/muyue-darwin-arm64.tar.gz | tar xz
chmod +x muyue-darwin-arm64
sudo mv muyue-darwin-arm64 /usr/local/bin/muyue
Windows (x86_64)
Invoke-WebRequest -Uri "https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.7.0/muyue-windows-amd64.zip" -OutFile "muyue.zip"
Expand-Archive -Path "muyue.zip" -DestinationPath "."
Move-Item muyue-windows-amd64.exe C:\Windows\muyue.exe
v0.7.0
Nouvelle fonctionnalité majeure : Tests pilotés par l'IA
- Onglet Tests dédié dans l'UI : génère un snippet JS à coller dans n'importe quelle page web ouverte (Chrome, Firefox, Edge, dev local ou distant).
- Session WebSocket authentifiée par token à usage unique (5 min TTL) — la page connectée transmet ses messages console en temps réel et expose une RPC pour cliquer / évaluer / inspecter.
- Outil agent
browser_testdisponible pour Studio, avec actions :list_clickables: énumère tous les éléments cliquables visibles avec un index stableclick: clic par sélecteur CSS ou par index — retourne le delta console émis pendant le cliceval: évalue une expression JS et retourne sa valeur sérialiséeconsole/summary: lit le buffer console (200 dernières entrées)current_url: URL et titre courantstype: remplit un champ input/textarea (utilise le setter natif pour compatibilité React)wait: pause asynchrone (max 5s)
- Stratégie BMAD intégrée au prompt système Studio : boucle
summary → list_clickables → click → vérifier console_delta → rapport final ✓/✗/⚠. - Multi-sessions : jusqu'à 16 onglets connectés simultanément ; éviction LRU au-delà.
- Sécurité : token consommé à la première connexion ; CheckOrigin libre côté snippet (gating par token uniquement) ; CORS API REST inchangé.
- Backend :
internal/api/browser_test.go(nouveau, ~480 lignes) + 4 routes (/api/test/snippet,/api/test/sessions,/api/test/console/{id},/api/ws/browser-test). - Frontend :
web/src/components/Tests.jsx(nouveau) + nouvel onglet ⌃4.
v0.6.0
Audit & corrections (sécurité, concurrence, stabilité)
- fix(api): empty
resp.Choices[0]panic in chat engine — bounded check - fix(api):
defer release()accumulating inside tool-call loop — release immediately after each tool call - fix(api): race in
ConversationStoreMulti.Add(fire-and-forget save under released lock) — synchronous save under existing lock - fix(workflow): infinite busy-wait in
engine.Executewhen a dependency fails — propagateStatusFailed/StatusSkippedand short-circuit - fix(workflow): UTF-8-unsafe slicing of plan goal — rune-aware truncate
- fix(security): CORS
Access-Control-Allow-Origin: *— restricted to localhost origins - fix(security): API key disclosure in
/api/providers— masked as"***"; saving handler ignores"***"placeholder - fix(security): SSH password disclosure in
/api/terminal/sessions— masked; update handler preserves stored password if"***"is sent - fix(security): sshpass
-p+-emutually-exclusive flags — use only-ewithSSHPASSenv var - fix(security): unbounded chat request body —
MaxBytesReader50 MB - fix(security): unbounded image upload — 10 MB cap in
saveImage - fix(security): font size unbounded — capped at 72
- fix(security):
LSP /auto-installaccepted arbitraryproject_dir— restricted to user home subtree - fix(api): silent
json.Unmarshalerrors in profile save — propagated - fix(ui): operator-precedence bug in
Shell.jsxresize check — parenthesized
Nouvelles fonctionnalités
- feat(ai): inject OS name (e.g.
Debian 12,Windows 11,macOS 14.5) alongside date in Studio system prompt - feat(agents): default timeout raised to 30 minutes for
crush_runandclaude_run; max also 30 min - feat(agents): new optional params
cwd,wsl_distro,wsl_user— agents can be launched in a specific directory, and on Windows hosts inside a specific WSL distribution under a specific user - feat(agents): new
claude_runtool (mirrorscrush_runfor the Claude Code CLI) - feat(terminal): WSL distros listed individually as quick-launch entries in the new-tab menu (Windows hosts only)
- feat(studio): system prompt rewritten around the BMAD-METHOD (Analyst/PM/Architect/SM/Dev/QA personas + mandatory
[OBJECTIF]/[CONTEXTE]/[CONTRAINTES]/[LIVRABLE]/[CRITÈRE D'ACCEPTATION]template for any agent delegation) - feat(studio): "Réflexion avancée" toggle — when enabled, the inactive AI provider produces a preliminary report that is injected as
[RAPPORT PRÉALABLE]context into the active provider's prompt - feat(studio): "Historique compressé" toggle — collapses past tool calls and keeps only the last visible action per assistant message, with
Tout afficherto expand
Bug fix CI
- fix(test):
cleanAIResponse→CleanAIResponseinorchestrator_test.go(was failinggo vet)
v0.4.0
Changes since v0.3.5
- fix: token persistence, context windows, CSS tables/bullets/hr, image attachments (
12000e5) - feat: terminal sudo blocking, token tracking, mermaid & consumption UI (
cb3d357) - fix(shell,config): terminal font size, AI tools, provider keys (
0830e64) - chore: update CHANGELOG for v0.3.5 (
b43e335) - fix(shell): set default terminal fontSize to 6px (
a60435d) - fix(shell): default fontSize 10px and init new tabs immediately (
6b0fcfb) - feat(shell): add Ctrl+/- zoom and display all shortcuts in footer (
df46b5c) - fix(deps): upgrade @xterm/xterm to 6.1.0-beta.203 for addon compatibility (
7240813) - fix(shell): enable allowProposedApi for Unicode11 addon (
97bfb80) - fix(ci): add .npmrc with legacy-peer-deps for xterm addon resolution (
3104179) - feat(shell): integrate Hyper-like terminal technologies (WebGL, search, unicode11, image) (
e21b47a) - fix(shell): restore all missing imports, constants, and utility functions (
2e98701) - fix(shell): add missing Monitor import from lucide-react (
f9d56de) - fix(shell): restore missing MAX_TABS, TABS_STORAGE_KEY, TERMINAL_BUFFER_KEY constants (
0e73408) - fix(shell): add missing useI18n import (
3b819be) - fix(shell): remove stray 'impo' typo causing ReferenceError (
c607943) - fix(terminal): improve dimensions handling and add system theme for xterm (
3312005) - fix(shell): resolve savedTabs undefined ReferenceError in activeTab init (
6cc86b7) - fix(terminal): improve dimension calculation and tab init reliability (
1885616) - fix(dashboard): show MiMo quota instead of ZAI on dashboard (
c8506d4) - feat(ai): add Xiaomi MiMo provider, ZAI as last-resort fallback (
68acabd) - fix(terminal): use absolute positioning for content panels (
b80562a) - feat(terminal): add Ctrl+Shift+C/V copy/paste shortcuts (
c562972) - fix(shell): prevent Enter in AI chat from leaking to terminal (
3651f62) - fix(terminal): improve terminal dimensions and fit timing (
18e8347) - fix(terminal): detect shell tab visibility via MutationObserver (
6596d86) - fix(terminal): init all tabs on load, fix excessive zoom (
9fb5aa8) - fix(terminal): improve tab visibility checks and positioning (
ab3641d) - fix(ui): adjust global CSS styles (
5dac191) - fix(terminal): use display:none instead of visibility for tab hiding (
e6da61f) - feat(ui): refactor copy state to Set and add helper functions (
a994749) - feat(ui): add recentUnique to deduplicate recent commands in Dashboard (
b394ef9) - feat(ui): redesign recent commands display and fix terminal visibility (
fca5344) - fix(shell): initialize activeTabRef with activeTab and move useEffect (
0a3123e) - fix(config): remove unused import, reorder hooks, and improve variable naming (
e6447f2) - fix(studio): add tool results serialization and improve message handling (
16c5ed6) - fix(shell): improve tab reference stability and command queueing (
e8924be) - fix(shell): add debug logging for tab tracking and WebSocket state (
a905f22) - fix(terminal): refactor WebSocket cleanup, buffer management, and disposal (
183dd27) - fix(terminal): refactor WS cleanup, improve clear detection, fix sendToTerminal (
203f57f) - fix: restore buffer after WebSocket init, fix clear detection, fix streaming chunks (
a1046da) - refactor: remove locale panel, improve provider validation and terminal buffer persistence (
02ee41c) - bump: v0.3.5 (
06810be) - fix: display all quota models, center card content vertically (
8db3bd7) - fix: AI terminal init, Shift+Tab nav, code block rendering, command filtering (
20237c0) - fix(shell): set default terminal fontSize to 6px (
9a218b1) - fix(shell): default fontSize 10px and init new tabs immediately (
399b845) - feat(shell): add Ctrl+/- zoom and display all shortcuts in footer (
436d5c6) - fix(deps): upgrade @xterm/xterm to 6.1.0-beta.203 for addon compatibility (
5a9edc0) - fix(shell): enable allowProposedApi for Unicode11 addon (
5bdc7a6) - fix(ci): add .npmrc with legacy-peer-deps for xterm addon resolution (
5a0480b) - feat(shell): integrate Hyper-like terminal technologies (WebGL, search, unicode11, image) (
80de4dd) - fix(shell): restore all missing imports, constants, and utility functions (
de52f4e) - fix(shell): add missing Monitor import from lucide-react (
98ff0dd) - fix(shell): restore missing MAX_TABS, TABS_STORAGE_KEY, TERMINAL_BUFFER_KEY constants (
9a1ff6e) - fix(shell): add missing useI18n import (
034b9ee) - fix(shell): remove stray 'impo' typo causing ReferenceError (
c1b1fc6) - fix(terminal): improve dimensions handling and add system theme for xterm (
50ca751) - fix(shell): resolve savedTabs undefined ReferenceError in activeTab init (
b8aa935) - fix(terminal): improve dimension calculation and tab init reliability (
5627ddd) - fix(dashboard): show MiMo quota instead of ZAI on dashboard (
d278725) - feat(ai): add Xiaomi MiMo provider, ZAI as last-resort fallback (
7d0f807) - fix(terminal): use absolute positioning for content panels (
cbf623b) - feat(terminal): add Ctrl+Shift+C/V copy/paste shortcuts (
b85ebb8) - fix(shell): prevent Enter in AI chat from leaking to terminal (
7cc206d) - fix(terminal): improve terminal dimensions and fit timing (
bf8c0fd) - fix(terminal): detect shell tab visibility via MutationObserver (
08dc1fd) - fix(terminal): init all tabs on load, fix excessive zoom (
13e937a) - fix(terminal): improve tab visibility checks and positioning (
3cf701b) - fix(ui): adjust global CSS styles (
3a09e0e) - fix(terminal): use display:none instead of visibility for tab hiding (
47fa2e0) - feat(ui): refactor copy state to Set and add helper functions (
401292e) - feat(ui): add recentUnique to deduplicate recent commands in Dashboard (
199a7e4) - feat(ui): redesign recent commands display and fix terminal visibility (
c91931f) - fix(shell): initialize activeTabRef with activeTab and move useEffect (
cbbb224) - fix(config): remove unused import, reorder hooks, and improve variable naming (
8d10d21) - fix(studio): add tool results serialization and improve message handling (
e9696ef) - fix(shell): improve tab reference stability and command queueing (
1edd4f0) - fix(shell): add debug logging for tab tracking and WebSocket state (
92f943c) - fix(terminal): refactor WebSocket cleanup, buffer management, and disposal (
1704b19) - fix(terminal): refactor WS cleanup, improve clear detection, fix sendToTerminal (
40ec493) - fix: restore buffer after WebSocket init, fix clear detection, fix streaming chunks (
233368c) - refactor: remove locale panel, improve provider validation and terminal buffer persistence (
00118f0) - chore: update CHANGELOG for v0.3.4 (
c39203c) - feat(dashboard): single-view grid with live CPU/RAM/Net graphs, API quota, processes, and sudo indicator (
328e9e6) - feat(dashboard): add quota monitoring, process list, and command history (
c81ebb4) - refactor(chat): deduplicate streaming code, add multi-conv, and XSS protection (
b0865bc) - fix(studio): improve chat context, thinking tags, streaming, and tool results (
0d8e1b1) - feat: add Cobra CLI, LSP/MCP registries, workflow engine, and enriched dashboard (
485e085) - feat(agent): refactor AI chat with streaming, agent registry, and tool execution (
61da803) - feat(onboarding): add minimax api key step and AI-powered editor scan (
65df154) - fix(onboarding): require fields before advancing steps (
b6147dd) - fix: register missing /api/config/reset and /api/starship/apply-theme routes (
275a9a4) - fix(config): per-provider form state to avoid field cross-talk (
e92a2f0) - fix(onboarding): auto-save on done step, keyboard nav, error feedback (
1f12b8a) - feat(config): add system panel with reset and starship theme, add onboarding wizard (
9188231) - chore: update CHANGELOG for v0.3.2 (
28e5113) - chore: update CHANGELOG for v0.3.2-beta.1 (
51a599f) - chore: update CHANGELOG for v0.3.1 (
5b4a70e)
Downloads
| Platform | File |
|---|---|
| Linux x86_64 | muyue-linux-amd64.tar.gz |
| Linux ARM64 | muyue-linux-arm64.tar.gz |
| macOS Intel | muyue-darwin-amd64.tar.gz |
| macOS Apple Silicon | muyue-darwin-arm64.tar.gz |
| Windows x86_64 | muyue-windows-amd64.zip |
| Windows ARM64 | muyue-windows-arm64.zip |
The binary includes both CLI and Desktop modes.
Run muyue for TUI, muyue desktop for web UI.
Install
Linux (x86_64)
curl -sL https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.4.0/muyue-linux-amd64.tar.gz | tar xz
chmod +x muyue-linux-amd64
sudo mv muyue-linux-amd64 /usr/local/bin/muyue
macOS (Apple Silicon)
curl -sL https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.4.0/muyue-darwin-arm64.tar.gz | tar xz
chmod +x muyue-darwin-arm64
sudo mv muyue-darwin-arm64 /usr/local/bin/muyue
Windows (x86_64)
Invoke-WebRequest -Uri "https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.4.0/muyue-windows-amd64.zip" -OutFile "muyue.zip"
Expand-Archive -Path "muyue.zip" -DestinationPath "."
Move-Item muyue-windows-amd64.exe C:\Windows\muyue.exe
v0.3.5
Changes since v0.3.5
- fix(shell): set default terminal fontSize to 6px (
a60435d) - fix(shell): default fontSize 10px and init new tabs immediately (
6b0fcfb) - feat(shell): add Ctrl+/- zoom and display all shortcuts in footer (
df46b5c) - fix(deps): upgrade @xterm/xterm to 6.1.0-beta.203 for addon compatibility (
7240813) - fix(shell): enable allowProposedApi for Unicode11 addon (
97bfb80) - fix(ci): add .npmrc with legacy-peer-deps for xterm addon resolution (
3104179) - feat(shell): integrate Hyper-like terminal technologies (WebGL, search, unicode11, image) (
e21b47a) - fix(shell): restore all missing imports, constants, and utility functions (
2e98701) - fix(shell): add missing Monitor import from lucide-react (
f9d56de) - fix(shell): restore missing MAX_TABS, TABS_STORAGE_KEY, TERMINAL_BUFFER_KEY constants (
0e73408) - fix(shell): add missing useI18n import (
3b819be) - fix(shell): remove stray 'impo' typo causing ReferenceError (
c607943) - fix(terminal): improve dimensions handling and add system theme for xterm (
3312005) - fix(shell): resolve savedTabs undefined ReferenceError in activeTab init (
6cc86b7) - fix(terminal): improve dimension calculation and tab init reliability (
1885616) - fix(dashboard): show MiMo quota instead of ZAI on dashboard (
c8506d4) - feat(ai): add Xiaomi MiMo provider, ZAI as last-resort fallback (
68acabd) - fix(terminal): use absolute positioning for content panels (
b80562a) - feat(terminal): add Ctrl+Shift+C/V copy/paste shortcuts (
c562972) - fix(shell): prevent Enter in AI chat from leaking to terminal (
3651f62) - fix(terminal): improve terminal dimensions and fit timing (
18e8347) - fix(terminal): detect shell tab visibility via MutationObserver (
6596d86) - fix(terminal): init all tabs on load, fix excessive zoom (
9fb5aa8) - fix(terminal): improve tab visibility checks and positioning (
ab3641d) - fix(ui): adjust global CSS styles (
5dac191) - fix(terminal): use display:none instead of visibility for tab hiding (
e6da61f) - feat(ui): refactor copy state to Set and add helper functions (
a994749) - feat(ui): add recentUnique to deduplicate recent commands in Dashboard (
b394ef9) - feat(ui): redesign recent commands display and fix terminal visibility (
fca5344) - fix(shell): initialize activeTabRef with activeTab and move useEffect (
0a3123e) - fix(config): remove unused import, reorder hooks, and improve variable naming (
e6447f2) - fix(studio): add tool results serialization and improve message handling (
16c5ed6) - fix(shell): improve tab reference stability and command queueing (
e8924be) - fix(shell): add debug logging for tab tracking and WebSocket state (
a905f22) - fix(terminal): refactor WebSocket cleanup, buffer management, and disposal (
183dd27) - fix(terminal): refactor WS cleanup, improve clear detection, fix sendToTerminal (
203f57f) - fix: restore buffer after WebSocket init, fix clear detection, fix streaming chunks (
a1046da) - refactor: remove locale panel, improve provider validation and terminal buffer persistence (
02ee41c) - bump: v0.3.5 (
06810be) - fix: display all quota models, center card content vertically (
8db3bd7) - fix: AI terminal init, Shift+Tab nav, code block rendering, command filtering (
20237c0) - chore: update CHANGELOG for v0.3.4 (
c39203c) - feat(dashboard): single-view grid with live CPU/RAM/Net graphs, API quota, processes, and sudo indicator (
328e9e6) - feat(dashboard): add quota monitoring, process list, and command history (
c81ebb4) - refactor(chat): deduplicate streaming code, add multi-conv, and XSS protection (
b0865bc) - fix(studio): improve chat context, thinking tags, streaming, and tool results (
0d8e1b1) - feat: add Cobra CLI, LSP/MCP registries, workflow engine, and enriched dashboard (
485e085) - feat(agent): refactor AI chat with streaming, agent registry, and tool execution (
61da803) - feat(onboarding): add minimax api key step and AI-powered editor scan (
65df154) - fix(onboarding): require fields before advancing steps (
b6147dd) - fix: register missing /api/config/reset and /api/starship/apply-theme routes (
275a9a4) - fix(config): per-provider form state to avoid field cross-talk (
e92a2f0) - fix(onboarding): auto-save on done step, keyboard nav, error feedback (
1f12b8a) - feat(config): add system panel with reset and starship theme, add onboarding wizard (
9188231) - chore: update CHANGELOG for v0.3.2 (
28e5113) - chore: update CHANGELOG for v0.3.2-beta.1 (
51a599f) - chore: update CHANGELOG for v0.3.1 (
5b4a70e)
Downloads
| Platform | File |
|---|---|
| Linux x86_64 | muyue-linux-amd64.tar.gz |
| Linux ARM64 | muyue-linux-arm64.tar.gz |
| macOS Intel | muyue-darwin-amd64.tar.gz |
| macOS Apple Silicon | muyue-darwin-arm64.tar.gz |
| Windows x86_64 | muyue-windows-amd64.zip |
| Windows ARM64 | muyue-windows-arm64.zip |
The binary includes both CLI and Desktop modes.
Run muyue for TUI, muyue desktop for web UI.
Install
Linux (x86_64)
curl -sL https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.3.5/muyue-linux-amd64.tar.gz | tar xz
chmod +x muyue-linux-amd64
sudo mv muyue-linux-amd64 /usr/local/bin/muyue
macOS (Apple Silicon)
curl -sL https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.3.5/muyue-darwin-arm64.tar.gz | tar xz
chmod +x muyue-darwin-arm64
sudo mv muyue-darwin-arm64 /usr/local/bin/muyue
Windows (x86_64)
Invoke-WebRequest -Uri "https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.3.5/muyue-windows-amd64.zip" -OutFile "muyue.zip"
Expand-Archive -Path "muyue.zip" -DestinationPath "."
Move-Item muyue-windows-amd64.exe C:\Windows\muyue.exe
v0.3.4
Changes since v0.3.3
- fix(ci): replace jq with python3 in release step, add debug output (
7ae4017) - feat: AI terminal, Z.AI quota, /model change, formatting fixes, update redirects (
8c540eb) - feat(studio): Tab focuses textarea, autocomplete commands (
1074b01) - fix(studio): convert newlines to
in AI message rendering (2da0cf9) - fix(config): replace hardcoded model list with free text input (
9987a58) - feat(config): providers panel shows only MINIMAX/ZAI with model selector (
2827acf) - feat(dashboard): show top 5 most used commands as clickable chips (
afb6e77) - fix: tab containers height, dashboard 2-row grid, studio scroll buttons (
84be226) - feat(shell): dedicated System Analyst AI, no code execution, analyze system (
f9c4cf1) - fix: keep all tabs mounted, switch via CSS display instead of unmount (
eda7293) - refactor(config): locale panel with edit/save flow like profile (
b55feae) - feat(config): split profile into Personal Info + Preferences sections, centered (
54621bd) - feat(studio): improve context compression UI and provider display (
6bad294) - fix(config): locale panel show active language/keyboard, add save button (
92eb783) - feat(config): dynamic profile panel, generic save, tabs margin fix (
8005e97) - fix(dashboard): remove bg graphs, add scrollable lists, show used/total quota (
6e76e7d) - feat(chat): add auto-summarization with token tracking UI (
e8f6dc4) - feat(dashboard): add background graphs to cards and improve layout (
bb03c9f) - feat(dashboard): single-view grid with live CPU/RAM/Net graphs, API quota, processes, and sudo indicator (
79d0821) - feat(dashboard): add quota monitoring, process list, and command history (
7682717) - refactor(chat): deduplicate streaming code, add multi-conv, and XSS protection (
3948a4c) - fix(studio): improve chat context, thinking tags, streaming, and tool results (
65804aa) - feat: add Cobra CLI, LSP/MCP registries, workflow engine, and enriched dashboard (
2e50366) - feat(agent): refactor AI chat with streaming, agent registry, and tool execution (
66b773f) - feat(onboarding): add minimax api key step and AI-powered editor scan (
bc5c295) - fix(onboarding): require fields before advancing steps (
e19122d) - fix: register missing /api/config/reset and /api/starship/apply-theme routes (
8b6a7e8) - fix(config): per-provider form state to avoid field cross-talk (
58f8cb0) - fix(onboarding): auto-save on done step, keyboard nav, error feedback (
b52fecc) - feat(config): add system panel with reset and starship theme, add onboarding wizard (
5bbac49)
Downloads
| Platform | File |
|---|---|
| Linux x86_64 | muyue-linux-amd64.tar.gz |
| Linux ARM64 | muyue-linux-arm64.tar.gz |
| macOS Intel | muyue-darwin-amd64.tar.gz |
| macOS Apple Silicon | muyue-darwin-arm64.tar.gz |
| Windows x86_64 | muyue-windows-amd64.zip |
| Windows ARM64 | muyue-windows-arm64.zip |
The binary includes both CLI and Desktop modes.
Run muyue for TUI, muyue desktop for web UI.
Install
Linux (x86_64)
curl -sL https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.3.4/muyue-linux-amd64.tar.gz | tar xz
chmod +x muyue-linux-amd64
sudo mv muyue-linux-amd64 /usr/local/bin/muyue
macOS (Apple Silicon)
curl -sL https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.3.4/muyue-darwin-arm64.tar.gz | tar xz
chmod +x muyue-darwin-arm64
sudo mv muyue-darwin-arm64 /usr/local/bin/muyue
Windows (x86_64)
Invoke-WebRequest -Uri "https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.3.4/muyue-windows-amd64.zip" -OutFile "muyue.zip"
Expand-Archive -Path "muyue.zip" -DestinationPath "."
Move-Item muyue-windows-amd64.exe C:\Windows\muyue.exe
v0.3.2
Changes since v0.3.1
- chore: update CHANGELOG for v0.3.2-beta.1 (
51a599f) - fix: correct version from 3.2 to 0.3.2 (
83d7a57) - chore: bump version to 3.2 (
0fe82f6) - refactor(config): remove Terminal sub-tab from Configuration page (
3b6cc38) - fix(terminal): init payload never sent due to ws.onopen being overwritten (
93a22d4) - fix(terminal): improve shell resolution with better error handling and ws proxy support (
e0e1e73) - feat(studio): parse AI thinking and tool launch messages in terminal panel (
0496ca7) - fix(studio): forward AI thinking chunks to frontend instead of dropping them (
b407ab8) - feat(studio): add tool execution and hide AI thinking tags (
12df184) - fix(terminal): ignore invalid shell config from race condition (
8af6d25) - feat(shell): restore AI assistant panel (
4fd599a) - fix(terminal): restore terminal input and cursor visibility (
bcba593) - refactor(api): split monolithic handlers.go into focused modules (
04b0fff)
Downloads
| Platform | File |
|---|---|
| Linux x86_64 | muyue-linux-amd64.tar.gz |
| Linux ARM64 | muyue-linux-arm64.tar.gz |
| macOS Intel | muyue-darwin-amd64.tar.gz |
| macOS Apple Silicon | muyue-darwin-arm64.tar.gz |
| Windows x86_64 | muyue-windows-amd64.zip |
| Windows ARM64 | muyue-windows-arm64.zip |
The binary includes both CLI and Desktop modes.
Run muyue for TUI, muyue desktop for web UI.
Install
Linux (x86_64)
curl -sL https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.3.2/muyue-linux-amd64.tar.gz | tar xz
chmod +x muyue-linux-amd64
sudo mv muyue-linux-amd64 /usr/local/bin/muyue
macOS (Apple Silicon)
curl -sL https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.3.2/muyue-darwin-arm64.tar.gz | tar xz
chmod +x muyue-darwin-arm64
sudo mv muyue-darwin-arm64 /usr/local/bin/muyue
Windows (x86_64)
Invoke-WebRequest -Uri "https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.3.2/muyue-windows-amd64.zip" -OutFile "muyue.zip"
Expand-Archive -Path "muyue.zip" -DestinationPath "."
Move-Item muyue-windows-amd64.exe C:\Windows\muyue.exe
v0.3.2-beta.1 (Beta)
Commits since v0.3.1
- fix: correct version from 3.2 to 0.3.2 (
83d7a57)
This is a beta release. Use at your own risk.
v0.3.1
Changes since v0.3.0
- refactor(config): remove Terminal sub-tab from Configuration page (
95bd824) - fix(terminal): init payload never sent due to ws.onopen being overwritten (
252f178) - fix(terminal): improve shell resolution with better error handling and ws proxy support (
7dcf505) - feat(studio): parse AI thinking and tool launch messages in terminal panel (
8fb93fa) - fix(studio): forward AI thinking chunks to frontend instead of dropping them (
5ec373c) - feat(studio): add tool execution and hide AI thinking tags (
1eb5a6d) - fix(terminal): ignore invalid shell config from race condition (
cd5ebe0) - feat(shell): restore AI assistant panel (
2004c15) - fix(terminal): restore terminal input and cursor visibility (
9306152) - refactor(api): split monolithic handlers.go into focused modules (
e15a034)
Downloads
| Platform | File |
|---|---|
| Linux x86_64 | muyue-linux-amd64.tar.gz |
| Linux ARM64 | muyue-linux-arm64.tar.gz |
| macOS Intel | muyue-darwin-amd64.tar.gz |
| macOS Apple Silicon | muyue-darwin-arm64.tar.gz |
| Windows x86_64 | muyue-windows-amd64.zip |
| Windows ARM64 | muyue-windows-arm64.zip |
The binary includes both CLI and Desktop modes.
Run muyue for TUI, muyue desktop for web UI.
Install
Linux (x86_64)
curl -sL https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.3.1/muyue-linux-amd64.tar.gz | tar xz
chmod +x muyue-linux-amd64
sudo mv muyue-linux-amd64 /usr/local/bin/muyue
macOS (Apple Silicon)
curl -sL https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.3.1/muyue-darwin-arm64.tar.gz | tar xz
chmod +x muyue-darwin-arm64
sudo mv muyue-darwin-arm64 /usr/local/bin/muyue
Windows (x86_64)
Invoke-WebRequest -Uri "https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.3.1/muyue-windows-amd64.zip" -OutFile "muyue.zip"
Expand-Archive -Path "muyue.zip" -DestinationPath "."
Move-Item muyue-windows-amd64.exe C:\Windows\muyue.exe
v0.3.0
Changes since v0.2.1
- fix(terminal): resolve PTY shell exec error, simplify CLI, unify Config tabs, restore Studio CSS (
0b22109) - feat: add API key validation flow for AI provider config (
7f67473) - feat(studio): replace sidebar layout with unified execution feed styles (
040e482) - fix: guard against empty tabs array in closeTab (
c8903ef) - refactor: redesign Config as settings window with sidebar panels, remove system overview from Dashboard (
f3cb306) - feat: add multi-tab terminal with SSH support, config editing, and dashboard redesign (
3cdcb22) - feat(studio): add i18n keys and CSS for redesigned AI chat interface (
ee18bbe) - chore: bump version to 0.3.0 (
b0b0e1d) - chore: remove dead code (packages, functions, types, constants) (
fc79810) - docs: rewrite README and CHANGELOG for desktop app mode (
f7222b0) - feat(web): add i18n support with FR/EN locales and keyboard layout awareness (
11417d3) - refactor(web): redesign frontend for native web UX (
3dc24ae) - refactor: remove TUI, desktop web UI is now the default and only mode (
aa0ff19) - refactor: unify into single
muyuebinary with embedded desktop mode (3463605) - fix(ci): add frontend build step before Go vet/test/build (
097cf40) - feat: add desktop app with React frontend, API backend, theme system (#2) (
88d2a03) - chore: update CHANGELOG for v0.2.1 (
1830c18) - feat: complete TUI redesign with cyberpunk theme (#1) (
cb8e3d0)
Downloads
| Platform | File |
|---|---|
| Linux x86_64 | muyue-linux-amd64.tar.gz |
| Linux ARM64 | muyue-linux-arm64.tar.gz |
| macOS Intel | muyue-darwin-amd64.tar.gz |
| macOS Apple Silicon | muyue-darwin-arm64.tar.gz |
| Windows x86_64 | muyue-windows-amd64.zip |
| Windows ARM64 | muyue-windows-arm64.zip |
The binary includes both CLI and Desktop modes.
Run muyue for TUI, muyue desktop for web UI.
Install
Linux (x86_64)
curl -sL https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.3.0/muyue-linux-amd64.tar.gz | tar xz
chmod +x muyue-linux-amd64
sudo mv muyue-linux-amd64 /usr/local/bin/muyue
macOS (Apple Silicon)
curl -sL https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.3.0/muyue-darwin-arm64.tar.gz | tar xz
chmod +x muyue-darwin-arm64
sudo mv muyue-darwin-arm64 /usr/local/bin/muyue
Windows (x86_64)
Invoke-WebRequest -Uri "https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.3.0/muyue-windows-amd64.zip" -OutFile "muyue.zip"
Expand-Archive -Path "muyue.zip" -DestinationPath "."
Move-Item muyue-windows-amd64.exe C:\Windows\muyue.exe
[Unreleased]
Security
- Command injection: Removed non-functional AI sidebar from Shell.jsx that interpolated user input directly into a shell command (
echo "AI: ${text}"). The panel was a stub with no real AI integration. - WebSocket origin validation: Terminal WebSocket handler now validates the
Originheader matches the server's own host. - DELETE method guard: Terminal sessions DELETE endpoint now rejects non-DELETE methods.
Fixed
- Message ID collisions:
generateMsgID()now appends nanosecond suffix to prevent collisions under rapid creation. - Legacy dir migration: Config migration from
~/.muyueto XDG path now logs errors instead of silently failing. - MCP JSON parsing:
json.Unmarshalerrors in MCP config loading are now handled instead of ignored. - API header merging:
client.jsrequest()now correctly merges caller headers with defaults (was overwritingContent-Type). - Variable shadowing:
ttranslation function shadowed by.filter(t => ...)in Config.jsx and App.jsx — renamed totool.
Changed
- Real SSE streaming: Chat endpoint now streams AI responses via SSE (
data: {"content":"..."}chunks) instead of fake 8-rune chunking. Frontend renders responses progressively as they arrive. - Progressive rendering: Studio.jsx now uses
StreamingItemcomponent to display partial AI output during streaming, with cursor animation. - Theme from config: App.jsx loads theme from user profile preferences on startup (was hardcoded to
cyberpunk-red). - Handlers split: Monolithic
handlers.gosplit into 6 focused files:handlers_common.go,handlers_info.go,handlers_tools.go,handlers_config.go,handlers_chat.go,handlers_terminal.go. - Dynamic version: Config
Versionfield now usesversion.Versionconstant instead of hardcoded"0.1.0". - Path construction:
filepath.Joinused consistently in installer, MCP, scanner, and profiler for cross-platform safety. - CI Go version: All 3 CI workflows updated from
go-version: '1.24.3'to'1.24'to matchgo.mod. - Dead code removed: Unused
addNotiffunction in Dashboard.jsx, unusedlayoutdestructuring, deadtools/updates/onRescanprops, dead AI sidebar in Shell.jsx, associated CSS and i18n keys.
Added
-
SendStream tests: 3 new tests for the SSE streaming method (chunk parsing, history accumulation, API error handling) using
httptestserver. -
Desktop mode: React 19 web UI served locally, auto-opens in browser. Frontend embedded in Go binary via
go:embed. -
API backend: 15 REST endpoints (
/api/info,/api/system,/api/tools,/api/config,/api/providers,/api/skills,/api/lsp,/api/mcp,/api/updates,/api/scan,/api/install,/api/terminal,/api/mcp/configure,/api/preferences). -
i18n: Full FR/EN translation system with keyboard layout awareness (AZERTY, QWERTY, QWERTZ). Preferences synced to backend.
-
Themes: 4 built-in themes (Cyberpunk Red, Cyberpunk Pink, Midnight Blue, Matrix Green) with 30+ CSS custom properties applied at runtime.
-
Desktop flags:
--port=PORTto specify port,--no-opento skip browser auto-open. -
SPA routing: Frontend handles client-side routing via catch-all fallback.
-
CI: Frontend build step (
npm ci && npm run build) added to all 3 CI pipelines.
Changed
- Default mode:
muyuenow launches the desktop web app instead of the TUI. The TUI has been removed entirely. - Single binary:
cmd/muyue-desktopmerged intocmd/muyue. Only one binary needed. - Frontend: Moved from
cmd/muyue-desktop/frontend/toweb/and embedded viaweb/embed.go. - Go module: Dependencies cleaned up — removed indirect TUI-related packages.
- Makefile:
buildtarget now runsfrontend(npm build) automatically. Addeddev-desktoptarget for Vite dev server.
Removed
- TUI: All
internal/tui/code removed (model, views, handlers, animations, terminal, styles). cmd/muyue-desktop/: Separate desktop binary removed; merged into main binary.
v0.2.1
Downloads
| Platform | File |
|---|---|
| Linux x86_64 | muyue-linux-amd64.tar.gz |
| Linux ARM64 | muyue-linux-arm64.tar.gz |
| macOS Intel | muyue-darwin-amd64.tar.gz |
| macOS Apple Silicon | muyue-darwin-arm64.tar.gz |
| Windows x86_64 | muyue-windows-amd64.zip |
| Windows ARM64 | muyue-windows-arm64.zip |
Changes since v0.2.0
- feat: complete TUI redesign with cyberpunk theme (#1) (
cb8e3d0) - chore: bump version to 0.2.1, update README for TUI redesign (
22fb282)
Install
Linux (x86_64)
curl -sL https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.2.1/muyue-linux-amd64.tar.gz | tar xz
chmod +x muyue-linux-amd64
sudo mv muyue-linux-amd64 /usr/local/bin/muyue
macOS (Apple Silicon)
curl -sL https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.2.1/muyue-darwin-arm64.tar.gz | tar xz
chmod +x muyue-darwin-arm64
sudo mv muyue-darwin-arm64 /usr/local/bin/muyue
Windows (x86_64)
Invoke-WebRequest -Uri "https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.2.1/muyue-windows-amd64.zip" -OutFile "muyue.zip"
Expand-Archive -Path "muyue.zip" -DestinationPath "."
Move-Item muyue-windows-amd64.exe C:\Windows\muyue.exe
v0.2.0
Downloads
| Platform | File |
|---|---|
| Linux x86_64 | muyue-linux-amd64.tar.gz |
| Linux ARM64 | muyue-linux-arm64.tar.gz |
| macOS Intel | muyue-darwin-amd64.tar.gz |
| macOS Apple Silicon | muyue-darwin-arm64.tar.gz |
| Windows x86_64 | muyue-windows-amd64.zip |
| Windows ARM64 | muyue-windows-arm64.zip |
Changes since start
- refactor: redesign TUI with 4 tabs, red/rose theme, split layouts (
035e923) - feat: GitFlow workflow with beta/stable CI pipelines (
bbdac6c) - feat: security hardening, tests, doctor command, CI update, CHANGELOG (
3494f6b) - refactor: modularize TUI, improve error handling, add CI caching and tests (
4469122) - fix: remove tab switching, filter AI thinking from responses (
5a33dfc) - fix: enable text selection, dashboard multi-column layout (
82b2816) - feat: Ctrl+T tab switcher, minimal header, integrated terminal (
2d6fc64) - feat: Ctrl+M tab switcher overlay menu (
bb3b303) - fix: docker version check, uv PATH, install progress bar (
e6fdec4) - feat: smart setup wizard - sort choices by system detection (
1be4fc0) - fix: use Alt+1-5 for tab navigation to free number keys for input (
825b429) - ci: add install instructions for all platforms in release body (
ac35ff2) - ci: add build + release steps with push-only conditions (
bcb9aa0) - ci: restore exact working ci.yml from
e58e00dfor testing (0a91cef) - fix: rename workflow back to CI (slash in name breaks Gitea 1.25) (
461122a) - ci: trigger workflow run (
ea59c2c) - fix: remove workflow_dispatch + add push-only conditions on release steps (
9cd583f) - ci: single job - build + vet + release latest in one pass (
92275be) - ci: merge CI and Release into single workflow (
f2c0996) - fix: release workflow - delete old release before creating new one (
5eb237f) - feat: redesign TUI + Ctrl+C quit confirm + version logic + sudo handling (
e3cd618) - feat: add mouse support + install pnpm, uv, docker, gh (
e58e00d) - fix: use GITEATOKEN secret name (no underscores in Gitea 1.25) (
8e3f8b8) - fix: make release delete step resilient + check GITEA_TOKEN (
69ca5c6) - fix: remove redundant newline in profiler.go (go vet) (
2d421fe) - fix: export PATH in every step for Gitea runner compatibility (
3f8e01f) - ci: restore actions/checkout + simplify workflows (
4db69e4) - fix: add missing cmd/muyue/main.go and fix .gitignore (
f650988) - ci: fix Gitea Actions - native checkout + auto-release on push (
78c7239) - ci: migrate workflows to Gitea Actions with self-hosted runner (
811a9aa)
Install
Linux (x86_64)
curl -sL https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.2.0/muyue-linux-amd64.tar.gz | tar xz
chmod +x muyue-linux-amd64
sudo mv muyue-linux-amd64 /usr/local/bin/muyue
macOS (Apple Silicon)
curl -sL https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.2.0/muyue-darwin-arm64.tar.gz | tar xz
chmod +x muyue-darwin-arm64
sudo mv muyue-darwin-arm64 /usr/local/bin/muyue
Windows (x86_64)
Invoke-WebRequest -Uri "https://gitea.legion-muyue.fr/Muyue/MuyueWorkspace/releases/download/v0.2.0/muyue-windows-amd64.zip" -OutFile "muyue.zip"
Expand-Archive -Path "muyue.zip" -DestinationPath "."
Move-Item muyue-windows-amd64.exe C:\Windows\muyue.exe
[0.2.0] - 2026-04-20
Added
- Security: AES-256-GCM encryption for API keys stored in config (
internal/secret). Per-machine random key at~/.muyue_keywith 0600 permissions. - Security: Dangerous command detection in integrated terminal (rm -rf, mkfs, dd, fork bombs, shutdown/reboot, redirects to system dirs).
- Security: MCP config files now written with 0600 permissions, directories with 0700.
- Command:
muyue doctor— checks config, API key, tools, LSP/MCP servers, and skills installation. - Config: XDG-compliant config directory via
os.UserConfigDir()with automatic migration from legacy~/.muyue. - Performance: Scanner results cached with 5-minute TTL and
InvalidateCache()for forced refresh. - Performance: Shared HTTP client for orchestrator and updater (10s timeout, connection pooling).
- Tests: 8 test files covering config, workflow, skills, orchestrator, version, platform, scanner, and secret packages.
- CI: Updated to use
actions/setup-go@v5instead of manual Go download. - Makefile: Added
test-short(with-short -timeout 60s) andvettargets.
Changed
- Architecture: MCP config generation deduplicated — shared
writeMCPConfig()withmcpEntrytype replaces two near-identical functions. - Architecture: Skills YAML frontmatter parser now uses
gopkg.in/yaml.v3instead of manual line-by-line parsing. - Concurrency: Orchestrator history protected by
sync.Mutexto prevent races from tea.Cmd goroutines. - TUI:
cleanup(m Model)now called on all quit paths (confirm, ctrl+c force, ctrl+c in quit overlay) to stop daemon, preview server, and proxy agents. - README: Complete rewrite documenting all CLI commands, LSP/MCP/Skills management, security, and XDG paths.
[0.1.0] - 2026-04-18
Added
- Initial release with Bubble Tea TUI, AI chat orchestration, system scanning, tool installation, LSP/MCP management, skills system, and multi-platform CI/release pipeline.