3分钟生成生产级 Agent 的平台 | 信息安全 SOTA 效果的数字员工
企业级智能安全体编排平台,基于 LangGraph 构建可视化工作流
English | 简体中文
JoySafeter 不仅是一个提效工具,更是安全能力的「操作系统」 它通过可视化的智能编排,将割裂的安全工具统合为协同的 AI 军团,将个人的专家经验沉淀为组织的数字资产,率先在行业内定义了 AI 驱动安全运营(AISecOps) 的新范式。
通用 LLM 在安全等专业领域准确率不足,且对安全任务的理解不深入,安全场景无法通过单 Agent 来解决,导致大模型在信息安全领域难以落地。信息安全场景对抗性强且安全趋势持续变化,如何在 Agent 运行过程中持续积累安全经验让 Agent 越用越聪明,是整个行业面临的挑战。
JoySafeter 通过 Multi-Agent 协作、认知进化引擎、场景化战力速配,实现了安全能力的规模化运营。
|
|
JoySafeter 提供两种工作模式,适配从快速验证到深度定制的全场景需求:
|
一句话定位:描述需求 → 平台自动编排 Skills → 自动组队 → 分钟级发布 核心价值:
适用场景:
|
一句话定位:可视化编排 → 调试 → 可观测 → 持续迭代,打造专业团队协作模式 核心价值:
适用场景:
|
|
自动化构建 Multi-Agent 作战分队 实现任务的智能拆解与协同攻坚,将复杂安全任务分解为专业化 Agent 团队协作 |
持续学习的安全智能体 基于长短期记忆机制,自动沉淀攻防实战中的"隐性知识",实现安全能力的持续自我迭代与进化 |
开箱即用的实战场景库 预置渗透测试、APK深度挖掘、MCP合规扫描等场景,复刻 DeepResearch 工作流精度达 95%+ |
模块化安全能力复用 预置 10+ 核心安全 Skills 及 200+ 工具链,实现安全能力的模块化复用与积木式组装 |
| ReactFlow 驱动的拖拽式工作流构建器,11 种节点类型,支持复杂控制流 | 模型上下文协议,无缝集成 200+ 安全工具和自定义 API | Token 高效的技能披露机制,按需加载,支持 200+ 技能扩展 | SSE 服务端推送,全链路实时可观测,提供执行状态、性能指标、错误追踪的完整视图 |
| Langfuse 集成,完整的执行链路追踪、监控和性能分析能力 | 细粒度权限控制和 RBAC,支持企业级工作区隔离与协作 | 工作流中断和恢复,人工审批检查点,支持复杂决策流程 | 安全的 Python 代码执行环境,支持自定义函数节点与动态代码生成 |
基于 ReactFlow 的拖拽式界面:
- 11 种节点类型: Agent、控制流、动作、数据、聚合
- 实时预览: 构建时实时查看图结构
- 自动布局: 自动节点定位和边路由
- 边配置: 条件边、循环回边、路由键
- 验证: 实时图结构验证
核心能力:
- 企业级可视化工作流设计,无需编码即可构建复杂安全任务流程
- 强大的控制流引擎,支持循环迭代、条件分支、并行执行与结果聚合
- DeepAgents 模式可视化,Manager-Worker 星型拓扑架构,实现多智能体协同
- 上下文变量管理与状态传递,支持复杂工作流的状态共享
- 图版本控制与部署管理,支持工作流的版本回滚与历史追踪
Manager-Worker 星型拓扑实现复杂任务分解:
- 自动检测: 系统自动检测
useDeepAgents配置 - 星型拓扑: Manager 直接连接到所有 SubAgents(非链式)
- 共享后端: Docker 后端在多个 Agent 间共享,优化资源使用
- 技能预加载: 执行前将技能预加载到
/workspace/skills/ - 任务委托: Manager 使用
task()工具协调 SubAgents
应用场景:
- 复杂多步骤安全研究任务,需要专业 Agent 团队协同攻坚
- 大规模安全分析工作流,涉及多个专业领域的深度分析
- 并行任务处理与结果聚合,提升整体执行效率
- 分层决策与任务委派场景,实现智能化的任务分发与协调
Token 高效的技能系统,减少上下文窗口使用:
| 组件 | 功能 |
|---|---|
| SkillService | 技能 CRUD、权限控制、标签分类管理 |
| SkillsMiddleware | Agent 中间件,自动注入技能描述到系统提示(使用 deepagents SkillsMiddleware) |
| SkillSandboxLoader | 执行前将技能预加载到 Docker 后端 |
| FilesystemMiddleware | Agent 通过文件系统直接读取 /workspace/skills/{skill_name}/ 目录下的技能文件 |
| 渐进披露 | 先展示技能摘要,需要时再加载完整内容,节省 Token 消耗 |
核心优势:
- Token 高效优化: 渐进式技能披露机制,仅在需要时加载完整技能内容,大幅降低上下文窗口占用
- 企业级可扩展性: 支持 200+ 技能扩展而不会导致上下文溢出,满足大规模安全能力矩阵需求
- 高性能访问: 技能预加载到 Docker 后端,实现毫秒级技能内容访问,提升 Agent 执行效率
- 动态能力发现: Agent 可动态发现和使用技能,实现安全能力的灵活组合与按需调用
跨会话的持久化记忆,实现持续学习:
- 记忆类型: Fact(事实)、Procedure(过程)、Episodic(情景)、Semantic(语义)
- 检索方法: Last N、First N、Agentic 检索
- 记忆中间件: 自动记忆注入和存储
- 基于主题的组织: 记忆按主题组织,高效检索
- 重要性评分: 记忆按重要性和相关性排序
记忆流程:
- 模型前记忆注入: 智能检索相关记忆并注入到系统提示,为 Agent 提供上下文感知能力
- 模型后记忆沉淀: 自动将用户输入和 Agent 响应存储为新记忆,实现知识资产的持续积累
- 持续进化学习: 记忆系统随时间不断优化,Agent 性能持续提升,实现安全能力的自我迭代
策略模式实现易于扩展的中间件:
- 优先级系统: 按优先级顺序执行中间件(0-100)
- 错误隔离: 失败的中间件不影响其他中间件
- 策略解析器: 易于添加新的中间件类型
- 向后兼容: 新功能不影响现有代码
内置中间件:
- SkillMiddleware(优先级: 50): 智能技能注入中间件,自动将技能描述注入到 Agent 系统提示中
- MemoryMiddleware(优先级: 50): 记忆检索与存储中间件,实现跨会话的持久化记忆管理
- TaggingMiddleware(优先级: 100): 可观测性与监控中间件,提供全链路执行追踪与性能分析能力
智能助手辅助图构建:
- 拓扑分析: 分析当前图结构
- 智能推荐: 建议节点和连接
- DeepAgents 指导: 为多智能体工作流提供架构指导
- 自动定位: 计算最优节点位置
- 验证: 验证图结构并建议改进
核心能力:
- 自然语言驱动的图创建,将需求描述自动转换为可视化工作流
- 多智能体团队设计智能辅助,提供架构指导与角色分配建议
- 工作流拓扑分析与优化建议,提升执行效率与资源利用率
- 最佳实践自动执行,确保工作流设计符合行业标准与安全规范
灵活的控制流,支持多种路由模式:
- 条件路由: 二元条件(true/false)
- 多规则路由: 带优先级规则的路由器节点
- 循环控制: forEach、while、doWhile 模式
- 并行执行: Fan-Out/Fan-In 与聚合器
- Command 模式: 可选的 Command 对象支持,用于显式路由
边配置:
- 普通边: 顺序流
- 条件边: 基于路由的分支
- 循环回边: 带状态隔离的循环控制
标准化事件信封实现可靠的流式输出:
interface StreamEventEnvelope {
type: 'content' | 'tool_start' | 'tool_end' | 'status' | 'error' | 'done';
node_name: string; // 当前执行的节点
run_id: string; // 按执行运行分组事件
timestamp: number; // 事件时间戳
thread_id: string; // 对话线程
data: any; // 事件特定数据
}特性:
- run_id 分组: 将同一执行运行的事件分组
- node_name 追踪: 显示哪个 Agent/节点正在执行
- 增量更新: 基于 Delta 的内容更新
- 错误处理: 优雅的错误传播
原生 MCP 协议支持,预集成 200+ 工具:
- 工具注册表: 统一的工具管理和注册
- 多服务器支持: 连接到多个 MCP 服务器
- 工具分类: 网络扫描、Web 安全、二进制分析、容器安全、云安全、攻击策略、知识库
- 自定义工具: 使用自定义工具实现扩展
- 工具发现: 从 MCP 服务器自动发现工具
工具执行:
- 直接 MCP 协议通信
- 工具结果缓存和错误处理
- 支持异步工具执行
- 工具元数据和文档
| 分类 | 工具数量 | 核心能力 |
|---|---|---|
| 网络扫描 | 15+ | Nmap、Masscan、ZMap、端口发现 |
| Web 安全 | 14+ | SQLi、XSS、SSRF、认证测试 |
| 漏洞扫描 | 5+ | Nuclei、Nikto、CVE 检测 |
| 二进制分析 | 14+ | Ghidra、radare2、angr、JEB APK 分析 |
| 容器安全 | 7+ | Trivy、Clair、Docker 镜像扫描 |
| 云安全 | 4+ | Prowler、ScoutSuite、AWS/GCP 审计 |
| 攻击策略 | 90+ | 攻击链生成、风险评估 |
| 知识库 | 115+ | 安全知识 YAML 模式 |
JoySafeter 采用分层架构模式,各层职责清晰:
flowchart TB
subgraph Frontend["前端层 (Next.js 16 + React 19)"]
UI[可视化构建器<br/>ReactFlow]
Trace[执行追踪<br/>SSE 流式输出]
Workspace[工作区管理<br/>RBAC]
Copilot[Copilot AI<br/>图构建助手]
end
subgraph API["API 层 (FastAPI)"]
REST[REST API<br/>认证/图/对话/技能]
SSE[SSE 流式输出<br/>实时事件]
end
subgraph Services["服务层"]
GraphSvc[GraphService]
SkillSvc[SkillService]
MemorySvc[MemoryService]
McpSvc[McpClientService]
ToolSvc[ToolService]
end
subgraph Engine["核心引擎"]
Builder[GraphBuilder<br/>工厂模式]
LangBuilder[LanggraphModelBuilder<br/>标准工作流]
DeepBuilder[DeepAgentsBuilder<br/>多智能体]
Executors[节点执行器<br/>11 种类型]
Middleware[中间件系统<br/>可扩展]
SkillSys[技能系统<br/>渐进式披露]
MemorySys[记忆系统<br/>长短期记忆]
end
subgraph Runtime["运行时层"]
LangGraph[LangGraph Runtime<br/>StateGraph]
Checkpoint[Checkpointer<br/>状态持久化]
end
subgraph Data["数据层"]
PG[(PostgreSQL<br/>图/技能/记忆)]
Redis[(Redis<br/>缓存/限流)]
end
subgraph MCP["MCP 工具生态"]
MCPServers[MCP 服务器<br/>200+ 安全工具]
Tools[工具注册表<br/>统一管理]
end
UI --> REST
Trace --> SSE
Workspace --> REST
Copilot --> REST
REST --> Services
SSE --> Services
Services --> Engine
Engine --> Runtime
Runtime --> MCP
Runtime --> Data
MCP --> MCPServers
MCPServers --> Tools
style Frontend fill:#e1f5ff
style API fill:#f3e5f5
style Services fill:#fff3e0
style Engine fill:#e8f5e8
style Runtime fill:#fff8e1
style Data fill:#fce4ec
style MCP fill:#e0f2f1
图构建系统采用工厂模式,根据图配置自动选择合适的构建器:
flowchart LR
Config[图配置] --> Factory[GraphBuilder 工厂]
Factory -->|标准节点| LangBuilder[LanggraphModelBuilder]
Factory -->|useDeepAgents=True| DeepBuilder[DeepAgentsBuilder]
LangBuilder --> BaseBuilder[BaseGraphBuilder]
DeepBuilder --> BaseBuilder
BaseBuilder --> Executors[节点执行器]
BaseBuilder --> State[GraphState]
Executors --> LangGraph[LangGraph Runtime]
State --> LangGraph
style Factory fill:#e1f5ff
style LangBuilder fill:#fff3e0
style DeepBuilder fill:#e8f5e8
style BaseBuilder fill:#f3e5f5
核心组件:
- GraphBuilder: 工厂类,自动检测配置并选择构建器
- LanggraphModelBuilder: 构建标准 LangGraph 工作流,支持 11 种节点类型
- DeepAgentsGraphBuilder: 构建 Manager-Worker 星型拓扑,实现多智能体协作
- BaseGraphBuilder: 基础类,提供通用功能(节点/边管理、执行器创建)
DeepAgents 实现星型拓扑,一个 Manager 协调多个 Worker:
flowchart TB
Manager[Manager Agent<br/>useDeepAgents=True<br/>DeepAgent]
Manager -->|task| Worker1[Worker 1<br/>CompiledSubAgent]
Manager -->|task| Worker2[Worker 2<br/>CompiledSubAgent]
Manager -->|task| Worker3[Worker 3<br/>CompiledSubAgent]
Manager -->|task| CodeAgent[CodeAgent<br/>CompiledSubAgent]
subgraph Backend["共享 Docker 后端"]
Skills["/workspace/skills/<br/>预加载技能"]
end
Worker1 --> Backend
Worker2 --> Backend
Worker3 --> Backend
CodeAgent --> Backend
style Manager fill:#e1f5ff
style Worker1 fill:#fff4e1
style Worker2 fill:#fff4e1
style Worker3 fill:#fff4e1
style CodeAgent fill:#fff4e1
style Backend fill:#e8f5e8
特性:
- 星型拓扑: Manager 直接连接到所有 SubAgents(非链式)
- 共享后端: Docker 后端在多个 Agent 间共享,用于技能和代码执行
- 技能预加载: 执行前将技能加载到
/workspace/skills/ - 任务委托: Manager 使用
task()工具将工作委托给 SubAgents
技能系统实现渐进式披露,减少 Token 消耗:
sequenceDiagram
participant Node as Agent 节点
participant Middleware as SkillsMiddleware
participant Loader as SkillSandboxLoader
participant Backend as Docker 后端
participant Filesystem as FilesystemMiddleware
Node->>Middleware: 节点配置(技能 UUIDs)
Middleware->>Loader: 预加载技能
Loader->>Backend: 写入技能文件到 /workspace/skills/
Backend-->>Loader: 技能已加载
Loader-->>Middleware: 预加载完成
Middleware->>Node: 注入技能摘要到系统提示
Node->>Node: Agent 仅看到技能摘要
Node->>Filesystem: Agent 读取 /workspace/skills/{skill_name}/SKILL.md
Filesystem-->>Node: Agent 获得技能内容
组件:
- SkillService: CRUD 操作,权限控制,标签分类
- SkillsMiddleware: 自动将技能描述注入到系统提示中
- SkillSandboxLoader: 执行前将技能预加载到 Docker 后端
- FilesystemMiddleware: Agent 通过文件系统直接读取
/workspace/skills/{skill_name}/目录下的技能文件(技能由 SkillSandboxLoader 在执行前预加载)
记忆系统提供跨会话的持久化记忆:
sequenceDiagram
participant User as 用户输入
participant Middleware as MemoryMiddleware
participant Manager as MemoryManager
participant DB as PostgreSQL
participant Agent as Agent
User->>Middleware: 用户消息
Middleware->>Manager: 检索相关记忆
Manager->>DB: 按 user_id/topics 查询记忆
DB-->>Manager: 返回记忆
Manager-->>Middleware: 相关记忆
Middleware->>Agent: 注入记忆到系统提示
Agent->>Agent: 带上下文处理
Agent-->>User: 响应
User->>Middleware: 用户输入(after_model)
Middleware->>Manager: 存储/更新记忆
Manager->>DB: 持久化记忆
记忆类型:
- Fact(事实): 事实性知识(目标信息、漏洞)
- Procedure(过程): 过程性知识(成功的攻击路径)
- Episodic(情景): 会话特定的经验
- Semantic(语义): 通用安全知识
使用策略模式的可扩展中间件系统:
flowchart TB
Node[节点配置] --> Resolver[中间件解析器<br/>策略模式]
Resolver --> SkillMW[SkillMiddleware<br/>优先级: 50]
Resolver --> MemoryMW[MemoryMiddleware<br/>优先级: 50]
Resolver --> TagMW[TaggingMiddleware<br/>优先级: 100]
Resolver --> CustomMW[自定义中间件<br/>可扩展]
SkillMW --> Merge[合并并按优先级排序]
MemoryMW --> Merge
TagMW --> Merge
CustomMW --> Merge
Merge --> Agent[带中间件链的 Agent]
style Resolver fill:#e1f5ff
style Merge fill:#fff3e0
style Agent fill:#e8f5e8
特性:
- 策略模式: 易于添加新的中间件类型
- 优先级系统: 按优先级顺序执行中间件
- 错误隔离: 失败的中间件不会影响其他中间件
- 向后兼容: 新功能不影响现有代码
| 分类 | 节点类型 | 说明 |
|---|---|---|
| 智能体 | agent, llm_node |
LLM 驱动的推理节点,支持工具调用 |
| 控制流 | condition, router_node, loop_condition_node |
条件分支、多路由、循环迭代 |
| 动作 | tool_node, function_node, http_request_node |
工具执行、沙箱代码、HTTP 请求 |
| 数据 | json_parser_node, direct_reply |
JSON 解析、模板响应 |
| 聚合 | aggregator_node |
并行结果收集 |
sequenceDiagram
participant Frontend as 前端
participant API as REST API
participant Factory as GraphBuilder
participant Builder as LanggraphModelBuilder/DeepAgentsBuilder
participant Base as BaseGraphBuilder
participant Executors as 节点执行器
participant Runtime as LangGraph Runtime
Frontend->>API: 保存图(nodes, edges, variables)
API->>Factory: build(graph, nodes, edges)
Factory->>Factory: 检测 useDeepAgents
Factory->>Builder: 创建合适的构建器
Builder->>Base: 初始化基础构建器
Builder->>Executors: 创建节点执行器
Builder->>Runtime: 添加节点到 StateGraph
Builder->>Runtime: 添加边(条件/普通)
Builder->>Runtime: 编译图
Runtime-->>Builder: CompiledStateGraph
Builder-->>API: 编译后的图
API-->>Frontend: 图已保存
sequenceDiagram
participant Frontend as 前端
participant API as REST API
participant Service as GraphService
participant Builder as GraphBuilder
participant Runtime as LangGraph Runtime
participant Executors as 节点执行器
participant SSE as SSE 流式输出
Frontend->>API: POST /api/chat (SSE)
API->>Service: 加载图配置
Service->>Builder: 构建编译后的图
Builder-->>Service: CompiledStateGraph
Service->>Runtime: ainvoke({"messages": [...]})
loop 每个节点
Runtime->>Executors: 执行节点
Executors-->>Runtime: 更新状态
Runtime->>SSE: 推送事件(node_start/node_end)
SSE-->>Frontend: 流式更新
end
Runtime-->>Service: 最终结果
Service-->>SSE: 结束事件
SSE-->>Frontend: 流式输出完成
sequenceDiagram
participant User as 用户
participant Manager as Manager Agent
participant Backend as 共享后端
participant Worker1 as Worker 1
participant Worker2 as Worker 2
User->>Manager: 任务请求
Manager->>Manager: 分析任务
Manager->>Backend: 检查预加载技能
Manager->>Worker1: task("子任务 1")
Worker1->>Backend: 使用技能/代码执行
Backend-->>Worker1: 结果
Worker1-->>Manager: 子任务 1 结果
Manager->>Worker2: task("子任务 2")
Worker2->>Backend: 使用技能/代码执行
Backend-->>Worker2: 结果
Worker2-->>Manager: 子任务 2 结果
Manager->>Manager: 整合结果
Manager-->>User: 最终响应
前端 ↔ 后端:
- REST API: 图配置、技能管理、工具管理、工作区操作
- SSE 流式输出: 实时执行状态、流式输出、节点执行事件
后端内部:
- GraphBuilder → NodeExecutors → LangGraph Runtime: 图构建和执行
- LangGraph Runtime → MCP Servers → Tools: 工具调用和执行
- Middleware → Agent → Model: 请求处理管道
后端 ↔ 数据层:
- PostgreSQL: 图配置、技能、记忆、会话、工作区
- Redis: 缓存、限流、会话状态、临时数据
| 层级 | 技术 | 用途 |
|---|---|---|
| 前端 | Next.js 16, React 19, TypeScript | 服务端渲染, App Router |
| UI 组件 | Radix UI, Tailwind CSS, Framer Motion | 无障碍、动画组件 |
| 状态管理 | Zustand, TanStack Query | 客户端与服务端状态 |
| 图可视化 | React Flow | 交互式节点编辑器 |
| 后端 | FastAPI, Python 3.12+ | 异步 API,OpenAPI 文档 |
| AI 框架 | LangChain 1.2+, LangGraph 1.0+, DeepAgents | Agent 编排与工作流 |
| MCP 集成 | mcp 1.20+, fastmcp 2.14+ | 工具协议支持 |
| 数据库 | PostgreSQL, SQLAlchemy 2.0 | 异步 ORM,数据库迁移 |
| 缓存 | Redis | 会话缓存与限流 |
| 可观测性 | Langfuse, Loguru | 追踪与结构化日志 |
| 依赖 | 版本 |
|---|---|
| Docker | 20.10+ |
| Docker Compose | 2.0+ |
| Python | 3.12+(本地开发需要) |
| Node.js | 20+(本地开发需要) |
| PostgreSQL | 15+(不使用 Docker 时需要) |
| Redis | 7+(不使用 Docker 时需要) |
最简单的启动方式:
git clone https://github.com/jd-opensource/JoySafeter.git
cd JoySafeter/deploy
# 一键启动(自动处理配置和启动)
./quick-start.sh访问 http://localhost:3000 即可使用
我们提供了预构建的 Docker 镜像,您可以直接使用:
# 从 GitHub Container Registry 拉取镜像
docker pull docker.io/jdopensource/joysafeter-backend:latest
docker pull docker.io/jdopensource/joysafeter-frontend:latest
docker pull docker.io/jdopensource/joysafeter-mcp:latest
# 或使用 docker-compose 直接使用预构建镜像
cd deploy
export DOCKER_REGISTRY=docker.io/jdopensource
docker-compose -f docker-compose.prod.yml up -d可用镜像:
docker.io/jdopensource/joysafeter-backend:latest- 后端 API 服务docker.io/jdopensource/joysafeter-frontend:latest- 前端 Web 应用docker.io/jdopensource/joysafeter-mcp:latest- MCP 服务器(包含安全工具)docker.io/jdopensource/joysafeter-init:latest- 数据库初始化服务
所有镜像支持多架构(amd64, arm64)。
使用安装向导配置环境:
cd deploy
# 交互式安装
./install.sh
# 或快速安装开发环境
./install.sh --mode dev --non-interactive安装完成后,使用场景化脚本启动:
# 开发场景
./scripts/dev.sh
# 生产场景
./scripts/prod.sh
# 测试场景
./scripts/test.sh
# 最小化场景(仅中间件)
./scripts/minimal.sh
# 本地开发(后端和前端在本地运行)
./scripts/dev-local.sh适合需要完全控制的高级用户:
cd deploy
# 1. 创建配置文件
cp .env.example .env
cd ../backend && cp env.example .env
# 2. 启动中间件(PostgreSQL + Redis)
cd ../deploy
./scripts/start-middleware.sh
# 3. 启动完整服务
docker-compose up -d启动前可以检查环境:
cd deploy
./scripts/check-env.sh这将检查:
- Docker 安装和运行状态
- Docker Compose 版本
- 端口可用性
- 配置文件
- 磁盘空间
后端安装
cd backend
# 安装 uv 包管理器
curl -LsSf https://astral.sh/uv/install.sh | sh
# 创建环境并安装依赖
uv venv && source .venv/bin/activate
uv sync
# 配置环境变量
cp env.example .env
# 编辑 .env 文件配置参数
# 初始化数据库
createdb joysafeter
alembic upgrade head
# 启动服务
uv run uvicorn app.main:app --reload --port 8000前端安装
cd frontend
# 安装依赖
bun install # 或: npm install
# 配置环境变量
cp env.example .env.local
# 启动开发服务器
bun run dev| 服务 | 地址 |
|---|---|
| 前端 | http://localhost:3000 |
| 后端 API | http://localhost:8000 |
| API 文档 | http://localhost:8000/docs |
| ReDoc | http://localhost:8000/redoc |
- 基于 LangGraph 的图编排引擎
- 可视化 Agent 构建器(11 种节点类型)
- MCP 工具协议集成
- 200+ 安全工具 handlers
- Multi-Agent 编排 (DeepAgents)
- 长短期记忆系统
- 技能系统 (Skill System)
- 渐进式技能披露机制
- SkillsMiddleware 技能注入中间件(使用 deepagents SkillsMiddleware)
- 直接文件系统访问加载技能(Agent 通过 FilesystemMiddleware 从
/workspace/skills/读取)
- 可扩展中间件架构(日志、标签、上下文增强)
- 沙箱执行自定义 Python 代码
- SSE 实时流式输出
- 多租户工作区隔离
- Langfuse 可观测性集成
- Docker 部署方案
- RBAC 权限控制
- API Key 管理
- 单元测试补充(目标 80%+)
- API 文档完善
- 中英文用户指南
- 开发者文档
- MCP 工具市场
- 多模型支持扩展(Claude, Gemini, 开源模型)
- 中间件缓存机制
- 图编译性能优化
- 企业案例展示
- 社区插件生态
| 特性 | JoySafeter | Dify | Flowise | n8n | Coze |
|---|---|---|---|---|---|
| 安全专注 | 原生支持 | - | - | - | - |
| LangGraph 原生 | 是 | 否 | 否 | 否 | 否 |
| Multi-Agent (DeepAgents) | 是 | 有限 | 否 | 否 | 有限 |
| MCP 协议 | 是 | 否 | 否 | 否 | 否 |
| 200+ 安全工具 | 是 | 否 | 否 | 否 | 否 |
| 技能系统 | 是 | 否 | 否 | 否 | 否 |
| 记忆进化 | 是 | 基础 | 基础 | 否 | 基础 |
| 开源协议 | Apache 2.0 | Apache 2.0 | Apache 2.0 | Fair-code | 闭源 |
| 私有化部署 | 是 | 是 | 是 | 是 | 否 |
| 循环/并行控制 | 高级 | 基础 | 基础 | 是 | 有限 |
| 企业级 RBAC | 是 | 是 | 有限 | 是 | 是 |
| 文档 | 说明 |
|---|---|
| 分层架构图 | 从展示层到基础设施层的完整7层架构概览 |
| 图构建器架构 | 完整的系统设计、数据流和节点类型参考 |
| 中间件架构 | 使用策略模式的可扩展中间件系统 |
| MCP 技能集成 | MCP 工具转技能及集成指南 |
| SSE 协议迁移 | 实时流式协议和事件结构 |
| LangGraph 改进总结 | 状态分离和 Command 模式增强 |
| 后端指南 | API 参考与后端配置 |
| 前端指南 | 组件库与状态管理 |
| Docker 部署指南 | 完整的部署指南,包含安装脚本、场景说明和故障排查 |
| 开发指南 | 本地开发环境搭建和工作流程 |
| 贡献指南 | 如何参与项目贡献 |
| Pre-commit 设置 | 代码质量检查与 Git Hooks 配置 |
| 安全策略 | 安全策略与漏洞报告 |
| 行为准则 | 社区行为规范 |
我们欢迎社区贡献!详情请查看 贡献指南。
# Fork 并克隆
git clone https://github.com/jd-opensource/JoySafeter.git
# 创建功能分支
git checkout -b feature/amazing-feature
# 提交更改
git commit -m 'feat: add amazing feature'
# 推送并创建 PR
git push origin feature/amazing-feature本项目采用 Apache License 2.0 开源协议 — 详见 LICENSE 文件。
注意: 本项目包含不同许可证的第三方组件,详见 THIRD_PARTY_LICENSES.md。
LangChain |
LangGraph |
FastAPI |
Next.js |
Radix UI |
由 JoySafeter 团队用 ❤️ 打造
如需咨询商业方案,请联系京东科技解决方案团队,联系方式:org.ospo1@jd.com