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.
Messaging Channels Gateway LLM Providers
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ │ │ Router │ │ Claude CLI │
│ │ │ │ │ ├──────────────┤
│ IRC │◄──────►│ Agent │◄──────►│ Gemini CLI │
│ │ │ │ │ ├──────────────┤
│ │ │ Sessions │ │ Ollama │
└──────────────┘ └──────┬───────┘ └──────────────┘
│
┌─────────────┼─────────────┐
│ │ │
┌──────┴──────┐ ┌───┴────┐ ┌──────┴──────┐
│ MCP │ │ SQLite │ │ Plugins │
│ Servers │ │ DB │ │ │
└─────────────┘ └────────┘ └─────────────┘
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.
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
}
hunter3 comes equipped with multiple built-in Model Context Protocol (MCP) servers, facilitating a wide array of functionalities:
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.
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.