AWS 终端 UI
Show HN: Terminal UI for AWS

原始链接: https://github.com/huseyinbabal/taws

## taws:AWS 的终端用户界面 taws 是一款旨在简化 AWS 基础设施管理的命令行工具。它提供了一个可导航的、实时展示您的 AWS 资源的视图,支持 **60 多个服务中的 94 种以上资源类型**,例如 EC2、S3 和 Lambda。 主要功能包括 **多配置文件和多区域支持**、**键盘驱动的导航**(类似于 Vim)以及直接从终端执行操作的能力——例如启动、停止或终止 EC2 实例。资源可以被过滤,提供详细视图(JSON/YAML),并且自动补全可以加速交互。 **安装** 通过 `brew install` (macOS) 或下载适用于 macOS、Linux 和 Windows 的预构建二进制文件即可完成。taws 利用标准的 AWS 凭证位置(环境变量、AWS CLI 配置、IAM 角色),并需要适当的 IAM 权限(主要包括 `Describe*` 和 `List*`)。 使用 `taws` 启动 taws,使用 `taws --profile production` 指定配置文件,或使用 `taws --region us-west-2` 指定区域。欢迎贡献和功能请求!

## Hacker News 讨论:Taws - AWS 终端 UI 一个名为 Taws ([https://github.com/huseyinbabal/taws](https://github.com/huseyinbabal/taws)) 的 AWS 终端 UI 在 Hacker News 上分享,引发了争论。一些用户欣赏这种类似于 k9s 用于 Kubernetes 的 AWS 管理键盘驱动界面概念,而另一些用户则表达了对引入另一层抽象以及潜在错误的担忧,尤其是在关键基础设施方面。 一个主要的争议点围绕该工具的安全性和对 AWS 访问密钥的依赖,而不是像 SSO 这样更安全的方法。 许多评论员质疑使用一个相对较新的工具并直接使用 AWS 凭据的明智性。 讨论也变得充满争议,有人指责该项目受到启发,甚至可能抄袭了 Reddit 上分享的一个类似闭源项目。原始作者声称新项目大部分是由 LLM 生成的。 许多人争论 LLM 生成的代码是否构成“垃圾”,以及人工监督的价值。 最终,这场对话突出了便利性、安全性以及依赖于新的、快速开发的工具来管理关键云基础设施的潜在风险之间的权衡。
相关文章

原文

taws

taws provides a terminal UI to interact with your AWS resources. The aim of this project is to make it easier to navigate, observe, and manage your AWS infrastructure in the wild. taws continually watches AWS for changes and offers subsequent commands to interact with your observed resources.


License Rust


EC2 Instances View

Lambda Functions View


  • Multi-Profile Support - Easily switch between AWS profiles
  • Multi-Region Support - Navigate across different AWS regions
  • 94+ Resource Types - Browse and manage resources across 60+ AWS services
  • Real-time Updates - Refresh resources with a single keystroke
  • Keyboard-Driven - Vim-like navigation and commands
  • Resource Actions - Start, stop, terminate EC2 instances directly
  • Detailed Views - JSON/YAML view of resource details
  • Filtering - Filter resources by name or attributes
  • Autocomplete - Smart resource type autocomplete with fuzzy matching

brew install huseyinbabal/tap/taws

Download Pre-built Binaries

Download the latest release from the Releases page.

Platform Architecture Download
macOS Apple Silicon (M1/M2/M3) taws-aarch64-apple-darwin.tar.gz
macOS Intel taws-x86_64-apple-darwin.tar.gz
Linux x86_64 taws-x86_64-unknown-linux-gnu.tar.gz
Linux ARM64 taws-aarch64-unknown-linux-gnu.tar.gz
Windows x86_64 taws-x86_64-pc-windows-msvc.zip

Quick Install (macOS/Linux)

# macOS Apple Silicon
curl -sL https://github.com/huseyinbabal/taws/releases/latest/download/taws-aarch64-apple-darwin.tar.gz | tar xz
sudo mv taws /usr/local/bin/

# macOS Intel
curl -sL https://github.com/huseyinbabal/taws/releases/latest/download/taws-x86_64-apple-darwin.tar.gz | tar xz
sudo mv taws /usr/local/bin/

# Linux x86_64
curl -sL https://github.com/huseyinbabal/taws/releases/latest/download/taws-x86_64-unknown-linux-gnu.tar.gz | tar xz
sudo mv taws /usr/local/bin/

# Linux ARM64
curl -sL https://github.com/huseyinbabal/taws/releases/latest/download/taws-aarch64-unknown-linux-gnu.tar.gz | tar xz
sudo mv taws /usr/local/bin/
  1. Download taws-x86_64-pc-windows-msvc.zip from the Releases page
  2. Extract the zip file
  3. Add the extracted folder to your PATH, or move taws.exe to a directory in your PATH

taws is built with Rust. Make sure you have Rust 1.70+ installed.

# Clone the repository
git clone https://github.com/huseyinbabal/taws.git
cd taws

# Build and run
cargo build --release
./target/release/taws

  • AWS Credentials - Configure your AWS credentials using one of:

    • aws configure (AWS CLI)
    • Environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
    • IAM roles (when running on EC2/ECS/Lambda)
    • AWS profiles in ~/.aws/credentials
  • IAM Permissions - Your AWS user/role needs appropriate read permissions for the services you want to browse. At minimum, you'll need Describe* and List* permissions.


# Launch taws with default profile
taws

# Launch with a specific profile
taws --profile production

# Launch in a specific region
taws --region us-west-2

Action Key Description
Navigation
Move up k / Move selection up
Move down j / Move selection down
Page up Ctrl-u Move up by page
Page down Ctrl-d Move down by page
Top g Jump to first item
Bottom G Jump to last item
Views
Resource picker : Open resource type selector
Describe Enter / d View resource details
Back Esc Go back to previous view
Help ? Show help screen
Actions
Refresh r Refresh current view
Filter / Filter resources
Profiles p Switch AWS profile
Regions R Switch AWS region
Quit q / Ctrl-c Exit taws
EC2 Actions
Start instance s Start selected EC2 instance
Stop instance S Stop selected EC2 instance
Terminate T Terminate selected EC2 instance

Press : to open the resource picker. Type to filter resources:

:ec2          # EC2 Instances
:lambda       # Lambda Functions
:s3           # S3 Buckets
:rds          # RDS Instances
:iam-users    # IAM Users
:eks          # EKS Clusters

Use Tab to autocomplete and Enter to select.


taws supports 30 core AWS services covering 95%+ of typical AWS usage:

Category Services
Compute EC2, Lambda, ECS, EKS, Auto Scaling
Storage S3
Database RDS, DynamoDB, ElastiCache
Networking VPC (Subnets, Security Groups), Route 53, CloudFront, API Gateway, ELB
Security IAM, Secrets Manager, KMS, ACM, Cognito
Management CloudFormation, CloudWatch Logs, CloudTrail, SSM, STS
Messaging SQS, SNS, EventBridge
Containers ECR
DevOps CodePipeline, CodeBuild
Analytics Athena

Missing a service? Start a discussion to propose adding it!


taws looks for AWS credentials in the standard locations:

  • ~/.aws/credentials
  • ~/.aws/config
  • Environment variables
Variable Description
AWS_PROFILE Default AWS profile to use
AWS_REGION Default AWS region
AWS_ACCESS_KEY_ID AWS access key
AWS_SECRET_ACCESS_KEY AWS secret key
AWS_SESSION_TOKEN AWS session token (for temporary credentials)

  • Some resources may require specific IAM permissions not covered by basic read-only policies
  • Resource counts may vary during loading due to pagination
  • Some global services (IAM, Route53, CloudFront) always use us-east-1

Contributions are welcome! Please see our Contributing Guide for details.

Important: Before adding a new AWS service, please start a discussion first.


  • Inspired by k9s - the awesome Kubernetes CLI
  • Built with Ratatui - Rust TUI library
  • Uses aws-sigv4 for request signing

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❤️ for the AWS community

联系我们 contact @ memedata.com