国产小龙虾方案实战:nanobot + 通义千问,钉钉上随时派活

前一篇文章我们深度拆解了 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 再到结果

整个系统的工作流程很直观:

arduino 复制代码
用户在钉钉发消息
       ↓
nanobot gateway 接收消息(Stream 模式,WebSocket 长连接)
       ↓
构建上下文:加载 Skills + 记忆 + 用户消息
       ↓
调用通义千问 Qwen 3.5 Plus(如开启联网搜索,自动检索互联网)
       ↓
模型判断是否需要调用工具/技能
       ↓
  ┌─ 是 → 执行对应 Skill(读 PDF、抓网页、分析数据......)→ 拿到结果 → 再次调用模型生成回复
  └─ 否 → 直接生成回复
       ↓
返回结果到钉钉

关键点:

  • Skills 自动匹配:你不需要手动选技能,模型会根据你的问题自动判断该用哪个 Skill
  • 多轮对话:nanobot 维护对话上下文,可以连续追问
  • 记忆系统 :nanobot 用 MEMORY.md 存储长期记忆,越用越了解你的偏好

目录结构

bash 复制代码
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 读取和分析 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

bash 复制代码
# 克隆源码
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

第二步:配置通义千问

  1. 访问 阿里云 DashScope,注册并获取 API Key
  2. 编辑 ~/.nanobot/config.json
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"
    }
  }
}
  1. 验证连接:
arduino 复制代码
nanobot agent -m "你好,测试连接"

第三步:开启联网搜索

编辑 nanobot/providers/litellm_provider.py,在 _apply_model_overrides 之后添加:

sql 复制代码
if "dashscope" in model.lower() or "qwen" in model.lower():
    kwargs["enable_search"] = True

第四步:接入钉钉

  1. 打开 钉钉开放平台
  2. 创建应用 → 添加「机器人」能力 → 开启 Stream 模式
  3. 获取 AppKey 和 AppSecret → 发布应用
  4. 编辑 ~/.nanobot/config.json
json 复制代码
"channels": {
  "dingtalk": {
    "enabled": true,
    "clientId": "你的AppKey",
    "clientSecret": "你的AppSecret",
    "allowFrom": ["*"]
  }
}
  1. 启动:nanobot gateway
  2. 在钉钉群里添加机器人,@机器人 即可对话

五、使用场景:搭好之后能干什么?

系统跑起来之后,日常用法举几个例子:

纯对话类(开箱即用)

  • "把这段话翻译成英文" → 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、配通义千问、接钉钉。联网搜索按需开启。

相关推荐
sali-tec2 小时前
C# 基于OpenCv的视觉工作流-章32-圆环卷收
图像处理·人工智能·opencv·算法·计算机视觉
OYangxf2 小时前
【力扣hot100】哈希专题
算法·leetcode·哈希算法
CoovallyAIHub2 小时前
32K Star!港大开源Nanobot:4000行代码打造最轻量OpenClaw平替
深度学习·算法·计算机视觉
格林威2 小时前
Halcon vs OpenCV 速度对比(表格)
人工智能·数码相机·opencv·机器学习·计算机视觉·视觉检测·halcon
CoderCodingNo2 小时前
【GESP】C++六级/五级练习题 luogu-P1323 删数问题
开发语言·c++·算法
一去不复返的通信er2 小时前
生成对抗网络(GAN)
深度学习·机器学习·生成对抗网络
飞Link2 小时前
终结序列建模:Transformer 架构深度解析与实战指南
人工智能·python·深度学习·算法·transformer
We་ct2 小时前
LeetCode 211. 添加与搜索单词 - 数据结构设计:字典树+DFS解法详解
开发语言·前端·数据结构·算法·leetcode·typescript·深度优先
青瓷程序设计2 小时前
基于深度学习的【动物识别】系统实现~Python+人工智能+图像识别+算法模型
人工智能·python·深度学习