简体中文 | English
一个安静地待在 Mesh 网络里的 AI 小节点。
你发消息给它,它会回你一句。
不张扬,不联网,也不需要服务器。
只是当你在山里、在野外、在没有信号的地方,还能问一句“你觉得呢?”,然后收到一个回答。
- 接收发给它的私信(点对点消息)
- 用本地 AI 模型生成简短回复
- 把回答原路传回,就像它一直在线等你
所有处理在本地完成,隐私可控,无需依赖云端。
Meshtastic 让我们能在没有网络的地方通信,但消息始终是人对人。
我在想:能不能有一个“听得懂话”的节点?不复杂,也不聪明,但能回应。
于是做了这个小东西——
它不会主动说话,也不参与群聊。
你找它,它就在。
- 使用 Python 监听 Meshtastic 设备的串口消息
- 当收到发给本节点的私信时,提取内容
- 调用本地运行的 Ollama 服务(或其他 AI 接口)
- 生成回复后通过同一网络回传
-
启动 Ollama 服务:
ollama serve
这会启动 Ollama 后台服务,默认监听
11434
端口。 -
(可选)提前下载模型:
ollama pull qwen2.5:7b
或使用其他轻量模型如
phi3
、tinyllama
。 -
运行 AI 节点程序:
python main.py
注:Ollama 在首次请求时会自动下载并加载模型(如果未提前 pull)。确保设备有足够存储和内存。
{
"system": {
"system_prompt": "你是一个助手,请用简洁的语言(小于200字符)回复。",
"platform": "websocket",
"max_response_length": 200,
"message_queue_timeout": 1
},
"clients": {
"ollama": {
"module": "api.ollama_api",
"class": "AsyncOllamaChatClient",
"kwargs": {
"default_model": "qwen2.5:7b"
}
},
"openai": {
"module": "api.openai_api",
"class": "AsyncOpenAIChatClient",
"kwargs": {
"api_key": "your-api-key",
"default_model": "gpt-3.5-turbo"
}
},
"deepseek": {
"module": "api.deepseek_api",
"class": "AsyncDeepSeekChatClient",
"kwargs": {
"api_key": "your-api-key",
"default_model": "deepseek-chat"
}
},
"websocket": {
"module": "platforms.ws_platform",
"class": "AsyncWebSocketsClient",
"kwargs": {
"uri": "ws://localhost:9238"
}
},
"openrouter": {
"module": "api.openrouter_api",
"class": "AsyncOpenRouterChatClient",
"kwargs": {
"app_name": "MeshBot"
}
}
}
}
Important
请在使用openai
, deepseek
时将your-api-key
改为你使用的api key
如果你在使用OpenRouter,请参照README_OPENROUTER
若要接入 AstrBot
, 可以使用 AstrBot适配器
完全可以在树莓派 + TTGO T-Beam 上跑起来,边走边聊。
- 准备一台运行 Python 的设备(如 Raspberry Pi)
- 连接你的 Meshtastic 节点(如通过 USB)
- 安装依赖:
pip install -r requirements.txt
- 启动 Ollama 服务:
ollama serve
- 运行主程序:
python main.py
- 用另一台设备向它发送私信,等待回复。
Important
在运行主程序时请注意运行路径,运行路径需在项目文件夹下
V 1.0.2
- 添加了句子分割,超过200 UTF-8字符后会拆分发送而不是直接切割
- 引入上下文记忆,让对话更连贯
- 添加一个WebUI
- 优化配置结构
这个项目不是为了替代任何人,也不是要做个多聪明的 AI。
只是想在那些安静的地方,留一个能回应你的声音。
如果你也喜欢这种感觉,欢迎一起改进它。
同时感谢那些为该项目做出贡献的开发者,感谢你们的支持与付出。
祝你的 Meshtastic 节点在山野间稳定运行,每一条回复,都像一束悄悄亮起的信号灯。📡💡
探索愉快!✨