Basic Usage
tracing_subscriber::fmt().init();
i18n::init();
let lang = env::var("HIPPO_LANG").unwrap_or_else(|_| "en".to_string());
let provider = match env::var("HIPPO_LLM_PROVIDER_KEY").as_deref() {
Ok("deepseek") => ModelProvider::DeepSeek,
Ok("anthropic") => ModelProvider::Anthropic,
Ok("google") => ModelProvider::Google,
_ => ModelProvider::OpenAI,
};
let hippox = Hippox::new("skills", provider, &lang).await?;
let config = ServiceConfig {
enable_cli: env::var("HIPPO_ENABLE_CLI")
.unwrap_or_else(|_| "true".to_string())
.parse::<bool>()
.unwrap_or(true),
enable_tcp: env::var("HIPPO_ENABLE_TCP")
.unwrap_or_else(|_| "false".to_string())
.parse::<bool>()
.unwrap_or(false),
enable_http: env::var("HIPPO_ENABLE_HTTP")
.unwrap_or_else(|_| "false".to_string())
.parse::<bool>()
.unwrap_or(false),
enable_websocket: env::var("HIPPO_ENABLE_WS")
.unwrap_or_else(|_| "false".to_string())
.parse::<bool>()
.unwrap_or(false),
enable_grpc: false,
};
hippox.start(config).await?;
Supported Protocols
| Protocol |
Address |
| CLI |
Terminal interaction |
| TCP |
127.0.0.1:8080 |
| HTTP |
http://127.0.0.1:8081 |
| WebSocket |
ws://127.0.0.1:8082 |
Environment Variables
| Variable |
Default |
Description |
| HIPPO_LANG |
en |
Language setting (en/zh) |
| HIPPO_LLM_PROVIDER_KEY |
None |
LLM provider (openai/deepseek/anthropic/google) |
| HIPPO_ENABLE_CLI |
true |
Enable CLI interface |
| HIPPO_ENABLE_TCP |
false |
Enable TCP server on 127.0.0.1:8080 |
| HIPPO_ENABLE_HTTP |
false |
Enable HTTP server on http://127.0.0.1:8081 |
| HIPPO_ENABLE_WS |
false |
Enable WebSocket server on ws://127.0.0.1:8082 |