h-cli is now a multi-interface, self-learning infrastructure assistant.
What's new
Interfaces
- Slack — Socket Mode, slash commands, thread-aware replies
- Discord — Gateway, embeds, abort buttons, ephemeral messages
- Web UI — FastAPI + WebSocket, HTTPS, multi-user, h-cli.ai theme, conversation history restore
- Telegram — activity stream improvements, source tracking
All four interfaces share the same Redis contracts. Enable any combination via setup.sh or compose profiles.
Concurrent Processing
- Thread pool dispatcher with
MAX_CONCURRENT_TASKS(default 3) - Per-chat serialization — same user sequential, different users parallel
- Long-running command feedback (elapsed timer after 30s)
Self-Learning Vector Memory
- Conversations auto-indexed into Qdrant nightly via MiniLM embeddings
- Multi-collection support — drop JSONL into
data/collections/, restart - Smart default collection resolution from
QDRANT_COLLECTIONSenv var - Generic memory proxy — forwards all parameters without interpretation
Security
- Env output redaction —
env/printenvvalues blanket-redacted - 45 hardening items across 12 services
- All interfaces fail-closed on empty credentials
Deployment
- Interactive
setup.shwith interface selection - Compose profiles per interface (
telegram,slack,discord,web) - Self-signed SSL auto-generated for web UI
- Conversation auto-indexing schedule (configurable time)
ACTIVITY_CMD_MAX_LENconfigurable via env (default 150)
Quick Start
git clone https://github.com/h-network/h-cli.git && cd h-cli
bash setup.sh
docker compose up -d
Full docs: https://h-cli.ai