RTGS2017/NagaAgent

A simple yet powerful agent framework for personal assistants, designed to enable intelligent interaction, multi-agent collaboration, and seamless tool integration.

NagaAgent – 以桌面为中心的AI助手

是什么 – NagaAgent 是一个开源、跨平台的桌面应用程序(Windows/macOS/Linux),集成了大型语言模型(LLM)聊天界面与丰富的“代理”工具。它采用 Python 后端(FastAPI、Neo4j、LiteLLM)和 Electron/Vue 前端构建,目标用户是希望拥有一个能记住过往对话、调用外部工具、渲染 Live2D 头像,甚至控制计算机(启动应用、浏览网页、玩游戏)的个人AI伴侣的人。


核心功能(如 README 所述)

领域 NagaAgent 的功能
聊天与工具调用 支持任意 OpenAI 兼容提供者或 Anthropic 的流式 LLM 响应,使用自定义的“tool” JSON 块语法,由后端解析并执行。每轮最多支持 5 次工具调用循环。
记忆(GRAG) 从对话中提取主语-谓语-宾语五元组事实,本地及 Neo4j 图数据库中存储,并自动为后续轮次检索相关事实(图-RAG)。
Live2D 头像 显示一个 2D 动画角色(Live2D Cubism),可响应鼠标移动、语音和工具事件。用户可上传自己的模型目录。
语音 使用 Edge-TTS 进行语音合成(按句流式输出),使用 FunASR / Qwen-Omni 进行语音转文本,通过唇形同步驱动 Live2D 面部。
MCP 工具框架 一个插件系统(Model Context Protocol),内置天气、系统启动器、游戏指南、网页搜索、网页抓取、Playwright 自动化、视觉、MQTT、文档提取等代理。无需重启即可添加新代理。
OpenClaw 集成 一个本地“代理服务器”,可运行任意 Python/Playwright 任务,调度任务,并将结果反馈回聊天。
知识图谱 UI Neo4j 图谱的 3D “记忆云”可视化(节点=实体,边=谓词),支持鼠标拖拽旋转、缩放和关键词过滤。
社区功能 内置论坛(娜迦网络)、积分/亲和度系统、用于下载社区制作技能的市场,以及背景、音乐和角色包的“市场”。
浮球模式 一个轻量级始终置顶窗口,可切换紧凑、完整和经典布局,便于快速聊天访问。
音乐播放器 集成的 BGM 播放器,支持播放列表,并与 TTS 唇形同步。

快速开始(来自 README)

  1. 克隆与安装
    git clone https://github.com/Xxiii8322766509/NagaAgent.git
    cd NagaAgent
    # 前端
    cd frontend && npm install && cd ..
    # 后端(推荐)
    uv sync   # 或创建 venv 并 pip install -r requirements.txt
    
  2. 配置 – 将 config.json.example 复制为 config.json,并填写 LLM API 密钥(DeepSeek、OpenAI、Anthropic、Ollama 等)。
  3. 运行 – 执行前端脚本 npm run dev 将启动 Electron 窗口并自动启动 Python 服务。

典型使用场景

  • 个人AI伴侣 – 与一个能记住你偏好、风格化的头像聊天,跨会话保持记忆。
  • 工具增强工作流 – 让助手搜索网页、获取文档、启动应用或通过内置 MCP 代理控制物联网设备。
  • 游戏辅助 – 使用 game_guide 技能获取策略建议、自动识别游戏画面,或与外部机器人(如 MAA)联动实现自动化游戏。
  • 知识管理 – 让系统从对话中提取事实,存储在 Neo4j 图谱中,后续可作为新对话的上下文进行查询。
  • 语音优先交互 – 与助手说话并听到回应,头像实时进行唇形同步。

许可证

  • 双重许可:AGPL-3.0(开源部分)和商业用途的专有“闭源”许可证(需书面许可)。仓库包含 LICENSE(AGPL)和 LICENSE-CLOSED-SOURCE 两个文件。

总结

NagaAgent 是一个全栈、以桌面为中心的 AI 助手,集成了 LLM 聊天、工具调用、基于图的记忆、Live2D 头像渲染、语音 I/O 和插件生态系统。它是一个真正的软件项目,旨在为希望拥有可扩展、视觉丰富的 AI 伴侣而非简单教程或精选列表的用户提供服务。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目