NagaAgent

GitHub
1.5k 162 较难 1 次阅读 今天AGPL-3.0Agent插件
AI 解读 由 AI 自动生成,仅供参考

NagaAgent 是一款专为个人用户打造的智能助手框架,旨在通过生动的二次元虚拟形象(Live2D)提供亲切自然的交互体验。它不仅仅是一个聊天机器人,更是一个具备“超能力”的桌面伙伴,能够解决用户在信息检索、任务自动化及游戏辅助等方面的复杂需求。

普通用户无需具备编程背景即可轻松上手。NagaAgent 支持一键登录自动配置,让用户能立即与拥有独特人设的虚拟角色进行语音或文字互动。其核心优势在于强大的自主执行能力:内置的 OpenClaw 模块可自动探索网络知识、规划并执行多步骤任务;独特的“记忆云海”技术能将对话历史转化为三维知识图谱,确保持续且连贯的智能记忆;此外,它还具备游戏画面识别与自动操作功能,甚至能操控浏览器和管理本地文件。

对于喜欢个性化体验的用户,NagaAgent 提供了丰富的自定义选项,包括角色音色、背景故事及技能插件。无论是希望提升日常效率的办公族,还是寻求智能游戏辅助的玩家,亦或是喜爱虚拟陪伴的二次元爱好者,都能在其中找到适合自己的使用场景。通过将复杂的 AI 技术封装在直观的界面之下,NagaAgent 让尖端的人工智能真正成为了触手可及的日常工具。

使用场景

独立游戏开发者小林正在攻克一款动作 RPG 的关卡设计,同时需要实时参考大量攻略数据并管理复杂的开发任务。

没有 NagaAgent 时

  • 信息检索割裂:需要在浏览器、攻略网站和笔记软件间反复切换,手动复制粘贴关键数值,效率极低且容易出错。
  • 缺乏长期记忆:每次开启新对话都要重新向 AI 陈述项目背景、角色设定和当前进度,上下文丢失严重。
  • 操作繁琐枯燥:测试游戏时需要人工重复跑图记录数据,无法自动识别画面细节或执行批量操作,占用大量创意时间。
  • 交互体验冰冷:传统的命令行或文本框交互缺乏情感连接,长时间独自开发容易产生孤独感,难以维持高昂热情。

使用 NagaAgent 后

  • 智能探索执行:通过内置 OpenClaw 技能,NagaAgent 能自动搜索最新攻略并提取数值,甚至直接规划任务链路完成资料整理。
  • 三维记忆云海:基于对话历史自动构建记忆图谱,NagaAgent 能主动调用之前的设定和线索,无需重复交代背景即可无缝续接工作。
  • 自动化游戏辅助:利用视觉识别分析实时游戏画面,NagaAgent 可联动 MAA 插件自动执行刷图测试,并即时给出平衡性调整建议。
  • 沉浸式伙伴协作:Live2D 虚拟形象配合语音交互,让 NagaAgent 成为有温度的“二次元同事”,鼠标互动与亲切对话显著缓解开发压力。

NagaAgent 将碎片化的工具链整合为具备记忆与情感的智能伙伴,让开发者从机械劳动中解放,专注于核心创意创造。

运行环境要求

操作系统
  • Windows
  • macOS
  • Linux
GPU

未说明

内存

未说明

依赖
notes1. 前端需安装 Node.js 环境并执行 npm install;2. 后端推荐使用 uv 工具或 setup.py 脚本自动配置虚拟环境;3. 支持所有 OpenAI 兼容的 API 提供商(如 DeepSeek、通义千问等),无需特定本地大模型;4. 本地知识图谱功能需额外部署 Neo4j 数据库,否则可使用云端记忆或禁用该功能;5. 语音交互功能可选配本地 FunASR 或直接调用云端 API;6. 打包版本身已包含 Node.js 与 uv 运行时。
python3.11 (>=3.11, <3.12)
uv (可选,用于加速依赖安装)
Neo4j (可选,用于本地知识图谱记忆)
Node.js (前端构建与运行)
Electron (桌面应用框架)
pygame (TTS 音频播放)
json5 (容错解析)
FunASR (本地语音识别,可选)
Edge-TTS (语音合成)
Playwright (浏览器自动化)
Crawl4AI (网页内容提取)
NagaAgent hero image

快速开始

NagaAgent

你的二次元超能AI助手

流式工具调用 · 知识图谱记忆 · Live2D 虚拟形象 · 语音交互 · 娜迦网络社区

《娜迦协议》包括对话、记忆、MCP、skills、openclaw集成,以打造丰富且易用的ai工具为核心,成为用户端侧的二次元超能ai助手。

软件包含如下功能:①一键登陆自动配置所有apikey,与具备Live2d形象的娜迦进行鼠标互动和亲切对话;②通过内置openclaw快速探索自己需要的知识领域,或是列出任务方向让其自动探索执行;③根据对话历史自动构建三维记忆云海,并将记忆注入后续对话;④通过对话之余留下的线索碎片,探索娜迦网络中的神秘娜迦世界;⑤内置游戏攻略功能,可通过交互或自动识别游戏画面,了解到游戏正在进行的细节信息,并给出建议。可通过MAA等游戏操作插件来自动打游戏;⑥还具有自我配置、浏览器操纵、音乐盒等丰富组件。

娜迦的一切未来,等你探索。

简体中文 | English | 日本語

NagaAgent Platform License Python

Stars Forks Issues Nerq Trust Score

QQ 机器人联动:Undefined QQbot


双许可证 · 开源采用 AGPL-3.0,闭源采用 专属许可(需书面授权)。 商业合作:contact@nagaagent.com / bilibili【柏斯阔落】


更新日志

日期 版本 内容
🛰️ 2026-03-14 干员通讯录升级为设置弹窗(名称 / 人设 / 引擎 / 灵魂文档 / 专有 MCP·Skill);技能工坊接入 NagaHub 与通用 MCP 预热;探索链路新增 QQ / 飞书完成通知;云端记忆优先时不再回退本地 Neo4j
🧩 2026-03-13 OpenClaw 编排链路与打包集成继续扩展;后端 spec 修复 Windows 控制台 Unicode 输出报错
🧱 2026-03-11 OpenClaw Skill 自动执行;干员独立 workspace;模型选择器与定价显示接入 Default / Deepseek-V3.2 / Kimi-K2.5
🛠️ 2026-03-09 深度集成 OpenClaw vendor 源码编译与统一配置;论坛未登录 401 风暴修复;Windows 托盘图标修复
📦 2026-03-08 naga-backend.spec 持续修正;应用扫描器支持环境变量与 macOS;工具结果默认折叠;枢机集市移除记忆云迁 / MCP 工具 / 智能体技能三板块
🚦 2026-03-07 Node.js 与 uv 运行时随包分发;MCP 命令解析器统一;OpenClaw Gateway 启动诊断增强;打包版音乐 / 唤醒语音 / 记忆云海等问题修复
🧰 2026-03-06 GitHub Actions 构建发布流水线;Electron 自动更新替换旧补丁系统;CI 构建资源与 charset_normalizer 打包修复;论坛与积分轮询细节优化
🔊 2026-03-05 TTS 开关、消息队列与串行发送重构;RAG 记忆召回增强;Gemini / 自动 Function Calling 支持;充值界面与远程记忆稳定性修复
🧠 2026-03-04 迁移到原生 Function Calling;DogTag 接管 heartbeat / proactive vision;前后端热补丁系统与 4 层安全防护;流式文本与渐进式 TTS 优化
🔎 2026-03-03 web_search 直接接入 NagaBusiness 搜索代理;论坛连接、TTS 流式播放与 OpenClaw 轮询降级修复;Live2D 与 Electron 稳定性修复
❤️ 2026-03-02 Heartbeat v3 事件驱动重构;naga_control 自编排工具;打包时嵌入 agent-browser;启动诊断、健康检查与 OpenClaw 配置路径修复
🌐 2026-03-01 已登录走 NagaBusiness、未登录走 Brave / OpenClaw 的搜索代理成型;OpenClaw 工具直调与自动启动完善;游戏攻略与角色音色配置更新
🗂️ 2026-02-28 持久化存储统一迁移到 ~/.naga 用户目录;ForumQuotaView 网络探索控制中心;旅行模块与语音交互全面升级
🎙️ 2026-02-27 接入 ASR 语音识别(MediaRecorder + NagaBusiness 代理);会话风格、Electron 背景、MCP vision 与服务器配置整理
🎆 2026-02-26 5.1.0 娜迦网络社区论坛上线;设置三合一重构;旅行模式;积分配额页;枢机集市与主面板更新
⚡ 2026-02-25 5.1.0 TTS 全链路修复(CORS / asyncio);build.py 跨平台构建;上下文压缩持久化;角色系统更新;提示词注入架构重构
🎵 2026-02-24 Neo4j 连接超时修复;统一 BGM 播放器;音律坊歌单编辑;MCP 管理 UI;悬浮球透明窗口 + 悬停亮度
🏗️ 2026-02-23 跨平台构建完善;版本号统一 pyproject.toml 管理;提示词/截图/视觉优化;角色文件打包迁移
💕 2026-02-22 积分好感度系统(签到 / 好感度 / 积分);悬浮球阴影与拖拽修复;登录自动恢复;OpenClaw hooks 修复
🎶 2026-02-21 音律坊图标更新;MCP Agents 更新;悬浮球小按钮
🗜️ 2026-02-20 上下文压缩三级重构(<compress> 标签 / 跨会话继承);MCP 管理 UI;悬浮球透明窗口;音律坊功能修正
🔄 2026-02-19 SSE 去除 base64 直接 JSON 传输;移除冗余后台意图分析器;config_manager 自动检测编码
🔧 2026-02-17 悬浮球序列帧路径改为相对路径,修复打包后头像不显示
🚀 2026-02-16 5.0.0 NagaModel 网关统一接入;DeepSeek 推理链实时展示;记忆云海 UI 自适应修复
🧠 2026-02-15 统一附加知识块 + 消除历史污染;LLM 流式重试;七天自动登录;开机自启动
🌊 2026-02-14 NagaMemory 云端远程记忆;意识海 3D 重写;启动粒子动画;版本更新检查弹窗;用户使用协议
✨ 2026-02-13 悬浮球 4 状态模式;截屏多模态视觉切换;技能工坊重构;Live2D 表情通道独立
🎨 2026-02-12 NagaCAS 认证;Live2D 4 通道正交动画架构;Agentic Tool Loop;明日方舟风格启动界面
📦 2026-02-11 嵌入式 OpenClaw 打包;启动自动从模板生成配置文件
🛠️ 2026-02-10 后端打包优化;技能工坊 MCP 状态修复;去除冗余 Agent/MCP 仅保留 OpenClaw
🌱 2026-02-09 前端重构;Live2D 禁用眼睛追踪;OpenClaw 更名为 AgentServer

目录

  1. 快速开始
  2. 功能导览(主面板)
  3. 对话
  4. 记忆云海
  5. 技能工坊
  6. 娜迦网络
  7. 枢机集市
  8. 终端设置
  9. 音律坊
  10. 悬浮球
  11. 全局功能
  12. 后端架构
  13. 可选配置
  14. 端口一览
  15. 故障排除

快速开始

环境要求

  • Python 3.11(>=3.11, <3.12
  • 可选:uv — 加速依赖安装
  • 可选:Neo4j — 本地知识图谱记忆

安装

git clone https://github.com/Xxiii8322766509/NagaAgent.git
cd NagaAgent


#前端安装
cd frontend
npm install
cd..


#后端安装
# 方式一:setup 脚本(自动检测环境、创建虚拟环境、安装依赖)
python setup.py

# 方式二:uv
uv sync

# 方式三:手动
python -m venv .venv
source .venv/bin/activate   # Windows: .\.venv\Scripts\activate
pip install -r requirements.txt

最小配置

复制 config.json.exampleconfig.json,填入 LLM API 信息:

{
  "api": {
    "api_key": "your-api-key",
    "base_url": "https://api.deepseek.com",
    "model": "deepseek-v3.2"
  }
}

支持所有 OpenAI 兼容 API(DeepSeek、通义千问、OpenAI、Ollama 等)。

启动

cd frontend && npm run dev (配置了一键启动)

功能导览(主面板)

启动后进入主面板(PanelView),采用 3D 视差效果(鼠标移动触发透视旋转)。 所有功能从主面板的八个入口按钮展开:

# 入口 路由 功能概要
1 对话 /chat AI 对话、流式工具调用、上下文压缩
2 记忆云海 /mind 知识图谱 3D 可视化与 GRAG 记忆管理
3 技能工坊 /skill MCP 工具管理与社区 Skill 安装
4 娜迦网络 /forum / /forum/quota 社区论坛、积分好感度
5 枢机集市 /market 背景、音乐、角色、记忆迁移、充值
6 终端设置 /config 模型连接、记忆连接、音画配置(三合一)
7 音律坊 /music BGM 播放器与歌单管理
8 悬浮球 进入轻量悬浮球窗口模式

1. 对话 · MessageView

流式工具调用

对话引擎通过 SSE 流式输出,同时实时送达前端显示与 TTS 分句播放。 工具调用不依赖 OpenAI Function Calling API,LLM 在文本中以 ```tool``` 代码块嵌入 JSON,任何 OpenAI 兼容提供商均可使用

单轮工具调用流程:

LLM 流式输出 ──SSE──▶ 前端实时显示
       │
       ▼
parse_tool_calls_from_text()
  ├─ Phase 1: 提取 ```tool``` 代码块
  └─ Phase 2: 兜底提取裸 JSON
       │
       ▼
  按 agentType 路由
  ├─ "mcp"      → MCPManager.unified_call()
  ├─ "openclaw" → Agent Server /openclaw/send
  └─ "live2d"   → UI 动画通知
       │
       ▼
  asyncio.gather() 并行执行所有工具
       │
       ▼
  结果注入 messages,进入下一轮 LLM 调用(最多 5 轮)
  • 文本解析:json5 容错解析,全角字符自动标准化
  • SSE 格式:data: {"type":"content"|"reasoning","text":"..."}\n\n(直接 JSON,不含 base64)
  • 循环上限:max_loop_stream = 5(可配置)

源码:apiserver/agentic_tool_loop.py

上下文压缩

会话 token 超过 100k 时自动触发压缩,避免上下文溢出:

阶段 触发时机 行为
启动压缩 会话加载时 历史超阈值则立即压缩前段消息
运行时压缩 每轮对话后 超限则压缩并注入 <compress> 标签
跨会话继承 新会话启动 读取上次摘要,滚动累积上下文

摘要结构(6 分区):关键事实 / 用户偏好 / 重要决定 / 待办事项 / 背景信息 / 最近状态。 <compress> 标签持久化到会话文件,不计入 LLM token 统计。

DeepSeek 推理链展示

使用 DeepSeek 时,reasoning 字段通过 SSE 实时推送,前端以独立样式展示思考过程。


2. 记忆云海 · MindView

GRAG 知识图谱记忆

GRAG(Graph-RAG)从对话中自动提取五元组并存入 Neo4j,对话时自动检索作为 LLM 上下文。

五元组结构:(主体, 主体类型, 谓词, 客体, 客体类型)

提取流程:

  1. 结构化提取(优先):beta.chat.completions.parse() + Pydantic QuintupleResponsetemperature=0.3,重试 3 次
  2. JSON 党底:解析失败时提取首个 [ 到末尾 ] 的内容
  3. 过滤规则:只保留事实(行为、关系、状态、偏好),过滤隐喻、假设、纯情感

实体类型: person / location / organization / item / concept / time / event / activity

任务管理器:

  • 3 个 asyncio worker 消费 asyncio.Queue(maxsize=100)
  • SHA-256 去重:相同文本的重复任务自动跳过
  • 每小时清理超过 24h 的已完成任务

双重存储:

  • 本地:logs/knowledge_graph/quintuples.json
  • 云端:Neo4j 图数据库,graph.merge() upsert

RAG 检索: 关键词提取 → Cypher 查询 → 格式化为 主体(类型) —[谓词]→ 客体(类型) 注入上下文

远程记忆: 登录用户优先使用 NagaMemory 云端;未登录时可使用本地 GRAG。为避免性能损耗,云端链路不再自动回退本地 Neo4j。

源码:summer_memory/

意识海 3D 可视化

Canvas 2D + 手写 3D 投影(非 WebGL),球面坐标相机,透视除法 700 / depth

7 层渲染顺序: 背景渐变 → 地面网格 → 水面平面 → 体积光(3 束光柱)→ 粒子系统(3 层 125 颗)→ 生物荧光浮游生物(10 个带拖尾)→ 知识图谱节点与边(深度排序)

图谱映射: subject/object → 节点,predicate → 有向边,度中心性 → 节点高度权重,上限 100 节点

交互: 拖拽旋转、中键平移、滚轮缩放、节点点选/拖拽、关键词搜索过滤


3. 技能工坊 · SkillView

内置 MCP Agent

基于 Model Context Protocol 的可插拔工具架构,每个工具以独立 Agent 运行:

Agent 功能
weather_time 天气查询 / 预报、系统时间、自动城市 / IP 检测
open_launcher 扫描系统已安装应用,自然语言启动程序
game_guide 游戏策略问答、伤害计算、配队推荐、自动截图注入
online_search 基于 SearXNG 的网络搜索
crawl4ai 基于 Crawl4AI 的网页内容提取
playwright_master 基于 Playwright 的浏览器自动化
vision 截图分析与视觉问答
mqtt_tool MQTT 协议 IoT 设备控制
office_doc docx / xlsx 内容提取

注册与发现: mcp_registry.py glob 扫描 **/agent-manifest.jsonimportlib.import_module 动态实例化。

MCP 管理 UI

前端 McpAddDialog.vue 提供图形化 MCP 工具管理界面,支持在线添加 / 删除工具(无需重启)。

社区 Skill 安装

技能工坊支持一键安装社区发布的 Skill(Agent Browser、Brainstorming、Context7、Firecrawl Search 等)。 后端接口:GET /openclaw/market/itemsPOST /openclaw/market/items/{id}/install

源码:mcpserver/


4. 娜迦网络 · 论坛社区

社区论坛

从主面板"娜迦网络"区块进入,内嵌完整社区功能:

视图 路由 功能
ForumListView /forum 帖子列表、分类筛选
ForumPostView /forum/post/:id 帖子详情浏览(当前版本为只读,不提供前端评论与“想要认识”操作)
ForumMessagesView /forum/messages 私信消息
ForumMyPostsView /forum/my-posts 我的发帖
ForumMyRepliesView /forum/my-replies 我的回复
ForumQuotaView /forum/quota 积分配额与探索入口

源码:frontend/src/forum/

积分好感度系统

登录用户专属的游戏化互动体系:

维度 说明
积分 (Credits) 签到 / 连签奖励积累,用于兑换模型额度
好感度 (Affinity) 每次签到增长,反映与娜迦的关系深度
每日签到 用户菜单一键签到,连续签到触发额外奖励

相关 API(通过 API Server 代理至 Naga 门户):/api/checkin/api/affinity/api/credits


5. 枢机集市 · MarketView

枢机集市整合了所有资源获取与管理入口,分为七个 Tab:

Tab 说明
界面背景 切换应用主题背景
音之巷 购买 / 解锁音乐专辑(当前:沙之书)
角色注册 绑定 / 切换 AI 角色(需登录)
记忆云迁 云端记忆数据迁移与管理
MCP 工具 MCP 工具图形化管理
智能体技能 社区 Skill 一键安装
模型充值 Naga 门户积分充值

6. 终端设置 · ConfigView

设置页三合一重构,原分散配置集中在单一页面的三个 Tab:

Tab 内容
模型连接 LLM API Key、Base URL、模型选择
记忆连接 Neo4j 连接参数、NagaMemory 云端配置
音画配置 角色档案、Live2D 模型与 SSAA、TTS 声音、聊天字号

角色卡系统

characters/ 目录管理可切换的 AI 角色,每个角色以 JSON 配置文件描述:

{
  "ai_name": "娜杰日达",
  "user_name": "用户",
  "live2d_model": "NagaTest2/NagaTest2.model3.json",
  "prompt_file": "conversation_style_prompt.txt",
  "portrait": "Naga.png",
  "bio": "由开发者柏斯阔落亲手创造的AI助手,简称娜迦。"
}
  • 每个角色目录包含独立的对话风格提示词、Live2D 模型资源、立绘图像
  • 激活角色后,AI 名称与 Live2D 模型由角色 JSON 统一管理,不可在界面手动覆盖
  • 默认角色:娜杰日达

源码:characters/


7. 音律坊 · MusicView

独立音乐播放器,与主界面 BGM 共享同一播放实例(统一 BGM 架构):

  • 歌单编辑MusicEditView):管理曲目列表,保存后实时同步至全局播放器
  • 播放状态同步:播放 / 暂停图标与音频事件实时联动
  • 列表循环:当前曲目结束后自动播放下一首
  • Live2D 口型同步:TTS 播放期间,AdvancedLipSyncEngineV2 以 60FPS 驱动 Live2D 嘴形

8. 悬浮球 · FloatingView

点击主面板"悬浮"按钮进入轻量悬浮球窗口模式,四种状态循环切换:

ball(100×100 圆球)→ compact(420×100 折叠条)→ full(420×N 展开)→ classic(正常窗口)

外观与动效:

  • 序列帧眨眼动画:5 帧(睁眼 → 半闭 → 闭眼 → 半闭 → 着眼),70ms / 帧,随机间隔触发
  • 生成回复时:球体光晕脉冲特效
  • 悬停时:亮度提升效果
  • 透明无边框窗口,支持自由拖拽定位

功能:

  • 悬浮状态下可直接输入对话,历史消息在 compact / full 状态下可回溯
  • 截图捕获面板:选取屏幕窗口作为图像附件
  • 文件上传支持
  • 右键菜单通过 Electron 原生菜单实现(避免小窗口裁剪)

全局功能

语音交互

TTS(语音合成)

  • 引擎:Edge-TTS,OpenAI 兼容接口 /v1/audio/speech
  • 架构:3 线程流水线 — 分句队列 → TTS 调用(Semaphore(2) 并发)→ pygame 播放
  • Live2D 口型同步:60FPS 提取 5 参数(mouth_open / mouth_form / mouth_smile / eye_brow_up / eye_wide)
  • 端口清理:启动时自动检测并释放占用端口

ASR(语音识别)

  • 本地引擎:FunASR,支持 VAD 端点检测与 WebSocket 实时流
  • 三模式自动切换:LOCAL(FunASR)→ END_TO_END(Qwen Omni)→ HYBRID

实时语音对话(需 DashScope API Key)

  • 基于 Qwen Omni 的全双工 WebSocket 语音交互
  • 回声抑制、VAD 检测、音频分块(200ms)、会话冷却控制
{
  "voice_realtime": {
    "enabled": true,
    "provider": "qwen",
    "api_key": "your-dashscope-key",
    "model": "qwen3-omni-flash-realtime"
  }
}

源码:voice/


Live2D 虚拟形象

使用 pixi-live2d-display + PixiJS WebGL 渲染 Cubism Live2D 模型。 SSAA 超采样抗锯齿:Canvas 按 width × ssaa 渲染,CSS transform: scale(1/ssaa) 缩放。

4 通道正交动画系统live2dController.ts):

通道 控制内容 特性
体态 (State) idle / thinking / talking 循环 hermite 平滑插值,从 naga-actions.json 加载
动作 (Action) 点头 / 摇头等头部动作 FIFO 队列,单一执行
表情 (Emotion) .exp3.json 表情文件 Add / Multiply / Overwrite 三种混合模式,指数衰减过渡
追踪 (Tracking) 鼠标视线跟随 可配延迟启动,tracking_hold_delay_ms

合并顺序:体态 → 嘴形 → 动作 → 手动覆盖 → 表情混合 → 追踪混合


OpenClaw 电脑控制

对接 OpenClaw Gateway(端口 18789),通过自然语言调度 AI 编程助手执行本地任务。

  • 三级回退启动: 打包内嵌 → 全局 openclaw 命令 → 自动 npm install -g openclaw
  • 支持 sessionKey hooks(2026.2.17+),可配置自定义 hooks 路径
  • POST /openclaw/send 发送指令,最长等待 120 秒

任务调度器(TaskScheduler):

  • 任务步骤记录(目的 / 内容 / 输出 / 分析 / 成功与否)
  • 自动提取"关键发现"标记
  • 内存压缩:步骤数超阈值时调用 LLM 生成 CompressedMemory(key_findings / failed_attempts / current_status / next_steps)
  • schedule_parallel_execution() 通过 asyncio.gather() 并行执行任务列表

源码:agentserver/


启动动画

阶段 内容
标题阶段 黑色遮罩 + 40 颗金色上升粒子 + 标题图片 2.4s CSS keyframe;标题出现时自动播放唤醒语音
进度阶段 Neural Network 粒子背景 + Live2D 透出框 + 金色进度条(requestAnimationFrame 插值,最低速度 0.5 兜底)
停滞检测 3 秒无进度变化显示重启提示;进度 25% 后每秒轮询后端 /health
唤醒 进度 100% 后显示"点击唤醒"脉冲提示

后端架构

NagaAgent 由四个独立微服务组成,main.py 统一编排启动:

┌─────────────────────────────────────────────────────────┐
│                   Electron / PyQt5 前端                   │
│  Vue 3 + Vite + UnoCSS + PrimeVue + pixi-live2d-display │
│                                                         │
│  PanelView · MessageView · MindView · SkillView         │
│  MarketView · ConfigView · MusicView · FloatingView     │
│  ForumListView · ForumPostView · ForumQuotaView …       │
└──────────┬─────────────┬──────────────┬─────────────────┘
           │             │              │
   ┌───────▼──────┐ ┌────▼────┐  ┌─────▼──────┐
   │  API Server  │ │  Agent  │  │   Voice    │
   │   :8000      │ │  Server │  │  Service   │
   │              │ │  :8001  │  │   :5048    │
   │ 对话 / SSE   │ │         │  │            │
   │ 工具调用     │ │ 任务调度│  │ TTS / ASR  │
   │ 上下文压缩   │ │ OpenClaw│  │ 实时语音   │
   │ 文档上传     │ │         │  │            │
   │ 认证代理     │ └────┬────┘  └────────────┘
   │ 记忆 API     │      │
   │ Skill 市场   │  ┌───▼──────────┐
   │ 配置管理     │  │  OpenClaw    │
   └──────┬───────┘  │  Gateway    │
          │          │  :18789     │
   ┌──────▼──────┐   └─────────────┘
   │ MCP Server  │
   │   :8003     │
   │ 工具注册    │
   │ Agent 发现  │
   │ 并行调度    │
   └──────┬──────┘
          │
  ┌───────┴───────────────────────┐
  │      MCP Agents(可插拔)      │
  │ 天气 | 搜索 | 抓取 | 视觉     │
  │ 启动器 | 攻略 | 文档 | MQTT   │
  └───────────────────────────────┘
          │
   ┌──────▼──────┐
   │    Neo4j    │
   │   :7687     │
   │  知识图谱   │
   └─────────────┘

目录结构

NagaAgent/
├── main.py                   # 统一入口,编排所有服务
├── build.py                  # 跨平台构建脚本
├── config.json               # 运行时配置(从 config.json.example 复制)
├── pyproject.toml            # 版本 5.1.0,项目元数据与依赖
│
├── apiserver/                # API Server(:8000)
│   ├── api_server.py         #   FastAPI 主应用
│   ├── agentic_tool_loop.py  #   多轮工具调用循环
│   ├── llm_service.py        #   LiteLLM 统一 LLM 调用
│   └── streaming_tool_extractor.py  # 流式分句 + TTS 分发
│
├── agentserver/              # Agent Server(:8001)
│   ├── agent_server.py
│   └── task_scheduler.py     #   任务编排 + 压缩记忆
│
├── mcpserver/                # MCP Server(:8003)
│   ├── mcp_server.py
│   ├── mcp_registry.py       #   manifest 扫描 + 动态注册
│   ├── mcp_manager.py        #   unified_call() 路由
│   ├── agent_weather_time/
│   ├── agent_open_launcher/
│   ├── agent_game_guide/
│   ├── agent_online_search/
│   ├── agent_crawl4ai/
│   ├── agent_playwright_master/
│   ├── agent_vision/
│   ├── agent_mqtt_tool/
│   └── agent_office_doc/
│
├── summer_memory/            # GRAG 知识图谱记忆
│   ├── quintuple_extractor.py
│   ├── quintuple_graph.py
│   ├── quintuple_rag_query.py
│   ├── task_manager.py
│   ├── memory_manager.py
│   └── memory_client.py      #   NagaMemory 远程客户端
│
├── voice/                    # 语音服务(:5048)
│   ├── output/               #   TTS + 口型同步
│   └── input/                #   ASR + 实时语音
│
├── characters/               # 角色配置目录
│   └── 娜杰日达/             #   prompt / Live2D 模型 / 立绘
│
├── frontend/                 # Electron + Vue 3 前端
│   ├── electron/             #   主进程
│   │   └── modules/          #   backend / hotkeys / menu / tray / updater / window
│   └── src/
│       ├── views/            #   所有页面视图
│       ├── forum/            #   论坛模块
│       ├── components/       #   通用组件
│       ├── composables/      #   useAuth / useBackground / useAudio …
│       └── utils/            #   live2dController / session / config
│
├── system/                   # 配置加载、环境检测、系统提示词
├── guide_engine/             # 游戏攻略引擎
└── logs/                     # 运行日志、知识图谱文件

可选配置

知识图谱记忆(Neo4j)

安装 Neo4j(DockerNeo4j Desktop),配置 config.json

{
  "grag": {
    "enabled": true,
    "neo4j_uri": "neo4j://127.0.0.1:7687",
    "neo4j_user": "neo4j",
    "neo4j_password": "your-password"
  }
}

不配置 Neo4j 时,GRAG 仅使用本地 JSON 文件存储,功能不受影响。

语音交互(TTS / ASR)
{
  "system": { "voice_enabled": true },
  "tts": {
    "port": 5048,
    "default_voice": "zh-CN-XiaoxiaoNeural"
  }
}

实时全双工语音对话(需通义千问 DashScope API Key):

{
  "voice_realtime": {
    "enabled": true,
    "provider": "qwen",
    "api_key": "your-dashscope-key",
    "model": "qwen3-omni-flash-realtime"
  }
}
Live2D 虚拟形象(自定义模型)
{
  "web_live2d": {
    "ssaa": 2,
    "model": {
      "source": "./models/your-model/model.model3.json",
      "x": 0.5,
      "y": 1.3,
      "size": 6800
    },
    "face_y_ratio": 0.13,
    "tracking_hold_delay_ms": 100
  }
}

启用角色卡后,ai_namemodel.source 由角色 JSON 自动覆盖,无需手动修改。

MQTT 物联网控制
{
  "mqtt": {
    "enabled": true,
    "broker": "mqtt-broker-address",
    "port": 1883,
    "topic": "naga/agent/topic",
    "client_id": "naga-agent-client"
  }
}

端口一览

服务 端口 说明
API Server 8000 主接口:对话、配置、认证、Skill 市场
Agent Server 8001 任务调度、OpenClaw
MCP Server 8003 MCP 工具注册与调度
Voice Service 5048 TTS / ASR
Neo4j 7687 知识图谱(可选)
OpenClaw Gateway 18789 AI 电脑控制(可选)

故障排除

问题 解决方案
Python 版本报错 必须使用 Python 3.11;推荐用 uv 自动管理版本
端口被占用 检查 8000、8001、8003、5048 是否可用
Neo4j 连接超时 / 挂起 已在 2.24 修复;确认 Neo4j 服务已启动
TTS 无声音 / CORS 报错 已在 2.25 修复;确认 voice_enabled: true
启动卡在进度条 检查 API Key 是否正确;等待 3 秒后出现重启提示
悬浮球头像不显示 已在 2.17 修复序列帧路径;确认使用最新打包版本
config.json 乱码 已在 2.19 修复:config_manager 自动检测文件编码
OpenClaw 启动失败 已在 2.24 修复全局模式缺少配置文件的问题
python main.py --check-env --force-check  # 完整环境诊断
python main.py --quick-check              # 快速检查
python update.py                          # 自动 git pull + 依赖同步

贡献

欢迎提交 Issue 和 Pull Request。如有问题,可加入 QQ 频道 nagaagent1


Star History

Star History Chart

版本历史

v5.1.02026/03/06

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

139k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|2天前
Agent图像开发框架

OpenHands

OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。

70.6k|★★★☆☆|今天
语言模型Agent开发框架