更适配中文用户的轻量开源AI Agent | 国产大模型Coding plan支持 | 兼容OpenClaw Skills生态| 已接入微信ClawBot/微博龙虾/飞书/钉钉/QQ/小智AI/Telegram/deepseek-v4。
$ npx -y skills add countbot-ai/CountBot --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
Repo: countbot-ai/CountBot
What's inside
CountBot 是一个更加符合中文用户习惯的轻量级 AI Agent 框架,也是一个面向本地部署与长期运行的 AI Agent 中枢。
它把角色、团队、工作流、工具调用、记忆、大模型、IM 渠道和本地工作空间连接起来,让 AI 具备长期运行、跨入口协作与任务执行能力。
你可以把 CountBot 理解为一个框架和中枢:
一句话概括:CountBot 是连接模型、渠道、团队和工具的 AI Agent 框架与运行中枢。
CountBot 由自然语言而生。CountBot 的愿景,不是让更多人先学会复杂配置和编程再去使用 AI,而是让普通用户也能直接通过自然语言与 AI 交互,完成信息获取、内容生成、任务拆解、工具调用、流程编排,乃至搭建属于自己的个人助手、团队协作流与自动化系统。
v0.9.0
v0.8.0
COUNTBOT_HOST / COUNTBOT_PORT 文档说明v0.7.0
find-skills,全面接入腾讯云 SkillsHub,可通过对话完成 skills 的搜索、安装、启用、禁用与删除ima-knowledge-base、ima-notes,全面接入 IMA 知识库与笔记能力,支持知识库搜索、上传、网页导入,以及笔记搜索、读取、新建和追加v0.6.0
/setup/<random>REMOTE_SETUP_SECRET_TTL_MINUTES,远程初始化入口有效期可控/api/* 与 /ws/chatv0.5.0
v0.4.0
/help 等使用入口v0.3.0
pipeline / graph / council)首次体系化落地v0.2.0 · 2026-02-26
正式开源 · 2026-02-21
CountBot 从自然语言驱动软件的趋势出发,致力于让 AI 真正落地到真实任务与日常工作中。
软件开发与使用方式正在发生变化:
当前 AI Agent 的核心挑战,已不再是单一模型能力,而是如何将大模型、工具调用、多渠道接入、权限边界与长期运行能力,整合为一套可落地、可维护的系统。
OpenClaw 已经在本地执行、自主 Agent 方向上验证了可行路径。在此基础上,CountBot 聚焦补齐中文场景适配、轻量化部署、易用性扩展、安全管控与治理能力等关键缺口。
CountBot 不只是对话式 AI 应用,而是一套面向真实任务、可部署、可扩展、可治理的开源基础设施,让普通用户也能通过自然语言驱动 AI、组织工具、连接渠道,真正落地业务与日常流程。
| 模块 | 说明 |
|---|---|
| Agent Loop | ReAct 推理、工具调用、结果反馈与迭代控制 |
| Agent Teams | pipeline、graph、council 三种协作模式 |
| 多机器人渠道矩阵 | 一个工作区可服务多个渠道、多个机器人、多个业务入口 |
| 配置分层 | 全局默认、角色、团队、会话运行时配置分层协同 |
| 工具与技能 | 文件、Shell、Web、截图、记忆、工作流、媒体发送与技能扩展 |
| 外部执行工具接入 | 将 Claude Code、Codex、OpenCode 等外部行业工具接入统一运行时 |
| 记忆与会话 | 长期记忆、摘要、上下文注入、会话隔离 |
| Cron 与 Heartbeat | 定时任务、主动提醒、后台长期运行 |
| 安全与工作空间 | 本地可控、路径限制、审计日志、超时与远程认证边界 |
| 多模型接入 | 兼容国产与国际主流模型接入,支持团队级模型覆盖 |
git clone https://github.com/countbot-ai/CountBot.git
cd CountBot
# 默认安装
pip install -r requirements.txt
# 国内网络可使用阿里云镜像
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
python start_app.py
启动完成后默认打开 http://127.0.0.1:8000。
可通过环境变量覆盖默认监听地址与端口,优先级为 COUNTBOT_HOST / COUNTBOT_PORT > 默认值。
$env:COUNTBOT_HOST = '0.0.0.0'
$env:COUNTBOT_PORT = '8001'
python start_app.py
set COUNTBOT_HOST=0.0.0.0
set COUNTBOT_PORT=8001
python start_app.py
如果国内网络访问 GitHub 受限,可切换到 Gitee:
git clone https://gitee.com/countbot-ai/CountBot.git
| 文档 | 说明 | 链接 |
|---|---|---|
| 快速开始 | 安装、配置、启动 | https://countbot.cn/docs/getting-started/quick-start-guide |
| 配置手册 | 完整配置说明 | https://countbot.cn/docs/getting-started/configuration-manual |
| 部署与运维 | 启动、部署、排障 | https://countbot.cn/docs/advanced/deployment |
| 远程访问指南 | 远程初始化、认证、排障 | https://countbot.cn/docs/advanced/remote-access |
| 认证说明 | 密码初始化与访问边界 | https://countbot.cn/docs/advanced/auth |
| API 参考 | REST API 与 WebSocket | https://countbot.cn/docs/api-reference |
| 发布说明 | 版本演进记录 | https://countbot.cn/docs/releases/v0.8.0 |
完整站点文档请查看:https://countbot.cn/docs
uvicorn backend.app:app --reload --host 0.0.0.0 --port 8000
1028356423MIT License
感谢 FastAPI、Vue.js、SQLAlchemy、Pydantic、LiteLLM 等开源项目。
.flake8
.github/
COMMIT_CONVENTION.md
ISSUE_TEMPLATE/
bug_report.md
feature_request.md
PULL_REQUEST_TEMPLATE.md
workflows/
build-desktop.yml
.gitignore
backend/
__init__.py
api/
__init__.py
agent_teams.py
auth.py
channels.py
chat.py
cron.py
mcp.py
memory.py
personalities.py
queue.py
settings.py
skills.py
system.py
tasks.py
tools.py
wiki.py
app.py
database.py
models/
__init__.py
agent_team.py
cron_job.py
message.py
personality.py
session.py
setting.py
task.py
tool_conversation.py
modules/
__init__.py
agent/
__init__.py
analyzer.py
compactor.py
context.py
heartbeat.py
loop.py
memory.py
personalities.py
prompts.py
skills_config.py
skills_schema.py
skills.py
subagent.py
task_manager.py
team_commands.py
workflow.py
auth/
__init__.py
middleware.py
router.py
utils.py
channels/
__init__.py
base.py
dingtalk.py
feishu_websocket_worker.py
feishu.py
handler.py
manager.py
media_utils.py
qq.py
telegram.py
wechat.py
wecom.py
weibo.py
xiaozhi.py
config/
__init__.py
loader.py
schema.py
cron/
__init__.py
executor.py
scheduler.py
service.py
types.py
external_agents/
__init__.py
adapters/
__init__.py
cli.py
base.py
conversation.py
registry.py
routing.py
mcp/
__init__.py
client.py
error_handlers.py
exceptions.py
service.py
validators.py
messaging/
__init__.py
enterprise_queue.py
rate_limiter.py
providers/
__init__.py
anthropic_provider.py
base.py
factory.py
openai_provider.py
registry.py
runtime.py
thinking_profiles.py
tool_parser.py
session/
__init__.py
context_service.py
manager.py
message_context.py
runtime_config.py
system/
__init__.py
tray.py
tools/
__init__.py
base.py
conversation_history.py
execution_context.py
external_coding_agent.py
file_audit_logger.py
file_search.py
filesystem.py
memory_tool.py
monitoring.py
registry.py
screenshot.py
send_media.py
setup.py
shell.py
spawn.py
web.py
workflow_tool.py
xiaozhi_message.py
websocket/
__init__.py
broadcast.py
wiki/
__init__.py
index.py
service.py
tool.py
workspace/
__init__.py
manager.py
seeding.py
utils/
__init__.py
datetime_utils.py
file_dialog.py
logger.py
network.py
paths.py
process_manager.py
runtime_env.py
version.py
ws/
__init__.py
connection.py
events.py
streaming.py
task_notifications.py
tool_notifications.py
docs/
README.md
releases/
v0.9.0.md
frontend/
dist/
.gitkeep
assets/
css/
ChatWindow-CBCwKKLR.css
index-BzB5QACF.css
LoginView-zV2hoGj_.css
js/
_basePickBy-BeCKKOqs.js
_baseUniq-BMpdCPXY.js
arc-bY7MzGGW.js
architectureDiagram-2XIMDMQ5-D_O1FfOO.js
blockDiagram-WCTKOSBZ-Bx_mlXHh.js
c4Diagram-IC4MRINW-iO3IkuZt.js
channel-C0ZXt0Pb.js
ChatWindow-ByeMnlai.js
chunk-4BX2VUAB-BL2IvNEH.js
chunk-55IACEB6-DxPvBQgU.js
chunk-FMBD7UC4-DAaP1ZnZ.js
chunk-JSJVCQXG-DpJy55vz.js
chunk-KX2RTZJC-CEBux3HK.js
chunk-NQ4KR5QH-BLIucQ7c.js
chunk-QZHKN3VN-ZRbOpDCS.js
chunk-WL4C6EOR-fwTQAIUT.js
classDiagram-v2-RAHNMMFH-C8lZamMj.js
classDiagram-VBA2DB6C-C8lZamMj.js
clone-Bg8sT_xf.js
cose-bilkent-S5V4N54A-cnT5EF0o.js
countbot-logo-CNglRKg-.js
cytoscape.esm-B9APGmYY.js
dagre-KLK3FWXG-Ccrv0ks5.js
defaultLocale-DX6XiGOO.js
diagram-E7M64L7V-BvRqRP6J.js
diagram-IFDJBPK2-DLxrFoXk.js
diagram-P4PSJMXO-DZh4cEW5.js
erDiagram-INFDFZHY-z3DGGcF0.js
flowDiagram-PKNHOUZH-DeBdNnil.js
ganttDiagram-A5KZAMGK-CH6nqzg1.js
gitGraphDiagram-K3NZZRJ6-BaglZA-G.js
graph-B0OXt3NH.js
index-AC8USqNB.js
infoDiagram-LFFYTUFH-C6pOcW18.js
init-Gi6I4Gst.js
ishikawaDiagram-PHBUUO56-VAvadT4f.js
journeyDiagram-4ABVD52K-DomU951g.js
kanban-definition-K7BYSVSG-CZJgPL0U.js
katex-BXQ9zn2C.js
layout-C00x9zxK.js
linear-Dso7JU3x.js
LoginView-F2ynNQsM.js
mermaid.core-ebcTsjwG.js
mindmap-definition-YRQLILUH-DfW-iYni.js
ordinal-Cboi1Yqb.js
pieDiagram-SKSYHLDU-uQNQhWGH.js
quadrantDiagram-337W2JSQ-CIsyZUWc.js
requirementDiagram-Z7DCOOCP-CEXO3-iD.js
sankeyDiagram-WA2Y5GQK-DkTB2pqO.js
sequenceDiagram-2WXFIKYE-CbUxUF5K.js
stateDiagram-RAJIS63D-Bp2M9Qtf.js
stateDiagram-v2-FVOUBMTO-aBEx7lxo.js
timeline-definition-YZTLITO2-DoVynmoZ.js
treemap-KZPCXAKY-Uj5kshfw.js
vennDiagram-LZ73GAT5-DvNckyqL.js
xychartDiagram-JWTSCODW-Cg1pK2hW.js
svg/
countbot-logo-B6FNAbb6.svg
index.html
index.html
package-lock.json
package.json
public/
.gitkeep
src/
api/
.gitkeep
agentTeams.ts
client.ts
endpoints.ts
index.ts
personalities.ts
README.md
App.vue
assets/
countbot-logo.svg
styles/
.gitkeep
base.css
components.css
dark-mode.css
design-system.css
main.css
syntax-highlight.css
themes/
themes.css
dark.css
light.css
tokens.css
variables.css
components/
chat/
AvatarSettingDialog.vue
ChatHeader.vue
ChatInput.vue
ConnectionStatusBar.vue
InterleavedMessage.vue
MessageActions.vue
MessageAttachment.vue
MessageContent.vue
PasswordSetupDialog.vue
ReasoningBlock.vue
SecurityWarningBanner.vue
SessionConfigPanel.vue
SpawnTaskPanel.vue
styles/
ChatHeader.css
ChatInput.css
ReasoningBlock.css
SessionConfigPanel.css
SpawnTaskPanel.css
TeamConfigPanel.css
ToolCallCard.css
WelcomeGuide.css
WorkflowComparePanel.css
WorkflowListPanel.css
TeamConfigPanel.vue
TeamPicker.vue
ToolCallCard.vue
ToolCallsList.vue
WelcomeGuide.vue
WorkflowComparePanel.vue
WorkflowFullscreenModal.vue
WorkflowListPanel.vue
GlobalConfirmDialog.vue
ui/
.gitkeep
Button.vue
ComboBox.vue
ConfirmDialog.vue
DropZone.vue
EmptyState.vue
FilePreviewModal.vue
FileSelector.md
FileSelector.vue
Icon.vue
index.ts
Input.vue
LanguageSelector.vue
LazyImage.vue
LoadingState.vue
Modal.vue
ModelParameterFields.vue
PresetSelector.vue
SavePresetDialog.vue
Select.vue
Skeleton.vue
Spinner.vue
styles/
ComboBox.css
PresetSelector.css
SavePresetDialog.css
Select.css
SwitchToggle.vue
ThemeToggle.vue
Toast.vue
Tooltip.vue
UX_COMPONENTS.md
VirtualScroll.vue
composables/
.gitkeep
toastBus.ts
useAvatar.ts
useChatAttachments.ts
useChatInput.ts
useConfirm.ts
useDebounce.ts
useFileUpload.ts
useI18n.ts
useKeyboard.ts
useLazyLoad.ts
useMarkdown.ts
useMermaid.ts
useMessageReplay.ts
useMessageStreaming.ts
usePresets.ts
useTheme.ts
useThrottle.ts
useToast.ts
useWebSocket.ts
useWorkflowPanel.ts
data/
agentTeamTemplates.ts
codingPlanPresets.ts
env.d.ts
i18n/
index.ts
locales/
.gitkeep
en-US.json
zh-CN.json
utils/
.gitkeep
detector.ts
formatter.ts
main.ts
modules/
chat/
.gitkeep
ChatWindow.vue
components/
message-item/
styles/
MessageAvatar.css
MessageContent.css
MessageFooter.css
ToolCallsSection.css
WorkflowSection.css
composables/
... 339 moreFAQ
countbot is a Claude Code plugin with 14 hand-picked skills for automation work, indexed on Flowy. Install it with the command on its page. It includes agent-browser, agent-team-manager, baidu-search. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.