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绕过, 移动应用开发, 网络安全, 网络搜索, 自动化控制, 自我学习, 语音交互, 请求拦截, 超级智能体, 远程控制, 隐私保护, 鼠标键盘控制