diff --git a/README.ja.md b/README.ja.md new file mode 100644 index 0000000..46ac2b0 --- /dev/null +++ b/README.ja.md @@ -0,0 +1,144 @@ +[🇬🇧 English](README.md) | [🇨🇳 简体中文](README.zh-CN.md) | [🇰🇷 한국어](README.ko.md) + +# claws + +AWSリソース管理のためのターミナルUI + +[![CI](https://github.com/clawscli/claws/actions/workflows/ci.yml/badge.svg)](https://github.com/clawscli/claws/actions/workflows/ci.yml) +[![Release](https://img.shields.io/github/v/release/clawscli/claws)](https://github.com/clawscli/claws/releases/latest) +[![Go Report Card](https://goreportcard.com/badge/github.com/clawscli/claws)](https://goreportcard.com/report/github.com/clawscli/claws) +[![Go Version](https://img.shields.io/badge/Go-1.25+-00ADD8?style=flat&logo=go)](https://go.dev/) +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) + +![claws デモ](docs/images/demo.gif) + +## 機能 + +- **インタラクティブTUI** - vimスタイルのキーバインドでAWSリソースを操作できます +- **69サービス、169リソース** - EC2、S3、Lambda、RDS、ECS、EKSなど多数に対応しています +- **マルチプロファイル&マルチリージョン** - 複数のアカウント/リージョンを並列でクエリできます +- **リソースアクション** - インスタンスの起動/停止、リソースの削除、ログのテールが可能です +- **クロスリソースナビゲーション** - VPCからサブネット、LambdaからCloudWatchへジャンプできます +- **フィルタリング&ソート** - あいまい検索、タグフィルタリング、カラムソートに対応しています +- **リソース比較** - サイドバイサイドの差分ビューで比較できます +- **AIチャット** - AWSコンテキスト対応のAIアシスタント(Bedrock経由) +- **6種類のカラーテーマ** - dark、light、nord、dracula、gruvbox、catppuccin + +## スクリーンショット + +| リソースブラウザ | 詳細ビュー | アクションメニュー | +|------------------|------------|-------------------| +| ![browser](docs/images/resource-browser.png) | ![detail](docs/images/detail-view.png) | ![actions](docs/images/actions-menu.png) | + +### マルチリージョン&マルチアカウント + +![multi-region](docs/images/multi-account-region.png) + +### AIチャット(Bedrock) + +![ai-chat](docs/images/ai-chat.png) + +リスト/詳細/差分ビューで`A`を押すとAIチャットが開きます。アシスタントがAWS Bedrockを使用してリソースの分析、設定の比較、リスクの特定を行います。 + +## インストール + +### Homebrew(macOS/Linux) + +```bash +brew install --cask clawscli/tap/claws +``` + +### インストールスクリプト(macOS/Linux) + +```bash +curl -fsSL https://raw.githubusercontent.com/clawscli/claws/main/install.sh | sh +``` + +### バイナリのダウンロード + +[GitHub Releases](https://github.com/clawscli/claws/releases/latest)からダウンロードできます。 + +### Go Install + +```bash +go install github.com/clawscli/claws/cmd/claws@latest +``` + +## クイックスタート + +```bash +# claws を実行(デフォルトのAWS認証情報を使用) +claws + +# プロファイルを指定 +claws -p myprofile + +# リージョンを指定 +claws -r us-west-2 + +# サービスやビューを指定して起動 +claws -s dashboard # ダッシュボードから開始 +claws -s services # サービスブラウザから開始(デフォルト) +claws -s ec2 # EC2インスタンス +claws -s rds/snapshots # RDSスナップショット + +# 複数のプロファイル/リージョン(カンマ区切りまたは繰り返し指定) +claws -p dev,prod -r us-east-1,ap-northeast-1 + +# 読み取り専用モード(破壊的なアクションを無効化) +claws --read-only +``` + +## キーバインド + +| キー | アクション | +|------|-----------| +| `j` / `k` | 上下に移動します | +| `Enter` / `d` | リソースの詳細を表示します | +| `:` | コマンドモード(例: `:ec2/instances`) | +| `/` | フィルターモード(あいまい検索) | +| `a` | アクションメニューを開きます | +| `A` | AIチャット(リスト/詳細/差分ビュー) | +| `R` | リージョンを選択します | +| `P` | プロファイルを選択します | +| `?` | ヘルプを表示します | +| `q` | 終了します | + +詳細は[キーバインド](docs/keybindings.ja.md)を参照してください。 + +## ドキュメント + +| ドキュメント | 説明 | +|-------------|------| +| [キーバインド](docs/keybindings.ja.md) | キーボードショートカットの完全なリファレンス | +| [対応サービス](docs/services.ja.md) | 全69サービスと169リソース | +| [設定](docs/configuration.ja.md) | 設定ファイル、テーマ、オプション | +| [IAM権限](docs/iam-permissions.ja.md) | 必要なAWS権限 | +| [AIチャット](docs/ai-chat.ja.md) | AIアシスタントの使い方と機能 | +| [Architecture](docs/architecture.md) | 内部設計と構造 | +| [Adding Resources](docs/adding-resources.md) | コントリビューター向けガイド | + +## 開発 + +### 前提条件 + +- Go 1.25+ +- [Task](https://taskfile.dev/)(オプション) + +### コマンド + +```bash +task build # バイナリをビルド +task run # アプリケーションを実行 +task test # テストを実行 +task lint # リンターを実行 +``` + +## 技術スタック + +- **TUI**: [Bubbletea](https://github.com/charmbracelet/bubbletea) + [Lipgloss](https://github.com/charmbracelet/lipgloss) +- **AWS**: [AWS SDK for Go v2](https://github.com/aws/aws-sdk-go-v2) + +## ライセンス + +Apache License 2.0 - 詳細は[LICENSE](LICENSE)を参照してください。 diff --git a/README.ko.md b/README.ko.md new file mode 100644 index 0000000..709bee0 --- /dev/null +++ b/README.ko.md @@ -0,0 +1,144 @@ +[🇬🇧 English](README.md) | [🇯🇵 日本語](README.ja.md) | [🇨🇳 简体中文](README.zh-CN.md) + +# claws + +AWS 리소스 관리를 위한 터미널 UI + +[![CI](https://github.com/clawscli/claws/actions/workflows/ci.yml/badge.svg)](https://github.com/clawscli/claws/actions/workflows/ci.yml) +[![Release](https://img.shields.io/github/v/release/clawscli/claws)](https://github.com/clawscli/claws/releases/latest) +[![Go Report Card](https://goreportcard.com/badge/github.com/clawscli/claws)](https://goreportcard.com/report/github.com/clawscli/claws) +[![Go Version](https://img.shields.io/badge/Go-1.25+-00ADD8?style=flat&logo=go)](https://go.dev/) +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) + +![claws 데모](docs/images/demo.gif) + +## 기능 + +- **인터랙티브 TUI** - vim 스타일 키 바인딩으로 AWS 리소스를 탐색할 수 있습니다 +- **69개 서비스, 169개 리소스** - EC2, S3, Lambda, RDS, ECS, EKS 등 다양한 서비스를 지원합니다 +- **멀티 프로필 및 멀티 리전** - 여러 계정/리전을 병렬로 조회할 수 있습니다 +- **리소스 액션** - 인스턴스 시작/중지, 리소스 삭제, 로그 테일링이 가능합니다 +- **크로스 리소스 탐색** - VPC에서 서브넷으로, Lambda에서 CloudWatch로 이동할 수 있습니다 +- **필터링 및 정렬** - 퍼지 검색, 태그 필터링, 컬럼 정렬을 지원합니다 +- **리소스 비교** - 나란히 보기 비교 뷰를 제공합니다 +- **AI 채팅** - AWS 컨텍스트를 활용하는 AI 어시스턴트 (Bedrock 경유) +- **6가지 컬러 테마** - dark, light, nord, dracula, gruvbox, catppuccin + +## 스크린샷 + +| 리소스 브라우저 | 상세 뷰 | 액션 메뉴 | +|----------------|---------|----------| +| ![browser](docs/images/resource-browser.png) | ![detail](docs/images/detail-view.png) | ![actions](docs/images/actions-menu.png) | + +### 멀티 리전 및 멀티 계정 + +![multi-region](docs/images/multi-account-region.png) + +### AI 채팅 (Bedrock) + +![ai-chat](docs/images/ai-chat.png) + +리스트/상세/비교 뷰에서 `A`를 누르면 AI 채팅이 열립니다. 어시스턴트가 AWS Bedrock을 사용하여 리소스 분석, 설정 비교, 리스크 식별을 수행합니다. + +## 설치 + +### Homebrew (macOS/Linux) + +```bash +brew install --cask clawscli/tap/claws +``` + +### 설치 스크립트 (macOS/Linux) + +```bash +curl -fsSL https://raw.githubusercontent.com/clawscli/claws/main/install.sh | sh +``` + +### 바이너리 다운로드 + +[GitHub Releases](https://github.com/clawscli/claws/releases/latest)에서 다운로드할 수 있습니다. + +### Go 설치 + +```bash +go install github.com/clawscli/claws/cmd/claws@latest +``` + +## 빠른 시작 + +```bash +# claws 실행 (기본 AWS 자격 증명 사용) +claws + +# 특정 프로필 지정 +claws -p myprofile + +# 특정 리전 지정 +claws -r us-west-2 + +# 서비스 또는 뷰를 지정하여 시작 +claws -s dashboard # 대시보드에서 시작 +claws -s services # 서비스 브라우저에서 시작 (기본값) +claws -s ec2 # EC2 인스턴스 +claws -s rds/snapshots # RDS 스냅샷 + +# 여러 프로필/리전 (쉼표 구분 또는 반복 지정) +claws -p dev,prod -r us-east-1,ap-northeast-1 + +# 읽기 전용 모드 (파괴적 액션 비활성화) +claws --read-only +``` + +## 키보드 단축키 + +| 키 | 액션 | +|----|------| +| `j` / `k` | 위/아래로 이동합니다 | +| `Enter` / `d` | 리소스 상세 정보를 표시합니다 | +| `:` | 명령 모드 (예: `:ec2/instances`) | +| `/` | 필터 모드 (퍼지 검색) | +| `a` | 액션 메뉴를 엽니다 | +| `A` | AI 채팅 (리스트/상세/비교 뷰) | +| `R` | 리전을 선택합니다 | +| `P` | 프로필을 선택합니다 | +| `?` | 도움말을 표시합니다 | +| `q` | 종료합니다 | + +자세한 내용은 [키보드 단축키](docs/keybindings.ko.md)를 참조하십시오. + +## 문서 + +| 문서 | 설명 | +|------|------| +| [키보드 단축키](docs/keybindings.ko.md) | 완전한 키보드 단축키 참조 | +| [지원되는 서비스](docs/services.ko.md) | 모든 69개 서비스 및 163개 리소스 | +| [설정](docs/configuration.ko.md) | 설정 파일, 테마 및 옵션 | +| [IAM 권한](docs/iam-permissions.ko.md) | 필요한 AWS 권한 | +| [AI 채팅](docs/ai-chat.ko.md) | AI 어시스턴트 사용 및 기능 | +| [Architecture](docs/architecture.md) | 내부 설계 및 아키텍처 | +| [Adding Resources](docs/adding-resources.md) | 기여자 가이드 | + +## 개발 + +### 전제 조건 + +- Go 1.25+ +- [Task](https://taskfile.dev/) (선택 사항) + +### 명령 + +```bash +task build # 바이너리 빌드 +task run # 애플리케이션 실행 +task test # 테스트 실행 +task lint # 린터 실행 +``` + +## 기술 스택 + +- **TUI**: [Bubbletea](https://github.com/charmbracelet/bubbletea) + [Lipgloss](https://github.com/charmbracelet/lipgloss) +- **AWS**: [AWS SDK for Go v2](https://github.com/aws/aws-sdk-go-v2) + +## 라이센스 + +Apache License 2.0 - 자세한 내용은 [LICENSE](LICENSE)를 참조하십시오. diff --git a/README.md b/README.md index fa1a8cc..c523dab 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +[🇯🇵 日本語](README.ja.md) | [🇨🇳 简体中文](README.zh-CN.md) | [🇰🇷 한국어](README.ko.md) + # claws A terminal UI for AWS resource management diff --git a/README.zh-CN.md b/README.zh-CN.md new file mode 100644 index 0000000..3edc98b --- /dev/null +++ b/README.zh-CN.md @@ -0,0 +1,144 @@ +[🇬🇧 English](README.md) | [🇯🇵 日本語](README.ja.md) | [🇰🇷 한국어](README.ko.md) + +# claws + +AWS 资源管理终端 UI + +[![CI](https://github.com/clawscli/claws/actions/workflows/ci.yml/badge.svg)](https://github.com/clawscli/claws/actions/workflows/ci.yml) +[![Release](https://img.shields.io/github/v/release/clawscli/claws)](https://github.com/clawscli/claws/releases/latest) +[![Go Report Card](https://goreportcard.com/badge/github.com/clawscli/claws)](https://goreportcard.com/report/github.com/clawscli/claws) +[![Go Version](https://img.shields.io/badge/Go-1.25+-00ADD8?style=flat&logo=go)](https://go.dev/) +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) + +![claws 演示](docs/images/demo.gif) + +## 功能 + +- **交互式 TUI** - 使用 vim 风格的快捷键浏览 AWS 资源 +- **69 个服务、169 个资源** - 支持 EC2、S3、Lambda、RDS、ECS、EKS 等众多服务 +- **多配置文件与多区域** - 并行查询多个账户和区域 +- **资源操作** - 启动/停止实例、删除资源、追踪日志 +- **跨资源导航** - 从 VPC 跳转到子网,从 Lambda 跳转到 CloudWatch +- **筛选与排序** - 模糊搜索、标签筛选、列排序 +- **资源比较** - 并排差异对比视图 +- **AI 聊天** - 具备 AWS 上下文感知的 AI 助手(通过 Bedrock) +- **6 种配色主题** - dark、light、nord、dracula、gruvbox、catppuccin + +## 截图 + +| 资源浏览器 | 详情视图 | 操作菜单 | +|-----------|---------|---------| +| ![browser](docs/images/resource-browser.png) | ![detail](docs/images/detail-view.png) | ![actions](docs/images/actions-menu.png) | + +### 多区域与多账户 + +![multi-region](docs/images/multi-account-region.png) + +### AI 聊天 (Bedrock) + +![ai-chat](docs/images/ai-chat.png) + +在列表/详情/差异视图中按 `A` 即可打开 AI 聊天。助手会使用 AWS Bedrock 分析资源、比较配置并识别风险。 + +## 安装 + +### Homebrew (macOS/Linux) + +```bash +brew install --cask clawscli/tap/claws +``` + +### 安装脚本 (macOS/Linux) + +```bash +curl -fsSL https://raw.githubusercontent.com/clawscli/claws/main/install.sh | sh +``` + +### 下载二进制文件 + +从 [GitHub Releases](https://github.com/clawscli/claws/releases/latest) 下载。 + +### Go 安装 + +```bash +go install github.com/clawscli/claws/cmd/claws@latest +``` + +## 快速开始 + +```bash +# 运行 claws(使用默认 AWS 凭证) +claws + +# 指定配置文件 +claws -p myprofile + +# 指定区域 +claws -r us-west-2 + +# 指定服务或视图启动 +claws -s dashboard # 从仪表板开始 +claws -s services # 从服务浏览器开始(默认) +claws -s ec2 # EC2 实例 +claws -s rds/snapshots # RDS 快照 + +# 多个配置文件/区域(逗号分隔或重复指定) +claws -p dev,prod -r us-east-1,ap-northeast-1 + +# 只读模式(禁用破坏性操作) +claws --read-only +``` + +## 键盘快捷键 + +| 键 | 操作 | +|----|------| +| `j` / `k` | 上下移动 | +| `Enter` / `d` | 查看资源详情 | +| `:` | 命令模式(例如 `:ec2/instances`) | +| `/` | 筛选模式(模糊搜索) | +| `a` | 打开操作菜单 | +| `A` | AI 聊天(列表/详情/差异视图) | +| `R` | 选择区域 | +| `P` | 选择配置文件 | +| `?` | 显示帮助 | +| `q` | 退出 | + +详细信息请参阅[键盘快捷键](docs/keybindings.zh-CN.md)完整参考。 + +## 文档 + +| 文档 | 说明 | +|------|------| +| [键盘快捷键](docs/keybindings.zh-CN.md) | 完整的键盘快捷键参考 | +| [支持的服务](docs/services.zh-CN.md) | 全部 69 个服务和 163 个资源 | +| [配置](docs/configuration.zh-CN.md) | 配置文件、主题和选项 | +| [IAM 权限](docs/iam-permissions.zh-CN.md) | 所需的 AWS 权限 | +| [AI 聊天](docs/ai-chat.zh-CN.md) | AI 助手使用和功能 | +| [Architecture](docs/architecture.md) | 内部设计和架构 | +| [Adding Resources](docs/adding-resources.md) | 贡献者指南 | + +## 开发 + +### 前置要求 + +- Go 1.25+ +- [Task](https://taskfile.dev/)(可选) + +### 命令 + +```bash +task build # 构建二进制文件 +task run # 运行应用程序 +task test # 运行测试 +task lint # 运行代码检查 +``` + +## 技术栈 + +- **TUI**: [Bubbletea](https://github.com/charmbracelet/bubbletea) + [Lipgloss](https://github.com/charmbracelet/lipgloss) +- **AWS**: [AWS SDK for Go v2](https://github.com/aws/aws-sdk-go-v2) + +## 许可证 + +Apache License 2.0 - 详情请参阅 [LICENSE](LICENSE)。 diff --git a/docs/ai-chat.ja.md b/docs/ai-chat.ja.md new file mode 100644 index 0000000..183f484 --- /dev/null +++ b/docs/ai-chat.ja.md @@ -0,0 +1,147 @@ +# AIチャット + +AIチャットは、AWSリソースの分析、設定の比較、セキュリティリスクの特定、ドキュメントの検索を支援するインテリジェントなアシスタントです。 + +## 概要 + +以下のビューで`A`を押すとAIチャットが開きます: +- **リソースブラウザ**(リストビュー) - 表示中のリソースを分析します +- **詳細ビュー** - 選択したリソースを分析します +- **差分ビュー** - 2つのリソースを並べて比較します + +アシスタントは以下の情報にアクセスできます: +- 現在のリソースコンテキスト(表示中の内容) +- アクティブなAWSプロファイルとリージョン +- リソースのクエリ、ログの取得、AWSドキュメントの検索を行うツール + +## セットアップ + +### 1. IAM権限 + +AIチャット機能はAmazon Bedrockを使用します。以下の権限が必要です: + +```json +{ + "Effect": "Allow", + "Action": "bedrock:InvokeModelWithResponseStream", + "Resource": "arn:aws:bedrock:*::foundation-model/*" +} +``` + +詳細は[IAM権限](iam-permissions.ja.md#aiチャットオプション)を参照してください。 + +### 2. 設定 + +`~/.config/claws/config.yaml`でAIチャットを設定します: + +```yaml +ai: + profile: "" # Bedrock用AWSプロファイル(空 = 現在のプロファイルを使用) + region: "" # Bedrock用AWSリージョン(空 = 現在のリージョンを使用) + model: "global.anthropic.claude-haiku-4-5-20251001-v1:0" # BedrockモデルID + max_sessions: 100 # 最大保存セッション数(デフォルト: 100) + max_tokens: 16000 # 最大レスポンストークン数(デフォルト: 16000) + thinking_budget: 8000 # 拡張思考トークン予算(デフォルト: 8000) + max_tool_rounds: 15 # メッセージあたりの最大ツール実行ラウンド数(デフォルト: 15) + max_tool_calls_per_query: 50 # ユーザークエリあたりの最大ツール呼び出し数(デフォルト: 50) + save_sessions: false # チャットセッションをディスクに永続化(デフォルト: false) +``` + +すべてのオプションについては[設定](configuration.ja.md)を参照してください。 + +## 使い方 + +### チャットを開く + +リスト/詳細/差分ビューで`A`を押すとAIチャットオーバーレイが開きます。 + +### AIができること + +- サービスやリージョンをまたいでAWSリソースの一覧取得やクエリを実行 +- 特定のリソースの詳細情報を取得 +- 対応リソース(Lambda、ECS、CodeBuildなど)のCloudWatchログを取得 +- AWSドキュメントを検索 + +AIは現在のプロファイル、リージョン、リソースコンテキストを自動的に使用します。 + +### コンテキスト認識 + +アシスタントは現在のビューに基づいてコンテキストを自動的に受け取ります: + +**リソースブラウザ(リストビュー)**: +``` +Currently viewing: ec2/instances (us-west-2, production profile) +Visible resources: [i-abc123, i-def456, ...] +``` + +**詳細ビュー**: +``` +Currently viewing: ec2/instances/i-abc123 (us-west-2, production profile) +Resource details: {...} +``` + +**差分ビュー**: +``` +Comparing two resources: +Left: ec2/instances/i-abc123 +Right: ec2/instances/i-def456 +``` + +### セッション履歴 + +`Ctrl+H`を押すと、過去のチャットセッションを表示・再開できます。 + +## キーボードショートカット + +| キー | アクション | +|------|-----------| +| `A` | AIチャットを開く(リスト/詳細/差分ビュー) | +| `Ctrl+H` | セッション履歴 | +| `Enter` | メッセージを送信 | +| `Esc` | チャットを閉じる / ストリームをキャンセル | +| `Ctrl+C` | ストリームをキャンセル | + +## 拡張思考 + +アシスタントは複雑なクエリに対して拡張思考をサポートしています。有効にすると、最終的な回答の前にアシスタントの推論プロセスを示す思考インジケーターが表示されます。 + +config.yamlで思考予算を設定します: +```yaml +ai: + thinking_budget: 8000 # 拡張思考の最大トークン数(デフォルト: 8000) +``` + +## トラブルシューティング + +### 「Bedrock not available in this region」 + +BedrockはすべてのAWSリージョンで利用できるわけではありません。設定でサポートされているリージョンを指定してください: + +```yaml +ai: + region: "us-west-2" # Bedrockが利用可能なリージョンを使用 +``` + +### 「Access Denied」エラー + +IAMロール/ユーザーに必要なBedrock権限があることを確認してください。[IAM権限](iam-permissions.ja.md#aiチャットオプション)を参照してください。 + +### ツール呼び出し制限に達した場合 + +「Tool call limit reached」と表示された場合、アシスタントが1回のクエリで多くのツール呼び出しを行いました。制限を引き上げてください: + +```yaml +ai: + max_tool_calls_per_query: 100 # デフォルトの50から引き上げ +``` + +### セッションが保持されない場合 + +設定でセッションの永続化を有効にしてください: + +```yaml +ai: + save_sessions: true # デフォルト: false +``` + +セッションは`~/.config/claws/sessions/`に保存されます。 diff --git a/docs/ai-chat.ko.md b/docs/ai-chat.ko.md new file mode 100644 index 0000000..e18f393 --- /dev/null +++ b/docs/ai-chat.ko.md @@ -0,0 +1,147 @@ +# AI 채팅 + +AI 채팅은 AWS 리소스 분석, 설정 비교, 보안 리스크 식별, 문서 검색을 지원하는 인텔리전트 어시스턴트입니다. + +## 개요 + +다음 뷰에서 `A`를 누르면 AI 채팅이 열립니다: +- **리소스 브라우저** (리스트 뷰) - 표시 중인 리소스를 분석합니다 +- **상세 뷰** - 선택한 리소스를 분석합니다 +- **비교 뷰** - 두 리소스를 나란히 비교합니다 + +어시스턴트는 다음 정보에 접근할 수 있습니다: +- 현재 리소스 컨텍스트 (표시 중인 내용) +- 활성 AWS 프로필 및 리전 +- 리소스 쿼리, 로그 가져오기, AWS 문서 검색을 위한 도구 + +## 설정 + +### 1. IAM 권한 + +AI 채팅 기능은 Amazon Bedrock을 사용합니다. 다음 권한이 필요합니다: + +```json +{ + "Effect": "Allow", + "Action": "bedrock:InvokeModelWithResponseStream", + "Resource": "arn:aws:bedrock:*::foundation-model/*" +} +``` + +자세한 내용은 [IAM 권한](iam-permissions.ko.md#ai-채팅-선택-사항)을 참조하십시오. + +### 2. 설정 + +`~/.config/claws/config.yaml`에서 AI 채팅을 설정합니다: + +```yaml +ai: + profile: "" # Bedrock용 AWS 프로필 (비어 있으면 현재 프로필 사용) + region: "" # Bedrock용 AWS 리전 (비어 있으면 현재 리전 사용) + model: "global.anthropic.claude-haiku-4-5-20251001-v1:0" # Bedrock 모델 ID + max_sessions: 100 # 최대 저장 세션 수 (기본값: 100) + max_tokens: 16000 # 최대 응답 토큰 수 (기본값: 16000) + thinking_budget: 8000 # 확장 사고 토큰 예산 (기본값: 8000) + max_tool_rounds: 15 # 메시지당 최대 도구 실행 라운드 수 (기본값: 15) + max_tool_calls_per_query: 50 # 사용자 쿼리당 최대 도구 호출 수 (기본값: 50) + save_sessions: false # 채팅 세션을 디스크에 저장 (기본값: false) +``` + +모든 옵션에 대해서는 [설정](configuration.ko.md)을 참조하십시오. + +## 사용법 + +### 채팅 열기 + +리스트/상세/비교 뷰에서 `A`를 누르면 AI 채팅 오버레이가 열립니다. + +### AI가 할 수 있는 작업 + +- 서비스 및 리전에 걸쳐 AWS 리소스 목록 조회 및 쿼리 실행 +- 특정 리소스의 상세 정보 가져오기 +- 지원 리소스(Lambda, ECS, CodeBuild 등)의 CloudWatch 로그 가져오기 +- AWS 문서 검색 + +AI는 현재 프로필, 리전, 리소스 컨텍스트를 자동으로 사용합니다. + +### 컨텍스트 인식 + +어시스턴트는 현재 뷰에 따라 컨텍스트를 자동으로 수신합니다: + +**리소스 브라우저 (리스트 뷰)**: +``` +Currently viewing: ec2/instances (us-west-2, production profile) +Visible resources: [i-abc123, i-def456, ...] +``` + +**상세 뷰**: +``` +Currently viewing: ec2/instances/i-abc123 (us-west-2, production profile) +Resource details: {...} +``` + +**비교 뷰**: +``` +Comparing two resources: +Left: ec2/instances/i-abc123 +Right: ec2/instances/i-def456 +``` + +### 세션 기록 + +`Ctrl+H`를 누르면 이전 채팅 세션을 확인하고 재개할 수 있습니다. + +## 키보드 단축키 + +| 키 | 액션 | +|----|------| +| `A` | AI 채팅 열기 (리스트/상세/비교 뷰) | +| `Ctrl+H` | 세션 기록 | +| `Enter` | 메시지 전송 | +| `Esc` | 채팅 닫기 / 스트림 취소 | +| `Ctrl+C` | 스트림 취소 | + +## 확장 사고 + +어시스턴트는 복잡한 쿼리에 대해 확장 사고를 지원합니다. 활성화하면 최종 응답 전에 어시스턴트의 추론 과정을 보여주는 사고 인디케이터가 표시됩니다. + +config.yaml에서 사고 예산을 설정합니다: +```yaml +ai: + thinking_budget: 8000 # 확장 사고 최대 토큰 수 (기본값: 8000) +``` + +## 문제 해결 + +### "Bedrock not available in this region" + +Bedrock은 모든 AWS 리전에서 사용할 수 있는 것은 아닙니다. 설정에서 지원되는 리전을 지정하십시오: + +```yaml +ai: + region: "us-west-2" # Bedrock을 사용할 수 있는 리전 지정 +``` + +### "Access Denied" 오류 + +IAM 역할/사용자에 필요한 Bedrock 권한이 있는지 확인하십시오. [IAM 권한](iam-permissions.ko.md#ai-채팅-선택-사항)을 참조하십시오. + +### 도구 호출 제한 도달 + +"Tool call limit reached"가 표시되면 어시스턴트가 단일 쿼리에서 너무 많은 도구 호출을 수행한 것입니다. 제한을 늘리십시오: + +```yaml +ai: + max_tool_calls_per_query: 100 # 기본값 50에서 증가 +``` + +### 세션이 유지되지 않는 경우 + +설정에서 세션 영속화를 활성화하십시오: + +```yaml +ai: + save_sessions: true # 기본값: false +``` + +세션은 `~/.config/claws/sessions/`에 저장됩니다. diff --git a/docs/ai-chat.zh-CN.md b/docs/ai-chat.zh-CN.md new file mode 100644 index 0000000..30cf7b8 --- /dev/null +++ b/docs/ai-chat.zh-CN.md @@ -0,0 +1,147 @@ +# AI 聊天 + +AI 聊天提供了一个智能助手,帮助您分析 AWS 资源、比较配置、识别安全风险以及搜索文档。 + +## 概述 + +在以下视图中按 `A` 可打开 AI 聊天: +- **资源浏览器**(列表视图) - 分析当前可见的资源 +- **详细视图** - 分析选中的资源 +- **差异视图** - 并排比较两个资源 + +助手可以访问以下信息: +- 当前资源上下文(您正在查看的内容) +- 当前使用的 AWS 配置文件和区域 +- 查询资源、获取日志和搜索 AWS 文档的工具 + +## 设置 + +### 1. IAM 权限 + +AI 聊天功能使用 Amazon Bedrock。您需要以下权限: + +```json +{ + "Effect": "Allow", + "Action": "bedrock:InvokeModelWithResponseStream", + "Resource": "arn:aws:bedrock:*::foundation-model/*" +} +``` + +详情请参阅 [IAM 权限](iam-permissions.zh-CN.md#ai-聊天可选)。 + +### 2. 配置 + +在 `~/.config/claws/config.yaml` 中配置 AI 聊天: + +```yaml +ai: + profile: "" # Bedrock 的 AWS 配置文件(空 = 使用当前配置文件) + region: "" # Bedrock 的 AWS 区域(空 = 使用当前区域) + model: "global.anthropic.claude-haiku-4-5-20251001-v1:0" # Bedrock 模型 ID + max_sessions: 100 # 最大保存会话数(默认:100) + max_tokens: 16000 # 最大响应令牌数(默认:16000) + thinking_budget: 8000 # 扩展思考令牌预算(默认:8000) + max_tool_rounds: 15 # 每条消息的最大工具执行轮数(默认:15) + max_tool_calls_per_query: 50 # 每次查询的最大工具调用次数(默认:50) + save_sessions: false # 将聊天会话持久化到磁盘(默认:false) +``` + +所有选项请参阅 [配置](configuration.zh-CN.md)。 + +## 使用 + +### 打开聊天 + +在列表/详细/差异视图中按 `A` 可打开 AI 聊天覆盖层。 + +### AI 可以做什么 + +- 跨服务和区域列出和查询 AWS 资源 +- 获取特定资源的详细信息 +- 获取支持的资源(Lambda、ECS、CodeBuild 等)的 CloudWatch 日志 +- 搜索 AWS 文档 + +AI 会自动使用当前视图中的配置文件、区域和资源上下文。 + +### 上下文感知 + +助手会根据您当前的视图自动接收上下文信息: + +**资源浏览器(列表视图)**: +``` +Currently viewing: ec2/instances (us-west-2, production profile) +Visible resources: [i-abc123, i-def456, ...] +``` + +**详细视图**: +``` +Currently viewing: ec2/instances/i-abc123 (us-west-2, production profile) +Resource details: {...} +``` + +**差异视图**: +``` +Comparing two resources: +Left: ec2/instances/i-abc123 +Right: ec2/instances/i-def456 +``` + +### 会话历史 + +按 `Ctrl+H` 可查看和恢复之前的聊天会话。 + +## 键盘快捷键 + +| 按键 | 操作 | +|------|------| +| `A` | 打开 AI 聊天(在列表/详细/差异视图中) | +| `Ctrl+H` | 会话历史 | +| `Enter` | 发送消息 | +| `Esc` | 关闭聊天 / 取消流式输出 | +| `Ctrl+C` | 取消流式输出 | + +## 扩展思考 + +助手支持对复杂查询进行扩展思考。启用后,在最终回答之前会显示一个思考指示器,展示助手的推理过程。 + +在 config.yaml 中配置思考预算: +```yaml +ai: + thinking_budget: 8000 # 扩展思考的最大令牌数(默认:8000) +``` + +## 故障排除 + +### "Bedrock not available in this region" + +Bedrock 并非在所有 AWS 区域都可用。请在配置中指定一个支持的区域: + +```yaml +ai: + region: "us-west-2" # 使用 Bedrock 可用的区域 +``` + +### "Access Denied" 错误 + +请确保您的 IAM 角色/用户具有所需的 Bedrock 权限。请参阅 [IAM 权限](iam-permissions.zh-CN.md#ai-聊天可选)。 + +### 工具调用次数达到上限 + +如果看到 "Tool call limit reached",说明助手在单次查询中进行了过多的工具调用。请增加上限: + +```yaml +ai: + max_tool_calls_per_query: 100 # 从默认的 50 增加 +``` + +### 会话未持久化 + +在配置中启用会话持久化: + +```yaml +ai: + save_sessions: true # 默认:false +``` + +会话存储在 `~/.config/claws/sessions/` 中。 diff --git a/docs/configuration.ja.md b/docs/configuration.ja.md new file mode 100644 index 0000000..ae766cb --- /dev/null +++ b/docs/configuration.ja.md @@ -0,0 +1,186 @@ +# 設定 + +## AWS認証情報 + +clawsは標準的なAWS設定を使用します: + +- `~/.aws/credentials` - AWS認証情報 +- `~/.aws/config` - AWS設定(リージョン、プロファイル) +- 環境変数: `AWS_PROFILE`、`AWS_REGION`、`AWS_ACCESS_KEY_ID` など + +## 設定ファイル + +オプション設定は `~/.config/claws/config.yaml` に保存できます。 + +### カスタム設定ファイルパス + +デフォルトの代わりにカスタム設定ファイルを使用できます: + +```bash +# CLIフラグで指定 +claws -c /path/to/config.yaml +claws --config ~/work/claws-work.yaml + +# 環境変数で指定 +CLAWS_CONFIG=/path/to/config.yaml claws +``` + +**優先順位:** `-c` フラグ > `CLAWS_CONFIG` 環境変数 > デフォルト (`~/.config/claws/config.yaml`) + +使用例: +- 環境別の設定(仕事用/個人用) +- プロジェクト固有の設定によるCI/CD +- 異なる設定でのテスト + +### 設定ファイルの形式 + +```yaml +timeouts: + aws_init: 10s # AWS初期化タイムアウト(デフォルト: 5s) + multi_region_fetch: 60s # マルチリージョン並列取得タイムアウト(デフォルト: 30s) + tag_search: 45s # タグ検索タイムアウト(デフォルト: 30s) + metrics_load: 30s # CloudWatchメトリクス読み込みタイムアウト(デフォルト: 30s) + log_fetch: 15s # CloudWatch Logs取得タイムアウト(デフォルト: 10s) + +concurrency: + max_fetches: 100 # 最大同時API取得数(デフォルト: 50) + +cloudwatch: + window: 15m # メトリクスデータのウィンドウ期間(デフォルト: 15m) + +autosave: + enabled: true # リージョン/プロファイル/テーマ/compact_headerの変更時に保存(デフォルト: false) + +compact_header: false # 単一行のコンパクトヘッダーを使用(デフォルト: false) + +startup: # 起動時に適用(設定がある場合) + view: services # 起動ビュー: "dashboard"、"services"、または "service/resource"(例: "ec2"、"rds/snapshots") + profiles: # 複数プロファイル対応 + - production + regions: + - us-east-1 + - us-west-2 + +navigation: + max_stack_size: 100 # ナビゲーション履歴の最大深度(デフォルト: 100) + +ai: + profile: "" # Bedrock用AWSプロファイル(空 = 現在のプロファイルを使用) + region: "" # Bedrock用AWSリージョン(空 = 現在のリージョンを使用) + model: "global.anthropic.claude-haiku-4-5-20251001-v1:0" # BedrockモデルID + max_sessions: 100 # 最大保存セッション数(デフォルト: 100) + max_tokens: 16000 # 最大レスポンストークン数(デフォルト: 16000) + thinking_budget: 8000 # 拡張思考トークン予算(デフォルト: 8000) + max_tool_rounds: 15 # メッセージあたりの最大ツール実行ラウンド数(デフォルト: 15) + max_tool_calls_per_query: 50 # ユーザークエリあたりの最大ツール呼び出し数(デフォルト: 50) + save_sessions: false # チャットセッションをディスクに永続化(デフォルト: false) + +theme: nord # プリセット: dark, light, nord, dracula, gruvbox, catppuccin + +# プリセットにカスタムオーバーライドを適用する場合: +# theme: +# preset: dracula +# primary: "#ff79c6" +# danger: "#ff5555" +``` + +設定ファイルは**自動的に作成されません**。必要に応じて手動で作成してください。 + +CLIフラグ(`-p`、`-r`、`-t`、`--compact`、`--no-compact`、`--autosave`、`--no-autosave`)は設定ファイルの値を上書きします。 +複数の値を指定できます: `-p dev,prod` または `-p dev -p prod`。 + +### 特殊プロファイルID + +| ID | 説明 | 同等の操作 | +|----|------|-----------| +| `__sdk_default__` | AWS SDKのデフォルト認証チェーンを使用 | (`-p` フラグなし) | +| `__env_only__` | ~/.awsを無視し、環境変数/IMDS/ECS/Lambdaの認証情報のみ使用 | `-e` フラグ | + +```bash +# -pフラグで環境変数のみモードを使用 +claws -p __env_only__ + +# 名前付きプロファイルと特殊モードを組み合わせ(両方をクエリ) +claws -p production,__env_only__ +``` + +これらのIDは `startup.profiles` でも使用できます: + +```yaml +startup: + profiles: + - __sdk_default__ + - production +``` + + +## テーマ + +clawsには6つの組み込みカラーテーマがあります: + +| テーマ | 説明 | +|--------|------| +| `dark` | デフォルトのダークテーマ(ピンク/マゼンタのアクセント) | +| `light` | 明るい背景のターミナル向け | +| `nord` | 北欧風の落ち着いたブルーパレット | +| `dracula` | 人気のダークテーマ(パープル/ピンク) | +| `gruvbox` | レトロで温かみのあるアーストーン | +| `catppuccin` | モダンなパステルカラー(Mochaバリアント) | + +### テーマプレビュー + +| dark | light | nord | +|------|-------|------| +| ![dark](images/theme-dark.png) | ![light](images/theme-light.png) | ![nord](images/theme-nord.png) | + +| dracula | gruvbox | catppuccin | +|---------|---------|------------| +| ![dracula](images/theme-dracula.png) | ![gruvbox](images/theme-gruvbox.png) | ![catppuccin](images/theme-catppuccin.png) | + +### テーマの切り替え + +```bash +# コマンドラインで指定 +claws -t nord + +# コマンドモードで切り替え(実行時) +:theme dracula +``` + +autosaveが有効な場合、テーマの変更は設定ファイルに保存されます。 + +### カスタムテーマカラー + +プリセットの特定の色をオーバーライドできます: + +```yaml +theme: + preset: dracula + primary: "#ff79c6" + danger: "#ff5555" + success: "#50fa7b" +``` + +## 読み取り専用モード + +すべての破壊的アクションを無効にします: + +```bash +# フラグで指定 +claws --read-only + +# 環境変数で指定 +CLAWS_READ_ONLY=1 claws +``` + +## デバッグログ + +ファイルへのデバッグログを有効にします: + +```bash +claws -l debug.log +``` + +## IAM権限 + +必要なIAM権限については、[IAM権限](iam-permissions.ja.md)を参照してください。 diff --git a/docs/configuration.ko.md b/docs/configuration.ko.md new file mode 100644 index 0000000..e676381 --- /dev/null +++ b/docs/configuration.ko.md @@ -0,0 +1,186 @@ +# 설정 + +## AWS 자격 증명 + +claws는 표준 AWS 설정을 사용합니다: + +- `~/.aws/credentials` - AWS 자격 증명 +- `~/.aws/config` - AWS 설정 (리전, 프로필) +- 환경 변수: `AWS_PROFILE`, `AWS_REGION`, `AWS_ACCESS_KEY_ID` 등 + +## 설정 파일 + +선택적 설정은 `~/.config/claws/config.yaml`에 저장할 수 있습니다. + +### 사용자 지정 설정 파일 경로 + +기본값 대신 사용자 지정 설정 파일을 사용할 수 있습니다: + +```bash +# CLI 플래그로 지정 +claws -c /path/to/config.yaml +claws --config ~/work/claws-work.yaml + +# 환경 변수로 지정 +CLAWS_CONFIG=/path/to/config.yaml claws +``` + +**우선순위:** `-c` 플래그 > `CLAWS_CONFIG` 환경 변수 > 기본값 (`~/.config/claws/config.yaml`) + +사용 예시: +- 환경별 설정 (업무용/개인용) +- 프로젝트별 설정을 사용한 CI/CD +- 다양한 설정으로 테스트 + +### 설정 파일 형식 + +```yaml +timeouts: + aws_init: 10s # AWS 초기화 타임아웃 (기본값: 5초) + multi_region_fetch: 60s # 멀티 리전 병렬 가져오기 타임아웃 (기본값: 30초) + tag_search: 45s # 태그 검색 타임아웃 (기본값: 30초) + metrics_load: 30s # CloudWatch 메트릭 로드 타임아웃 (기본값: 30초) + log_fetch: 15s # CloudWatch Logs 가져오기 타임아웃 (기본값: 10초) + +concurrency: + max_fetches: 100 # 최대 동시 API 가져오기 수 (기본값: 50) + +cloudwatch: + window: 15m # 메트릭 데이터 윈도우 기간 (기본값: 15m) + +autosave: + enabled: true # 리전/프로필/테마/compact_header 변경 시 저장 (기본값: false) + +compact_header: false # 단일 행 컴팩트 헤더 사용 (기본값: false) + +startup: # 시작 시 적용 (설정이 있는 경우) + view: services # 시작 뷰: "dashboard", "services" 또는 "service/resource" (예: "ec2", "rds/snapshots") + profiles: # 다중 프로필 지원 + - production + regions: + - us-east-1 + - us-west-2 + +navigation: + max_stack_size: 100 # 탐색 기록 최대 깊이 (기본값: 100) + +ai: + profile: "" # Bedrock용 AWS 프로필 (비어 있으면 현재 프로필 사용) + region: "" # Bedrock용 AWS 리전 (비어 있으면 현재 리전 사용) + model: "global.anthropic.claude-haiku-4-5-20251001-v1:0" # Bedrock 모델 ID + max_sessions: 100 # 최대 저장 세션 수 (기본값: 100) + max_tokens: 16000 # 최대 응답 토큰 수 (기본값: 16000) + thinking_budget: 8000 # 확장 사고 토큰 예산 (기본값: 8000) + max_tool_rounds: 15 # 메시지당 최대 도구 실행 라운드 수 (기본값: 15) + max_tool_calls_per_query: 50 # 사용자 쿼리당 최대 도구 호출 수 (기본값: 50) + save_sessions: false # 채팅 세션을 디스크에 저장 (기본값: false) + +theme: nord # 프리셋: dark, light, nord, dracula, gruvbox, catppuccin + +# 프리셋에 사용자 지정 오버라이드를 적용하는 경우: +# theme: +# preset: dracula +# primary: "#ff79c6" +# danger: "#ff5555" +``` + +설정 파일은 **자동으로 생성되지 않습니다**. 필요한 경우 수동으로 생성하십시오. + +CLI 플래그(`-p`, `-r`, `-t`, `--compact`, `--no-compact`, `--autosave`, `--no-autosave`)는 설정 파일의 값을 덮어씁니다. +여러 값을 지정할 수 있습니다: `-p dev,prod` 또는 `-p dev -p prod`. + +### 특수 프로필 ID + +| ID | 설명 | 동등한 동작 | +|----|------|-------------| +| `__sdk_default__` | AWS SDK 기본 자격 증명 체인 사용 | (`-p` 플래그 없음) | +| `__env_only__` | ~/.aws를 무시하고 환경 변수/IMDS/ECS/Lambda 자격 증명만 사용 | `-e` 플래그 | + +```bash +# -p 플래그로 환경 변수 전용 모드 사용 +claws -p __env_only__ + +# 명명된 프로필과 특수 모드를 조합 (둘 다 쿼리) +claws -p production,__env_only__ +``` + +이러한 ID는 `startup.profiles`에서도 사용할 수 있습니다: + +```yaml +startup: + profiles: + - __sdk_default__ + - production +``` + + +## 테마 + +claws에는 6개의 내장 색상 테마가 포함되어 있습니다: + +| 테마 | 설명 | +|------|------| +| `dark` | 기본 다크 테마 (핑크/마젠타 강조) | +| `light` | 밝은 배경 터미널용 | +| `nord` | 북유럽풍 차분한 블루 팔레트 | +| `dracula` | 인기 다크 테마 (퍼플/핑크) | +| `gruvbox` | 레트로 따뜻한 어스 톤 | +| `catppuccin` | 모던 파스텔 컬러 (Mocha 변형) | + +### 테마 미리보기 + +| dark | light | nord | +|------|-------|------| +| ![dark](images/theme-dark.png) | ![light](images/theme-light.png) | ![nord](images/theme-nord.png) | + +| dracula | gruvbox | catppuccin | +|---------|---------|------------| +| ![dracula](images/theme-dracula.png) | ![gruvbox](images/theme-gruvbox.png) | ![catppuccin](images/theme-catppuccin.png) | + +### 테마 전환 + +```bash +# 커맨드 라인으로 지정 +claws -t nord + +# 커맨드 모드로 전환 (런타임) +:theme dracula +``` + +autosave가 활성화된 경우, 테마 변경 사항이 설정 파일에 저장됩니다. + +### 사용자 지정 테마 색상 + +프리셋의 특정 색상을 오버라이드할 수 있습니다: + +```yaml +theme: + preset: dracula + primary: "#ff79c6" + danger: "#ff5555" + success: "#50fa7b" +``` + +## 읽기 전용 모드 + +모든 파괴적 액션을 비활성화합니다: + +```bash +# 플래그로 지정 +claws --read-only + +# 환경 변수로 지정 +CLAWS_READ_ONLY=1 claws +``` + +## 디버그 로깅 + +파일에 디버그 로그를 활성화합니다: + +```bash +claws -l debug.log +``` + +## IAM 권한 + +필요한 IAM 권한에 대해서는 [IAM 권한](iam-permissions.ko.md)을 참조하십시오. diff --git a/docs/configuration.zh-CN.md b/docs/configuration.zh-CN.md new file mode 100644 index 0000000..3d7c4c5 --- /dev/null +++ b/docs/configuration.zh-CN.md @@ -0,0 +1,186 @@ +# 配置 + +## AWS 凭证 + +claws 使用标准的 AWS 配置: + +- `~/.aws/credentials` - AWS 凭证 +- `~/.aws/config` - AWS 配置(区域、配置文件) +- 环境变量:`AWS_PROFILE`、`AWS_REGION`、`AWS_ACCESS_KEY_ID` 等 + +## 配置文件 + +可选设置可以保存在 `~/.config/claws/config.yaml` 中。 + +### 自定义配置文件路径 + +使用自定义配置文件代替默认配置: + +```bash +# 通过 CLI 标志指定 +claws -c /path/to/config.yaml +claws --config ~/work/claws-work.yaml + +# 通过环境变量指定 +CLAWS_CONFIG=/path/to/config.yaml claws +``` + +**优先级:** `-c` 标志 > `CLAWS_CONFIG` 环境变量 > 默认路径 (`~/.config/claws/config.yaml`) + +使用场景: +- 按环境区分配置(工作/个人) +- 在 CI/CD 中使用项目专属设置 +- 使用不同配置进行测试 + +### 配置文件格式 + +```yaml +timeouts: + aws_init: 10s # AWS 初始化超时(默认:5s) + multi_region_fetch: 60s # 多区域并行获取超时(默认:30s) + tag_search: 45s # 标签搜索超时(默认:30s) + metrics_load: 30s # CloudWatch 指标加载超时(默认:30s) + log_fetch: 15s # CloudWatch Logs 获取超时(默认:10s) + +concurrency: + max_fetches: 100 # 最大并发 API 获取数(默认:50) + +cloudwatch: + window: 15m # 指标数据窗口周期(默认:15m) + +autosave: + enabled: true # 区域/配置文件/主题/compact_header 变更时自动保存(默认:false) + +compact_header: false # 使用单行紧凑标题栏(默认:false) + +startup: # 启动时应用(如已配置) + view: services # 启动视图:"dashboard"、"services" 或 "service/resource"(如 "ec2"、"rds/snapshots") + profiles: # 支持多个配置文件 + - production + regions: + - us-east-1 + - us-west-2 + +navigation: + max_stack_size: 100 # 导航历史最大深度(默认:100) + +ai: + profile: "" # Bedrock 使用的 AWS 配置文件(留空 = 使用当前配置文件) + region: "" # Bedrock 使用的 AWS 区域(留空 = 使用当前区域) + model: "global.anthropic.claude-haiku-4-5-20251001-v1:0" # Bedrock 模型 ID + max_sessions: 100 # 最大保存会话数(默认:100) + max_tokens: 16000 # 最大响应 token 数(默认:16000) + thinking_budget: 8000 # 扩展思考 token 预算(默认:8000) + max_tool_rounds: 15 # 每条消息的最大工具执行轮数(默认:15) + max_tool_calls_per_query: 50 # 每次用户查询的最大工具调用数(默认:50) + save_sessions: false # 将聊天会话持久化到磁盘(默认:false) + +theme: nord # 预设主题:dark、light、nord、dracula、gruvbox、catppuccin + +# 使用预设主题并自定义覆盖: +# theme: +# preset: dracula +# primary: "#ff79c6" +# danger: "#ff5555" +``` + +配置文件**不会自动创建**,如有需要请手动创建。 + +CLI 标志(`-p`、`-r`、`-t`、`--compact`、`--no-compact`、`--autosave`、`--no-autosave`)会覆盖配置文件中的设置。 +支持多个值:`-p dev,prod` 或 `-p dev -p prod`。 + +### 特殊配置文件 ID + +| ID | 说明 | 等效操作 | +|----|------|----------| +| `__sdk_default__` | 使用 AWS SDK 默认凭证链 | (不使用 `-p` 标志) | +| `__env_only__` | 忽略 ~/.aws,仅使用环境变量/IMDS/ECS/Lambda 凭证 | `-e` 标志 | + +```bash +# 通过 -p 标志使用仅环境变量模式 +claws -p __env_only__ + +# 将命名配置文件与特殊模式组合使用(同时查询两者) +claws -p production,__env_only__ +``` + +这些 ID 也可以在 `startup.profiles` 中使用: + +```yaml +startup: + profiles: + - __sdk_default__ + - production +``` + + +## 主题 + +claws 内置了 6 种配色主题: + +| 主题 | 说明 | +|------|------| +| `dark` | 默认深色主题(粉色/品红色调) | +| `light` | 适用于浅色背景终端 | +| `nord` | 北欧风格,沉稳蓝色调 | +| `dracula` | 流行的深色主题(紫色/粉色) | +| `gruvbox` | 复古暖色调 | +| `catppuccin` | 现代柔和色调(Mocha 变体) | + +### 主题预览 + +| dark | light | nord | +|------|-------|------| +| ![dark](images/theme-dark.png) | ![light](images/theme-light.png) | ![nord](images/theme-nord.png) | + +| dracula | gruvbox | catppuccin | +|---------|---------|------------| +| ![dracula](images/theme-dracula.png) | ![gruvbox](images/theme-gruvbox.png) | ![catppuccin](images/theme-catppuccin.png) | + +### 切换主题 + +```bash +# 通过命令行指定 +claws -t nord + +# 通过命令模式切换(运行时) +:theme dracula +``` + +如果启用了 autosave,主题更改会自动保存到配置文件中。 + +### 自定义主题颜色 + +覆盖预设主题中的特定颜色: + +```yaml +theme: + preset: dracula + primary: "#ff79c6" + danger: "#ff5555" + success: "#50fa7b" +``` + +## 只读模式 + +禁用所有破坏性操作: + +```bash +# 通过标志指定 +claws --read-only + +# 通过环境变量指定 +CLAWS_READ_ONLY=1 claws +``` + +## 调试日志 + +启用调试日志输出到文件: + +```bash +claws -l debug.log +``` + +## IAM 权限 + +有关所需的 IAM 权限,请参阅 [IAM 权限](iam-permissions.zh-CN.md)。 diff --git a/docs/iam-permissions.ja.md b/docs/iam-permissions.ja.md new file mode 100644 index 0000000..4f7bf81 --- /dev/null +++ b/docs/iam-permissions.ja.md @@ -0,0 +1,109 @@ +# IAM権限 + +clawsはAWSリソースにアクセスするために適切なIAM権限が必要です。必要な権限は、閲覧するサービスによって異なります。 + +## 最小権限 + +基本的な読み取り専用の閲覧には、アクセスするサービスの`Describe*`、`List*`、`Get*`権限が必要です。 + +## AIチャット(オプション) + +AIチャット機能(`A`キー)はAmazon Bedrockを使用します。この機能を有効にするには、以下の権限が必要です: + +```json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": "bedrock:InvokeModelWithResponseStream", + "Resource": "arn:aws:bedrock:*::foundation-model/*" + }, + { + "Effect": "Allow", + "Action": [ + "aws-marketplace:Subscribe", + "aws-marketplace:ViewSubscriptions" + ], + "Resource": "*" + } + ] +} +``` + +**注意**: AWS Marketplace権限は、アカウントで初めてモデルを使用する際に必要です。モデルが既に有効化されている場合は、`bedrock:InvokeModelWithResponseStream`権限のみ必要です。 + +## インラインメトリクス(オプション) + +インラインCloudWatchメトリクスを表示するには(`M`キーで切り替え)、以下の権限が必要です: + +```json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": "cloudwatch:GetMetricData", + "Resource": "*" + } + ] +} +``` + +メトリクスはデフォルトで無効です。有効にすると、clawsは対応リソース(EC2、RDS、Lambda)の直近1時間のメトリクスを取得します。 + +## リソースアクション + +一部のリソースアクションには追加の権限が必要です: + +| アクション | 必要な権限 | +|--------|---------------------| +| EC2の起動/停止 | `ec2:StartInstances`, `ec2:StopInstances` | +| リソースの削除 | `:Delete*` | +| SSOログイン | `sso:*`(SSOプロファイル用) | + +## 推奨ポリシー + +メトリクスとAIチャットを含む完全な読み取り専用アクセスの場合: + +```json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "ec2:Describe*", + "rds:Describe*", + "lambda:List*", + "lambda:Get*", + "s3:List*", + "s3:GetBucket*", + "cloudwatch:GetMetricData", + "iam:List*", + "iam:Get*" + ], + "Resource": "*" + }, + { + "Effect": "Allow", + "Action": "bedrock:InvokeModelWithResponseStream", + "Resource": "arn:aws:bedrock:*::foundation-model/*" + }, + { + "Effect": "Allow", + "Action": [ + "aws-marketplace:Subscribe", + "aws-marketplace:ViewSubscriptions" + ], + "Resource": "*" + } + ] +} +``` + +完全なアクセスには、`ReadOnlyAccess`や`ViewOnlyAccess`などのAWSマネージドポリシーを使用してください。 + +## 読み取り専用モード + +`claws --read-only`で実行するか、`CLAWS_READ_ONLY=1`を設定すると、IAM権限に関係なくすべての破壊的アクションが無効になります。 diff --git a/docs/iam-permissions.ko.md b/docs/iam-permissions.ko.md new file mode 100644 index 0000000..2847e1e --- /dev/null +++ b/docs/iam-permissions.ko.md @@ -0,0 +1,109 @@ +# IAM 권한 + +claws는 AWS 리소스에 접근하기 위해 적절한 IAM 권한이 필요합니다. 필요한 권한은 탐색하려는 서비스에 따라 다릅니다. + +## 최소 권한 + +기본적인 읽기 전용 탐색을 위해서는 접근하려는 서비스의 `Describe*`, `List*`, `Get*` 권한이 필요합니다. + +## AI 채팅 (선택 사항) + +AI 채팅 기능(`A` 키)은 Amazon Bedrock을 사용합니다. 이 기능을 활성화하려면 다음 권한이 필요합니다: + +```json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": "bedrock:InvokeModelWithResponseStream", + "Resource": "arn:aws:bedrock:*::foundation-model/*" + }, + { + "Effect": "Allow", + "Action": [ + "aws-marketplace:Subscribe", + "aws-marketplace:ViewSubscriptions" + ], + "Resource": "*" + } + ] +} +``` + +**참고**: AWS Marketplace 권한은 계정에서 처음 모델을 사용할 때 필요합니다. 모델이 이미 활성화되어 있는 경우 `bedrock:InvokeModelWithResponseStream` 권한만 필요합니다. + +## 인라인 메트릭 (선택 사항) + +인라인 CloudWatch 메트릭을 표시하려면(`M` 키로 전환) 다음 권한이 필요합니다: + +```json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": "cloudwatch:GetMetricData", + "Resource": "*" + } + ] +} +``` + +메트릭은 기본적으로 비활성화되어 있습니다. 활성화하면 claws는 지원되는 리소스(EC2, RDS, Lambda)의 최근 1시간 메트릭을 가져옵니다. + +## 리소스 액션 + +일부 리소스 액션에는 추가 권한이 필요합니다: + +| 액션 | 필요한 권한 | +|--------|---------------------| +| EC2 시작/중지 | `ec2:StartInstances`, `ec2:StopInstances` | +| 리소스 삭제 | `:Delete*` | +| SSO 로그인 | `sso:*` (SSO 프로필용) | + +## 권장 정책 + +메트릭과 AI 채팅을 포함한 전체 읽기 전용 접근의 경우: + +```json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "ec2:Describe*", + "rds:Describe*", + "lambda:List*", + "lambda:Get*", + "s3:List*", + "s3:GetBucket*", + "cloudwatch:GetMetricData", + "iam:List*", + "iam:Get*" + ], + "Resource": "*" + }, + { + "Effect": "Allow", + "Action": "bedrock:InvokeModelWithResponseStream", + "Resource": "arn:aws:bedrock:*::foundation-model/*" + }, + { + "Effect": "Allow", + "Action": [ + "aws-marketplace:Subscribe", + "aws-marketplace:ViewSubscriptions" + ], + "Resource": "*" + } + ] +} +``` + +전체 접근 권한이 필요한 경우 `ReadOnlyAccess` 또는 `ViewOnlyAccess`와 같은 AWS 관리형 정책을 사용하십시오. + +## 읽기 전용 모드 + +`--read-only` 플래그를 사용하거나 `CLAWS_READ_ONLY=1`을 설정하면 IAM 권한에 관계없이 모든 파괴적 액션이 비활성화됩니다. diff --git a/docs/iam-permissions.zh-CN.md b/docs/iam-permissions.zh-CN.md new file mode 100644 index 0000000..a73afad --- /dev/null +++ b/docs/iam-permissions.zh-CN.md @@ -0,0 +1,109 @@ +# IAM 权限 + +claws 需要适当的 IAM 权限才能访问 AWS 资源。所需权限取决于您要浏览的服务。 + +## 最低权限 + +进行基本的只读浏览时,claws 需要您要访问的服务的 `Describe*`、`List*` 和 `Get*` 权限。 + +## AI 聊天(可选) + +AI 聊天功能(`A` 键)使用 Amazon Bedrock。要启用此功能,需要以下权限: + +```json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": "bedrock:InvokeModelWithResponseStream", + "Resource": "arn:aws:bedrock:*::foundation-model/*" + }, + { + "Effect": "Allow", + "Action": [ + "aws-marketplace:Subscribe", + "aws-marketplace:ViewSubscriptions" + ], + "Resource": "*" + } + ] +} +``` + +**注意**:AWS Marketplace 权限仅在账户中首次使用模型时需要。如果模型已启用,则只需要 `bedrock:InvokeModelWithResponseStream` 权限。 + +## 内联指标(可选) + +要显示内联 CloudWatch 指标(使用 `M` 键切换),需要以下权限: + +```json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": "cloudwatch:GetMetricData", + "Resource": "*" + } + ] +} +``` + +指标默认处于禁用状态。启用后,claws 会获取受支持资源(EC2、RDS、Lambda)最近一小时的指标数据。 + +## 资源操作 + +部分资源操作需要额外的权限: + +| 操作 | 所需权限 | +|------|----------| +| 启动/停止 EC2 | `ec2:StartInstances`、`ec2:StopInstances` | +| 删除资源 | `:Delete*` | +| SSO 登录 | `sso:*`(用于 SSO 配置文件) | + +## 推荐策略 + +包含指标和 AI 聊天的完整只读访问权限: + +```json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "ec2:Describe*", + "rds:Describe*", + "lambda:List*", + "lambda:Get*", + "s3:List*", + "s3:GetBucket*", + "cloudwatch:GetMetricData", + "iam:List*", + "iam:Get*" + ], + "Resource": "*" + }, + { + "Effect": "Allow", + "Action": "bedrock:InvokeModelWithResponseStream", + "Resource": "arn:aws:bedrock:*::foundation-model/*" + }, + { + "Effect": "Allow", + "Action": [ + "aws-marketplace:Subscribe", + "aws-marketplace:ViewSubscriptions" + ], + "Resource": "*" + } + ] +} +``` + +如需完整访问权限,可使用 `ReadOnlyAccess` 或 `ViewOnlyAccess` 等 AWS 托管策略。 + +## 只读模式 + +使用 `claws --read-only` 运行,或设置 `CLAWS_READ_ONLY=1`,即可禁用所有破坏性操作,不受 IAM 权限影响。 diff --git a/docs/keybindings.ja.md b/docs/keybindings.ja.md new file mode 100644 index 0000000..e087fb0 --- /dev/null +++ b/docs/keybindings.ja.md @@ -0,0 +1,122 @@ +# キーバインド + +claws で使用できるすべてのキーボードショートカットのリファレンスです。 + +## 一般的なナビゲーション + +| Key | Action | +|-----|--------| +| `j` / `k` | 上下に移動します | +| `h` / `l` | カテゴリ内を移動します(サービス一覧) | +| `Enter` / `d` | リソースの詳細を表示します | +| `Esc` | 前の画面に戻ります | +| `q` / `Ctrl+c` | 終了します | + +## ビューとモード + +| Key | Action | +|-----|--------| +| `:` | コマンドモード(例: `:ec2/instances`) | +| `:` + `Enter` | サービス一覧に移動します | +| `~` | ダッシュボード ↔ サービスを切り替えます | +| `:pulse` | ダッシュボードに移動します | +| `:services` | サービスブラウザに移動します | +| `/` | フィルターモード(あいまい検索) | +| `A` | AIチャット(Bedrock) | +| `Ctrl+E` | コンパクトヘッダーを切り替えます | +| `?` | ヘルプを表示します | + +## リソースブラウザ + +| Key | Action | +|-----|--------| +| `Tab` | 次のリソースタイプに移動します | +| `1-9` | 番号でリソースタイプを切り替えます | +| `a` | アクションメニューを開きます | +| `m` | 比較用にリソースをマークします | +| `d` | 詳細表示(マーク済みの場合は差分表示) | +| `c` | フィルターとマークをクリアします | +| `N` | 次のページを読み込みます(ページネーション) | +| `M` | インラインメトリクスを切り替えます(EC2、RDS、Lambda) | +| `y` | リソースIDをクリップボードにコピーします | +| `Y` | リソースARNをクリップボードにコピーします | +| `Ctrl+r` | 更新します(メトリクスを含む) | + +## プロファイルとリージョン + +| Key | Action | +|-----|--------| +| `R` | AWSリージョンを選択します(複数選択対応) | +| `P` | AWSプロファイルを選択します(複数選択対応) | + +## コマンド + +| Command | Action | +|---------|--------| +| `:q` / `:quit` | 終了します | +| `:login [name]` | AWSコンソールにログインします(デフォルト: `claws-login` プロファイル) | +| `:ec2/instances` | EC2インスタンスに移動します | +| `:sort ` | 列で昇順ソートします | +| `:sort desc ` | 列で降順ソートします | +| `:tag ` | タグでフィルターします(例: `:tag Env=prod`) | +| `:tags` | タグ付きリソースを一覧表示します | +| `:diff ` | 現在の行を指定リソースと比較します | +| `:diff ` | 2つのリソースを比較します | +| `:theme ` | カラーテーマを変更します | +| `:autosave on/off` | 設定の自動保存を有効/無効にします | +| `:settings` | 現在の設定を表示します | +| `:clear-history` | ナビゲーション履歴(スタック)をクリアします | + +## マウス操作 + +| Action | Effect | +|--------|--------| +| Hover | カーソル下の項目をハイライトします | +| Click | 項目を選択 / 移動します | +| Scroll wheel | リストをスクロールします | +| Click on tabs | リソースタイプを切り替えます | +| Back button | 前の画面に戻ります(`Esc` と同じ) | + +## ナビゲーションショートカット(コンテキスト依存) + +現在のコンテキストに基づいて、関連リソースに移動するショートカットです: + +| Key | Action | +|-----|--------| +| `v` | VPC / バージョンを表示します | +| `s` | サブネット / ストリーム / ステージを表示します | +| `g` | セキュリティグループを表示します | +| `r` | ルートテーブル / ロール / リソースを表示します | +| `e` | イベント / 実行 / エンドポイントを表示します | +| `l` | CloudWatch Logsを表示します | +| `o` | 出力 / オペレーションを表示します | +| `i` | イメージ / インデックスを表示します | +| `D` | データソース(AppSync)/ タスク定義(ECS)を表示します | + +## リージョンセレクター(`R` キー) + +| Key | Action | +|-----|--------| +| `j` / `k` | 上下に移動します | +| `Space` | リージョンの選択を切り替えます | +| `a` | すべてのリージョンを選択します | +| `n` | すべてのリージョンの選択を解除します | +| `/` | リージョンをフィルターします | +| `Enter` | 選択を適用します | +| `Esc` | キャンセルします | + +選択したリージョンは並列でクエリされ、リソースにはリージョン列が表示されます。 + +## プロファイルセレクター(`P` キー) + +| Key | Action | +|-----|--------| +| `j` / `k` | 上下に移動します | +| `Space` | プロファイルの選択を切り替えます | +| `l` | 選択したプロファイルでSSOログインします | +| `L` | 選択したプロファイルでコンソールログインします(`:login`) | +| `/` | プロファイルをフィルターします | +| `Enter` | 選択を適用します | +| `Esc` | キャンセルします | + +選択したプロファイルは並列でクエリされ、リソースにはプロファイル列とアカウント列が表示されます。 diff --git a/docs/keybindings.ko.md b/docs/keybindings.ko.md new file mode 100644 index 0000000..9565576 --- /dev/null +++ b/docs/keybindings.ko.md @@ -0,0 +1,122 @@ +# 키 바인딩 + +claws의 모든 키보드 단축키에 대한 전체 참조입니다. + +## 일반 탐색 + +| Key | Action | +|-----|--------| +| `j` / `k` | 위/아래로 이동 | +| `h` / `l` | 카테고리 내 이동 (서비스 목록) | +| `Enter` / `d` | 리소스 상세 보기 | +| `Esc` | 뒤로 가기 | +| `q` / `Ctrl+c` | 종료 | + +## 뷰 및 모드 + +| Key | Action | +|-----|--------| +| `:` | 명령 모드 (예: `:ec2/instances`) | +| `:` + `Enter` | 서비스로 이동 | +| `~` | 대시보드 ↔ 서비스 전환 | +| `:pulse` | 대시보드로 이동 | +| `:services` | 서비스 브라우저로 이동 | +| `/` | 필터 모드 (퍼지 검색) | +| `A` | AI 채팅 (Bedrock) | +| `Ctrl+E` | 컴팩트 헤더 전환 | +| `?` | 도움말 표시 | + +## 리소스 브라우저 + +| Key | Action | +|-----|--------| +| `Tab` | 다음 리소스 유형 | +| `1-9` | 번호로 리소스 유형 전환 | +| `a` | 액션 메뉴 열기 | +| `m` | 비교를 위해 리소스 마킹 | +| `d` | 상세 보기 (마킹된 경우 비교) | +| `c` | 필터 및 마킹 초기화 | +| `N` | 다음 페이지 로드 (페이지네이션) | +| `M` | 인라인 메트릭 전환 (EC2, RDS, Lambda) | +| `y` | 리소스 ID를 클립보드에 복사 | +| `Y` | 리소스 ARN을 클립보드에 복사 | +| `Ctrl+r` | 새로고침 (메트릭 포함) | + +## 프로필 및 리전 + +| Key | Action | +|-----|--------| +| `R` | AWS 리전 선택 (다중 선택 지원) | +| `P` | AWS 프로필 선택 (다중 선택 지원) | + +## 명령어 + +| Command | Action | +|---------|--------| +| `:q` / `:quit` | 종료 | +| `:login [name]` | AWS 콘솔 로그인 (기본값: `claws-login` 프로필) | +| `:ec2/instances` | EC2 인스턴스로 이동 | +| `:sort ` | 열 기준 정렬 (오름차순) | +| `:sort desc ` | 열 기준 정렬 (내림차순) | +| `:tag ` | 태그로 필터 (예: `:tag Env=prod`) | +| `:tags` | 모든 태그된 리소스 탐색 | +| `:diff ` | 현재 행과 지정된 리소스 비교 | +| `:diff ` | 두 지정된 리소스 비교 | +| `:theme ` | 색상 테마 변경 | +| `:autosave on/off` | 설정 자동 저장 활성화/비활성화 | +| `:settings` | 현재 설정 표시 | +| `:clear-history` | 탐색 기록 (스택) 초기화 | + +## 마우스 지원 + +| Action | Effect | +|--------|--------| +| 호버 | 커서 아래 항목 강조 | +| 클릭 | 항목 선택 / 이동 | +| 스크롤 휠 | 목록 스크롤 | +| 탭 클릭 | 리소스 유형 전환 | +| 뒤로 가기 버튼 | 뒤로 이동 (Esc과 동일) | + +## 탐색 단축키 (컨텍스트 의존) + +현재 컨텍스트에 따라 관련 리소스로 이동하는 단축키입니다: + +| Key | Action | +|-----|--------| +| `v` | VPC / 버전 보기 | +| `s` | 서브넷 / 스트림 / 스테이지 보기 | +| `g` | 보안 그룹 보기 | +| `r` | 라우트 테이블 / 역할 / 리소스 보기 | +| `e` | 이벤트 / 실행 / 엔드포인트 보기 | +| `l` | CloudWatch 로그 보기 | +| `o` | 출력 / 오퍼레이션 보기 | +| `i` | 이미지 / 인덱스 보기 | +| `D` | Data Sources (AppSync) / Task Definitions (ECS) 보기 | + +## 리전 선택기 (`R` 키) + +| Key | Action | +|-----|--------| +| `j` / `k` | 위/아래로 이동 | +| `Space` | 리전 선택 전환 | +| `a` | 모든 리전 선택 | +| `n` | 모든 리전 선택 해제 | +| `/` | 리전 필터 | +| `Enter` | 선택 적용 | +| `Esc` | 취소 | + +선택된 리전은 병렬로 조회되며, 리소스에 Region 열이 표시됩니다. + +## 프로필 선택기 (`P` 키) + +| Key | Action | +|-----|--------| +| `j` / `k` | 위/아래로 이동 | +| `Space` | 프로필 선택 전환 | +| `l` | 선택된 프로필로 SSO 로그인 | +| `L` | 선택된 프로필로 콘솔 로그인 (`:login`) | +| `/` | 프로필 필터 | +| `Enter` | 선택 적용 | +| `Esc` | 취소 | + +선택된 프로필은 병렬로 조회되며, 리소스에 Profile 및 Account 열이 표시됩니다. diff --git a/docs/keybindings.zh-CN.md b/docs/keybindings.zh-CN.md new file mode 100644 index 0000000..046b5c6 --- /dev/null +++ b/docs/keybindings.zh-CN.md @@ -0,0 +1,122 @@ +# 快捷键 + +claws 所有键盘快捷键的完整参考。 + +## 通用导航 + +| Key | Action | +|-----|--------| +| `j` / `k` | 上下移动 | +| `h` / `l` | 在分类内移动(服务列表) | +| `Enter` / `d` | 查看资源详情 | +| `Esc` | 返回 | +| `q` / `Ctrl+c` | 退出 | + +## 视图和模式 + +| Key | Action | +|-----|--------| +| `:` | 命令模式(例如 `:ec2/instances`) | +| `:` + `Enter` | 前往服务列表 | +| `~` | 切换仪表盘 ↔ 服务 | +| `:pulse` | 前往仪表盘 | +| `:services` | 前往服务浏览器 | +| `/` | 筛选模式(模糊搜索) | +| `A` | AI 对话(Bedrock) | +| `Ctrl+E` | 切换紧凑标题栏 | +| `?` | 显示帮助 | + +## 资源浏览器 + +| Key | Action | +|-----|--------| +| `Tab` | 下一个资源类型 | +| `1-9` | 按编号切换资源类型 | +| `a` | 打开操作菜单 | +| `m` | 标记资源以进行对比 | +| `d` | 查看详情(已标记时进行差异对比) | +| `c` | 清除筛选和标记 | +| `N` | 加载下一页(分页) | +| `M` | 切换内联指标(EC2、RDS、Lambda) | +| `y` | 复制资源 ID 到剪贴板 | +| `Y` | 复制资源 ARN 到剪贴板 | +| `Ctrl+r` | 刷新(包括指标) | + +## 配置文件和区域 + +| Key | Action | +|-----|--------| +| `R` | 选择 AWS 区域(支持多选) | +| `P` | 选择 AWS 配置文件(支持多选) | + +## 命令 + +| Command | Action | +|---------|--------| +| `:q` / `:quit` | 退出 | +| `:login [name]` | AWS 控制台登录(默认:`claws-login` 配置文件) | +| `:ec2/instances` | 导航到 EC2 实例 | +| `:sort ` | 按列排序(升序) | +| `:sort desc ` | 按列排序(降序) | +| `:tag ` | 按标签筛选(例如 `:tag Env=prod`) | +| `:tags` | 浏览所有已标记的资源 | +| `:diff ` | 将当前行与指定资源进行对比 | +| `:diff ` | 对比两个指定资源 | +| `:theme ` | 更改颜色主题 | +| `:autosave on/off` | 启用/禁用配置自动保存 | +| `:settings` | 显示当前设置 | +| `:clear-history` | 清除导航历史(堆栈) | + +## 鼠标支持 + +| Action | Effect | +|--------|--------| +| 悬停 | 高亮光标下的项目 | +| 点击 | 选择项目 / 导航 | +| 滚轮 | 滚动列表 | +| 点击标签页 | 切换资源类型 | +| 后退按钮 | 返回(同 Esc) | + +## 导航快捷键(上下文相关) + +这些快捷键根据当前上下文导航到相关资源: + +| Key | Action | +|-----|--------| +| `v` | 查看 VPC / 版本 | +| `s` | 查看子网 / 流 / 阶段 | +| `g` | 查看安全组 | +| `r` | 查看路由表 / 角色 / 资源 | +| `e` | 查看事件 / 执行 / 端点 | +| `l` | 查看 CloudWatch 日志 | +| `o` | 查看输出 / 操作 | +| `i` | 查看镜像 / 索引 | +| `D` | 查看数据源(AppSync)/ 任务定义(ECS) | + +## 区域选择器(`R` 键) + +| Key | Action | +|-----|--------| +| `j` / `k` | 上下移动 | +| `Space` | 切换区域选择 | +| `a` | 选择所有区域 | +| `n` | 取消选择所有区域 | +| `/` | 筛选区域 | +| `Enter` | 应用选择 | +| `Esc` | 取消 | + +选中的区域将并行查询;资源显示时包含 Region 列。 + +## 配置文件选择器(`P` 键) + +| Key | Action | +|-----|--------| +| `j` / `k` | 上下移动 | +| `Space` | 切换配置文件选择 | +| `l` | 对选中的配置文件进行 SSO 登录 | +| `L` | 对选中的配置文件进行控制台登录(`:login`) | +| `/` | 筛选配置文件 | +| `Enter` | 应用选择 | +| `Esc` | 取消 | + +选中的配置文件将并行查询;资源显示时包含 Profile 和 Account 列。 diff --git a/docs/services.ja.md b/docs/services.ja.md new file mode 100644 index 0000000..8ff768c --- /dev/null +++ b/docs/services.ja.md @@ -0,0 +1,159 @@ +# 対応サービス一覧 + +clawsは **69サービス**、**169リソース** に対応しています。 + +## コンピューティング + +| Service | Resources | +|---------|-----------| +| EC2 | Instances, Volumes, Security Groups, Elastic IPs, Key Pairs, AMIs, Snapshots, Launch Templates, Capacity Reservations | +| Lambda | Functions | +| ECS | Clusters, Services, Tasks, Task Definitions | +| Auto Scaling | Groups, Activities | +| App Runner | Services, Operations | +| Batch | Job Queues, Compute Environments, Jobs, Job Definitions | +| EMR | Clusters, Steps | + +## ストレージとデータベース + +| Service | Resources | +|---------|-----------| +| S3 | Buckets | +| S3 Vectors | Buckets, Indexes | +| DynamoDB | Tables | +| RDS | Instances, Snapshots | +| Redshift | Clusters, Snapshots | +| ElastiCache | Clusters | +| OpenSearch | Domains | + +## データと分析 + +| Service | Resources | +|---------|-----------| +| Glue | Databases, Tables, Crawlers, Jobs, Job Runs | +| Athena | Workgroups, Query Executions | +| Transcribe | Jobs | + +## コンテナとML + +| Service | Resources | +|---------|-----------| +| ECR | Repositories, Images | +| EKS | Clusters, Node Groups, Fargate Profiles, Addons, Access Entries | +| Bedrock | Foundation Models, Guardrails, Inference Profiles | +| Bedrock Agent | Agents, Knowledge Bases, Data Sources, Prompts, Flows | +| Bedrock AgentCore | Runtimes, Endpoints, Versions | +| SageMaker | Endpoints, Notebooks, Training Jobs, Models | + +## ネットワーキング + +| Service | Resources | +|---------|-----------| +| VPC | VPCs, Subnets, Route Tables, Internet Gateways, NAT Gateways, VPC Endpoints, Transit Gateways, TGW Attachments | +| Route 53 | Hosted Zones, Record Sets | +| API Gateway | REST APIs, HTTP APIs, Stages | +| AppSync | GraphQL APIs, Data Sources | +| ELB | Load Balancers, Target Groups, Targets | +| CloudFront | Distributions | +| Direct Connect | Connections, Virtual Interfaces | + +## セキュリティとID管理 + +| Service | Resources | +|---------|-----------| +| IAM | Users, Roles, Policies, Groups, Instance Profiles | +| KMS | Keys | +| ACM | Certificates | +| Secrets Manager | Secrets | +| SSM | Parameters | +| Cognito | User Pools, Users | +| GuardDuty | Detectors, Findings | +| WAF | Web ACLs | +| Inspector | Findings | +| Security Hub | Findings | +| Firewall Manager | Policies | +| Network Firewall | Firewalls, Firewall Policies, Rule Groups | +| IAM Access Analyzer | Analyzers, Findings | +| Detective | Graphs, Investigations | +| Macie | Classification Jobs, Findings, Buckets | + +## インテグレーション + +| Service | Resources | +|---------|-----------| +| SQS | Queues | +| SNS | Topics, Subscriptions | +| EventBridge | Event Buses, Rules | +| Step Functions | State Machines, Executions | +| Kinesis | Streams | +| Transfer Family | Servers, Users | +| DataSync | Tasks, Locations, Task Executions | + +## 管理とモニタリング + +| Service | Resources | +|---------|-----------| +| CloudFormation | Stacks, Events, Resources, Outputs | +| CloudWatch | Alarms, Log Groups, Log Streams | +| CloudTrail | Trails, Events | +| AWS Config | Rules | +| AWS Health | Events | +| X-Ray | Groups | +| Service Quotas | Services, Quotas | +| CodeBuild | Projects, Builds | +| CodePipeline | Pipelines, Executions | +| AWS Backup | Plans, Vaults, Selections, Protected Resources, Backup Jobs, Copy Jobs, Restore Jobs, Recovery Points | +| Organizations | Accounts, OUs, Policies, Roots | +| License Manager | Configurations, Licenses, Grants | + +## コスト管理 + +| Service | Resources | +|---------|-----------| +| RI/SP | Reserved Instances, Savings Plans | +| Cost Explorer | Costs, Anomalies, Monitors | +| Compute Optimizer | Summary, Recommendations | +| Trusted Advisor | Recommendations | +| Budgets | Budgets, Notifications | + +--- + +## サービスエイリアス + +よく使うサービスへのショートカットです: + +| Alias | Service | +|-------|---------| +| `cfn`, `cf` | CloudFormation | +| `sg` | EC2 Security Groups | +| `asg` | Auto Scaling | +| `cw` | CloudWatch | +| `logs` | CloudWatch Log Groups | +| `ddb` | DynamoDB | +| `sm` | Secrets Manager | +| `r53` | Route 53 | +| `eb` | EventBridge | +| `sfn` | Step Functions | +| `sq`, `quotas` | Service Quotas | +| `apigw`, `api` | API Gateway | +| `elb`, `alb`, `nlb` | Elastic Load Balancing | +| `redis`, `cache` | ElastiCache | +| `es`, `elasticsearch` | OpenSearch | +| `cdn`, `dist` | CloudFront | +| `gd` | GuardDuty | +| `build`, `cb` | CodeBuild | +| `pipeline`, `cp` | CodePipeline | +| `waf` | WAF | +| `ce`, `cost-explorer` | Cost Explorer | +| `co` | Compute Optimizer | +| `ta` | Trusted Advisor | +| `ri` | Reserved Instances | +| `sp` | Savings Plans | +| `odcr` | Capacity Reservations | +| `tgw` | Transit Gateways | +| `agentcore` | Bedrock AgentCore | +| `kb` | Bedrock Agent Knowledge Bases | +| `agent` | Bedrock Agent Agents | +| `models` | Bedrock Foundation Models | +| `guardrail` | Bedrock Guardrails | +| `eks` | EKS | diff --git a/docs/services.ko.md b/docs/services.ko.md new file mode 100644 index 0000000..3853b5f --- /dev/null +++ b/docs/services.ko.md @@ -0,0 +1,159 @@ +# 지원 서비스 + +claws는 **69개 서비스**와 **169개 리소스**를 지원합니다. + +## 컴퓨팅 + +| Service | Resources | +|---------|-----------| +| EC2 | Instances, Volumes, Security Groups, Elastic IPs, Key Pairs, AMIs, Snapshots, Launch Templates, Capacity Reservations | +| Lambda | Functions | +| ECS | Clusters, Services, Tasks, Task Definitions | +| Auto Scaling | Groups, Activities | +| App Runner | Services, Operations | +| Batch | Job Queues, Compute Environments, Jobs, Job Definitions | +| EMR | Clusters, Steps | + +## 스토리지 및 데이터베이스 + +| Service | Resources | +|---------|-----------| +| S3 | Buckets | +| S3 Vectors | Buckets, Indexes | +| DynamoDB | Tables | +| RDS | Instances, Snapshots | +| Redshift | Clusters, Snapshots | +| ElastiCache | Clusters | +| OpenSearch | Domains | + +## 데이터 및 분석 + +| Service | Resources | +|---------|-----------| +| Glue | Databases, Tables, Crawlers, Jobs, Job Runs | +| Athena | Workgroups, Query Executions | +| Transcribe | Jobs | + +## 컨테이너 및 ML + +| Service | Resources | +|---------|-----------| +| ECR | Repositories, Images | +| EKS | Clusters, Node Groups, Fargate Profiles, Addons, Access Entries | +| Bedrock | Foundation Models, Guardrails, Inference Profiles | +| Bedrock Agent | Agents, Knowledge Bases, Data Sources, Prompts, Flows | +| Bedrock AgentCore | Runtimes, Endpoints, Versions | +| SageMaker | Endpoints, Notebooks, Training Jobs, Models | + +## 네트워킹 + +| Service | Resources | +|---------|-----------| +| VPC | VPCs, Subnets, Route Tables, Internet Gateways, NAT Gateways, VPC Endpoints, Transit Gateways, TGW Attachments | +| Route 53 | Hosted Zones, Record Sets | +| API Gateway | REST APIs, HTTP APIs, Stages | +| AppSync | GraphQL APIs, Data Sources | +| ELB | Load Balancers, Target Groups, Targets | +| CloudFront | Distributions | +| Direct Connect | Connections, Virtual Interfaces | + +## 보안 및 ID + +| Service | Resources | +|---------|-----------| +| IAM | Users, Roles, Policies, Groups, Instance Profiles | +| KMS | Keys | +| ACM | Certificates | +| Secrets Manager | Secrets | +| SSM | Parameters | +| Cognito | User Pools, Users | +| GuardDuty | Detectors, Findings | +| WAF | Web ACLs | +| Inspector | Findings | +| Security Hub | Findings | +| Firewall Manager | Policies | +| Network Firewall | Firewalls, Firewall Policies, Rule Groups | +| IAM Access Analyzer | Analyzers, Findings | +| Detective | Graphs, Investigations | +| Macie | Classification Jobs, Findings, Buckets | + +## 통합 + +| Service | Resources | +|---------|-----------| +| SQS | Queues | +| SNS | Topics, Subscriptions | +| EventBridge | Event Buses, Rules | +| Step Functions | State Machines, Executions | +| Kinesis | Streams | +| Transfer Family | Servers, Users | +| DataSync | Tasks, Locations, Task Executions | + +## 관리 및 모니터링 + +| Service | Resources | +|---------|-----------| +| CloudFormation | Stacks, Events, Resources, Outputs | +| CloudWatch | Alarms, Log Groups, Log Streams | +| CloudTrail | Trails, Events | +| AWS Config | Rules | +| AWS Health | Events | +| X-Ray | Groups | +| Service Quotas | Services, Quotas | +| CodeBuild | Projects, Builds | +| CodePipeline | Pipelines, Executions | +| AWS Backup | Plans, Vaults, Selections, Protected Resources, Backup Jobs, Copy Jobs, Restore Jobs, Recovery Points | +| Organizations | Accounts, OUs, Policies, Roots | +| License Manager | Configurations, Licenses, Grants | + +## 비용 관리 + +| Service | Resources | +|---------|-----------| +| RI/SP | Reserved Instances, Savings Plans | +| Cost Explorer | Costs, Anomalies, Monitors | +| Compute Optimizer | Summary, Recommendations | +| Trusted Advisor | Recommendations | +| Budgets | Budgets, Notifications | + +--- + +## 서비스 별칭 + +자주 사용하는 서비스의 빠른 단축키입니다: + +| Alias | Service | +|-------|---------| +| `cfn`, `cf` | CloudFormation | +| `sg` | EC2 Security Groups | +| `asg` | Auto Scaling | +| `cw` | CloudWatch | +| `logs` | CloudWatch Log Groups | +| `ddb` | DynamoDB | +| `sm` | Secrets Manager | +| `r53` | Route 53 | +| `eb` | EventBridge | +| `sfn` | Step Functions | +| `sq`, `quotas` | Service Quotas | +| `apigw`, `api` | API Gateway | +| `elb`, `alb`, `nlb` | Elastic Load Balancing | +| `redis`, `cache` | ElastiCache | +| `es`, `elasticsearch` | OpenSearch | +| `cdn`, `dist` | CloudFront | +| `gd` | GuardDuty | +| `build`, `cb` | CodeBuild | +| `pipeline`, `cp` | CodePipeline | +| `waf` | WAF | +| `ce`, `cost-explorer` | Cost Explorer | +| `co` | Compute Optimizer | +| `ta` | Trusted Advisor | +| `ri` | Reserved Instances | +| `sp` | Savings Plans | +| `odcr` | Capacity Reservations | +| `tgw` | Transit Gateways | +| `agentcore` | Bedrock AgentCore | +| `kb` | Bedrock Agent Knowledge Bases | +| `agent` | Bedrock Agent Agents | +| `models` | Bedrock Foundation Models | +| `guardrail` | Bedrock Guardrails | +| `eks` | EKS | diff --git a/docs/services.zh-CN.md b/docs/services.zh-CN.md new file mode 100644 index 0000000..2e7af53 --- /dev/null +++ b/docs/services.zh-CN.md @@ -0,0 +1,159 @@ +# 支持的服务 + +claws 支持 **69 个服务**和 **169 个资源**。 + +## 计算 + +| Service | Resources | +|---------|-----------| +| EC2 | Instances, Volumes, Security Groups, Elastic IPs, Key Pairs, AMIs, Snapshots, Launch Templates, Capacity Reservations | +| Lambda | Functions | +| ECS | Clusters, Services, Tasks, Task Definitions | +| Auto Scaling | Groups, Activities | +| App Runner | Services, Operations | +| Batch | Job Queues, Compute Environments, Jobs, Job Definitions | +| EMR | Clusters, Steps | + +## 存储和数据库 + +| Service | Resources | +|---------|-----------| +| S3 | Buckets | +| S3 Vectors | Buckets, Indexes | +| DynamoDB | Tables | +| RDS | Instances, Snapshots | +| Redshift | Clusters, Snapshots | +| ElastiCache | Clusters | +| OpenSearch | Domains | + +## 数据和分析 + +| Service | Resources | +|---------|-----------| +| Glue | Databases, Tables, Crawlers, Jobs, Job Runs | +| Athena | Workgroups, Query Executions | +| Transcribe | Jobs | + +## 容器和机器学习 + +| Service | Resources | +|---------|-----------| +| ECR | Repositories, Images | +| EKS | Clusters, Node Groups, Fargate Profiles, Addons, Access Entries | +| Bedrock | Foundation Models, Guardrails, Inference Profiles | +| Bedrock Agent | Agents, Knowledge Bases, Data Sources, Prompts, Flows | +| Bedrock AgentCore | Runtimes, Endpoints, Versions | +| SageMaker | Endpoints, Notebooks, Training Jobs, Models | + +## 网络 + +| Service | Resources | +|---------|-----------| +| VPC | VPCs, Subnets, Route Tables, Internet Gateways, NAT Gateways, VPC Endpoints, Transit Gateways, TGW Attachments | +| Route 53 | Hosted Zones, Record Sets | +| API Gateway | REST APIs, HTTP APIs, Stages | +| AppSync | GraphQL APIs, Data Sources | +| ELB | Load Balancers, Target Groups, Targets | +| CloudFront | Distributions | +| Direct Connect | Connections, Virtual Interfaces | + +## 安全和身份 + +| Service | Resources | +|---------|-----------| +| IAM | Users, Roles, Policies, Groups, Instance Profiles | +| KMS | Keys | +| ACM | Certificates | +| Secrets Manager | Secrets | +| SSM | Parameters | +| Cognito | User Pools, Users | +| GuardDuty | Detectors, Findings | +| WAF | Web ACLs | +| Inspector | Findings | +| Security Hub | Findings | +| Firewall Manager | Policies | +| Network Firewall | Firewalls, Firewall Policies, Rule Groups | +| IAM Access Analyzer | Analyzers, Findings | +| Detective | Graphs, Investigations | +| Macie | Classification Jobs, Findings, Buckets | + +## 集成 + +| Service | Resources | +|---------|-----------| +| SQS | Queues | +| SNS | Topics, Subscriptions | +| EventBridge | Event Buses, Rules | +| Step Functions | State Machines, Executions | +| Kinesis | Streams | +| Transfer Family | Servers, Users | +| DataSync | Tasks, Locations, Task Executions | + +## 管理和监控 + +| Service | Resources | +|---------|-----------| +| CloudFormation | Stacks, Events, Resources, Outputs | +| CloudWatch | Alarms, Log Groups, Log Streams | +| CloudTrail | Trails, Events | +| AWS Config | Rules | +| AWS Health | Events | +| X-Ray | Groups | +| Service Quotas | Services, Quotas | +| CodeBuild | Projects, Builds | +| CodePipeline | Pipelines, Executions | +| AWS Backup | Plans, Vaults, Selections, Protected Resources, Backup Jobs, Copy Jobs, Restore Jobs, Recovery Points | +| Organizations | Accounts, OUs, Policies, Roots | +| License Manager | Configurations, Licenses, Grants | + +## 成本管理 + +| Service | Resources | +|---------|-----------| +| RI/SP | Reserved Instances, Savings Plans | +| Cost Explorer | Costs, Anomalies, Monitors | +| Compute Optimizer | Summary, Recommendations | +| Trusted Advisor | Recommendations | +| Budgets | Budgets, Notifications | + +--- + +## 服务别名 + +常用服务的快捷方式: + +| Alias | Service | +|-------|---------| +| `cfn`, `cf` | CloudFormation | +| `sg` | EC2 Security Groups | +| `asg` | Auto Scaling | +| `cw` | CloudWatch | +| `logs` | CloudWatch Log Groups | +| `ddb` | DynamoDB | +| `sm` | Secrets Manager | +| `r53` | Route 53 | +| `eb` | EventBridge | +| `sfn` | Step Functions | +| `sq`, `quotas` | Service Quotas | +| `apigw`, `api` | API Gateway | +| `elb`, `alb`, `nlb` | Elastic Load Balancing | +| `redis`, `cache` | ElastiCache | +| `es`, `elasticsearch` | OpenSearch | +| `cdn`, `dist` | CloudFront | +| `gd` | GuardDuty | +| `build`, `cb` | CodeBuild | +| `pipeline`, `cp` | CodePipeline | +| `waf` | WAF | +| `ce`, `cost-explorer` | Cost Explorer | +| `co` | Compute Optimizer | +| `ta` | Trusted Advisor | +| `ri` | Reserved Instances | +| `sp` | Savings Plans | +| `odcr` | Capacity Reservations | +| `tgw` | Transit Gateways | +| `agentcore` | Bedrock AgentCore | +| `kb` | Bedrock Agent Knowledge Bases | +| `agent` | Bedrock Agent Agents | +| `models` | Bedrock Foundation Models | +| `guardrail` | Bedrock Guardrails | +| `eks` | EKS |