Skip to content

iamazy/termua

Repository files navigation

English | 简体中文

Termua Logo

an open-source cross-platform terminal application built with GPUI and powered by the Alacritty / WezTerm terminal backends.

termua

Features ❇️

  • Cross-platform: Linux / macOS / Windows
  • Terminal backends: supports Alacritty / WezTerm
  • SSH: based on wezterm-ssh, with support for Password / SSH Config login
  • Serial: supports serial sessions, baud rate / parity / flow control configuration
  • SFTP file operations: supports file upload (including drag-and-drop), concurrency control, and more
  • Terminal sharing: share terminal sessions through a relay
  • Cast recording and playback: record and replay terminal activity
  • Batch execution: run commands across multiple terminals
  • AI assistant: built-in ZeroClaw Assistant
  • Multiple themes: supports theme switching, plus creating and editing themes with the theme editor
  • Lock screen: application lock screen and automatic lock on idle timeout
  • Static suggestions: preconfigured static command suggestions with wildcard support

Roadmap 🏁

  • Support Lua scripting for more customizable scenarios
  • Support workflows
  • ...

Quick Start

Play cast files

In addition to the built-in GUI recording and playback features, Termua can also play cast files directly from the command line:

termua --play-cast demo.cast
termua --play-cast demo.cast --speed 2

Terminal session sharing

In addition to starting a relay process with termua-relay, you can also start a local relay process from the Termua settings page for testing:

termua-relay --listen 127.0.0.1:7231

During a shared session, viewers can request control of the terminal, and the host side can revoke that control at any time.

Configuration

Example settings.json

{
  "appearance": {
    "theme": "system",
    "language": "zh-CN"
  },
  "terminal": {
    "default_backend": "alacritty",
    "ssh_backend": "ssh2",
    "font_family": ".ZedMono",
    "font_size": 15,
    "ligatures": true,
    "cursor_shape": "block",
    "blinking": "on",
    "option_as_meta": false,
    "show_scrollbar": true,
    "show_line_numbers": true,
    "copy_on_select": true,
    "suggestions_enabled": false,
    "suggestions_max_items": 8,
    "sftp_upload_max_concurrency": 5
  },
  "sharing": {
    "enabled": false,
    "relay_url": "ws://127.0.0.1:7231/ws"
  },
  "recording": {
    "include_input_by_default": false,
    "playback_speed": 1.0
  },
  "logging": {
    "level": "default",
    "path": "termua.log"
  }
}

It is not recommended to edit settings.json directly. Prefer changing settings through the Termua settings page.

Release 🦀

You can download the binary from the artifacts page

Acknowledgements ❤️

  • GPUI: GPUI is a hybrid immediate and retained mode, GPU accelerated UI framework for Rust, designed to support a wide variety of applications.
  • gpui-component: Rust GUI components for building fantastic cross-platform desktop applications with GPUI.
  • Alacritty: A cross-platform, OpenGL terminal emulator.
  • WezTerm: A GPU-accelerated cross-platform terminal emulator and multiplexer implemented in Rust.

License 🚨

License

About

an open-source cross-platform terminal application built with GPUI and powered by the Alacritty / WezTerm terminal backends.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages