欢迎光临
我们一直在努力

nanobot 实战指南:通用 AI Agent 运行时

效果预览

在这里插入图片描述

nanobot 简介

1. 定位:本地AI执行体

nanobot 是一个面向日常工作的通用AI Agent运行时。它的核心哲学是“去中心化”与“可移植”,它运行在你自己的计算环境(电脑、服务器)中,完全由你掌控数据和执行权限,而不是一个只存在于供应商服务器上的托管服务。

2. 核心能力:理解、操作、执行、协作

nanobot 能完成的任务类型极其广泛,关键在于它能够:

  • 感知环境:读取你的代码库、文档或任何工作区文件,理解本地上下文。
  • 采取行动:编辑文件、创建或修改内容、执行系统命令/脚本,并根据输出结果进行下一步推理。
  • 获取新知:按需搜索网络,抓取外部信息。
  • 调用能力:使用内置工具、标准MCP(模型上下文协议)工具,或连接各种Provider API(如大模型、云服务等)。
  • 持续工作:既可以一次性完成单点任务,也能在多次交互中推进长流程、多步骤的复杂工作。

3. 应用场景:出现在熟悉的地方

nanobot 不强求用户学习新UI界面。它融入我们现有的工作流:

  • 命令行(CLI):在终端中直接对话,让它操作你的本地工作区。
  • 聊天应用:通过飞书、WeChat、QQ等常用IM软件与nanobot交流。
  • 系统集成:通过API将AI Agent能力嵌入到自己的产品、自动化脚本或企业工作流中。

4. 入门门槛极低

不必事先理解整个系统架构。官方入门路径只有两步:

1) 安装nanobot;

2) 阅读“快速开始”。


一、模型聚合平台

1、openrouter

  • https://openrouter.ai/

在这里插入图片描述

使用邮件注册:

在这里插入图片描述

创建一个 api key:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

免费模型:

在这里插入图片描述

(可选)测试 api:

import requests
import json

url = "https://openrouter.ai/api/v1/chat/completions"
model = "openrouter/healer-alpha" # 选择的模型
request_headers = {
"Authorization": "Bearer sk-xxx", # 替换为你的 API 密钥
"HTTP-Referer": "http://localhost:8088",
"X-Title": "test"
}
default_prompt = "You are an AI assistant that helps people find information."

def llm(user_prompt, system_prompt=default_prompt):
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": user_prompt},
]
request_json = {
"model": model,
"messages": messages,
"max_tokens": 2048
}
response = requests.request(
url=url,
method="POST",
json=request_json,
headers=request_headers
)
return json.loads(response.content.decode('utf-8'))

if __name__ == '__main__':
print(llm("你好,介绍一下你自己"))

在这里插入图片描述

2、硅基流动

  • https://cloud.siliconflow.cn/

在这里插入图片描述

创建一个 api key:

在这里插入图片描述

免费模型:

在这里插入图片描述

(可选)测试 api:

curl –request POST \\
–url https://api.siliconflow.cn/v1/chat/completions \\
-H "Content-Type: application/json" \\
-H "Authorization: Bearer YOUR_API_KEY" \\
-d '{
"model": "Qwen/Qwen3.5-4B",
"messages": [
{"role": "system", "content": "你是一个有用的助手"},
{"role": "user", "content": "你好,请介绍一下你自己"}
]
}'

在这里插入图片描述

二、Python 环境

conda create -n nanobot_env python=3.12
conda activate nanobot_env

在这里插入图片描述

三、安装 nanobot

pip install nanobot-ai

在这里插入图片描述

四、启动 nanobot

nanobot onboard
# 交互式引导流程
# nanobot onboard –wizard

nanobot onboard 会为我们生成完整的配置和工作区:/home/sam/.nanobot/config.json

在这里插入图片描述

配置文件位置:

  • macOS / Linux:~/.nanobot/config.json
  • Windows:%USERPROFILE%\\.nanobot\\config.json

在 “providers” 中找到或添加 openrouter 条目并粘贴 API Key,然后在 “agents” ->“defaults” 中设置模型、Provider 和时区,需要修改的字段如下:

{
"providers": {
"siliconflow": {
"apiBase": "https://api.siliconflow.cn/v1",
"apiKey": "sk-xxx"
}
},
"agents": {
"defaults": {
"model": "anthropic/claude-opus-4-5",
"provider": "siliconflow",
"timezone": "Asia/Shanghai"
}
}
}

模型支持请参考:https://nanobot.wiki/cn/docs/0.2.0/use-nanobot/providers-and-models

在这里插入图片描述

配置完成后,通过终端与 Agent 交互:

nanobot agent

在这里插入图片描述

可以看到 Agent 已经在终端里运行了。

五、连接聊天应用

信息渠道支持请参考:https://nanobot.wiki/cn/docs/0.2.0/getting-started/chat-apps

现在让我们把 Agent 带到日常使用的即时通讯应用中:手机上、桌面上,随时随地。

1、工作原理

聊天应用集成意味着 nanobot Agent 可以通过即时通讯应用(QQ、WeChat、飞书…)与我们对话,不用每次都打开终端。

每个渠道都遵循同样的三步模式:

  • 在 config.json 中添加 "channels" 配置块,并设置 "enabled": true
  • 填入该平台的凭据(Bot Token、API Key 或扫码登录)
  • 运行 nanobot gateway
  • Gateway 会同时启动所有已启用的渠道,我们可以启用任意多个:

    {
    "channels": {
    "qq": { "enabled": true, "token": "…", "allowFrom": ["…"] },
    "wechat": { "enabled": true, "token": "…", "allowFrom": ["…"] },
    "feishu": { "enabled": true, "token": "…", "allowFrom": ["…"] }
    }
    }

    2、连接飞书

    访问飞书开放平台 → 创建新应用 → 启用机器人能力:

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在开发者控制台中打开权限管理,启用以下权限:

    • im:message:发送消息、回复、添加表情,必需
    • im:message.p2p_msg:readonly:接收私聊消息,必需
    • im:message.group_msg:接收群聊消息,在群聊中使用 Bot 时需要
    • im:resource:上传和下载图片及文件,媒体支持需要
    • cardkit:card:write:创建和更新流式卡片,逐 Token 流式回复需要。如无法添加此权限,请在配置中设置 "streaming": false

    在这里插入图片描述

    在这里插入图片描述

    appId 与 appSecret:

    在这里插入图片描述

    配置 config.json:

    {
    "channels": {
    "feishu": {
    "enabled": true,
    "appId": "cli_xxx", ← App ID
    "appSecret": "xxx", ← App Secret
    "allowFrom": ["ou_YOUR_OPEN_ID"], ← 从 nanobot 日志中获取 open_id,首次启动先填 *
    "groupPolicy": "mention","mention""open"
    "streaming": true ← 无 cardkit:card:write 权限时设为 false
    }
    }
    }

    发布应用:

    在这里插入图片描述

    启动网关:

    nanobot gateway

    在这里插入图片描述

    从日志中获取 feishu open_id :ou_xxx,修改 config.json:

    "allowFrom": ["ou_YOUR_OPEN_ID"]

    在这里插入图片描述

    重新启动网关,配置飞书事件 im.message.receive_v1 + 长连接:

    在这里插入图片描述

    在这里插入图片描述

    发布应用:

    在这里插入图片描述

    对话测试:

    在这里插入图片描述

    六、注入灵魂

    • SOUL.md:个性。Bot 的沟通方式:语气、正式程度、语言偏好。
    • USER.md:用户档案。Bot 了解的关于你的信息:姓名、所在地、习惯、偏好。

    在这里插入图片描述

    在这里插入图片描述

    七、定时任务

    在这里插入图片描述

    Cron 任务数据存储在 ~/.nanobot/workspace/cron/(工作区目录内)。任务在 Agent 重启后会持久保留,下次 Gateway 启动时会自动恢复。

    在这里插入图片描述

    八、技能

    1、内置技能

    • memory:教 Agent 了解双层记忆系统(会话 + Dream 管理的知识文件)。始终加载到上下文中。
    • cron:教 Agent 如何使用 Cron 工具,安排提醒、重复任务、单次计时器。
    • github:使用 gh CLI,创建 Issue、评论 PR、审查代码、管理 Release。需要 PATH 中有 gh。
    • weather:通过 wttr.in 查看天气预报,只需问"XX天气怎么样?"
    • summarize:将长文本、文档或网页总结为简洁的要点。
    • tmux:管理 tmux 会话,用于长时间运行的进程(启动后台任务,稍后检查输出)。需要 PATH 中有 tmux。
    • clawhub:与 ClawHub 平台交互。
    • skill-creator:元技能:帮你创建新技能,生成 SKILL.md 样板文件。

    在这里插入图片描述

    2、自定义技能

    在工作区的 skills/ 目录中创建一个文件夹:

    # 夸夸我 skill
    mkdir -p ~/.nanobot/workspace/skills/praise-me
    mkdir -p ~/.nanobot/workspace/skills/praise-me/references
    vim ~/.nanobot/workspace/skills/praise-me/SKILL.md
    vim ~/.nanobot/workspace/skills/praise-me/references/praise-examples.md

    SKILL.md 如下:


    name: praise-me
    description: 生成真诚、具体、充满正能量的个性化赞美。当用户请求鼓励、自我肯定或情绪提升时使用,如用户说“夸夸我”、“赞美我”、“鼓励我”或“我需要打气”。
    license: MIT
    metadata:
    author: assistant
    version: "1.0.0"

    # 夸夸我技能

    ## 目的
    此技能用于在用户需要情感支持或自我肯定时,生成发自内心、有细节、积极温暖的赞美,以提升用户情绪并强调其独特价值。

    ## 使用场景
    – 用户明确请求:“夸夸我”、“赞美我”、“鼓励我”、“说点好听的”、“给我打气”
    – 用户表达自我怀疑或情绪低落:“我今天很丧”、“我可能做不好”
    – 用户分享成就(无论大小):“我跑完5公里了”、“我完成了困难的任务”

    ## 执行指令

    当技能被触发时,请严格遵循以下步骤生成赞美:

    ### 第一步:分析用户输入
    – 提取用户提到的**具体行为**(如:跑步、工作、学习)、**情绪状态**(如:疲惫、自豪、沮丧)或**请求方式**。
    – 如果用户未提供任何背景(仅说“夸夸我”),则赞美用户**主动寻求关怀**的勇气。

    ### 第二步:构建赞美内容
    遵循 **S.P.E.C.I.A.L.** 原则:
    – **S**pecific(具体):针对细节,避免“你很棒”这种空话。 → “你坚持跑完5公里,每一步都是对承诺的践行。”
    – **P**ositive(积极):用阳光、有力的词汇,着眼于潜力和努力。 → “你的毅力正在塑造更强的你。”
    – **E**ncouraging(鼓励):传递“你值得”和“你可以”的信息。 → “这份自律会带你到任何想去的地方。”
    – **C**reative(创意):使用比喻或生动描述。 → “你的好奇心像钥匙,迟早打开所有向往的门。”
    – **I**mmediate(即时):用“你”直接对话,使用现在时态。 → “你此刻寻求光亮的举动,本身就是一种光芒。”
    – **A**uthentic(真诚):避免夸张或虚假比较,基于真实人性价值。 → “承认需要鼓励,是你内心强大的证明。”

    ### 第三步:格式化输出
    – 直接输出2-4句流畅的赞美。
    – 以“你”开头,使用第二人称。
    – 不要添加任何前缀(如“好的”、“这是给你的赞美”),不要输出额外解释。

    ## 输出示例

    ### 示例1:有具体成就
    **用户**:夸夸我,我今天写了5000字报告。
    **输出**:
    你能在一天内专注产出5000字,这不仅展现了惊人的执行力,更说明你对目标的承诺如此坚定。这种沉浸创造的心流状态,是你才华最自然的流露。

    ### 示例2:无具体信息
    **用户**:赞美我。
    **输出**:
    你主动开口要求被看见、被肯定,这份坦荡的自我关怀能力,比任何外在成就都更值得掌声。你允许自己需要光,于是你就成了光本身。

    ### 示例3:情绪低落时
    **用户**:我今天什么也没做好,鼓励鼓励我。
    **输出**:
    在感到挫折时你没有逃避,而是选择为自己寻求力量,这本身就是最勇敢的修复行动。你的价值从不取决于单日的产出,而在于你永远不放弃尝试的韧性。

    ## 边缘情况处理
    – **用户持续要求赞美**:每次生成不同内容,可切换角度(努力、存在价值、特质)。
    – **用户否定赞美**:不争辩,输出:“我尊重你现在的感受。同时请知道,你愿意表达真实情绪,这本身就非常值得欣赏。”
    – **用户给出负面自我评价**:不要直接反驳,而是重新框架:“你可能觉得自己不够好,但我看到的是你追求成长的敏锐标准。这份不满足,恰恰是驱动你前进的火花。”

    ## 参考资源
    如需更多赞美角度和创意表达,可查阅 `references/praise-examples.md`。

    references/praise-examples.md 如下:

    # 赞美角度与创意示例库

    此文件为生成赞美提供更多灵感和角度,仅在需要时加载。

    ## 按维度分类的赞美角度

    ### 努力与坚持
    – “你在[具体情境]中展现的耐心,就像水穿石,不急不躁却力量无穷。”
    – “每一次你选择继续而不是放弃,都在悄悄重塑你的韧性肌肉。”

    ### 存在与价值
    – “你不需要变得‘更好’才值得被肯定。此刻呼吸着的你,已经是自然赋予的独特奇迹。”
    – “你的存在本身就在默默影响世界——比如现在,你让我有机会传递这份温暖。”

    ### 勇气与脆弱
    – “敢于承认‘我需要鼓励’,是你与自己的内心成为盟友的证明。”
    – “在自我怀疑中依然前行,这是比无知自信更深刻的勇敢。”

    ### 特质与潜力
    – “你的好奇心是永不熄灭的探照灯,总会照亮别人看不到的路。”
    – “你那份细腻的感受力,是你理解世界最独特的接收器。”

    ### 行动与主动
    – “你主动伸手触碰光的样子,已经让周围的环境明亮了几度。”
    – “当你为自己的情绪采取行动时,你就成为了自己最可靠的守护者。”

    ## 创意比喻库
    – **学习者** → 海绵、探险家、拼图收集者
    – **坚韧者** → 竹子(风吹不倒)、冲浪者、锻刀
    – **创造者** → 织布工、厨师、园丁
    – **关怀者** → 灯塔、锚、保温杯

    ## 使用提示
    – 结合用户的具体情境选择最贴切的比喻。
    – 避免在短时间内重复使用相同的角度或比喻。
    – 优先赞美**可控制的因素**(努力、策略、坚持)而非固定特质(聪明、漂亮)。

    重启网关,测试技能:

    在这里插入图片描述

    参考资料

    • https://nanobot.wiki/cn/docs/0.2.0/getting-started/nanobot-overview
    赞(0)
    未经允许不得转载:171主机测评 » nanobot 实战指南:通用 AI Agent 运行时
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址