中文 | English

ashell

Preview

ashell is a modern, GPUI Component-based desktop terminal client written in Rust.

This project focuses on providing a high-performance and visually appealing shell workspace by combining local and remote environments with a rich set of built-in features.

🚀 v0.4 Major Upgrades

v0.4 builds on the v0.3 foundation and focuses on more capable workspace operations and a smoother daily workflow:

  • Keybinding Management: View and edit common shortcuts from the settings UI with conflict hints.
  • Settings Page Polish: A more compact and clearer settings experience with improved layout and interaction flow.
  • Multi-Pane Tabs with a tmux-like Workflow: A single tab can now host multiple panes, with split, focus, and switching actions for a tmux-inspired experience.
  • Transfer History Improvements: The transfer history panel now presents richer task details, making upload and download activity easier to review.
  • SSH Passphrase Support: Private keys can now store a passphrase, and SSH connections will use it automatically.
  • Terminal Rendering Enhancements: Terminal rendering now handles Block Elements and similar custom glyphs more completely.

Download

You can download the latest pre-compiled releases for macOS, Windows, and Linux from the GitHub Releases page.

Mac Installation Guide

After downloading, please unzip the file and move ashell.app to your Applications folder. Since the app uses ad-hoc signing, macOS may warn that the app is "damaged" upon first launch. If this happens, open Terminal and run the following command:

sudo xattr -cr /Applications/ashell.app

Features

The current version provides a fully-featured GPUI-native workspace:

  • Local & Remote Sessions: Open local terminal tabs or connect to remote servers via SSH.
  • Advanced SSH Authentication: Supports both password-based and key-based (file path or inline) SSH connections.
  • Session Management: Easily save, reopen, edit, and remove your SSH sessions.
  • SFTP Integration: Built-in SFTP file manager to browse, upload, download, and manage remote files.
  • Robust Terminal Emulator: Parses terminal output with alacritty_terminal, supporting rich ANSI color spans, fast rendering, and complete keyboard input forwarding.
  • System Telemetry: Real-time visualization of CPU, memory, swap, network, and disk metrics in the left cockpit sidebar.
  • Theming System: Switch between multiple GPUI Component themes directly from the top toolbar.
  • Embedded Fonts: Uses embedded Maple Mono NF CN fonts out-of-the-box for excellent CJK character and Nerd Font icon support.
  • v0.3 Core Enhancements: Global font and font-size controls, concurrent SFTP transfers, persistent layout state, disconnect awareness, hot-swappable i18n, and smart terminal right-click copy/paste.

Run

To run the application locally:

cargo run --release

Package macOS App

./scripts/package-macos-app.sh
open target/release/ashell.app

The packaging script creates a standard .app bundle. It does not attach an entitlements file, and after signing, it verifies that com.apple.security.app-sandbox is not present (meaning it runs non-sandboxed).

License

This project is licensed under the GPL-3.0-or-later License.

S
Description
ashell is a modern, fast, GPUI Component-based desktop terminal client written in Rust.
Readme GPL-3.0
23 MiB
Languages
Rust 98.3%
Inno Setup 1.6%
Shell 0.1%