| Crates.io | zeteo |
| lib.rs | zeteo |
| version | 0.3.0 |
| created_at | 2025-12-01 10:57:33.964664+00 |
| updated_at | 2025-12-01 12:27:22.907922+00 |
| description | A Rust-based CLI AI agent with OTEL log exploration capabilities |
| homepage | https://github.com/adarshba/zeteo-cli |
| repository | https://github.com/adarshba/zeteo-cli |
| max_upload_size | |
| id | 1959636 |
| size | 282,786 |
A terminal-based AI assistant with observability log analysis capabilities, built in Rust.
Zeteo is a command-line AI assistant that combines conversational AI with observability log analysis. It provides a responsive terminal user interface with support for multiple AI providers and log backends, enabling natural language queries against your logs.
cargo install zeteo
Download pre-built binaries from the releases page.
Available for:
git clone https://github.com/adarshba/zeteo-cli.git
cd zeteo-cli
cargo install --path .
# OpenAI
export OPENAI_API_KEY=sk-your-api-key
# Google AI
export GOOGLE_API_KEY=AIza-your-api-key
# Azure OpenAI
export AZURE_OPENAI_API_KEY=your-api-key
export AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com
export AZURE_OPENAI_DEPLOYMENT=your-deployment-name
zeteo
cp config.example.json config.json
# Edit config.json with your backend settings
Set credentials via environment variables or a .env file:
| Provider | Required Variables |
|---|---|
| OpenAI | OPENAI_API_KEY |
| Google AI | GOOGLE_API_KEY |
| Azure OpenAI | AZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT, AZURE_OPENAI_DEPLOYMENT |
| Vertex AI | GOOGLE_CLOUD_PROJECT, GOOGLE_CLOUD_LOCATION |
Configure backends in config.json. The config file is searched in the following order:
./config.json (current directory)~/.config/zeteo/config.json (Linux/macOS) or %APPDATA%\zeteo\config.json (Windows){
"backends": {
"kibana": {
"type": "kibana",
"url": "http://localhost:5601",
"index_pattern": "logs-*"
},
"openobserve": {
"type": "openobserve",
"url": "http://localhost:5080",
"username": "admin@example.com",
"password": "changeme",
"organization": "default",
"stream": "default"
},
"elasticsearch": {
"type": "elasticsearch",
"url": "http://localhost:9200",
"index_pattern": "logs-*"
}
}
}
See config.example.json for a complete example.
Kibana
| Field | Description | Required |
|---|---|---|
type |
Must be "kibana" |
Yes |
url |
Kibana server URL | Yes |
auth_token |
JWT or API token for authentication | No |
index_pattern |
Elasticsearch index pattern (default: logs-*) |
No |
verify_ssl |
Verify SSL certificates (default: false) |
No |
version |
Kibana version (default: 7.10.2) |
No |
OpenObserve
| Field | Description | Required |
|---|---|---|
type |
Must be "openobserve" |
Yes |
url |
OpenObserve server URL | Yes |
username |
OpenObserve username | Yes |
password |
OpenObserve password | Yes |
organization |
Organization name (default: default) |
No |
stream |
Stream name (default: default) |
No |
verify_ssl |
Verify SSL certificates (default: false) |
No |
Elasticsearch
| Field | Description | Required |
|---|---|---|
type |
Must be "elasticsearch" |
Yes |
url |
Elasticsearch cluster URL | Yes |
username |
Elasticsearch username | No |
password |
Elasticsearch password | No |
index_pattern |
Index pattern to query (default: logs-*) |
No |
verify_ssl |
Verify SSL certificates (default: false) |
No |
zeteo # Auto-detect provider and backend
zeteo --provider openai # Use specific AI provider
zeteo --backend kibana # Use specific log backend
zeteo --provider openai --backend kibana
| Key | Action |
|---|---|
| Enter | Send message |
| Esc | Exit application |
| Up/Down | Scroll through messages |
| Page Up/Down | Scroll by page |
| Ctrl+Y | Copy last AI response to clipboard |
| Ctrl+C | Force exit |
| Command | Shortcut | Description |
|---|---|---|
/help |
/h |
Show available commands |
/quit |
/q |
Exit the application |
/clear |
/c |
Clear current session history |
/copy |
/y |
Copy last AI response to clipboard |
/backend |
/b |
Switch log backend |
/index |
/i |
Change index pattern for this session |
/resume |
/r |
Resume a previous conversation |
With a log backend configured:
# Build
cargo build
# Test
cargo test
# Lint
cargo clippy
cargo fmt --check
See CONTRIBUTING.md for guidelines.
MIT License. See LICENSE for details.