Skip to content

EchoUI 是一个基于 Tauri 的桌面应用程序,用于执行命令并实时显示输出。支持 Markdown 渲染、语法高亮和智能滚动。

License

Notifications You must be signed in to change notification settings

FortuneW/echo_ui

Repository files navigation

EchoUI - 命令输出查看器

License: MIT Tauri React Rust

EchoUI 是一个基于 Tauri 的桌面应用程序,用于执行命令并实时显示输出。支持 Markdown 渲染、语法高亮和智能滚动。

EchoUI Screenshot

✨ 功能特性

  • 🚀 实时命令输出 - 执行命令并实时显示输出
  • 📝 Markdown 渲染 - 支持 Markdown 格式输出,包括代码高亮
  • 🎨 语法高亮 - 使用 remark-highlight 进行代码语法高亮
  • 🔄 智能滚动 - 自动滚动到最新输出,支持手动滚动查看历史
  • 🎯 状态指示 - 顶部状态栏显示命令执行状态(运行中/成功/失败/空闲)
  • ⌨️ 快捷键支持 - 按 Esc 键停止命令并退出应用,Ctrl+D 切换窗口最大化
  • 🖱️ 右键禁用 - 防止意外操作
  • 📱 响应式设计 - 适配不同屏幕尺寸

🛠 技术栈

  • 前端: React 19.1 + TypeScript + Vite
  • 后端: Rust + Tauri 2.0
  • UI 库: ReactMarkdown + remark-gfm + remark-highlight
  • 构建工具: npm + Cargo

🚀 快速开始

前置要求

  • Node.js 18+
  • Rust 1.70+
  • npm 或 yarn

安装依赖

# 克隆项目
git clone https://github.com/FortuneW/echo_ui.git
cd echo_ui

# 安装前端依赖
npm install

开发环境运行

# 开发模式运行
npm run tauri dev

构建应用

# 使用 npm 脚本构建
npm run tauri build

# 或使用构建脚本
./build.sh

构建完成后,可执行文件位于 src-tauri/target/release/echo_ui

📁 项目结构

echo_ui/
├── src/                    # React 前端代码
│   ├── App.tsx           # 主应用组件
│   ├── main.tsx          # 应用入口
│   └── vite-env.d.ts     # Vite 类型定义
├── src-tauri/            # Rust 后端代码
│   ├── src/
│   │   ├── main.rs      # 主入口
│   │   └── lib.rs       # 库代码
│   ├── Cargo.toml       # Rust 依赖配置
│   └── tauri.conf.json  # Tauri 应用配置
├── public/               # 静态资源
├── index.html           # HTML 入口文件
├── vite.config.ts       # Vite 配置
└── package.json         # Node.js 依赖配置

📖 使用说明

基本用法

# 运行应用并执行命令
./echo_ui "ls -la"

# 或在开发环境中
npm run tauri dev -- "ls -la"

交互功能

  1. 自动执行 - 应用启动后自动执行传入的命令
  2. 实时输出 - 命令输出以 Markdown 格式实时显示
  3. 状态指示 - 顶部状态栏显示当前执行状态
  4. 智能滚动 - 输出区域支持自动滚动,也可手动滚动查看历史
  5. 快捷操作 - 按 Esc 键停止命令并退出应用

快捷键

快捷键 功能
Esc 停止命令并退出应用
Ctrl+D 切换窗口最大化/还原

🔧 开发说明

前端架构

  • 使用 React Hooks 管理状态
  • 响应式设计适配不同屏幕尺寸
  • Markdown 渲染优化了标题、代码块、链接等样式
  • 智能滚动:用户滚动离开底部时停止自动滚动

后端架构

  • 使用 Tauri 的 CLI 插件执行命令
  • 通过事件系统与前端通信
  • 支持命令终止和错误处理
  • 异步处理命令输出流

添加新功能

  1. 前端功能:修改 src/App.tsx
  2. 后端功能:修改 src-tauri/src/lib.rs
  3. 配置:修改 src-tauri/tauri.conf.json

🤝 贡献指南

我们欢迎所有形式的贡献!请查看 CONTRIBUTING.md 了解详细信息。

贡献流程

  1. Fork 本项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

🙏 致谢

⭐ Star History

如果这个项目对你有帮助,请给我们一个 Star!

Star History Chart

About

EchoUI 是一个基于 Tauri 的桌面应用程序,用于执行命令并实时显示输出。支持 Markdown 渲染、语法高亮和智能滚动。

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published