四服务协同的 AI 桌面助手框架,支持流式工具调用、GRAG 知识图谱记忆、Live2D 虚拟形象、语音交互
NagaAgent 是一款面向桌面端的 AI 助手框架,采用四服务微服务架构(API Server、Agent Server、MCP Server、Voice Service)。
核心特性#
流式工具调用#
- 不依赖 OpenAI Function Calling API,通过 LLM 文本输出中的
tool代码块嵌入 JSON 描述工具调用 - 兼容 DeepSeek、通义千问、OpenAI、Ollama 等所有 OpenAI 兼容 API
- 支持正则提取 + json5 容错解析 + 全角字符自动标准化
- 最大 5 轮工具调用循环(可配置),支持并行执行
GRAG 知识图谱记忆#
- 从对话中自动提取五元组(主体, 主体类型, 谓词, 客体, 客体类型)存入 Neo4j
- 支持结构化输出(Pydantic 模型)+ JSON 兜底提取
- 3 个 asyncio worker 协程消费任务队列,SHA-256 去重
- 双重存储:本地文件 + Neo4j 图数据库
Live2D 虚拟形象#
- 基于 pixi-live2d-display + PixiJS WebGL 渲染 Cubism Live2D 模型
- 4 通道正交动画系统:体态、动作、表情、追踪
- SSAA 超采样抗锯齿,口型同步(60FPS 提取 5 个参数)
语音交互#
- TTS:Edge-TTS,支持 mp3/aac/wav/opus/flac 格式
- ASR:FunASR 本地服务器,支持 VAD 端点检测和 WebSocket 实时流
- 实时语音对话:基于 Qwen Omni 的全双工 WebSocket 语音交互
四服务架构#
| 服务 | 端口 | 职责 |
|---|---|---|
| API Server | 8000 | 对话、流式工具调用、文档上传、认证代理、记忆 API、配置管理、Skill 市场 |
| Agent Server | 8001 | 后台意图分析、OpenClaw 集成、任务调度与压缩记忆 |
| MCP Server | 8003 | MCP 工具注册/发现/并行调度 |
| Voice Service | 5048 | TTS + ASR + 实时语音 |
MCP 工具生态#
内置 Agent:天气/时间、应用启动器、游戏攻略、在线搜索、网页抓取、浏览器自动化、视觉分析、MQTT IoT 控制、文档提取。支持动态注册、并行调度、技能工坊一键安装社区 Skill。
环境要求与安装#
- Python 版本:>=3.11, <3.12
- 平台支持:Windows / macOS / Linux
git clone https://github.com/RTGS2017/NagaAgent.git
cd NagaAgent
python setup.py # 自动检测环境、创建虚拟环境、安装依赖
配置示例#
{
"api": {
"api_key": "your-api-key",
"base_url": "https://api.deepseek.com/v1",
"model": "deepseek-v3.2"
}
}
启动方式#
python main.py # 完整启动
python main.py --headless # 无 GUI 模式
适用场景#
- 个人桌面助手:语音交互、日程管理、文档处理、系统控制
- 知识管理:自动构建个人知识图谱,长期记忆用户偏好和事实
- 游戏辅助:攻略问答、伤害计算、配队推荐
- IoT 控制:通过 MQTT 协议控制智能家居设备
- 浏览器自动化:基于 Playwright 的网页操作自动化
- 多 Agent 协作:通过 MCP 工具系统实现并行任务调度