codemo1991/nanobot-webui
๐ฏ Nanobot WebUI โ A Smarter, More Efficient Claude AI Assistant โ Coding & Bug Fixes โ Excel / PDF / PPT Processing โ Git Automation โ Visual Configuration Panel โ Q&A & Knowledge Management 24/7 ready to boost your productivity ๐
Tribute to nanobot
This project is built upon nanobot for secondary development. nanobot was inspired by Clawdbot, implementing complete Agent functionality with approximately 4000 lines of core code. Thanks to the nanobot community for the lightweight, readable, and extensible foundation.
๐ข What's New in This Fork
This fork extends nanobot with Web UI, MCP support, additional channels (Discord, QQ, DingTalk), document/office skills, system monitoring, and more.
โจ Features Overview
| Category | Features |
|---|---|
| Core Capabilities | Multi-platform: Web UI, Telegram, Feishu, CLI; Local่ฟ่ก๏ผไฟๆค้็ง; Support for multiple LLMs (DeepSeek, Claude, GPT, etc.) |
| Function Modules | File system operations, Code execution, Memory system (long-term + daily notes), Extensible skill system |
| Web UI | React + TypeScript SPA: Chat, Config (Channels/Providers/Models/MCP/Skills), System Status |
| Channels | Discord, QQ (qq-botpy), DingTalk (้้), plus original Telegram, WhatsApp, Feishu |
| MCP | Model Context Protocol integration โ connect external tools via stdio/HTTP/SSE |
| Skills | claude-code, git-manager, xlsx, pdf, pptx, skill-creator, mirror-system, code-review-expert |
| Cron | Schedule reminders and recurring tasks โ set fixed-time or interval-based jobs |
| Providers | Zhipu (ๆบ่ฐฑ), DashScope (้ไนๅ้ฎ), vLLM, OpenRouter, Anthropic, OpenAI, DeepSeek, Groq, Gemini, Minimax |
| Startup Scripts | nanobot-launcher.sh (Linux/macOS) + nanobot-launcher.ps1 (Windows) โ Auto environment check, dependency update, frontend build, one-click launch |
| System | StatusRepository (SQLite), SystemStatusService (uptime, session count), centralized logging |
๐ ๏ธ Built-in Skills
nanobot-webui comes with a powerful skill system that extends the AI's capabilities:
| Skill | Description |
|---|---|
| claude-code | Delegate coding tasks to Claude Code CLI for advanced code generation and refactoring |
| git-manager | Git repository management โ commit, push, pull, branch operations |
| xlsx | Excel spreadsheet operations โ read, write, edit .xlsx files |
| PDF operations โ read, write, merge, split PDF documents | |
| pptx | PowerPoint presentation operations โ create and edit .pptx files |
| skill-creator | Create new skills to extend nanobot's capabilities |
| mirror-system | Self-awareness exploration system for personal growth |
| code-review-expert | Git diff code review โ analyze changes and provide feedback |
Creating Custom Skills
The skill system is extensible. You can create custom skills by implementing skill functions that the AI can invoke. See the skill-creator skill for a template.
โฐ Scheduled Tasks (Cron)
nanobot-webui supports scheduled tasks through a built-in Cron system, allowing you to set up recurring reminders and automated actions:
| Feature | Description |
|---|---|
| Fixed-Time Jobs | Schedule tasks at specific times (e.g., daily 9:00 AM, weekly Monday 10:00 AM) |
| Interval Jobs | Run tasks at regular intervals (e.g., every 30 minutes, every 2 hours) |
| Recurring Reminders | Set up periodic reminders for meetings, deadlines, health checks, etc. |
| Message Channels | Send scheduled messages to any configured channel (Feishu, Telegram, Discord, etc.) |
Usage Example
# Set a daily reminder
"ๆฏๅคฉๆฉไธ 9 ็นๆ้ๆๅๆฐด"
# Set a weekly meeting reminder
"ๆฏๅจไธไธๅ 10 ็นๆ้ๆๅผๅจไผ"
# Set an interval check
"ๆฏๅๅฐๆถๆฃๆฅไธไธๆๅกๅจ็ถๆ"
The Cron system runs in the background and automatically delivers scheduled messages to your configured channels.
๐ธ Screenshots
Chat
Multi-turn conversation with Nanobot, Markdown rendering, new sessions and history. Example shows weather query โ Agent fetches real-time data via MCP tools and returns structured card results.
System Status
View service health, uptime, active session count, installed Skills, workspace path, and system environment info.
Config โ Channels (IM)
Manage IM channel enablement and config โ Feishu, Discord, QQ, DingTalk, Telegram, WhatsApp, and more.
Config โ Providers (AI)
Manage AI model providers โ DeepSeek, Qwen, Zhipu, OpenAI, Anthropic, OpenRouter, vLLM, Groq, Gemini, etc. Add, edit, or remove providers.
Config โ Default Model
Set the default Agent model โ model name (provider/model-name format), Temperature, Max Tokens, and other parameters.
Config โ MCP
Manage Model Context Protocol servers โ stdio, http, sse, streamable_http. Import/generate JSON or add new MCP services.
Config โ Skills
Manage AI skills โ select skill folders for upload to workspace, view installed skills (version, status, description), enable or disable.
๐ Quick Start
Install
git clone https://github.com/codemo1991/nanobot-webui.git
cd nanobot-webui
pip install -e .๐ One-Click Startup (Recommended for New Users) โญ
The intelligent startup scripts in the scripts/ directory handle everything automatically โ the simplest way to get started:
Supported Platforms:
- Linux / macOS:
nanobot-launcher.sh - Windows PowerShell:
nanobot-launcher.ps1
What it does:
- โ Automatically checks Python (โฅ3.11) and Node.js environment
- โ Automatically installs/updates Python dependencies
- โ Automatically builds the frontend
- โ One-click launches the Web UI service
Usage:
- Windows (PowerShell):
.\scripts\nanobot-launcher.ps1 - Linux / macOS:
chmod +x scripts/nanobot-launcher.sh ./scripts/nanobot-launcher.sh
Then open http://127.0.0.1:6788
Tip: Run the script again anytime to update dependencies and restart the service โ the simplest way to keep your installation up-to-date!
Manual Startup (Without Scripts)
Web UI
# Build frontend (first time)
cd web-ui && npm install && npm run build && cd ..
# Start Web UI (backend + static files)
nanobot web-uiOpen http://127.0.0.1:6788 โ Chat, Config, and System pages are available.
CLI Chat
nanobot onboard # Initialize config
# Edit ~/.nanobot/config.json with your API key
nanobot agent -m "Hello!"Docker
# Build the image
docker build -t nanobot-webui .
# Run (recommended: mount volume for config persistence)
docker run -d -p 6788:6788 -v nanobot-data:/root/.nanobot --name nanobot nanobot-webui
# Or use host path for config
docker run -d -p 6788:6788 -v ~/.nanobot:/root/.nanobot --name nanobot nanobot-webuiThen open http://127.0.0.1:6788. On first launch, the app auto-creates ~/.nanobot/config.json; add your API key via the Config page in the Web UI.
๐ป Web Interface Features
- Chat โ Create sessions, multi-turn conversations, Markdown rendering, session persistence
- File Browser โ Browse and manage workspace files directly from the UI
- Session History โ View and manage conversation history
- Model Switching โ Easily switch between different AI models
- Config โ Manage Channels (IM), Providers, Models, MCP servers, Skills
- System โ Health check, uptime, session count, system info, config export
๐ฆ Optional Dependencies
# Feishu
pip install nanobot-ai[feishu]
# QQ
pip install nanobot-ai[qq]
# DingTalk
pip install nanobot-ai[dingtalk]
# MCP
pip install nanobot-ai[mcp]๐ Project Structure (This Fork)
nanobot/
โโโ agent/ # Core agent (loop, context, memory, tools)
โ โโโ tools/ # mcp.py, filesystem, shell, registry...
โโโ channels/ # telegram, whatsapp, feishu, discord, qq, dingtalk
โโโ web/ # REST API server (api.py)
โโโ mcp/ # MCP loader
โโโ storage/ # StatusRepository (SQLite)
โโโ services/ # SystemStatusService
โโโ skills/ # claude-code, git-manager, xlsx, pdf, pptx, skill-creator, mirror-system, code-review-expert...
โโโ providers/ # LLM providers (OpenAI, Anthropic, DeepSeek, etc.)
โโโ config/ # Extended schema (Discord, QQ, DingTalk, MCP)
โโโ cli/ # web-ui command, status, etc.
web-ui/ # React SPA (Chat, Config, System)
scripts/ # Startup scripts (nanobot-launcher.sh, nanobot-launcher.ps1)
๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request or open an Issue for bugs and feature requests.
Development Setup
# Clone the repository
git clone https://github.com/codemo1991/nanobot-webui.git
cd nanobot-webui
# Install in development mode
pip install -e .
# Install web-ui dependencies
cd web-ui && npm install
# Run development server
cd ..
nanobot web-uiCode Style
- Python: Follow PEP 8
- JavaScript/TypeScript: Follow ESLint configuration
- Commit messages: Use clear, descriptive messages
๐ License
MIT License โ see LICENSE file for details.
๐ค Credits
- nanobot โ The base project this fork builds upon
- nanobot contributors โ For the lightweight, research-friendly design
Thanks for visiting โจ nanobot-webui!







