Miaominal is a desktop SSH workspace for remote development and server operations. It brings terminal sessions, SSH host management, SFTP file transfer, port forwarding, sensitive credentials, encrypted sync, and session-level agents into one workspace. Built with Rust, GPUI, and `alacritty_terminal`, it aims to keep frequent remote workflows stable, focused, recoverable, and designed for lower memory overhead.
Features · Installation · Core Feature Screenshots · Encrypted Sync and Settings · Running from Source
- SSH host management: Save connection profiles, authentication methods, startup commands, environment variables, tags, and groups.
- Configuration import: Import SSH profiles from OpenSSH config, PuTTY
.reg, SecureCRT.xml, and FinalShell.json. - Lightweight native stack: Built around a native Rust desktop stack and terminal backend, designed to reduce memory overhead during daily multi-session SSH workflows.
- Modern terminal experience: Powered by
alacritty_terminal, with tabs, pane splitting, scrollback search, copy/paste, and recently closed tab recovery. - SFTP workspace: Browse local and remote files, upload and download, drag to select, confirm overwrites and deletes, create folders, and pause / resume / cancel transfers.
- Port forwarding: Manage local and remote forwarding rules associated with saved SSH hosts.
- Remote monitoring: Collect CPU, memory, Swap, disk, network, and load metrics after an SSH session is ready.
- Snippets: Save reusable commands and shell recipes for quick use during daily sessions.
- Credentials and trust: Manage known hosts, system keychain storage, local vault storage, managed private keys, and SSH agent identities.
- Encrypted sync: Sync configuration through GitHub Gist or WebDAV. Sensitive fields are uploaded only after encryption with an Argon2id-derived key and AES-256-GCM.
- Session Agent: Chat history, title generation, attachments, Markdown rendering, tool-call status, background jobs, approval modes, and interruption recovery.
- Download
Miaominal-macos-arm64.dmgfrom Releases. - Open the
.dmgand dragMiaominal.appintoApplications.
Warning
Miaominal is not notarized. If macOS blocks the app, remove the quarantine attribute:
xattr -dr com.apple.quarantine /Applications/Miaominal.app- Download
Miaominal-windows-x64-setup.exefrom Releases. - Run the installer and follow the prompts.
- You can also download
Miaominal-windows-x64-standalone.exeand launch it directly.
- You can also download
- Download
Miaominal-linux-x86_64.AppImagefrom Releases. - Make it executable and run it:
chmod +x Miaominal-linux-x86_64.AppImage
./Miaominal-linux-x86_64.AppImageManage SSH hosts, recent connections, tags, groups, and authentication methods in one place, then open terminal tabs or split panes in the workspace.
Use the local / remote dual-pane file browser in the terminal side panel to handle uploads, downloads, directory creation, overwrite confirmation, delete confirmation, and transfer progress.
Open an Agent panel next to the current session and use a configurable provider to ask questions, read files, run commands, apply patches, search the web, or fetch web content. Tool calls are controlled by approval modes.
| Capability | Description |
|---|---|
| Current session | Read workspace information, understand the active terminal context, and hand short commands or long-running tasks to the corresponding shell. |
| SSH hosts | Mention opened or saved hosts with @ to target file reads, search, command execution, and patch application at a specific remote machine. |
| Workspace files | Use read, list, glob, and grep to inspect files, then create, modify, or delete files with apply_patch. |
| Background tasks | Use background jobs for long-running server, log, test, deployment, and similar tasks; continue checking status, stopping tasks, or collecting results in the session. |
| Web lookup | Use configured Web Search / Fetch to collect web information and analyze it alongside terminal, file, and attachment context. |
| Execution mode | Best for | Tool and approval behavior |
|---|---|---|
| Ask | Understanding a project, searching files, or answering questions only. | Only read-only tools, web_search / web_fetch, and user questions are available. It does not run commands or modify files. |
| Execute | The default mode for daily development and operations. | All tools are available. Web search / fetch can run directly, while file edits, non-read-only shell commands, and high-risk operations go through approval or risk checks. |
| Non-blocking | Letting the Agent plan and list operations first, then approving them one by one. | All tools are available and policy enforcement is bypassed entirely; tool calls pause for approval before executing. Only .. and ~ path normalization is always enforced. |
| Full Auto | Explicitly authorizing the Agent to complete a task continuously. | All tools are available, policy enforcement is bypassed entirely, and tool calls execute automatically. Only .. and ~ path normalization is always enforced. |
Create local or remote forwarding rules for saved hosts, then quickly connect, disconnect, copy, edit, or open the forwarded target in a browser.
Miaominal separates local storage from cloud backup: ordinary configuration can be synced, while sensitive credentials stay in the local secure store by default. When you need to sync sensitive data across devices, it is encrypted with your sync passphrase before being uploaded to the remote backend.
- Local secure storage: API keys, SSH passwords, sync credentials, and managed private keys are written to the system keyring by default. After enabling the local vault, these secrets are migrated into a local encrypted vault that is unlocked with the vault passphrase.
- Local vault: The vault is protected by a local password that is independent from the sync passphrase. It can be manually unlocked and locked, supports an auto-lock timeout, and is designed for sensitive data you want to keep device-local.
- Cloud sync backends: GitHub Gist and WebDAV are supported. Miaominal can sync non-appearance configuration such as SSH profiles, snippets, managed keys, shortcuts, connection preferences, and Agent provider / Web Search metadata.
- End-to-end encryption: Passwords, SSH private keys, AI provider API keys, and Web Search API keys are encrypted with a key derived from the sync passphrase when they participate in sync. The sync passphrase is processed with Argon2id, and ciphertext is protected with AES-256-GCM.
- Multi-device recovery: After binding a new device to the same Gist ID or WebDAV file, you can pull the remote configuration. The synced sensitive fields can be decrypted and used only after entering the same sync passphrase.
- No plaintext upload: GitHub tokens and WebDAV passwords are stored only in the local secret store. If AI provider / Web Search API keys participate in sync, they are placed in the encrypted secrets payload instead of being written to the sync file as plaintext configuration.
brew install cmake
xcodebuild -downloadComponent MetalToolchain
cargo build --releaseUbuntu 24.04 example:
sudo apt-get update
sudo apt-get install -y \
build-essential clang cmake curl git pkg-config \
libasound2-dev libdbus-1-dev libfontconfig-dev libglib2.0-dev \
libgit2-dev libsecret-1-dev libsqlite3-dev libssl-dev libva-dev \
libvulkan1 libwayland-dev libx11-xcb-dev libxkbcommon-x11-dev \
libzstd-dev
cargo build --releasewinget install -e --id Kitware.CMake
choco install nasm --yes --no-progress
cargo build --release




