NABILNET-ORG/Nobla-SuperAgent

GitHub: NABILNET-ORG/Nobla-SuperAgent

一个开源、隐私优先的 AI 超级代理框架,以企业级安全设计统一了 35+ 种 AI 代理能力,覆盖对话、记忆、语音、计算机控制、远程运维、代码执行和多平台消息集成等场景。

Stars: 0 | Forks: 0

# Nobla Agent **一个开源、隐私优先的 AI 超级代理,以企业级安全性统一了 35+ 种 AI 代理能力。** 由 [NABILNET.AI](https://nabilnet.ai) 开发 | [GitHub](https://github.com/NABILNET-ORG/Nobla-SuperAgent) ## 什么是 Nobla Agent? Nobla Agent 是一个 AI 超级代理,它融合了 35+ 个现有 AI 代理项目的最佳能力——同时修复了它们的安全漏洞并保护您的数据隐私。它可以: - **对话**:支持多语言,具备智能 LLM 路由(简单任务使用廉价模型,困难任务使用强大模型) - **记忆**:通过 5 层内存架构在跨对话中记住所有内容 - **观察**:通过 OCR、UI 元素检测和自然语言定位来查看您的屏幕 - **表达**:具备可定制的声音角色,包括原生的黎凡特阿拉伯语支持 - **控制**:您的计算机——通过 6 层安全机制控制鼠标、键盘、文件、应用程序、剪贴板 - **控制远程机器**:通过带有连接池、SFTP 文件传输和 ADMIN 级别安全性的 SSH 进行控制 - **执行代码**:在带有包管理功能的沙箱化 Docker 容器中执行 - **搜索**:利用 AI 驱动的结果综合在网络上进行搜索 - **集成**:通过统一的通道抽象层与 20+ 个消息平台集成 - **学习**:根据您的反馈和使用模式进行学习——从重复的工作流中自动生成可复用的技能 - **自我改进**:通过 A/B 模型测试、主动建议(暂停/忽略)以及可配置的智能水平来实现 - **自动化**:支持 NL 计划任务、Webhooks、基于 DAG 的工作流和工作流模板 - **扩展**:通过通用技能市场——发布、发现、安装、评分和版本化社区技能 默认情况下,所有处理都在您的本地机器上进行。除非您明确启用,否则不需要云端连接。 ## 架构 ``` Flutter App (Mobile-first UI) | | WebSocket / HTTPS (TLS) v FastAPI Gateway (Python 3.12+) | +-- Brain: LLM Router (6 providers, smart routing) +-- Memory: 5-layer engine (episodic, semantic, procedural, knowledge graph, working) +-- Voice: STT/TTS pipeline (Whisper + Levantine Arabic, Fish Speech, PersonaPlex) +-- Tools: Plugin platform (vision, computer control, code execution, remote control, search, and more) +-- Events: Async pub/sub event bus (wildcards, priority dispatch, backpressure) +-- Channels: Unified channel abstraction (adapter → manager → user linking) | +-- Telegram adapter (polling + webhook, MarkdownV2) | +-- Discord adapter (WebSocket gateway, ui.Button views) | +-- WhatsApp adapter (Business Cloud API, interactive messages) | +-- Slack adapter (Socket Mode + Events API, Block Kit) | +-- Signal adapter (JSON-RPC daemon, signal-cli) | +-- Teams adapter (Bot Framework REST API, Adaptive Cards) +-- Automation: NL Scheduled Tasks + Webhooks + DAG Workflows + Templates +-- Agents: Multi-agent orchestrator (parallel tiers, A2A protocol, capability discovery, MCP stdio/SSE) +-- Skills: Runtime skill marketplace (install, security scan, universal adapter) +-- Learning: Self-improving agent (feedback, pattern detection, auto-skills, A/B testing, proactive engine) +-- Security: 4-tier permissions, sandbox, audit trail, kill switch +-- Persona: Emotion-aware response styling with customizable personalities ``` **后端:** Python 3.12+ / FastAPI — 160+ 个源文件,120+ 个测试文件 **前端:** Flutter 3.x / Dart — 70+ 个源文件,使用 Riverpod 状态管理 **数据库:** PostgreSQL + Redis + ChromaDB (向量嵌入) ## 当前状态 Nobla Agent 处于**活跃开发中**。第 1-6 阶段 + 第 5B.1-5B.2 阶段 + WhatsApp/Slack/Signal/Teams 适配器已完成。**1,723 个测试通过** (273 个 Flutter 测试 + 1,450 个后端测试)。 | 阶段 | 状态 | 范围 | |-------|--------|-------| | **阶段 1**:安全基础 | 已完成 | 网关,身份验证 (JWT + OAuth + API Key),沙箱 (Docker/gVisor),紧急停止开关,Flutter 聊天 UI | | **阶段 2**:智能核心 | 已完成 | LLM 路由器 (6 个提供商),5 层内存引擎,带结果合成的 AI 搜索 | | **阶段 3**:语音与角色 | 已完成 | Whisper STT + 黎凡特阿拉伯语,Fish Speech/CosyVoice TTS,PersonaPlex,情感检测,角色管理 UI | | **阶段 4A-E**:计算机控制 | 已完成 | 屏幕视觉,鼠标/键盘,代码执行 (沙箱化),SSH/SFTP 远程控制,Flutter 工具 UI (669 个测试) | | **阶段 5-基础**:事件与技能 | 已完成 | 事件总线 (发布/订阅、通配符、优先级),通道抽象,技能运行时,工具事件连接 (106 个测试) | | **阶段 5A**:Telegram + Discord | 已完成 | Telegram (轮询 + Webhook),Discord (WebSocket 网关),媒体,命令 (173 个测试) | | **阶段 5-通道**:WhatsApp | 已完成 | WhatsApp Business Cloud API,HMAC-SHA256 Webhook 验证,Graph API 媒体,交互式消息,关键词命令,状态跟踪 (94 个测试) | | **阶段 5-通道**:Slack | 已完成 | 双 Socket 模式/Events API,Block Kit 格式化器,v2 文件上传,斜杠 + 关键词命令,RateLimitQueue,线程感知回复,HMAC-SHA256 验证 (142 个测试) | | **阶段 5-通道**:Signal | 已完成 | JSON-RPC 守护进程,纯文本,文件路径媒体,阅后即焚消息,已读回执,指数退避重连 (72 个测试) | | **阶段 5-通道**:Teams | 已完成 | Bot Framework REST API,OAuth2 令牌管理,JWT 验证 (RS256 JWKS),Adaptive Cards 格式化器,内联/英雄卡片媒体,关键词命令,多租户 (90 个测试) | | **阶段 5B.1**:自我改进代理 | 已完成 | FeedbackCollector,PatternDetector,SkillGenerator (宏→技能→可发布),ABTestManager (Epsilon-Greedy),ProactiveEngine (暂停/忽略/自动过期),22 条 REST 路由,Flutter 代理智能界面 (130 个测试) | | **阶段 5B.2**:技能市场 | 已完成 | MarketplaceRegistry (分层发布),SkillPackager (.nobla + manifest-pointer),SkillDiscovery (关键词搜索 + 推荐),UsageTracker,15 条 REST 路由,Flutter 市场 UI (129 个测试) | | **阶段 6**:NL 调度器 | 已完成 | NLP 时间解析器,LLM 解释器,APScheduler,确认流程 (76 个测试) | | **阶段 6**:多代理系统 | 已完成 | 并行编排器,A2A 协议,MCP 客户端/服务器,任务分解器,研究员 + 编码员代理 (148 个测试) | | **阶段 6**:Webhooks 与工作流 | 已完成 | 可插拔验证,入站/出站 Webhooks,DAG 工作流引擎,NL 解释器,模板 + 导入/导出,Flutter 自动化 UI (486 个测试) | | **阶段 5**:剩余通道 | 进行中 | 11 个平台适配器 (Messenger、LINE、Viber 等) | | **阶段 7**:完整功能集 | 已计划 | 媒体、金融、健康、社交、智能家居工具 | ## 快速开始 ### 前置条件 - Python 3.12+ - Flutter 3.x - Docker (用于沙箱/代码执行) - PostgreSQL, Redis (或使用 Docker Compose) ### 后端 ``` cd backend python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -e ".[dev]" # 运行 uvicorn nobla.main:app --reload --host 0.0.0.0 --port 8000 # 测试 pytest tests/ -v --cov=nobla ``` ### Flutter 应用 ``` cd app flutter pub get flutter run -d # 测试 flutter test --coverage flutter analyze ``` ### 全栈 ``` docker-compose up # All services docker-compose up backend # Backend only ``` ## 项目结构 ``` nobla-agent/ ├── backend/nobla/ │ ├── gateway/ # WebSocket + REST API (FastAPI) │ ├── brain/ # LLM router (6 providers, smart routing) │ ├── memory/ # 5-layer memory engine │ ├── voice/ # STT/TTS pipeline + Levantine Arabic │ ├── tools/ # Tool platform + vision, control, code, search │ │ ├── base.py, registry.py, executor.py, approval.py │ │ ├── vision/ # Screen vision (Phase 4A) │ │ ├── control/ # Computer control (Phase 4B) │ │ ├── code/ # Code execution (Phase 4C) │ │ ├── remote/ # Remote control — SSH/SFTP (Phase 4D) │ │ └── search/ # AI search engine │ ├── events/ # Event bus — async pub/sub, wildcards, priority dispatch (Phase 5) │ ├── channels/ # Channel abstraction + Telegram + Discord + WhatsApp + Slack + Signal + Teams adapters (Phase 5) │ ├── automation/ # NL Scheduler + Webhooks + DAG Workflows + Templates (Phase 6) │ ├── agents/ # Multi-agent orchestrator, A2A protocol, MCP client/server (Phase 6) │ ├── skills/ # Skill runtime — universal adapter, security scanner, tool bridge (Phase 5) │ ├── learning/ # Self-improving agent — feedback, patterns, auto-skills, A/B testing (Phase 5B.1) │ ├── marketplace/ # Skills marketplace — registry, discovery, packager, stats, service (Phase 5B.2) │ ├── security/ # Auth, sandbox, audit, encryption │ ├── persona/ # Emotion detection + persona engine │ ├── config/ # Centralized settings │ └── db/ # Database models + repos ├── app/lib/ │ ├── core/ # Theme, routing, DI (Riverpod) │ ├── features/ # auth, chat, dashboard, voice, persona, memory, security, tools, automation, learning, marketplace, settings │ └── shared/ # Shared widgets, utils ├── backend/tests/ # 95 test files ├── docs/superpowers/ # Design specs + implementation plans │ ├── specs/ # Approved design specifications │ ├── plans/ # Step-by-step implementation plans │ └── prompts/ # Session continuation prompts └── docker-compose.yml ``` ## 核心设计原则 - **默认隐私** — 除非明确启用,否则所有数据都保留在您的机器上 - **安全性不容妥协** — 4 级权限模型 (SAFE/STANDARD/ELEVATED/ADMIN),Docker/gVisor 沙箱,完整的审计跟踪,紧急停止开关 - **注重成本** — 默认使用免费/廉价的 LLM 选项 (免费版 Gemini、免费版 Groq、本地 Ollama),带有自动关闭功能的预算控制 - **移动优先** — 专为移动端用户体验设计的 API,Flutter 是主要界面 - **优雅降级** — GPU 不可用?使用 CPU 模式。云服务不可用?使用本地 Ollama。PersonaPlex 不可用?使用默认 TTS - **750 行硬性限制** — 任何源文件都不超过 750 行。绝不例外。 ## LLM 路由器 大脑根据任务复杂度将其路由到合适的模型: ``` Easy (summarize, translate) -> Gemini free, Groq free Medium (analysis, search) -> DeepSeek ($0.14/M tokens) Hard (code gen, reasoning) -> GPT-4, Claude Fallback: primary -> secondary -> tertiary -> local Ollama ``` ## 语音管道 ``` Audio -> Language Detection -> Arabic? Levantine model : Standard Whisper -> LLM Router -> Response -> TTS (Fish Speech / PersonaPlex) -> WebSocket stream -> Flutter avatar lip-sync + playback ``` 包含一个自定义的黎凡特阿拉伯语 Whisper 模型 (`ggml-levantine-large-v3.bin`, 2.9GB),用于原生方言支持。 ## 安全模型 | 级别 | 访问权限 | |------|--------| | SAFE | 只读操作,搜索 | | STANDARD | 代码执行 (沙箱化),视觉,聊天 | | ELEVATED | 包安装,git,文件操作 | | ADMIN | 鼠标/键盘控制,SSH,紧急停止开关 | 所有操作均记录审计日志。破坏性和对外可见的操作需要通过 Flutter 对话框获得用户批准。 ## 工具平台 工具通过自动化流程接入统一平台,包含以下功能: - 权限检查 (按级别划分) - 用户批准 (针对危险操作) - 审计日志 - 紧急停止开关集成 - 活动Feed广播 ``` @register_tool class MyTool(BaseTool): name = "my.tool" category = ToolCategory.CODE tier = Tier.STANDARD async def execute(self, params: ToolParams) -> ToolResult: ... ``` ## 文档 ## 许可证 开源。详情请参阅 LICENSE。 由 [NABILNET.AI](https://nabilnet.ai) 精心打造
标签:5层记忆架构, A/B测试, AI智能体, AI结果综合, AV绕过, DAG工作流, Docker容器, FastAPI, Flutter, LLM路由, OCR屏幕识别, Python, SFTP文件传输, SSH连接, UI元素检测, Webhook, WebSocket, 个人助理, 人工智能, 代码执行, 企业级安全, 依赖分析, 力导向图, 多平台集成, 多语言大模型, 多语言对话, 子域名变形, 安全第一, 开源AI, 技能市场, 插件市场, 搜索引擎查询, 攻击面发现, 效率工具, 无后门, 无需云端, 本地部署, 沙盒环境, 测试用例, 消息平台对接, 用户模式Hook绕过, 移动应用开发, 网络安全, 网络搜索, 自动化控制, 自我学习, 语音交互, 请求拦截, 超级智能体, 远程控制, 隐私保护, 鼠标键盘控制