
前一篇文章我们深度拆解了 nanobot——港大开源的超轻量 AI Agent 框架,4000 行代码平替 OpenClaw,一个月冲到 32K+ Star。
这篇是实战篇,用 nanobot + 通义千问 Qwen 3.5 Plus + 钉钉机器人,从零搭一套纯国产的小龙虾方案。
最终效果:在钉钉上直接跟 AI 对话,随时派活。通义千问原生支持联网搜索,再配合 9 个自定义技能(文档阅读、网页抓取、多语言翻译、数据分析、代码审查、文案写作等),覆盖日常工作的主要场景。
nanobot — 上篇介绍过的超轻量 AI Agent 框架,4000 行代码,通过 LiteLLM 支持主流大模型,原生支持钉钉、飞书等十多种聊天渠道。在这套系统里它负责消息接收、工具调用和技能管理。
通义千问 Qwen 3.5 Plus — 阿里云旗舰大模型,代码生成、推理、多轮对话都很稳。API 原生支持联网搜索(enable_search),AI 可以实时获取互联网信息。
钉钉机器人 — nanobot 支持钉钉 Stream 模式,不需要公网 IP,不需要域名备案,配好 AppKey 就能连。手机上直接跟 AI 对话、派任务。
组件 | 角色 | 说明 |
|---|---|---|
nanobot | 大脑 + 手脚 | 消息接收 + 工具调用 + 技能管理 |
Qwen 3.5 Plus | 智力引擎 | 理解、推理、生成代码和文本 |
钉钉 | 交互界面 | 手机/电脑随时对话,派活收结果 |
整个系统的工作流程很直观:
用户在钉钉发消息
↓
nanobot gateway 接收消息(Stream 模式,WebSocket 长连接)
↓
构建上下文:加载 Skills + 记忆 + 用户消息
↓
调用通义千问 Qwen 3.5 Plus(如开启联网搜索,自动检索互联网)
↓
模型判断是否需要调用工具/技能
↓
┌─ 是 → 执行对应 Skill(读 PDF、抓网页、分析数据……)→ 拿到结果 → 再次调用模型生成回复
└─ 否 → 直接生成回复
↓
返回结果到钉钉关键点:
MEMORY.md 存储长期记忆,越用越了解你的偏好workspace/
├── skills/ # 自定义技能(9 个)
│ ├── pdf/SKILL.md # PDF 阅读
│ ├── markdown-reader/SKILL.md # Markdown 阅读
│ ├── docx-reader/SKILL.md # Word 文档阅读
│ ├── web-scraper/SKILL.md # 网页抓取与摘要
│ ├── translator/SKILL.md # 多语言翻译
│ ├── csv-analyzer/SKILL.md # 数据分析与图表
│ ├── code-reviewer/SKILL.md # 代码审查与 Git
│ ├── content-writer/SKILL.md # 文案/周报/会议纪要
│ └── cron-reminder/SKILL.md # 待办事项与日程
└── MEMORY.md # 长期记忆接入钉钉后,在群里 @机器人 就能对话。但默认能力有限,可以通过两种方式增强。
通义千问原生支持 enable_search 参数,开启后 AI 可以实时搜索互联网信息。具体配置方法见第四章第三步。
开启后在钉钉上问"今天有什么新闻",AI 就能返回实时信息,不再是"我的知识截止到 xxxx 年"。
这套方案配置了 9 个自定义 Skills,覆盖日常工作的主要场景:
信息检索与文档处理类
Skill | 能力 |
|---|---|
web-scraper | 抓取网页正文、生成摘要、提取关键信息 |
读取和分析 PDF 文件 | |
markdown-reader | 读取和分析 Markdown 文件 |
docx-reader | 读取 Word 文档,含表格提取 |
效率工具类
Skill | 能力 |
|---|---|
translator | 中英日韩等多语言互译,保留格式和术语 |
cron-reminder | 待办事项管理、日程安排、进度追踪 |
数据与开发类
Skill | 能力 |
|---|---|
csv-analyzer | CSV/Excel 数据分析,自动生成统计摘要和可视化图表(matplotlib) |
code-reviewer | 代码审查(Bug/安全/性能)、Git 操作、日志分析 |
内容创作类
Skill | 能力 |
|---|---|
content-writer | 文案生成、周报总结、会议纪要、邮件撰写 |
添加 Skill 非常简单,在 workspace/skills/ 下建个目录,写一个 SKILL.md 描述文件就行。nanobot 启动后自动加载所有 Skills。
# 克隆源码
git clone https://github.com/HKUDS/nanobot.git
cd nanobot
# 创建虚拟环境(需要 Python 3.11+)
# 如果系统 Python 版本不够,用 conda:
# conda create -n nanobot python=3.11 -y && conda activate nanobot
python -m venv .venv
source .venv/bin/activate
pip install -e .
# 初始化配置
nanobot onboard
# 验证
nanobot --version
# 🐈 nanobot v0.1.4.post4~/.nanobot/config.json:{
"agents": {
"defaults": {
"workspace": "/你的路径/workspace",
"model": "qwen3.5-plus",
"provider": "dashscope",
"maxTokens": 8192,
"temperature": 0.1,
"maxToolIterations": 40
}
},
"providers": {
"dashscope": {
"apiKey": "你的API-Key",
"apiBase": "https://coding.dashscope.aliyuncs.com/v1"
}
}
}nanobot agent -m "你好,测试连接"编辑 nanobot/providers/litellm_provider.py,在 _apply_model_overrides 之后添加:
if "dashscope" in model.lower() or "qwen" in model.lower():
kwargs["enable_search"] = True~/.nanobot/config.json:"channels": {
"dingtalk": {
"enabled": true,
"clientId": "你的AppKey",
"clientSecret": "你的AppSecret",
"allowFrom": ["*"]
}
}nanobot gateway系统跑起来之后,日常用法举几个例子:
纯对话类(开箱即用)
这些只依赖 LLM 能力,不需要额外配置。
文件处理类(需要额外安装依赖)
注意:文件处理类技能需要在 nanobot 运行环境中安装对应的 Python 库(如 pymupdf、pandas、matplotlib、python-docx 等),且通过钉钉发送文件需要 nanobot 支持媒体消息接收(v0.1.4.post3+ 支持钉钉媒体消息)。
这套方案的核心思路:用最轻的架构,搭一个能实际用起来的 AI 助手。
nanobot 只有 4000 行代码,但扩展性不错:
全部国产方案,手机上就能用。
如果你也想试试,核心三步:装 nanobot、配通义千问、接钉钉。联网搜索按需开启。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。