You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Argo Workflows UI组件嵌入网页?是否有代码示例及组件库?

将Argo Workflows UI组件嵌入网页的方法及资源

核心嵌入方式

Argo Workflows的UI基于React构建,有两种主流嵌入方案,按需选择:

1. 复用官方React组件(推荐,高定制性)

Argo官方将UI拆分为独立的React组件,你可以直接引入这些组件到自己的网页项目中。

  • 首先确保项目依赖匹配:可以通过npm安装官方发布的@argoproj/workflows-ui包,或者直接克隆Argo Workflows源码,编译ui目录下的组件使用。
  • 关键注意:需要保证你的项目能访问Argo Server的API,并且Argo Server配置了允许跨域请求(CORS)。

2. iframe嵌入(快速集成,低定制性)

如果不需要深度定制,直接用iframe嵌入完整的Argo Workflows UI页面是最快的方式,但无法修改样式和交互逻辑,且需要处理登录状态同步。


代码示例

React组件复用示例

import React from 'react';
// 引入Argo官方UI组件
import { WorkflowList, WorkflowGraph } from '@argoproj/workflows-ui';

const ArgoWorkflowEmbed = () => {
  // 配置Argo Server API地址
  const argoApiUrl = 'http://your-argo-server-address:2746';
  const targetNamespace = 'default';

  return (
    <div className="argo-embed-container">
      {/* 工作流列表组件 */}
      <div style={{ height: '400px', marginBottom: '20px' }}>
        <WorkflowList
          apiUrl={argoApiUrl}
          namespace={targetNamespace}
          // 可选:添加过滤条件,只显示运行中的工作流
          filters={{ status: 'Running' }}
        />
      </div>
      {/* 工作流拓扑图组件 */}
      <div style={{ height: '400px' }}>
        <WorkflowGraph
          apiUrl={argoApiUrl}
          namespace={targetNamespace}
          workflowName="example-workflow-abc123"
        />
      </div>
    </div>
  );
};

export default ArgoWorkflowEmbed;

iframe嵌入示例

<!-- 嵌入指定命名空间的工作流列表页面 -->
<iframe
  src="http://your-argo-server-address:2746/workflows/default"
  width="100%"
  height="800px"
  frameborder="0"
  title="Argo Workflows UI"
></iframe>

组件资源与展示库

  • 官方组件源码与示例:Argo Workflows的ui目录下包含所有核心UI组件(如WorkflowDetail、LogViewer、NodeGraph等),每个组件都有对应的Props定义和使用场景,直接查看源码即可了解用法。
  • 官方API文档:Argo官方文档中对UI组件的配置项、API交互逻辑有详细说明,可参考组件的Props注释和接口定义。
  • 社区开源示例:不少集成Argo的开源项目(如CI/CD平台、DevOps dashboards)会复用这些组件,你可以参考它们的实现逻辑来调整自己的嵌入方案。

关键注意事项

  • 版本对齐:确保使用的UI组件版本与Argo Server版本完全一致,避免API不兼容导致的异常。
  • 认证处理:如果Argo Server开启了认证(如OIDC、JWT),需要在嵌入组件中传递认证凭证,或通过iframe共享同域Cookie(需配置Cookie的SameSite属性)。
  • CORS配置:在Argo Server的启动参数中添加--cors-allowed-origins,指定你的网页域名,解决跨域API调用问题。

内容的提问来源于stack exchange,提问作者benjimin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 06:43:10