| name | web-console |
| description | Built-in web interface for communicating with Claude without external services. Use when setting up or configuring the web console channel, or troubleshooting browser-based access. |
| lifecycle | {"npm":true,"service":{"type":"pm2","name":"web-console","entry":"scripts/server.js"}} |
Web Console (C4 Built-in Channel)
Default communication channel - works without any external service.
Purpose
Allows users to communicate with Claude even without Telegram/Lark/Discord.
This is the baseline, always-available interface.
Quick Start
cd ~/zylos/.claude/skills/web-console
npm install
node scripts/server.js
pm2 start scripts/server.js --name web-console
Access
Local only: http://127.0.0.1:3456
Server binds to 127.0.0.1 by default for security.
Architecture
Browser āāāŗ Web Console Server āāāŗ C4 Bridge āāāŗ Claude
ā
ā¼
SQLite (c4.db)
API Endpoints
| Endpoint | Method | Description |
|---|
/api/status | GET | Get Claude's current status |
/api/conversations/recent | GET | Get recent conversation history |
/api/send | POST | Send message to Claude |
/api/poll?since_id=N | GET | Poll for new messages |
/api/health | GET | Server health check |
Files
~/zylos/.claude/skills/web-console/
āāā SKILL.md
āāā package.json
āāā scripts/
ā āāā server.js # Express API server
ā āāā send.js # CLI message sender
āāā public/
āāā index.html # Chat UI
āāā styles.css # Styling
āāā app.js # Frontend logic
Environment Variables
| Variable | Default | Description |
|---|
WEB_CONSOLE_PORT | 3456 | Server port |
ZYLOS_WEB_PASSWORD | (empty) | Set to enable password protection (also reads WEB_CONSOLE_PASSWORD as fallback) |
WEB_CONSOLE_BIND | 127.0.0.1 | Bind address |
ZYLOS_DIR | ~/zylos | Data directory |
Authentication
By default, no password is required (suitable for local access).
To enable password protection (recommended when exposing externally):
- Set
ZYLOS_WEB_PASSWORD in ~/zylos/.env
- Restart the web-console service
Features
- Real-time status indicator (busy/idle/offline)
- Message polling every 2 seconds
- Auto-resizing input
- Mobile-friendly responsive design
- Dark theme