前一篇文章我们深度拆解了 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 | 智力引擎 | 理解、推理、生成代码和文本 |
| 钉钉 | 交互界面 | 手机/电脑随时对话,派活收结果 |
二、工作流程:从钉钉到 AI 再到结果
整个系统的工作流程很直观:
用户在钉钉发消息
↓
nanobot gateway 接收消息(Stream 模式,WebSocket 长连接)
↓
构建上下文:加载 Skills + 记忆 + 用户消息
↓
调用通义千问 Qwen 3.5 Plus(如开启联网搜索,自动检索互联网)
↓
模型判断是否需要调用工具/技能
↓
┌─ 是 → 执行对应 Skill(读 PDF、抓网页、分析数据……)→ 拿到结果 → 再次调用模型生成回复
└─ 否 → 直接生成回复
↓
返回结果到钉钉
关键点:
- Skills 自动匹配:你不需要手动选技能,模型会根据你的问题自动判断该用哪个 Skill
- 多轮对话:nanobot 维护对话上下文,可以连续追问
- 记忆系统:nanobot 用
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 # 长期记忆
三、能力扩展:联网搜索 + 9 个自定义技能
接入钉钉后,在群里 @机器人 就能对话。但默认能力有限,可以通过两种方式增强。
联网搜索
通义千问原生支持 enable_search 参数,开启后 AI 可以实时搜索互联网信息。具体配置方法见第四章第三步。
开启后在钉钉上问"今天有什么新闻",AI 就能返回实时信息,不再是"我的知识截止到 xxxx 年"。
9 个自定义技能
这套方案配置了 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。
四、完整部署指南
环境要求
- macOS / Linux
- Python ≥ 3.11
- Git
第一步:安装 nanobot
# 克隆源码
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
第二步:配置通义千问
- 访问 阿里云 DashScope,注册并获取 API Key
- 编辑
~/.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
第四步:接入钉钉
- 打开 钉钉开放平台
- 创建应用 → 添加「机器人」能力 → 开启 Stream 模式
- 获取 AppKey 和 AppSecret → 发布应用
- 编辑
~/.nanobot/config.json:
"channels": {
"dingtalk": {
"enabled": true,
"clientId": "你的AppKey",
"clientSecret": "你的AppSecret",
"allowFrom": ["*"]
}
}
- 启动:
nanobot gateway - 在钉钉群里添加机器人,@机器人 即可对话
五、使用场景:搭好之后能干什么?
系统跑起来之后,日常用法举几个例子:
纯对话类(开箱即用)
- "把这段话翻译成英文" → translator 技能自动翻译,保留格式
- "今天有什么 AI 领域的新动态" → 联网搜索返回实时信息
- "帮我写一份本周周报,内容如下:……" → content-writer 生成结构化周报
- "审查一下这段代码有没有问题" → code-reviewer 从 Bug、安全、性能三个维度检查
这些只依赖 LLM 能力,不需要额外配置。
文件处理类(需要额外安装依赖)
- "帮我总结一下这份 PDF 的要点" → pdf 技能读取文件,AI 输出摘要
- 发一个 CSV 文件,说"分析一下销售趋势" → csv-analyzer 统计数据,生成图表
- 发一份 Word 文档,说"提取里面的表格" → docx-reader 解析文档结构
- "抓取这个网页的正文内容" → web-scraper 提取网页并生成摘要
注意:文件处理类技能需要在 nanobot 运行环境中安装对应的 Python 库(如 pymupdf、pandas、matplotlib、python-docx 等),且通过钉钉发送文件需要 nanobot 支持媒体消息接收(v0.1.4.post3+ 支持钉钉媒体消息)。
写在最后
这套方案的核心思路:用最轻的架构,搭一个能实际用起来的 AI 助手。
nanobot 只有 4000 行代码,但扩展性不错:
- Skills 系统可以按需扩展能力——本文配置了 9 个技能,覆盖信息检索、文档处理、效率工具、数据分析、内容创作五大类
- 钉钉/飞书/Slack 等渠道让你在手机上就能用
- LiteLLM 多模型支持让你随时切换底层大模型
全部国产方案,手机上就能用。
如果你也想试试,核心三步:装 nanobot、配通义千问、接钉钉。联网搜索按需开启。