-
Notifications
You must be signed in to change notification settings - Fork 2
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
AI Chat using Bedrock Converse API + Tool Use. Query AWS resources with natural language.
Tools (6)
| Tool | Purpose | Implementation |
|---|---|---|
list_services |
List 69 services | Registry |
list_resources |
List resource types | Registry |
query_resources |
List resources | DAO.List() |
get_resource_detail |
Get resource detail | DAO.Get() |
tail_logs |
CloudWatch Logs | FilterLogEvents |
search_aws_docs |
AWS documentation | AWS Docs API |
UI Modes
Overlay Mode (context-aware)
Invoke from any view with keybind. AI knows current context.
┌─────────────────────────────────────────────┐
│ ResourceBrowser (dimmed) │
│ ┌─────────────────────────────────────────┐ │
│ │ 💬 AI Chat [Esc] │ │
│ │ Context: ec2/instances/i-0abc123 │ │
│ │───────────────────────────────────────── │ │
│ │ You: What is this instance for? │ │
│ │ AI: This is a web server in prod VPC... │ │
│ │ > [input] │ │
│ └─────────────────────────────────────────┘ │
└─────────────────────────────────────────────┘
Fullscreen Mode (:chat)
Dedicated chat view for longer conversations.
Context Awareness
| Current View | Auto Context |
|---|---|
| ResourceBrowser | service, resource_type, selected item |
| DetailView | full resource detail |
| LogView | log_group, current filter |
| ServiceBrowser | none (general chat) |
Persistence
Phase 1: Session History
~/.config/claws/chat/
├── sessions/
│ ├── 2026-01-07-abc123.json
│ └── 2026-01-07-def456.json
└── current.json
- Keep last N sessions (default: 10)
:chat history- list past sessions:chat resume- resume session
Phase 2 (future): Resource Notes
- AI auto-saves important findings per resource
- Show "AI Notes" section in DetailView
Implementation
New Files
internal/ai/bedrock.go- Converse API wrapper (streaming)internal/ai/tools.go- Tool definitions + executorinternal/ai/session.go- Session persistenceinternal/view/chat_overlay.go- Overlay componentinternal/view/chat_view.go- Fullscreen chat
Key Decisions
- Read-only: List/Get only, no destructive operations
- DAO-based: 163 resources, grows with DAOs
- Model: Configurable (Sonnet/Haiku)
Tasks
- Bedrock Converse API wrapper (streaming)
- Tool definitions + executor
- Context extraction from views
- Chat overlay component
- Fullscreen chat view
- Session persistence
- Config: model, region, max_sessions
- Keybind integration
Open Questions
- Overlay keybind:
A??a? - Default model: Sonnet vs Haiku
- Max context tokens to send
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request