把 NanoBot 跑起来了:本地聊 Discord,代理走远程,Grok 4.5 能聊天能生图。踩了几个坑,记一下。

近几年深刻体会到 AI 不是玩玩,是在颠覆。23 年冲击文字,24 年图片,25 年视频,26 代码——名副其实的智能体元年。
这种背景下,拥有一个定制化赋能智能体很重要。为什么不选 OpenClaw、Hermes?它们通用性强但代码更复杂,定制开发门槛高。反观 nanobot,像智能体框架,小而美,适合深度定制。更重要的是,自己改能练编码能力,深入理解 AI 开发。
只能说看需求:想省事用现成工具或 Claude/Codex;喜欢折腾、技术流,选 nanobot 定制是条不错的路。
安装总共五步如下:
安装 NanoBot 推荐源码安装
初始化项目
启动网页可视化窗口
进阶配置 grok模型(可选)或者deepseek
连接聊天应用 Discord
一、安装 NanoBot 推荐源码安装
- 克隆源码
git clone github.com/HKUDS/nanobot.git
- 进入项目目录
cd nanobot
- 给 Python 项目建一个”独立小房间”,跟你电脑上其他 Python 项目、系统自带的 Python 环境隔离开,避免装的包互相打架。
python -m venv .venv && source .venv/bin/activate # or python3
- 安装下载资源包
pip install -e .
pip install –upgrade pip #可选
nanobot –version #检查是否安装 我的版本是 🐈 nanobot v0.2.2
二、初始化项目
- 初始化项目配置
nanobot onboard

配置文件 /Users/xiao1024/.nanobot/config.json 工作目录 /Users/xiao1024/.nanobot/workspace
- 修改配置文件
code /Users/xiao1024/.nanobot/config.json
这个一步比较容易错,但配置好基本启动成功! 我配置的是deepseek 如下:
“agents”: {
“defaults”: {
“workspace”: “~/.nanobot/workspace”,
“modelPreset”: null, #这里不要动
“model”: “deepseek-v4-pro”, #这里需要设置为你API对应的模型,否则出错
“provider”: “auto”,
“maxTokens”: 8192,
“contextWindowTokens”: 200000,
“contextBlockLimit”: null,
“temperature”: 0.1,
“fallbackModels”: [],
“maxToolIterations”: 200,
“maxConcurrentSubagents”: 1,
“failOnToolError”: true,
“maxToolResultChars”: 16000,
“providerRetryMode”: “standard”,
“toolHintMaxLength”: 40,
“reasoningEffort”: null,
“timezone”: “UTC”,
“botName”: “nanobot”,
“botIcon”: “🐈”,
“unifiedSession”: false,
“disabledSkills”: [],
“idleCompactAfterMinutes”: 15,
“consolidationRatio”: 0.5,
“dream”: {
“enabled”: true,
“intervalH”: 2,
“modelOverride”: null,
“maxBatchSize”: 20,
“maxIterations”: 15,
“annotateLineAges”: true
}
}
},
“deepseek”: {
“apiKey”: “sk-30ff0888d517—b8a95c”,
“apiBase”: “https://api.deepseek.com",
“apiType”: “auto”, #should be ‘auto’, ‘chat_completions’ or ‘responses’
“extraHeaders”: null,
“extraBody”: null,
“extraQuery”: null,
“proxy”: null,
“thinkingStyle”: null
},
- 修改好了 可以用这个来测试
nanobot agent -m “Hello!” –config /Users/xiao1024/.nanobot/config.json
三、启动网页可视化窗口
启动前需要去前端项目目录编译成功 否则 启动成功 前端页面打开也是 not found
前端项目目录在你的项目目录的 webui 下 xxx/nanobot/webui
我采用的是pnpm 安装的 有出错
pnpm install
pnpm run build 后大量包显示未安装 如下操作最后才成功
pnpm add -D mdast unified micromark-util-types micromark-extension-math
deprecated mdast@3.0.0: mdast was renamed to remark
pnpm remove mdast
pnpm add -D @types/mdast
pnpm run build
回到项目项目根目录 执行 最终项目启动成功
nanobot webui
✓ Health endpoint: http://127.0.0.1:18790/health✓ Opened browser at127.0.0.1:8765/#/?bootstrapSecret=p...

四、进阶配置 grok模型(可选deepseek)
前提条件:你需要一个premium+ 一个云主机装了 hermes + 一台本地电脑
云主机hermes 配置使用grok4.5 实测可行, 如果只是测试玩玩也可以用deepseek api 很实惠 !
和他对话说:帮我起一个代理 给本地电脑 nanobot 使用grok ,nanobot 暂时无grok 授权对接可选 最后和他说 服务可以远程使用 此服务随本机开机重启自启动
基本架构
X Premium+ / SuperGrok
↓ xai-oauth
远程 Hermes Agent(无头服务器)
↓ hermes proxy (provider=xai)
OpenAI 兼容接口
43.255.156.36:8645/v1
↓
本地 nanobot(providers.custom)
配置好后当前 grok proxy 状态
| 项 | 值 |
|------|--------------------------------------------------------------------|
| 服务 | hermes-proxy.service(user systemd,已 enable) |
| 状态 | active,从 7/12 起跑了约 3 天 |
| 命令 | hermes proxy start --provider xai --host 0.0.0.0 --port 8645 |
| 地址 | http://0.0.0.0:8645/v1 |
| 上游 | xAI Grok OAuth(ready) |
| 作用 | 外部 OpenAI 兼容客户端用任意 bearer;proxy 自动挂上你的 OAuth 凭据 |
本质是 凭证透传代理,不是 Hermes agent API server:只转发模型推理,不跑工具/记忆/skills。
全程几乎不用手动 智能体会帮你改好 但这里要谨慎:
cd ~/.nanobot/config.json 查看一级配置项

以下为手动修改配置文件生效:前提声明:三个点 只是省略 不要复制到项目,否则报错无法运行!
.
.
.
基本模型配置:
“agents”: {
"defaults": {
"workspace": "~/.nanobot/workspace", [#你的工作空间](javascript:;)
"modelPreset": null,
"model": "deepseek-v4-flash", # 默认启用deepseek-v4-flash
"provider": "deepseek", # 对应provider deepseek 配置
.
.
.
}
}
“providers”: {
"custom": {
"apiKey": "sk-unused",
"apiBase": "http:// your ip :port/v1",
"apiType": "auto", [#新手注意这里要选auto](javascript:;)
"extraHeaders": null,
"extraBody": null,
"extraQuery": null,
"proxy": null,
"thinkingStyle": null
},
.
.
.
}
“tools”: {
“imageGeneration”: {
"enabled": true,
"provider": "custom", # 这里的cutom 对应上面的 providers custom选项
"model": "grok-imagine-image-quality",
"defaultAspectRatio": "1:1",
"defaultImageSize": "1K",
"maxImagesPerTurn": 4,
"saveDir": "generated"
},
.
.
.
}
可选配置 modelPresets
“modelPresets”: {
"grok-4.20": {
"label": null,
"model": "grok-4.20",
"provider": "custom",
"maxTokens": 8192,
"contextWindowTokens": 200000,
"temperature": 0.1,
"reasoningEffort": null
},
"grok-4.5": {
"label": null,
"model": "grok-4.5",
"provider": "custom",
"maxTokens": 8192,
"contextWindowTokens": 200000,
"temperature": 0.1,
"reasoningEffort": null
}
}
同样可选修改图形界面setting配置生效:

配置修改后都建议 重启网关生效 。也可选本地装hermes估计可以 但需要一直运行!
Grok 4.5 使用 聊天与生图
查看我7月19日的推文,就是本地使用 hermes proxy 代理grok 在本地直接生成的
x.com/xaiwind/status/2078710423554...
总结就是:我的是preimum + 不用grok api 接口,也可以本地使用 grok ai 聊天、生图 ! 视频生成也是可以的,为了省token 暂时没有尝试!
五、连接聊天应用 Discord
1.创建应用 点击链接 创建一个应用 名字介绍随意填就可以discord.com/developers/application...

2.再点击机器人 ——创建——为你的服务器或者社区创建一个机器人。 获取令牌,如果你创建机器人的时候未看到,直接点重置令牌获取,复制后保存在某地! 启用 MESSAGE CONTENT INTENT,这是 Bot 读取消息的必要条件。

获取你的discord 用户ID 其一:点击设置——开发者点击开启 其二:点击头像 复制用户ID


3.打开配置文件 ~/.nanobot/config.json
修改配置文件的 token 和 加用户ID 在allowFrom 里数字记得加引号
进行以下设置:
Developer Portal → OAuth2 → URL Generator
Scopes 勾选:
botBot Permissions 勾选:
Send Messages、Read Message History打开生成的链接,将 bot 加入你的服务器

4.开启discord 频道
nanobot plugins enable discord
查看渠道状态
nanobot channels status
启动nanobot网关 –verbose 调试模式 会显示较详细的日志
nanobot gateway –verbose
5.最后测试成功


最后
本文由我实操记录完成 !以上只是初步的 nanobot 本地运行配置指引,后续可能继续更新相关使用记录与体验。如果遇到有什么问题可以找我,我会第一时间回复大家!如果文章对你有帮助,欢迎点赞、收藏、关注!我是想风,@xaiwind 一个关注出海与AI的创作者!
本文首发想风技术文档
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu