Skip to content

Latest commit

 

History

History
1047 lines (806 loc) · 34.3 KB

File metadata and controls

1047 lines (806 loc) · 34.3 KB

JoySafeter

3分钟生成生产级 Agent 的平台 | 信息安全 SOTA 效果的数字员工

企业级智能安全体编排平台,基于 LangGraph 构建可视化工作流

License: Apache 2.0 Python 3.12+ Node.js 20+ LangGraph FastAPI MCP Protocol

English | 简体中文

功能特性快速开始路线图文档贡献指南


为什么选择 JoySafeter?

JoySafeter 不仅是一个提效工具,更是安全能力的「操作系统」 它通过可视化的智能编排,将割裂的安全工具统合为协同的 AI 军团,将个人的专家经验沉淀为组织的数字资产,率先在行业内定义了 AI 驱动安全运营(AISecOps) 的新范式。

项目背景

通用 LLM 在安全等专业领域准确率不足,且对安全任务的理解不深入,安全场景无法通过单 Agent 来解决,导致大模型在信息安全领域难以落地。信息安全场景对抗性强且安全趋势持续变化,如何在 Agent 运行过程中持续积累安全经验让 Agent 越用越聪明,是整个行业面临的挑战。

JoySafeter 通过 Multi-Agent 协作、认知进化引擎、场景化战力速配,实现了安全能力的规模化运营。

面向企业安全团队

  • 可视化开发 — 无代码 Agent 构建器,快速原型验证
  • 200+ 安全工具 — 预集成 Nmap、Nuclei、Trivy 等主流工具
  • 治理与审计 — 全链路执行追踪与可观测性
  • 多租户隔离 — 基于角色的工作区隔离

面向 AI 安全研究者

  • 图编排工作流 — 支持循环、条件、并行的复杂控制流
  • 记忆进化 — 长短期记忆机制,持续学习积累
  • MCP 协议 — 模型上下文协议,无限工具扩展性
  • DeepAgents 模式 — 多层级 Agent 协作编排

双模式驱动,满足不同场景需求

JoySafeter 提供两种工作模式,适配从快速验证到深度定制的全场景需求:

⚡ 快速模式(Rapid Mode)

一句话定位:描述需求 → 平台自动编排 Skills → 自动组队 → 分钟级发布

核心价值

  • 🚀 零门槛启动:自然语言描述需求,AI 自动理解并编排
  • 🎯 智能速配:平台自动匹配最优 Skills 组合,构建专业 Agent 团队
  • ⏱️ 分钟级交付:从需求到可运行 Agent,3-5 分钟完成部署
  • 🔄 开箱即用:内置 10+ 核心安全场景模板,一键启用

适用场景

  • 快速安全评估与漏洞扫描
  • 标准化安全检测流程
  • 新手快速上手验证
  • 紧急安全事件响应

🎨 深度模式(Deep Mode)

一句话定位:可视化编排 → 调试 → 可观测 → 持续迭代,打造专业团队协作模式

核心价值

  • 🏗️ 可视化编排:拖拽式构建复杂工作流,11 种节点类型,支持循环、条件、并行
  • 🔍 全链路调试:实时执行追踪、状态可视化、断点调试,精准定位问题
  • 📊 企业级可观测:Langfuse 集成,完整的执行链路追踪与性能分析
  • 🔄 持续迭代优化:版本控制、A/B 测试、记忆进化,让 Agent 越用越聪明

适用场景

  • 复杂多步骤安全研究任务
  • 定制化安全检测流程
  • 企业级安全运营平台
  • 专业安全团队协作

功能特性

核心价值主张

智能团队编排

自动化构建 Multi-Agent 作战分队
实现任务的智能拆解与协同攻坚,将复杂安全任务分解为专业化 Agent 团队协作

认知进化引擎

持续学习的安全智能体
基于长短期记忆机制,自动沉淀攻防实战中的"隐性知识",实现安全能力的持续自我迭代与进化

场景化战力速配

开箱即用的实战场景库
预置渗透测试、APK深度挖掘、MCP合规扫描等场景,复刻 DeepResearch 工作流精度达 95%+

技能矩阵中台

模块化安全能力复用
预置 10+ 核心安全 Skills 及 200+ 工具链,实现安全能力的模块化复用与积木式组装

技术能力矩阵

可视化编排引擎

ReactFlow 驱动的拖拽式工作流构建器,11 种节点类型,支持复杂控制流

MCP 工具协议

模型上下文协议,无缝集成 200+ 安全工具和自定义 API

渐进式技能系统

Token 高效的技能披露机制,按需加载,支持 200+ 技能扩展

实时流式通信

SSE 服务端推送,全链路实时可观测,提供执行状态、性能指标、错误追踪的完整视图

企业级可观测性

Langfuse 集成,完整的执行链路追踪、监控和性能分析能力

多租户工作区

细粒度权限控制和 RBAC,支持企业级工作区隔离与协作

人机协作机制

工作流中断和恢复,人工审批检查点,支持复杂决策流程

沙箱执行环境

安全的 Python 代码执行环境,支持自定义函数节点与动态代码生成

创新技术亮点

1. 可视化编排引擎

基于 ReactFlow 的拖拽式界面:

  • 11 种节点类型: Agent、控制流、动作、数据、聚合
  • 实时预览: 构建时实时查看图结构
  • 自动布局: 自动节点定位和边路由
  • 边配置: 条件边、循环回边、路由键
  • 验证: 实时图结构验证

核心能力:

  • 企业级可视化工作流设计,无需编码即可构建复杂安全任务流程
  • 强大的控制流引擎,支持循环迭代、条件分支、并行执行与结果聚合
  • DeepAgents 模式可视化,Manager-Worker 星型拓扑架构,实现多智能体协同
  • 上下文变量管理与状态传递,支持复杂工作流的状态共享
  • 图版本控制与部署管理,支持工作流的版本回滚与历史追踪

2. DeepAgents 多智能体协作

Manager-Worker 星型拓扑实现复杂任务分解:

  • 自动检测: 系统自动检测 useDeepAgents 配置
  • 星型拓扑: Manager 直接连接到所有 SubAgents(非链式)
  • 共享后端: Docker 后端在多个 Agent 间共享,优化资源使用
  • 技能预加载: 执行前将技能预加载到 /workspace/skills/
  • 任务委托: Manager 使用 task() 工具协调 SubAgents

应用场景:

  • 复杂多步骤安全研究任务,需要专业 Agent 团队协同攻坚
  • 大规模安全分析工作流,涉及多个专业领域的深度分析
  • 并行任务处理与结果聚合,提升整体执行效率
  • 分层决策与任务委派场景,实现智能化的任务分发与协调

3. 渐进式技能披露

Token 高效的技能系统,减少上下文窗口使用:

组件 功能
SkillService 技能 CRUD、权限控制、标签分类管理
SkillsMiddleware Agent 中间件,自动注入技能描述到系统提示(使用 deepagents SkillsMiddleware)
SkillSandboxLoader 执行前将技能预加载到 Docker 后端
FilesystemMiddleware Agent 通过文件系统直接读取 /workspace/skills/{skill_name}/ 目录下的技能文件
渐进披露 先展示技能摘要,需要时再加载完整内容,节省 Token 消耗

核心优势:

  • Token 高效优化: 渐进式技能披露机制,仅在需要时加载完整技能内容,大幅降低上下文窗口占用
  • 企业级可扩展性: 支持 200+ 技能扩展而不会导致上下文溢出,满足大规模安全能力矩阵需求
  • 高性能访问: 技能预加载到 Docker 后端,实现毫秒级技能内容访问,提升 Agent 执行效率
  • 动态能力发现: Agent 可动态发现和使用技能,实现安全能力的灵活组合与按需调用

4. 长短期记忆系统

跨会话的持久化记忆,实现持续学习:

  • 记忆类型: Fact(事实)、Procedure(过程)、Episodic(情景)、Semantic(语义)
  • 检索方法: Last N、First N、Agentic 检索
  • 记忆中间件: 自动记忆注入和存储
  • 基于主题的组织: 记忆按主题组织,高效检索
  • 重要性评分: 记忆按重要性和相关性排序

记忆流程:

  1. 模型前记忆注入: 智能检索相关记忆并注入到系统提示,为 Agent 提供上下文感知能力
  2. 模型后记忆沉淀: 自动将用户输入和 Agent 响应存储为新记忆,实现知识资产的持续积累
  3. 持续进化学习: 记忆系统随时间不断优化,Agent 性能持续提升,实现安全能力的自我迭代

5. 可扩展中间件架构

策略模式实现易于扩展的中间件:

  • 优先级系统: 按优先级顺序执行中间件(0-100)
  • 错误隔离: 失败的中间件不影响其他中间件
  • 策略解析器: 易于添加新的中间件类型
  • 向后兼容: 新功能不影响现有代码

内置中间件:

  • SkillMiddleware(优先级: 50): 智能技能注入中间件,自动将技能描述注入到 Agent 系统提示中
  • MemoryMiddleware(优先级: 50): 记忆检索与存储中间件,实现跨会话的持久化记忆管理
  • TaggingMiddleware(优先级: 100): 可观测性与监控中间件,提供全链路执行追踪与性能分析能力

6. AI Copilot 图构建助手

智能助手辅助图构建:

  • 拓扑分析: 分析当前图结构
  • 智能推荐: 建议节点和连接
  • DeepAgents 指导: 为多智能体工作流提供架构指导
  • 自动定位: 计算最优节点位置
  • 验证: 验证图结构并建议改进

核心能力:

  • 自然语言驱动的图创建,将需求描述自动转换为可视化工作流
  • 多智能体团队设计智能辅助,提供架构指导与角色分配建议
  • 工作流拓扑分析与优化建议,提升执行效率与资源利用率
  • 最佳实践自动执行,确保工作流设计符合行业标准与安全规范

技术亮点

1. 高级路由系统

灵活的控制流,支持多种路由模式:

  • 条件路由: 二元条件(true/false)
  • 多规则路由: 带优先级规则的路由器节点
  • 循环控制: forEach、while、doWhile 模式
  • 并行执行: Fan-Out/Fan-In 与聚合器
  • Command 模式: 可选的 Command 对象支持,用于显式路由

边配置:

  • 普通边: 顺序流
  • 条件边: 基于路由的分支
  • 循环回边: 带状态隔离的循环控制

2. SSE 实时通信

标准化事件信封实现可靠的流式输出:

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 的内容更新
  • 错误处理: 优雅的错误传播

3. MCP 工具集成

原生 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
Loading

核心模块

1. 图构建系统

图构建系统采用工厂模式,根据图配置自动选择合适的构建器:

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
Loading

核心组件:

  • GraphBuilder: 工厂类,自动检测配置并选择构建器
  • LanggraphModelBuilder: 构建标准 LangGraph 工作流,支持 11 种节点类型
  • DeepAgentsGraphBuilder: 构建 Manager-Worker 星型拓扑,实现多智能体协作
  • BaseGraphBuilder: 基础类,提供通用功能(节点/边管理、执行器创建)

2. DeepAgents 多智能体编排

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
Loading

特性:

  • 星型拓扑: Manager 直接连接到所有 SubAgents(非链式)
  • 共享后端: Docker 后端在多个 Agent 间共享,用于技能和代码执行
  • 技能预加载: 执行前将技能加载到 /workspace/skills/
  • 任务委托: Manager 使用 task() 工具将工作委托给 SubAgents

3. 技能系统(渐进式披露)

技能系统实现渐进式披露,减少 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 获得技能内容
Loading

组件:

  • SkillService: CRUD 操作,权限控制,标签分类
  • SkillsMiddleware: 自动将技能描述注入到系统提示中
  • SkillSandboxLoader: 执行前将技能预加载到 Docker 后端
  • FilesystemMiddleware: Agent 通过文件系统直接读取 /workspace/skills/{skill_name}/ 目录下的技能文件(技能由 SkillSandboxLoader 在执行前预加载)

4. 记忆系统(长短期记忆)

记忆系统提供跨会话的持久化记忆:

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: 持久化记忆
Loading

记忆类型:

  • Fact(事实): 事实性知识(目标信息、漏洞)
  • Procedure(过程): 过程性知识(成功的攻击路径)
  • Episodic(情景): 会话特定的经验
  • Semantic(语义): 通用安全知识

5. 中间件架构

使用策略模式的可扩展中间件系统:

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
Loading

特性:

  • 策略模式: 易于添加新的中间件类型
  • 优先级系统: 按优先级顺序执行中间件
  • 错误隔离: 失败的中间件不会影响其他中间件
  • 向后兼容: 新功能不影响现有代码

6. 节点执行器(11 种类型)

分类 节点类型 说明
智能体 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: 图已保存
Loading

图执行流程

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: 流式输出完成
Loading

DeepAgents 执行流程

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: 最终响应
Loading

数据流

前端 ↔ 后端:

  • 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 时需要)

一键部署(Docker)- 推荐

最简单的启动方式:

git clone https://github.com/jd-opensource/JoySafeter.git
cd JoySafeter/deploy

# 一键启动(自动处理配置和启动)
./quick-start.sh

访问 http://localhost:3000 即可使用

使用预构建的 Docker 镜像

我们提供了预构建的 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

方式二:手动 Docker Compose

适合需要完全控制的高级用户:

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