Skip to content

feat: add zero-npm Web UI channel (FastAPI + WebSocket, ~45MB RAM)#1707

Open
lakshmana64 wants to merge 3 commits intoHKUDS:mainfrom
lakshmana64:feat/webui-channel
Open

feat: add zero-npm Web UI channel (FastAPI + WebSocket, ~45MB RAM)#1707
lakshmana64 wants to merge 3 commits intoHKUDS:mainfrom
lakshmana64:feat/webui-channel

Conversation

@lakshmana64
Copy link
Copy Markdown

  • New WebUIChannel in nanobot/channels/webui.py (proper BaseChannel subclass)
  • Single-file OpenClaw-style Control UI in nanobot/channels/static/webui.html
  • WebSocket streaming + HTTP fallback via FastAPI
  • WebUIConfig added to schema.py + wired into ChannelManager
  • 12 passing tests in tests/test_webui_channel.py
  • Enable with: {"channels": {"webui": {"enabled": true}}} in config.json
  • RAM: ~45MB vs OpenClaw ~1GB, zero npm, zero Node.js

- New WebUIChannel in nanobot/channels/webui.py (proper BaseChannel subclass)
- Single-file OpenClaw-style Control UI in nanobot/channels/static/webui.html
- WebSocket streaming + HTTP fallback via FastAPI
- WebUIConfig added to schema.py + wired into ChannelManager
- 12 passing tests in tests/test_webui_channel.py
- Enable with: {"channels": {"webui": {"enabled": true}}} in config.json
- RAM: ~45MB vs OpenClaw ~1GB, zero npm, zero Node.js
@erknie
Copy link
Copy Markdown

erknie commented Mar 8, 2026

Brilliant idea. There is a requirement for a local first interface to Nanobot for people like contract programmers under NDA or health, legal, and other workers who legally can't share data with 3rd. parties like cloud providers etc. Having Nanobot use a local LLM on the LAN and a local webui will really help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants