DeerFlow二次开发:构建自己的Openclaw企业级平台

DeerFlow二次开发:构建自己的Openclaw企业级平台文章总结 本文介绍 DeerFlow 开源智能体框架的二次开发实践 重点解析其基于 LangGraph 的中间件架构 飞书集成方案及三层安全防御体系 核心展示如何通过 13 个中间件构建执行流水线 利用独立事件循环实现飞书 WebSocket 全双工交互 并通过权限网关和 Guardrails 机制保障 AIAgent 安全 文末提供源码链接及团队推广信息 综合评分 62 文章分类 安全开发 解决方案

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



文章总结: 本文介绍DeerFlow开源智能体框架的二次开发实践,重点解析其基于LangGraph的中间件架构、飞书集成方案及三层安全防御体系。核心展示如何通过13个中间件构建执行流水线,利用独立事件循环实现飞书WebSocket全双工交互,并通过权限网关和Guardrails机制保障AIAgent安全。文末提供源码链接及团队推广信息。 综合评分: 62 文章分类: 安全开发,解决方案,应用安全,安全工具,软文广告


cover_image

油漆工 油漆工

C4安全

2026年4月3日 14:15 江苏

在小说阅读器读本章

去阅读

什么是deerflow?

DeerFlow 是字节跳动开源的一款超级智能体运行时框架,全称是 Deep Exploration and Efficient Research Flow(深度探索与高效研究流),可以说拥有Openclaw的绝大部分一模一样的功能。

他有预制、自定义的skill和配置,也可以设置多个子agent干不同的活。

现在来拆解它是如何基于 LangGraph 构建一个具备文件系统、长期记忆和安全沙箱的 Super Agent 运行时,并实现在飞书环境下的深度集成。


一、 架构核心

DeerFlow 2.0 放弃了简单的 Linear Chain 模式,转而采用了更灵活的 Middleware(中间件)管道架构。

  1. 13+ 中间件构成的执行流水线

在 DeerFlow 中,每一条用户指令都会经过一个严密的中间件链条(Pipeline)。这就像是 Web 开发中的拦截器,但针对的是 Agent 的生命周期。以 SandboxMiddleware 为例,它负责在 Agent 启动前挂载沙箱,在结束后释放资源:

class SandboxMiddleware(AgentMiddleware):     @override     def before_agent(self, state: SandboxMiddlewareState, runtime: Runtime) -> dict | None:         # 在 Agent 运行前,根据 thread_id 获取或创建隔离的沙箱环境         if “sandbox” not in state or state[“sandbox”] is None:             thread_id = (runtime.context or {}).get(“thread_id”)             sandbox_id = self._acquire_sandbox(thread_id)             return {“sandbox”: {“sandbox_id”: sandbox_id}}         return None

    @override     def after_agent(self, state: SandboxMiddlewareState, runtime: Runtime) -> dict | None:         # 任务结束后,确保沙箱资源被正确回收         sandbox = state.get(“sandbox”)         if sandbox:             get_sandbox_provider().release(sandbox[“sandbox_id”])

  1. 基于 LangGraph 的状态机编排

DeerFlow 的大脑由 LangGraph 驱动。通过 make_lead_agent 函数,我们将模型、工具集和中间件链条组装成一个健壮的 Compiled Graph:

def make_lead_agent(config: RunnableConfig):     # 动态加载工具集与中间件     return create_agent(         model=create_chat_model(name=model_name, thinking_enabled=thinking_enabled),         tools=get_available_tools(subagent_enabled=subagent_enabled),         middleware=_build_middlewares(config),         system_prompt=apply_prompt_template(…),         state_schema=ThreadState,     ) 

二、 飞书集成:WebSocket 模式下的“全双工”交互

这里先简单带过一句,为了deerflow能隔离多用户,我在这里二开了登录系统,以及不同用户和ai之间的对话隔离,在开源版中是没有这一部分功能的。

为了让 Agent 进入企业办公场景,我尝试在deerflow2.0当中为飞书开发了深度的 WebSocket 连接器。

  1. 技术难点:异步事件循环的兼容

飞书的 lark-oapi 在 WebSocket 模式下对 Event Loop 的处理比较特殊。为了不阻塞主服务的 uvloop,我们在 feishu.py 中实现了一个巧妙的隔离方案:

def _run_ws(self, app_id: str, app_secret: str, domain: str) -> None:     # 为飞书 WebSocket 客户端创建一个独立的事件循环     loop = asyncio.new_event_loop()     asyncio.set_event_loop(loop)

    # 关键:手动补丁 SDK 的模块级 loop 引用,避免与主线程冲突     import lark_oapi.ws.client as _ws_client_mod     _ws_client_mod.loop = loop

    ws_client = lark.ws.Client(         app_id=app_id, app_secret=app_secret,         event_handler=event_handler,         domain=domain     )     ws_client.start()

  1. 交互闭环:动态卡片更新

DeerFlow 不仅仅是发送消息,它会利用飞书的消息 ID(msg_id)作为线程锁,实时更新同一个互动卡片,让用户能看到 Agent 思考的每一步。

这里可以看下效果,对接飞书通道只需要你填入AppID以及AppSecret即可,自动配对。

在飞书创建机器人并开通权限,配对成功之后,我们直接可以在飞书中下发任务给deerflow。

可以看到完成的热点抓取任务很顺利,文章内容的完成度也不错。


三、 网络安全:AI Agent 的“防御纵深”

当 AI 获得代码执行权限时,安全就是生命线。DeerFlow 构建了三层防御体系:

  1. 严格的权限网关

在 security.py 中,我们定义了严苛的检查逻辑,防止 Agent 在非受信环境下执行宿主机指令:

def is_host_bash_allowed(config=None) -> bool:     “”“只有在明确配置且非本地沙箱模式下,才允许执行 host bash”“”     sandbox_cfg = getattr(config, “sandbox”, None)     if not uses_local_sandbox_provider(config):         return True # AioSandbox (Docker) 模式下默认安全     # 本地模式下必须显式开启 allow_host_bash     return bool(getattr(sandbox_cfg, “allow_host_bash”, False)) 
  1. Guardrails:工具调用的“防火墙”

在工具真正执行前,中间件会拦截 tool_call 并比对预设的策略(Policy)。如果是敏感操作,会触发“人工介入确认”,用户在飞书里点击“同意”后,Agent 才会获得临时授权。


[探索 DeerFlow 源码]

GitHub – bytedance/deer-flow


感兴趣的师傅可以公众号私聊我进团队交流群,咨询问题,hvv简历投递,nisp和cisp考证都可以联系我

内部src培训视频,内部知识圈,可私聊领取优惠券,加入链接:https://wiki.freebuf.com/societyDetail?society_id=184 安全渗透感知大家族

(新人优惠券折扣20.0¥,扫码即可领取更多优惠)

加入团队、加入公开群等都可联系微信:yukikhq,搜索添加即可

END


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:C4安全 油漆工

 油漆工《DeerFlow二次开发:构建自己的Openclaw企业级平台》

小讯
上一篇 2026-04-17 12:39
下一篇 2026-04-17 12:37

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/266350.html