Features
Arches Terminal User Interface (TUI)
Overview
The Arches TUI provides an interactive terminal interface for configuration management and AI agent interactions.
Features
- Configuration Viewer (default mode) - Browse all settings without needing API keys
- AI Chat Interface (--chat mode) - Interactive conversations with AI agents
- Beautiful Design - Centered layout with color-coded status indicators
- Multi-Provider Support - OpenAI, Claude, Gemini, Ollama, DeepSeek
Installation
The TUI is built into the main Arches binary:
Code
Usage
Configuration Viewer (Default)
Launch the configuration viewer without any API keys:
Code
This displays:
- 🗄️ Database Configuration
- 🌐 Server Configuration
- 🔐 Authentication Settings
- 📦 Redis Configuration
- 💾 Storage Settings
- 🤖 AI Agents & LLM Providers
- 📊 System Status
- 🔧 Environment Variables
AI Chat Mode
Launch the interactive AI chat interface:
Code
Keyboard Controls
Key | Action | Context |
---|---|---|
↑/↓ | Navigate items | Menu/Lists |
Enter | Select item | Menu/Send message |
ESC | Go back | Sub-menus |
Tab | Toggle agent list | Chat mode |
Ctrl+C | Quit | Any time |
Configuration Display
Status Indicators
- ● Green dot - Active/Configured
- ● Orange dot - Inactive/Optional
- ○ Red circle - Not configured
- ✓ Check mark - Enabled
- ✗ X mark - Disabled
Value Display
- Regular values: Shown in light gray
- Sensitive data: Displayed as
••••••••
- Empty values: Shown as "not set" in italics
Examples
Basic Usage
The TUI provides interactive prompts and feedback for all operations.
Basic Usage Example
Code
Using Default Personas
Code
Architecture
The TUI is built with:
- Bubble Tea - Terminal UI framework
- Lipgloss - Terminal styling
Design Principles
- No Setup Required - Config viewer works without any API keys
- Centered Layout - Fixed 60-character width for clean appearance
- Visual Feedback - Color-coded status indicators
- Responsive - Adapts to terminal size
- Consistent - Same formatting across all sections
- Simple Architecture - Direct LLM usage without complex abstractions
Chat Interface Features
Multi-Agent Support
- Switch between different AI personas using
Tab
- Each persona has its own conversation history
- Configurable system prompts and temperature settings
Session Management
- Automatic conversation history management
- Context preservation across messages
- Clean session state for each persona
Provider Support
- OpenAI: Full support with all models (gpt-4, gpt-3.5-turbo, etc.)
- Ollama: Local model support (llama2, mistral, etc.)
- Claude/Gemini/DeepSeek: Ready for implementation
Troubleshooting
Terminal Issues
- Ensure your terminal supports 256 colors
- Use a modern terminal (iTerm2, Windows Terminal, Alacritty)
- Try resizing if display appears broken
API Key Issues
- Set environment variables:
OPENAI_API_KEY
,ANTHROPIC_API_KEY
, etc. - Or use
--api-key
flag - Verify key has proper permissions
Provider Notes
- OpenAI: Fully functional with streaming support
- Ollama: Requires local Ollama server running (http://localhost:11434)
- Claude/Gemini: Implementation ready, just need client setup
Development
To modify the TUI:
- Edit
internal/tui/config_tui.go
for config viewer - Edit
internal/tui/tui.go
for chat interface - Edit
internal/cli/tui.go
for CLI integration - Edit
internal/adapters/llm/chat.go
for chat client functionality
Run tests:
Code
Future Enhancements
- Search/filter in configuration
- Edit configuration values directly
- Export/import configuration
- Connection testing for services
- Theme customization
- Streaming response support in TUI
- File upload support for chat
- Tool/function calling integration
Last modified on