CountBot Logo

Lightweight, Extensible AI Agent Framework | Optimized for Chinese Users & Domestic LLMs

GitHub stars Python Lines of Code License

中文 | English


What's New

  • v0.6.0 — Latest Release View Detailed Update Guide

    • Added WeChat ClawBot integration with support for multiple account bindings
    • Added external coding tool integration for Claude, Codex, and OpenCode
    • Added first-time remote initialization entry /setup/<random>
    • Added REMOTE_SETUP_SECRET_TTL_MINUTES to control remote setup entry expiration
    • Strengthened remote auth boundaries for /api/* and /ws/chat
  • Mar 19, 2026 — v0.5.0 Released View Detailed Update Guide

    • True agent-team orchestration with multi-role collaboration, context handoff, and workflow routing
    • Configuration expanded from session-level to role-level, team-level, and multi-bot setups
    • Custom channel architecture strengthened, with Weibo, WeCom, Xiaozhi AI, and more flexible bot routing
    • Better support for running multiple bots across different channels and scenarios
    • Frontend comprehensively upgraded across chat, settings, skills, team panels, and overall UX
    • Tool calls, media delivery, channel handling, and message flow all improved for complex tasks
  • Mar 14, 2026 — v0.4.0 Released View Detailed Update Guide

    • Session-level configuration system (independent API, model, prompts, personality per session)
    • Added Weibo, WeCom, Xiaozhi AI channels
    • Comprehensive multi-agent collaboration optimization
    • Added /help command (accessible via IM channels)
    • Integrated Mermaid chart rendering engine
    • Full compatibility with OpenClaw Skills ecosystem
    • Heartbeat proactive greeting system refactored
  • Mar 4, 2026 — v0.3.0 Released View Detailed Update Guide

    • Multi-Agent Collaboration System (Pipeline/Graph/Council modes)
    • Enhanced Cron Jobs (one-time tasks, retry mechanism, batch operations)
    • Skills System Upgrade (config management, schema validation, auto-fix)
    • Added 10+ Chinese AI vendor coding plans support
    • Comprehensive UI/UX optimization and stability improvements
    • Enhanced Web Tools (Scrapling anti-scraping, JS rendering support)
  • Feb 26, 2026 — v0.2.0 Released

    • Focused on bug fixes, UX improvements, and build workflow cleanup
    • Pushed CountBot from "basically runnable" toward "stable and iteratable"
  • Feb 21, 2026 — Official Open Source Release

    • CountBot was first open-sourced with its core framework, startup scripts, agent runtime, channel system, tool system, skill system, and frontend foundation
    • Public iteration started from this point onward

Upcoming Features

  • Smart hardware integration (voice control, IoT device support)
  • Deep tmux integration (invoke Codex CLI, Claude Code, and other external tools)
  • Continuous performance optimization (parallel agent execution, improved caching)

What is CountBot?

CountBot is a lightweight, extensible AI Agent framework optimized for Chinese users and domestic LLMs. With only ~21,000 lines of Python, it delivers production-grade intelligent assistant infrastructure featuring:

  • Smart Memory — Auto-summarizes conversations, never forgets important info
  • Proactive Greeting — Like a real assistant, reaches out when you're idle
  • Zero-Config Security — Frictionless local access, auto-protected remote access
  • Multi-Channel Unified — One codebase serving Web, Lark, DingTalk, QQ, Telegram, WeChat
  • Personalization — 12 personality presets + custom nicknames and location
  • Message Queue — Priority scheduling, deduplication, dead-letter handling
  • Domestic LLM Optimized — Deep support for Zhipu, Qwen, Kimi, MiniMax, DeepSeek, etc.

Core philosophy: Make AI Agents into digital companions with memory, emotion, initiative, and collaboration.

CountBot was born from natural language. Our vision is not to make more people learn configuration and programming before they can use AI, but to let ordinary users directly interact with AI through natural language to retrieve information, generate content, break down tasks, call tools, orchestrate workflows, and eventually build their own personal assistants, team collaboration flows, and automation systems.


Why CountBot?

CountBot was born from natural language, and we believe software will continue moving back toward natural language as its most universal interface.

CountBot is not trying to be just another "chat with AI" shell. It aims to be open infrastructure that lets ordinary users use natural language to drive AI, organize tools, connect channels, and land real-world tasks.

Top 10 Highlights

Highlight Description Advantage
Chinese-Friendly 21K lines with full Chinese comments, comprehensive docs, deep domestic LLM integration Low learning curve
Dual Deployment B/S browser + C/S desktop client, one codebase Fits personal & team use
Domestic Ecosystem 10 built-in skill plugins: search, maps, email, file transfer, web publishing, etc. Works out of the box
GUI Configuration Full web-based management, zero config file editing Fewer config errors
Deep Personalization 12 personality system + custom nicknames & location Warm interaction
High Performance Smart context compression, significantly reduced token usage Cost-effective
Progressive Security Local access fully open, remote access auto-protected Security meets convenience
Lightweight 21K lines vs 50K400K in other frameworks, modular design Easy to read & extend
Smart Memory Auto-summarize, keyword search, never forget Long-term companion
Message Queue 4-level priority, deduplication, dead-letter handling Production-grade reliability

Use Cases

CountBot combines built-in tools and skill plugins to handle a variety of daily tasks:

"Search for today's AI news"

  • Uses Baidu Search skill to fetch and summarize the latest information

"Find Western restaurants in Dongguan, I plan to leave at 6 PM"

  • Calls Amap (Gaode) skill to search restaurants and plan routes

"What's the weather like today?"

  • Queries the weather skill for real-time and forecast data

Email & File Management

"Check if I have any new emails today"

  • Connects to QQ/163 mailbox via email skill, auto-checks new mail

"Compress the images on my desktop and send them to my email"

  • Uses file tools to package files, sends via email skill

Image Processing & Creation

"Generate a picture of a cat celebrating New Year and send it to me"

  • Calls image generation skill for AI art, delivers via channel

"Take a screenshot of my computer and send it to me"

  • Uses screenshot tool to capture screen, sends via Lark/DingTalk

"What's in this image?"

  • Image analysis skill identifies content with detailed descriptions

Web Design & Publishing

"Design a personal resume webpage and publish it online"

  • Uses web design skill to generate HTML, auto-deploys to Cloudflare Pages

Browser Automation

"Open Bing in the browser, search for AI, open the third result, then screenshot it for me"

  • Browser automation skill handles complex web operation workflows

Scheduled Tasks

"Check the weather for me every morning at 8 AM"

  • Sets up a Cron task that auto-executes and pushes results

Multi-Channel Collaboration

CountBot runs simultaneously on Web, Lark, DingTalk, QQ, and more. All channels share the same smart memory system — no matter where you chat, the AI remembers your preferences and history.


Core Features

Smart Memory System

CountBot's memory system includes:

  • Auto Conversation Summary — LLM decides when to summarize, extracting key information
  • Rolling Context Compression — Auto-compresses when conversation exceeds window, no info lost
  • Keyword Search — Fast retrieval of historical memories by keyword
  • Line-Based Storage — Simple, reliable file storage, easy to backup and migrate
# Memory system works automatically
User: "My name is John, I live in Beijing"
AI: "Got it, I'll remember that"

# Days later...
User: "Where do I live again?"
AI: "You live in Beijing"  # Auto-retrieved from memory

Heartbeat Proactive Greeting

CountBot has proactive care capabilities:

  • Smart Idle Detection — Monitors user's last active time
  • Do Not Disturb — Supports DND time windows (e.g., 22:0008:00 Beijing time)
  • Daily Limit — Prevents over-disturbance (default: max 2 per day)
  • Natural Randomness — Not mechanical timed greetings, but natural care
# User inactive for 4 hours, within active hours
AI: "Long time no see! What have you been up to? Need any help?"

Zero-Config Security Model

An innovative progressive security design:

  • Local Access (127.0.0.1) → Zero friction, direct use
  • Remote Access (192.168.x.x) → Guided password setup on first visit
  • Password Requirements → Min 8 chars, upper/lowercase + digits
  • Session Management → 24-hour validity
# Local use — no configuration needed
http://localhost:8000  ✅ Direct access

# Remote use — auto-protected
http://192.168.1.100:8000  🔐 First-time password setup

Personalization

In the Settings page under "User Management", you can configure:

12 Personality Presets

CountBot offers 12 distinct personality settings: Hot-Tempered Bro, Roast Master, Gentle Sister, Straight Shooter, Sharp-Tongued Boss, Chatterbox, Philosopher, Soft & Cute Assistant, Comedian, Energetic, Chuunibyou, Zen Master. You can also fully customize the personality description to match your usage habits.

Custom Nicknames & Location

  • AI Name — Give your assistant a name (default: CountBot)
  • User Nickname — How the AI addresses you
  • User Location — Your location info (e.g., Dongguan), used for weather, maps, trip planning

Precision On-Demand Cron Scheduler

Not polling, not a simple timer, but a smart scheduling system:

  • Precision Wake — Calculates next task time, accurate to the second
  • Concurrency Control — Semaphore-based max concurrency
  • Timeout Protection — Max execution time per task (default: 300s)
  • Independent Sessions — Each task uses its own database session
  • SQLite Lock Retry — Auto-handles concurrent write conflicts
# Not polling every second, but precisely calculating next wake time
next_wake = min([job.next_run for job in enabled_jobs])
await asyncio.sleep((next_wake - now).total_seconds())

Quick Start

One-Click Launch

# Clone the repository
git clone https://github.com/countbot-ai/countbot.git
cd countbot

# Install dependencies
pip install -r requirements.txt

# If PyPI access is slow, you can use the Aliyun mirror
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

# Start (auto-opens browser)
python start_app.py

Visit http://localhost:8000, configure an LLM provider in the settings page, and you're ready to go.

Download Desktop Version

https://github.com/countbot-ai/CountBot/releases
Supports Windows / macOS / Linux

Notable Chinese AI models: GLM-5, MiniMax-M2.5, Kimi K2.5, Qwen3.5-Plus, DeepSeek Chat, etc.

Zero-cost start: Use Zhipu AI's free GLM-4.7-Flash model

  1. Visit Zhipu AI Open Platform
  2. Register and obtain an API Key
  3. Select "Zhipu AI" in CountBot settings, enter the API Key
  4. Start using!

Architecture

Project Structure

countbot/
├── backend/                   # Backend (~21K lines)
│   ├── modules/
│   │   ├── agent/             # Agent Core
│   │   │   ├── loop.py        # ReAct Loop
│   │   │   ├── memory.py      # Smart Memory
│   │   │   ├── heartbeat.py   # Proactive Greeting
│   │   │   ├── personalities.py # 12 Personalities
│   │   │   └── context.py     # Context Builder
│   │   ├── messaging/         # Message Queue
│   │   │   ├── enterprise_queue.py # Message Queue
│   │   │   └── rate_limiter.py     # Token Bucket
│   │   ├── cron/              # Cron Scheduler
│   │   │   └── scheduler.py   # Precision Wake
│   │   ├── auth/              # Authentication
│   │   │   └── middleware.py  # Zero-Config Security
│   │   ├── channels/          # Channel Management
│   │   ├── providers/         # LLM Providers
│   │   └── tools/             # Tool System (13)
├── frontend/                  # Frontend (Vue 3 + TypeScript)
├── skills/                    # Skill Plugins (10)
└── docs/                      # Documentation

Tech Stack

Backend

  • FastAPI — Modern web framework with native async & WebSocket support
  • SQLAlchemy 2.0 — Async ORM with complex query support
  • aiosqlite — SQLite async driver, zero-config database
  • Anthropic & OpenAI SDK — Official SDKs, supports all major models
  • Pydantic v2 — Data validation and config management
  • Loguru — Structured logging, easy debugging

Frontend

  • Vue 3 — Progressive framework, Composition API
  • TypeScript — Type safety, fewer runtime errors
  • Pinia — Lightweight state management
  • Vue I18n — Internationalization (Chinese/English)
  • Axios — HTTP client with auto-retry
  • Lucide Icons — Modern icon library

Note: Frontend source code is currently undergoing final optimization and will be fully uploaded upon completion. The frontend/dist/ directory contains pre-built HTML files that are fully functional.


Documentation

Document Description
Quick Start Guide Feature setup, API key acquisition
Deployment Installation, startup, production deployment
Agent Loop ReAct loop principles
Memory System Auto-summary, context compression
Cron Scheduler Precision wake, concurrency control
Channel System Multi-channel configuration
Tool System Built-in tools and runtime capabilities
Skill System Plugin extension and development
Remote Auth Zero-config security model
Configuration Manual Complete config reference
API Reference REST API + WebSocket

Supported LLMs (via Official SDKs)

CountBot uses Anthropic and OpenAI official SDKs, compatible with OpenAI / Anthropic / Gemini protocols, supporting all major LLMs:

Provider Model Examples Access
Zhipu AI glm-4.7-flash (free), GLM-5 open.bigmodel.cn
Qwen Qwen3.5-Plus dashscope.aliyun.com
Moonshot Kimi K2.5 platform.moonshot.cn
MiniMax MiniMax-M2.5 platform.minimax.io
DeepSeek DeepSeek Chat platform.deepseek.com
Doubao Doubao-Pro-32K volcengine.com
Baidu ERNIE ERNIE-4.0-8K qianfan.baidubce.com
Tencent Hunyuan Hunyuan-Lite hunyuan.tencentcloudapi.com
Yi Yi-Large platform.lingyiwanwu.com
Baichuan Baichuan4 platform.baichuan-ai.com

International LLMs

Provider Model Examples Access
OpenAI gpt-5.3 platform.openai.com
Anthropic Claude Sonnet 4 console.anthropic.com
Gemini Gemini 2.0 Flash aistudio.google.com
Groq Llama 3.3 70B console.groq.com
Mistral Mistral Large console.mistral.ai
Cohere Command R+ dashboard.cohere.com
Together AI Llama 3.3 70B Turbo api.together.xyz
OpenRouter Multi-model aggregation openrouter.ai

Local Deployment

Method Description
Ollama Local open-source model deployment
vLLM High-performance inference engine
LM Studio GUI-based local deployment

Custom Compatible APIs

Protocol Description
OpenAI Compatible Any OpenAI-protocol compatible API
Anthropic Compatible Any Anthropic-protocol compatible API
Gemini Compatible Any Gemini-protocol compatible API

Supported Channels

Channel Connection Configuration
Web UI Built-in No config needed
Lark (Feishu) WebSocket App ID + App Secret
DingTalk Stream Mode Client ID + Client Secret
QQ Official SDK App ID + Secret
Weibo WebSocket App ID + App Secret
WeCom WebSocket Corp ID + Agent ID + Secret
Xiaozhi AI WebSocket App ID + App Secret
Telegram Long Polling Bot Token (proxy supported)
WeChat (Coming Soon) Official Account API App ID + App Secret + Token
Discord (Coming Soon) Gateway Bot Token

All channels support allow_from whitelist for access control.


Built-in Tools (13)

Tool Function
read_file Read file content
write_file Write file content
edit_file Edit file (replace/insert/delete)
list_dir List directory contents
exec Execute shell commands (sandboxed)
web_fetch Fetch web page content
memory_read Read long-term memory
memory_write Write long-term memory
memory_search Search memory
screenshot Capture screen
file_search Search files
spawn Create sub-agent
send_media Send media files

Built-in Skill Plugins (10)

Skill Description Config
Baidu Search Baidu AI search with web, encyclopedia, AI generation API Key
Cron Manager Create/manage scheduled tasks via chat No config
Email QQ/163 mailbox send/receive with attachments Email auth code
Image Analysis Zhipu/Qwen vision models, OCR, object recognition API Key
Image Generation ModelScope text-to-image with LoRA style stacking API Token
Map Navigation Amap route planning & POI search API Key
News Aggregation Chinese news + global AI news, multi-category RSS No config
Weather wttr.in weather service, global city support No config
Web Design HTML generation + Cloudflare Pages one-click deploy API Token
Browser Automation agent-browser CLI, web ops, screenshots, data extraction Manual install

Security Features

Progressive Security Model

Local Access (127.0.0.1)
    ↓
  Zero Friction
    ↓
  Direct Use

Remote Access (192.168.x.x)
    ↓
  First Visit
    ↓
  Guided Password Setup
    ↓
  Login Required

Command Sandbox

  • Workspace isolation (restrict_to_workspace)
  • Path traversal detection
  • Null byte injection blocking
  • Command whitelist/blacklist
  • Audit logging

Rate Limiting

  • Token bucket algorithm
  • Per-user rate limiting
  • Configurable rate and burst size

Contributing

We welcome all forms of contribution!

Development Environment

# Backend development (hot reload)
uvicorn backend.app:app --reload --host 0.0.0.0 --port 8000

# Frontend development
cd frontend
npm install
npm run dev

Adding New Components

  • New LLM Provider → backend/modules/providers/
  • New Channel → backend/modules/channels/
  • New Tool → backend/modules/tools/
  • New Skill → skills/<skill-name>/

See CONTRIBUTING.md for details.


License

MIT License


Acknowledgments

CountBot's creation was inspired and supported by the open-source community.

Project Inspiration

  • PicoClaw — Thanks to the PicoClaw team for demonstrating the possibility of ultra-lightweight AI Agents. CountBot's tool system and core architecture were deeply inspired by it.

  • NanoBot — Thanks to the NanoBot team for showcasing clean code organization and modular design.

  • ZeroClaw — Thanks to the ZeroClaw team for their exploration in security and performance. CountBot's security architecture references their security-first design philosophy.

Tech Stack

Thanks to the following open-source projects and communities:

  • FastAPI — Modern Python web framework
  • Vue.js — Progressive JavaScript framework
  • Anthropic SDK — Anthropic official Python SDK
  • OpenAI SDK — OpenAI official Python SDK
  • SQLAlchemy — Python SQL toolkit and ORM
  • Pydantic — Data validation and settings management

Community

Special thanks to all developers and users who provided feedback, suggestions, and contributions to CountBot. You make AI technology more accessible and user-friendly.

Open Source Spirit

CountBot embraces the open-source spirit, committed to making AI Agent technology more transparent, controllable, and easy to use. We believe that through open-source collaboration, more people can benefit from the advancement of AI technology.


Lightweight, Extensible AI Agent Framework | Optimized for Chinese Users & Domestic LLMs


Website · GitHub · Docs · Issues


CountBot is for educational, research, and technical exchange purposes only

S
Description
百度 AI 搜索。支持网页搜索、百度百科、秒懂百科、AI 智能生成四种模式。自动包含当前日期上下文。当用户要求搜索信息、查询百科、获取最新资讯、搜索新闻、查找资料时使用。
Readme MIT 21 MiB
Languages
Python 53.1%
Vue 23.1%
CSS 15.2%
TypeScript 7.1%
HTML 1.3%
Other 0.2%