hunter3 is a personal AI assistant designed to bridge various messaging channels with LLM providers and external tools. With its configurable WebSocket-based gateway, it manages conversations dynamically, allowing for real-time modifications and self-reprogramming, making it a powerful tool for communication and project management.
hunter3 is a personal AI assistant designed to enhance communication across various messaging channels by integrating with large language model providers and external tools. It utilizes a configurable WebSocket-based gateway to effectively manage conversations and sessions.
Key Features
- Self-Modifying Capabilities: hunter3 can adapt and reprogram itself on-the-fly. Users can simply prompt it with the necessary changes, allowing it to modify and rebuild its configuration automatically while reconnecting with the IRC server. If issues arise, terminal access enables straightforward fixes using CLI tools like Claude.
- Support for Multiple Communication Methods: While primarily intended for IRC communication, hunter3 can be configured to work with different methods by integrating Bitlbee, a multi-protocol gateway.
Architecture Overview
Messaging Channels Gateway LLM Providers
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ │ │ Router │ │ Claude CLI │
│ │ │ │ │ ├──────────────┤
│ IRC │◄──────►│ Agent │◄──────►│ Gemini CLI │
│ │ │ │ │ ├──────────────┤
│ │ │ Sessions │ │ Ollama │
└──────────────┘ └──────┬───────┘ └──────────────┘
│
┌─────────────┼─────────────┐
│ │ │
┌──────┴──────┐ ┌───┴────┐ ┌──────┴──────┐
│ MCP │ │ SQLite │ │ Plugins │
│ Servers │ │ DB │ │ │
└─────────────┘ └────────┘ └─────────────┘
Messaging Flow
Messages flow through a channel, passing the router to an agent which interacts with an LLM provider before returning responses. LLM integration leverages existing CLI tools, ensuring authentication, caching, and rate limiting are handled without needing direct API clients.
Plugin System
hunter3 features a flexible plugin architecture, allowing the addition of custom functionalities. Plugins can intercept messages and manage events within the system:
type Plugin interface {
ID() string
Name() string
Version() string
Init(ctx context.Context, api plugin.API) error
Close() error
}
Built-in MCP Servers
hunter3 comes equipped with multiple built-in Model Context Protocol (MCP) servers, facilitating a wide array of functionalities:
- Brave Search: Access web and news searching functionalities with Brave's API.
- Docker Management: Manage Docker containers and operations using CLI commands.
- Google Drive: Integrate file management capabilities on Google Drive via OAuth2.
Additionally, users can configure environment variables to customize functionality and connections including IRC settings, API keys for services like Brave and DigitalOcean, and user credentials for Gmail.
Enhanced Streaming Support
The assistant includes advanced streaming capabilities allowing users to process output incrementally while executing multiple commands, utilizing both standard and streaming execution modes for improved interactivity:
// Streaming execution with callback
result, err := runner.RunStream(ctx, msg, func(evt llm.StreamEvent) {
switch evt.Type {
case "delta":
fmt.Print(evt.Content)
case "done":
// Final response available
}
})
hunter3 stands as a robust solution for seamless communication management, capable of self-improvement, and extensibility, making it an ideal choice for developers and users alike seeking to leverage AI-integrated messaging capabilities.
No comments yet.
Sign in to be the first to comment.