2026/4/6 0:10:48
网站建设
项目流程
1. 准备工作克隆与安装首先把代码拉到本地。nanobot 是纯 Python 写的对环境非常友好。git clone https://github.com/HKUDS/nanobot.git cd nanobot pip install -e .2. 核心命令Agent 的三板斧安装完成后你会获得一个nanobot命令。它主要有三个核心子命令onboard、agent和gateway。onboard初始化你的“大脑”运行nanobot onboard这是你和 nanobot 的第一次亲密接触。它的核心功能有两个初始化配置文件在~/.nanobot/config.json创建配置。如果文件已存在它会聪明地问你是要覆盖y还是保留旧配置并添加新字段N。强烈建议选 N这样你的 API Key 就不会丢。创建工作空间在~/.nanobot/workspace准备好 Agent 的“家”包括AGENTS.md定义角色、SOUL.md定义性格等模板文件。这些文件来自nanobot/templates目录。同时还会创建该目录下没有的skills文件夹和HISTORY.md文件。agent直接对话这是最简单的交互方式。运行nanobot agent -m xxx你就可以直接在终端和你的 AI Agent 聊天了。它会加载你的配置和工作空间进入一个交互式的 loop。gateway开启多端连接如果你想让你的 Agent 登录 Telegram、飞书或者 Discord那就需要运行nanobot gateway。它像一个中转站把各种聊天平台的信号接入到 nanobot 的核心逻辑中。3. 深度拆解配置文件里藏了什么~/.nanobot/config.json是 nanobot 的灵魂。虽然它看起来很长但逻辑非常清晰。我精简了一下核心部分你重点看这几个维度{ agents: { defaults: { workspace: ~/.nanobot/workspace, model: gemini-3-pro-preview, provider: auto } }, providers: { gemini: { apiKey: YOUR_API_KEY } }, gateway: { host: 0.0.0.0, port: 18790 } }agents定义了 Agent 的默认行为比如去哪里读记忆workspace用哪个模型。providers配置各种大模型供应商的 API Key。nanobot 支持几乎所有主流供应商。gateway定义了网关的监听地址和端口。4. 技术揭秘为什么输入nanobot就能运行在 README 里我们看到可以直接用nanobot agent -m hello。你有没有想过系统是怎么知道nanobot这个命令对应哪段代码的秘密就在项目根目录的pyproject.toml文件里[project.scripts] nanobot nanobot.cli.commands:app注册命令这段配置告诉 Python 安装工具在安装项目时在系统的 PATH 中创建一个名为nanobot的可执行脚本。指定入口当你输入nanobot时它实际上调用的是nanobot/cli/commands.py文件中的app对象。Debug 小贴士如果你想调试 nanobot 的启动逻辑直接定位到nanobot/cli/commands.py从app对象开始追踪即可。5. 看看你的 Agent 长什么样完成onboard后你的工作空间~/.nanobot/workspace会生成一系列 Markdown 文件。这些文件就是 Agent 的“说明书”~/.nanobot/workspace/ ├── AGENTS.md # 角色定义 ├── SOUL.md # 性格与价值观 ├── TOOLS.md # 拥有的工具 ├── USER.md # 用户画像 └── memory/ # 长期记忆存储 ├── HISTORY.md └── MEMORY.md └── skills/ # 技能存储nanobot 的精妙之处在于它把 Agent 的逻辑和数据完全解耦了。你只需要修改这些 Markdown 文件就能改变 Agent 的行为而不需要动一行 Python 代码。现在你的 nanobot 应该已经跑起来了。Debug 小贴士既然nanobot是一个 CLI 工具最专业的调试方式就是在 IDE如 PyCharm 或 VS Code中创建针对不同子命令的 Debug 配置。由于nanobot使用了typer库所有的命令入口最终都会汇聚到nanobot/cli/commands.py。入口文件脚本路径指向nanobot/cli/commands.py。命名规范建议采用nanobot: [command]的格式例如nanobot: onboard、nanobot: agent或nanobot: gateway。参数配置在 Parameters/Args 中填入对应的子命令和参数如agent -m hello。这样你的 Debug 列表会非常整洁一眼就能看出当前在调试哪个功能这才是专业开发者的姿态。如果你也想 debug nanobot 项目的话请参考我的配置。图nanobot: onboard 配置示例图nanobot: agent 配置示例