Skip to content

🎯 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 🚀

License

Notifications You must be signed in to change notification settings

codemo1991/nanobot-webui

Repository files navigation

nanobot

nanobot-webui: Ultra-Lightweight Personal AI Assistant

Python License Based on nanobot 中文


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
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 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.


📸 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.

Chat interface

System Status

View service health, uptime, active session count, installed Skills, workspace path, and system environment info.

System status

Config — Channels (IM)

Manage IM channel enablement and config — Feishu, Discord, QQ, DingTalk, Telegram, WhatsApp, and more.

Channels config

Config — Providers (AI)

Manage AI model providers — DeepSeek, Qwen, Zhipu, OpenAI, Anthropic, OpenRouter, vLLM, Groq, Gemini, etc. Add, edit, or remove providers.

Providers config

Config — Default Model

Set the default Agent model — model name (provider/model-name format), Temperature, Max Tokens, and other parameters.

Default model config

Config — MCP

Manage Model Context Protocol servers — stdio, http, sse, streamable_http. Import/generate JSON or add new MCP services.

MCP config

Config — Skills

Manage AI skills — select skill folders for upload to workspace, view installed skills (version, status, description), enable or disable.

Skills management


🚀 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-ui

Open 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-webui

Then 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-ui

Code 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!

About

🎯 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 🚀

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published