mirror of
https://github.com/rust-kotlin/ashell.git
synced 2026-09-22 08:01:00 +00:00
67 lines
3.4 KiB
Markdown
67 lines
3.4 KiB
Markdown
[中文](README.md) | [English](README.en.md)
|
|
|
|
# ashell
|
|
|
|

|
|
|
|
`ashell` 是一款现代化的、基于 GPUI Component 构建的 Rust 桌面终端客户端。
|
|
|
|
该项目旨在通过结合本地和远程环境,并内置丰富的核心功能,提供一个高性能且美观的 Shell 工作区。
|
|
|
|
## 🚀 v0.3 版本重磅更新!
|
|
|
|
全新发布的 v0.3 迎来了架构和体验的全面升级:
|
|
- ✨ **全局实时字体设置与字号调节**(感谢 [@ancion](https://github.com/ancion) 提供的 [PR #6](https://github.com/rust-kotlin/ashell/pull/6)):支持自定义全局 UI 字体和终端渲染字体,支持实时字号调节并自动记忆。
|
|
- ✨ **SFTP 多任务并发传输队列**:引入全新的独立传输对话框,支持多文件并发上传下载,提供精准的进度展示。
|
|
- ✨ **持久化工作区记忆**:您对侧边栏的尺寸拖拽、终端主题、字体、隐藏文件开关等一切设置都会在下次启动时原样恢复!
|
|
- ✨ **智能断线重连与状态感知**:全面增强的 SSH 网络异常处理机制,断线后直接提供美观的覆盖层用于一键重连或关闭。
|
|
- ✨ **多语言热切换增强**:深度优化的 i18n 系统,包含中文与英文在内的所有界面文案现在均支持热切换。
|
|
- ✨ **智能右键快捷操作**:新增终端右键智能复制与粘贴功能,提供专属设置项自由控制开关,并支持根据不同操作系统自适应显示原生快捷键提示。
|
|
|
|
## 下载
|
|
|
|
您可以从 [GitHub Releases 页面](https://github.com/rust-kotlin/ashell/releases/latest) 下载 macOS、Windows 和 Linux 版本的最新预编译程序。
|
|
|
|
## Mac 安装指南
|
|
|
|
下载并解压后,请先将 `ashell.app` 拖入或移动到 **应用程序 (Applications)** 目录。
|
|
由于应用采用本地签名,初次启动时如果系统提示“App 已损坏,无法打开”,请打开终端(Terminal)并执行以下命令:
|
|
|
|
```bash
|
|
sudo xattr -cr /Applications/ashell.app
|
|
```
|
|
|
|
## 功能特性
|
|
|
|
当前版本提供了一个功能完备的 GPUI 原生工作区:
|
|
|
|
- **本地与远程会话**:支持打开本地终端标签页或通过 SSH 连接到远程服务器。
|
|
- **高级 SSH 认证**:支持基于密码和基于密钥(文件路径或内联内容)的 SSH 连接方式。
|
|
- **会话管理**:可以轻松地保存、重新打开、编辑和删除您的 SSH 会话。
|
|
- **SFTP 集成**:内置 SFTP 文件管理器,可以浏览、上传、下载以及管理远程文件。
|
|
- **强大的终端模拟器**:使用 `alacritty_terminal` 解析终端输出,支持丰富的 ANSI 颜色代码、极速渲染和完整的键盘输入转发。
|
|
- **系统遥测**:在左侧边栏实时可视化显示 CPU、内存、Swap、网络和磁盘的使用指标。
|
|
- **主题系统**:支持直接从顶部工具栏切换多种 GPUI Component 颜色主题。
|
|
- **内置字体**:开箱即用,内置 Maple Mono NF CN 字体,提供卓越的中日韩(CJK)字符与 Nerd Font 图标支持。
|
|
|
|
## 运行
|
|
|
|
在本地运行该应用:
|
|
|
|
```bash
|
|
cargo run --release
|
|
```
|
|
|
|
## 打包 macOS 应用
|
|
|
|
```bash
|
|
./scripts/package-macos-app.sh
|
|
open target/release/ashell.app
|
|
```
|
|
|
|
该打包脚本会创建一个标准的 `.app` 应用程序包。它没有附加 entitlements 文件,并且在签名后会验证是否不存在 `com.apple.security.app-sandbox`(这意味着它在非沙盒模式下运行)。
|
|
|
|
## 协议
|
|
|
|
本项目采用 [GPL-3.0-or-later 协议](LICENSE) 开源。
|