+----------------+ +-------------+ +--------------+
| CLI Interface |---->| Core Engine |---->| Tool System |
+----------------+ +-------------+ +--------------+
| | |
v v v
+----------------+ +-------------+ +--------------+
| Config System | | LLM Clients | | File System |
+----------------+ +-------------+ +--------------+
- Command parsing
- Option handling
- Output formatting
- Interactive prompts
- Task coordination
- Mode selection
- Provider management
- Memory management
- Shell command execution
- File operations
- Expert knowledge queries
- Human interaction
- Web scraping and data extraction
- Rate limiting controller
- Response cache manager
- Error recovery system
- Data format handlers
- Provider initialization
- Model configuration
- API communication
- Error handling
- Tool registration
- Permission management
- Mode-specific toolsets
- Tool chain composition
- State management
- Context tracking
- Key facts storage
- Work logging
- Command execution
- Output capture
- Safety controls
- Cowboy mode
- LLM Provider APIs
- File System
- Shell Environment
- Version Control
- Tool <-> Memory
- LLM <-> Tools
- Config <-> Engine
- Shell <-> Safety Controls
- Scraper <-> Cache System
+----------------+ +-------------+ +--------------+
| Rate Limiter |---->| HTTP Client |---->| Cache Layer |
+----------------+ +-------------+ +--------------+
| | |
v v v
+----------------+ +-------------+ +--------------+
| Retry Manager | | Parser Hub | | Error Handler|
+----------------+ +-------------+ +--------------+
The scraping system implements:
- Distributed rate limiting
- Intelligent retry backoff
- Response caching with TTL
- Format-specific parsing
- Graceful error recovery
[User Input] -> [CLI] -> [Config] -> [Engine]
|
[Output] <- [Console] <- [Tools] <- [LLM]
- User provides task description
- CLI processes command options
- Config system initializes environment
- Engine coordinates execution
- Tools perform operations
- Results stream to console
For usage instructions, see the Usage Guide.