用 Docker 快速搭建一个能搜索、能思考、能对话的 AI Bot,成本几乎为零
写在前面
作为一名博主,一直想拥有一个属于自己的 AI 助手,能随时随地通过 TG 交流。今天终于实现了这个想法,而且整个过程比想象中简单太多。这篇文章记录了博主从零开始部署 PicoClaw + 美团 LongCat AI + TG Bot 的完整过程,包括踩过的坑和解决方案。
最终效果:
- ✅ 通过 TG 与 AI 对话
- ✅ 支持网络搜索功能
- ✅ 每日 10 万 tokens 免费额度
- ✅ Docker 一键部署,极致轻量(<10MB 内存)
- ✅ 总成本:VPS$10/月或更低(使用免费额度)
一、为什么选择这个技术栈?
PicoClaw:超轻量 AI 框架
PicoClaw 是一个用 Go 重写的极简 AI 助手框架,相比 OpenClaw(TypeScript)和 NanoBot(Python):
| 指标 | OpenClaw | NanoBot | PicoClaw |
|---|---|---|---|
| 内存占用 | >1GB | >100MB | <10MB |
| 启动时间 | >500s | >30s | <1s |
| 硬件成本 | Mac Mini $599 | Linux SBC ~$50 | 任意 Linux $10+ |
| 语言 | TypeScript | Python | Go |
核心优势:
- 🪶 超轻量:能在 $10 的开发板上运行
- ⚡️ 启动快:1 秒内启动
- 🔧 易部署:单一二进制文件,Docker 友好
美团 LongCat:国产大模型新星
LongCat 是美团推出的 MoE 架构大模型,性价比极高:
- 免费额度:每日 50 万 tokens
- 速度:100 tokens/s(H800 上)
- 兼容性:完全兼容 OpenAI API
可用模型:
LongCat-Flash-Chat– 通用对话(推荐)LongCat-Flash-Thinking– 深度思考LongCat-Flash-Thinking-2601– 强化工具调用LongCat-Flash-Lite– 轻量化版本
TG:最佳聊天界面
相比其他平台,TG 的优势:
- 🔓 开放的 Bot API
- 🚀 无需审核,5 分钟创建
- 🌍 全平台支持
- 🔐 隐私安全
二、准备工作
2.1 服务器环境
我使用的是一台云服务器(任何支持 Docker 的 Linux 都可以):
- 系统:Debian 13
- 内存:1GB(实际只用了不到 100MB)
- CPU:1 核心
- Docker:已安装
2.2 获取必要的凭证
美团 LongCat API Key
- 访问 LongCat 平台
- 使用美团 App 扫码登录
- 进入 API Keys 页面
- 创建新的 API Key(以
ak-开头)
免费额度:每日 50 万 tokens,对个人使用完全够了。
TG Bot Token
- 在 TG 搜索
@BotFather - 发送
/newbot - 按提示输入 Bot 名称和用户名
- 获得 Token(格式:
123456789:ABCdef...)
TG User ID
- 搜索
@userinfobot - 发送任意消息
- 获得你的 User ID(纯数字)
Brave Search API(可选)
如果想启用网络搜索:
- 访问 https://brave.com/search/api/
- 注册并创建 API Key
- 免费5$额度:1000 次查询
三、部署 PicoClaw
3.1 拉取 Docker 镜像
我使用的是自己通过 GitHub Actions 编译的镜像:
docker pull ghcr.io/xxxxx/picoclaw:latest
3.2 初始化配置
运行 onboard 命令初始化:
输出:
Created AGENTS.md
Created SOUL.md
Created USER.md
Created IDENTITY.md
Created memory/MEMORY.md
🦞 picoclaw is ready!
3.3 配置文件详解
配置文件位置:~/.picoclaw/config.json
初次运行后会生成默认配置,我们需要手动编辑:
nano ~/.picoclaw/config.json
完整配置:
{
"agents": {
"defaults": {
"workspace": "~/.picoclaw/workspace",
"restrict_to_workspace": true,
"provider": "openai",
"model": "LongCat-Flash-Chat",
"max_tokens": 8192,
"temperature": 0.7,
"max_tool_iterations": 20
}
},
"providers": {
"openai": {
"api_key": "ak_你的LongCat_API_Key",
"api_base": "https://api.longcat.chat/openai/v1"
}
},
"channels": {
"telegram": {
"enabled": true,
"token": "你的Telegram_Bot_Token",
"allow_from": [你的Telegram_User_ID]
}
},
"tools": {
"web": {
"search": {
"api_key": "BSA_你的Brave_API_Key",
"max_results": 5
}
}
},
"gateway": {
"host": "0.0.0.0",
"port": 18790
}
}
配置说明:
| 配置项 | 说明 | 示例值 |
|---|---|---|
provider |
指定使用的 AI Provider | "openai" |
model |
模型名称 | "LongCat-Flash-Chat" |
api_base |
API 端点(不含 /chat/completions) |
"https://api.longcat.chat/openai/v1" |
api_key |
LongCat API Key | "ak_xxxxx" |
telegram.token |
Bot Token | "123456:ABC..." |
telegram.allow_from |
白名单用户 ID | [123456789] |
web.search.api_key |
Brave Search Key(可选) | "BSA_xxx" |
3.4 启动服务
docker run -d \
--name picoclaw-gateway \
--restart unless-stopped \
-v ~/.picoclaw:/root/.picoclaw \
ghcr.io/xxxxx/picoclaw:latest \
gateway
注意: 命令是 gateway,不是 picoclaw gateway!
3.5 查看日志
docker logs -f picoclaw-gateway
成功启动的日志:
📦 Agent Status:
• Tools: 11 loaded
• Skills: 0/0 available
✓ Channels enabled: [telegram]
✓ Gateway started on 0.0.0.0:18790
✓ Cron service started
✓ Heartbeat service started
[INFO] telegram: Telegram bot connected {username=your_bot}
四、实战:踩坑与解决
坑 1:命令格式错误
docker run ... picoclaw gateway
# Unknown command: picoclaw
原因: Docker 容器的 ENTRYPOINT 已经设置为 picoclaw,不需要再写一遍。
docker run ... gateway # 直接用子命令
坑 2:API Key 无法识别
Error creating provider: no API key configured for model: LongCat-Flash-Chat
原因: 自定义 provider 名称(如 meituan_longcat)不被识别。
解决: 使用内置的 openai provider,通过 api_base 指向 LongCat:
"providers": {
"openai": {
"api_key": "ak_xxx",
"api_base": "https://api.longcat.chat/openai"
}
}
同时在 agents.defaults 中设置:
"provider": "openai",
"model": "LongCat-Flash-Chat"
坑 3:API 路径重复
问题:
API error: path=/openai/v1/chat/completions/chat/completions
解决: 配置时不要包含完整路径:
"api_base": "https://api.longcat.chat/openai/v1/chat/completions"
✅ 正确:
"api_base": "https://api.longcat.chat/openai/v1"
坑 4:验证 API 可用性
在配置前,先用 curl 测试 API:
curl -X POST https://api.longcat.chat/openai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ak_你的Key" \
-d '{
"model": "LongCat-Flash-Chat",
"messages": [{"role": "user", "content": "你好"}],
"max_tokens": 100
}'
成功响应:
{
"id": "a856b1b2...",
"choices": [{
"message": {
"role": "assistant",
"content": "你好!很高兴见到你 😊..."
}
}]
}
五、功能测试
5.1 基础对话
在 TG 找到你的 Bot,发送:
你是什么模型?
Bot 回复:
我是美团的 LongCat-Flash-Chat 模型,一个基于混合专家(MoE)架构的大语言模型…
5.2 网络搜索
搜索今天的科技新闻
Bot 回复:
正在搜索…
根据最新新闻:
- OpenAI 发布 GPT-5 预览版…
- 特斯拉推出全新自动驾驶系统…
5.3 代码生成
用 Python 写一个快速排序
Bot 回复:
def quick_sort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quick_sort(left) + middle + quick_sort(right)
5.4 复杂任务
帮我分析一下 LongCat 和 DeepSeek 的性能差异
Bot 会自动调用搜索工具,综合分析并给出详细对比。
六、性能与成本
6.1 资源占用
通过 docker stats 查看:
CONTAINER ID NAME CPU % MEM USAGE / LIMIT
97bfb7622968 picoclaw-gateway 0.5% 8.2MiB / 1GiB
实测数据:
- 内存:8.2MB(待机)/ 15MB(对话中)
- CPU:0.5%(1 核心)
- 启动时间:<1 秒
- 响应延迟:~300ms(不含 LLM 推理时间)
6.2 API 成本
美团 LongCat 定价:
- 免费额度:50 万 tokens/天(约 375,000 汉字)
实际使用:
- 每次对话平均:200-500 tokens
- 每日对话 20 次:约 10,000 tokens
- 月成本:¥0(免费额度内)
6.3 Brave Search 成本
- 免费额度:1000 次/月
- 每次搜索返回 5 条结果
- 月成本:$5(免费额度内)
七、进阶玩法
7.1 添加多个聊天渠道
PicoClaw 支持同时启用多个平台:
"channels": {
"telegram": {
"enabled": true,
"token": "xxx"
},
"discord": {
"enabled": true,
"token": "xxx"
},
"qq": {
"enabled": true,
"app_id": "xxx",
"app_secret": "xxx"
}
}
7.2 切换不同模型
根据任务复杂度选择模型:
日常对话:
"model": "LongCat-Flash-Chat"
深度思考:
"model": "LongCat-Flash-Thinking-2601"
快速响应:
"model": "LongCat-Flash-Lite"
7.3 自定义系统提示词
编辑 ~/.picoclaw/SOUL.md:
你是一个专业的技术助手,擅长:
- 代码调试和优化
- 系统架构设计
- 性能分析
回复风格:
- 简洁明了,避免冗余
- 提供可执行的代码示例
- 附带最佳实践建议
7.4 启用定时任务
编辑配置启用 Cron:
"heartbeat": {
"enabled": true,
"interval": 30
}
在 ~/.picoclaw/HEARTBEAT.md 中定义任务:
每天早上 8 点:
- 获取今日天气
- 总结昨天的对话
- 提醒重要事项
八、监控与维护
8.1 查看运行状态
docker exec -it picoclaw-gateway picoclaw status
8.2 查看 API 用量
访问 LongCat 用量页面 查看:
- 今日用量
- 历史趋势
- 剩余额度
8.3 日志管理
# 实时查看日志
docker logs -f picoclaw-gateway
# 查看最近 100 行
docker logs --tail 100 picoclaw-gateway
# 导出日志
docker logs picoclaw-gateway > picoclaw.log
8.4 重启服务
docker restart picoclaw-gateway
8.5 备份配置
# 备份配置文件
cp ~/.picoclaw/config.json ~/.picoclaw/config.json.bak
# 备份对话记录
tar -czf picoclaw-backup.tar.gz ~/.picoclaw/
九、故障排查
问题 1:Bot 不响应
检查项:
- 容器是否运行:
docker ps | grep picoclaw - User ID 是否在白名单:检查
allow_from - Bot Token 是否正确
解决:
# 查看详细日志
docker logs picoclaw-gateway | grep ERROR
问题 2:API 调用失败
检查项:
- API Key 是否正确
- API 额度是否用完
api_base配置是否正确
测试:
curl -X POST https://api.longcat.chat/openai/v1/chat/completions \
-H "Authorization: Bearer $YOUR_API_KEY" \
-d '{"model":"LongCat-Flash-Chat","messages":[{"role":"user","content":"test"}]}'
问题 3:搜索功能无效
检查项:
- Brave API Key 是否配置
- API 额度是否用完
测试:
curl "https://api.search.brave.com/res/v1/web/search?q=test" \
-H "X-Subscription-Token: $BRAVE_API_KEY"
问题 4:容器频繁重启
原因: 通常是配置文件格式错误
# 验证 JSON 格式
cat ~/.picoclaw/config.json | python3 -m json.tool
十、总结与展望
10.1 核心优势
通过这次实战,我深刻体会到这套方案的优势:
技术层面:
- 🪶 超轻量:8MB 内存,能在任何设备上运行
- ⚡️ 高性能:Go 原生性能,响应极快
- 🔧 易维护:单一二进制,Docker 化部署
- 🌍 跨平台:支持 x86/ARM/RISC-V
成本层面:
- 💰 零成本:免费额度完全够用
- 📉 低门槛:$10 VPS即可运行
- 🎯 高性价比:LongCat 便宜 60%+
体验层面:
- 📱 多平台:TG/Discord/QQ 随意切换
- 🔍 全能力:对话、搜索、代码生成
- 🎨 可定制:系统提示词、工具、技能
10.2 适用场景
这套方案特别适合:
- 个人 AI 助手:随时随地通过 TG 咨询
- 团队协作:部署在内网,团队共享
- 学习实验:研究 LLM 应用开发
- 边缘设备:IoT 设备上的智能助手
- 低成本部署:预算有限的小项目
附录
A. 完整配置文件模板
{
"agents": {
"defaults": {
"workspace": "~/.picoclaw/workspace",
"restrict_to_workspace": true,
"provider": "openai",
"model": "LongCat-Flash-Chat",
"max_tokens": 8192,
"temperature": 0.7,
"max_tool_iterations": 20
}
},
"providers": {
"anthropic": {
"api_key": "",
"api_base": ""
},
"openai": {
"api_key": "ak_你的LongCat_API_Key",
"api_base": "https://api.longcat.chat/openai"
},
"openrouter": {
"api_key": "",
"api_base": ""
},
"groq": {
"api_key": "",
"api_base": ""
},
"zhipu": {
"api_key": "",
"api_base": ""
},
"gemini": {
"api_key": "",
"api_base": ""
}
},
"channels": {
"telegram": {
"enabled": true,
"token": "你的Telegram_Bot_Token",
"proxy": "",
"allow_from": [你的User_ID]
},
"discord": {
"enabled": false,
"token": "",
"allow_from": []
},
"qq": {
"enabled": false,
"app_id": "",
"app_secret": "",
"allow_from": []
},
"dingtalk": {
"enabled": false,
"client_id": "",
"client_secret": "",
"allow_from": []
},
"slack": {
"enabled": false,
"bot_token": "",
"app_token": "",
"allow_from": []
}
},
"gateway": {
"host": "0.0.0.0",
"port": 18790
},
"tools": {
"web": {
"search": {
"api_key": "BSA_你的Brave_API_Key",
"max_results": 5
}
}
},
"heartbeat": {
"enabled": true,
"interval": 30
}
}
B. 常用命令速查
# 初始化
docker run --rm -it -v ~/.picoclaw:/root/.picoclaw \
ghcr.io/xxxx/picoclaw:latest onboard
# 启动服务
docker run -d --name picoclaw-gateway --restart unless-stopped \
-v ~/.picoclaw:/root/.picoclaw \
ghcr.io/xxxx/picoclaw:latest gateway
# 查看日志
docker logs -f picoclaw-gateway
# 重启服务
docker restart picoclaw-gateway
# 停止服务
docker stop picoclaw-gateway
# 删除容器
docker rm picoclaw-gateway
# 查看状态
docker exec -it picoclaw-gateway picoclaw status
# 命令行测试
docker run --rm -it -v ~/.picoclaw:/root/.picoclaw \
ghcr.io/xxxx/picoclaw:latest \
agent -m "你好"
# 进入容器
docker exec -it picoclaw-gateway /bin/sh
# 验证配置
cat ~/.picoclaw/config.json | python3 -m json.tool
C. 资源链接
官方资源:
- PicoClaw GitHub: https://github.com/sipeed/picoclaw
- LongCat 官网: https://longcat.ai/
- LongCat API 平台: https://longcat.chat/platform/
- LongCat 文档: https://longcat.chat/platform/docs/zh/
第三方服务:
- Brave Search API: https://brave.com/search/api/
- TG Bot 文档: https://t.me/BotFather
- Docker Hub: https://hub.docker.com/
D. 性能基准测试
测试环境:
- CPU: 1 vCore @ 2.4GHz
- RAM: 1GB
- OS: Debian 13
- Docker: 24.0.5
测试结果:
| 指标 | 数值 |
|---|---|
| 容器启动时间 | 0.8s |
| 内存占用(空闲) | 8.2MB |
| 内存占用(对话) | 15MB |
| CPU 使用率(平均) | 0.5% |
| 响应延迟(本地) | ~300ms |
| 并发用户数 | 10+ |
| 每日对话数 | 100+ |
对比数据:
| 框架 | 启动时间 | 内存占用 | 响应延迟 |
|---|---|---|---|
| PicoClaw | 0.8s | 8MB | 300ms |
| NanoBot | 30s | 100MB | 800ms |
| OpenClaw | 500s | 1GB | 1.5s |
写在最后
这次部署经历让我深刻体会到:AI 应用不一定要昂贵和复杂。
通过合理选择技术栈(PicoClaw + LongCat + TG),我们可以:
- 🎯 零成本运行个人 AI 助手
- 🚀 极致性能(8MB 内存,1 秒启动)
- 🌍 随时随地通过手机交互
- 🔧 完全掌控数据和隐私
更重要的是,整个部署过程只需要 10 分钟,甚至可以在 $10 或更低的VPS上运行。
如果你也想拥有一个属于自己的 AI 助手,不妨试试这套方案。有任何问题,欢迎在评论区交流!
关于作者
一名热爱折腾的博主,专注于 VPS与AI 应用和边缘计算。
欢迎关注我的:
- TG: @vavemen
如果这篇文章对你有帮助,欢迎点赞、收藏和分享! ⭐️
