Web Service Wrapper for ACP-compatible Agents
Ngent wraps command-line agents that speak the Agent Client Protocol (ACP) into a web service, making them accessible via HTTP API and Web UI.
Ngent acts as a bridge between ACP-compatible agents (like Claude Code, Codex, Gemini CLI, Kimi CLI) and web clients:
┌─────────────┐ HTTP/WebSocket ┌─────────┐ JSON-RPC (ACP) ┌──────────────┐
│ Web UI │ ◄────────────────────► │ Ngent │ ◄────────────────────► │ CLI Agent │
│ /v1/* API │ SSE streaming │ Server │ stdio │ (ACP-based) │
└─────────────┘ └─────────┘ └──────────────┘
- ACP Protocol: Agents like Claude Code, Codex, and Kimi CLI expose their capabilities through the Agent Client Protocol (ACP) — a JSON-RPC protocol over stdio
- Ngent Bridge: Ngent spawns these CLI agents as child processes and translates their ACP protocol into HTTP/JSON APIs
- Web Interface: Provides a built-in Web UI and REST API for creating conversations, sending prompts, and managing permissions
- 🔌 Multi-Agent Support: Works with any ACP-compatible agent (Codex, Claude Code, Gemini, Kimi, Qwen, OpenCode)
- 🌐 Web API: HTTP/JSON endpoints with Server-Sent Events (SSE) for streaming responses
- 🖥️ Built-in UI: No separate frontend deployment needed — the web UI is embedded in the binary
- 🔒 Permission Control: Fine-grained approval system for agent file/system operations
- 💾 Persistent State: SQLite-backed conversation history across sessions
- 📱 Mobile Friendly: QR code for easy access from mobile devices on the same network
| Agent | Supported |
|---|---|
| Codex | ✅ |
| Claude Code | ✅ |
| Gemini CLI | ✅ |
| Kimi CLI | ✅ |
| Qwen Code | ✅ |
| OpenCode | ✅ |
curl -sSL https://raw.githubusercontent.com/beyond5959/ngent/master/install.sh | bash
# Or install to a custom directory:
curl -sSL https://raw.githubusercontent.com/beyond5959/ngent/master/install.sh | INSTALL_DIR=~/.local/bin bashStart with default settings (local-only):
ngentLAN-accessible mode (allows connections from other devices):
ngent --allow-public=trueCustom port:
ngent --port 8080With authentication:
ngent --auth-token "your-token"Show all options:
ngent --helpDefault paths:
- Database:
$HOME/.ngent/ngent.db
Notes:
/v1/*requests must includeX-Client-ID.
curl -s http://127.0.0.1:8686/healthz
curl -s -H "X-Client-ID: demo" http://127.0.0.1:8686/v1/agentsOpen the URL shown in the startup output (e.g., http://127.0.0.1:8686/).