Agent 越来越多,怎么管好?openEuler witty-agent-factory 给出答案

OpenAtom openEuler 2026-09-29 19:24
Agent 越来越多,怎么管好?openEuler witty-agent-factory 给出答案图1
前言


随着大模型能力不断融入操作系统、云计算和开发运维场景,Agent 正在成为 OpenAtom openEuler(简称“openEuler”或“开源欧拉”)生态中的一种新型软件形态。从内核数据采集、故障诊断,到智能运维、性能分析,openEuler 社区正在形成越来越丰富的 Agent 能力。与普通脚本相比,一个 Agent 通常还包含 Skill、工具、知识、运行依赖和安装配置,需要经过持续开发、构建、验证和发布,才能稳定交付给用户。


当 Agent 从一个变成一组,如何高效地开发和管理这些 Agent,就成为新的工程问题。为解决这一问题,openEuler 社区设计了 witty-agent-factory。它面向本地 Agent 生态,提供统一的可视化入口,帮助开发者和项目管理员完成 Agent 的查看、构建、验证、发布和过程追踪。


目前,Agent 的源码、配置和注册信息统一维护在官方代码仓库 openeuler/witty-agents。witty-agent-factory 基于仓库中的项目和 Agent 注册表,进一步提供可视化的开发与管理能力,让 Agent 从源码到交付形成更加清晰、规范的工程流程。


代码仓地址:

https://atomgit.com/openeuler/witty-agents.git



01
从 openEuler 开发走向 Agent 工程化


传统软件的交付对象通常是服务、镜像或二进制程序。Agent 的交付对象则更加复杂:除了代码,还包括提示词、Skill、工具、知识、模型配置和运行时依赖。


一个 Agent 从源码走向可用版本,通常要经历以下过程:


Agent 越来越多,怎么管好?openEuler witty-agent-factory 给出答案图2


当 Agent 数量较少时,开发者可以通过代码仓库、Jenkins 控制台和服务器目录分别完成这些工作;当 Agent 逐渐形成生态后,只查看某一次构建结果已经不够。团队还需要了解每个 Agent 的版本、构建状态、产物信息、发布记录以及问题发生的位置。


这意味着 Agent 开发正在从“写出一个能运行的程序”,走向“持续构建、持续验证、稳定交付”的工程化阶段。



02
Agent 开发管理面临的共性问题


目前,一个 Agent 的信息通常分散在多个系统中:代码和配置在仓库,构建过程在 Jenkins,产物在服务器目录,发布版本在 npm registry。开发者需要在不同页面之间反复切换,才能还原一个 Agent 的完整状态。


实际工作中,常见问题主要集中在以下几个方面:

1.信息不集中:不知道当前有哪些 Agent、版本是什么、最近一次构建是否成功。

2.问题定位慢:构建失败后,需要在大量 Jenkins 日志中手动查找原因。

3.产物验证不完整:构建通过不代表 online/offline 包、依赖和安装流程都没有问题。

4.发布过程不透明:版本、dist-tag、构建产物和回下载结果之间缺少统一关联。

5.操作难以追溯:构建、下载、发布和回滚由谁发起、何时发生,缺少统一记录。


可以把传统的管理方式简单理解为:


Agent 越来越多,怎么管好?openEuler witty-agent-factory 给出答案图3



03
witty-agent-factory 的定位


witty-agent-factory 是面向本地 Agent 开发和管理的可视化工作台。它将 openEuler Agent 生态中的代码仓库、Jenkins 构建任务和 npm 产物信息汇聚到一个平台中,让开发者可以在统一入口查看 Agent 状态、触发构建、检查结果和跟踪发布。


witty-agent-factory 并不替换 Jenkins,也不重新实现一套 CI。它与现有工程基础设施的关系是:


  • 代码仓库保存 Agent 的代码、配置和注册信息;

  • Jenkins执行实际的构建、验证和发布流水线;

  • witty-agent-factory统一展示项目、Agent、日志、报告和产物状态;

  • npm registry保存并提供最终发布包及其版本信息。


这种分工可以复用现有的构建能力,同时避免形成第二套彼此不一致的流水线。



04
witty-agent-factory 基本架构


Agent 越来越多,怎么管好?openEuler witty-agent-factory 给出答案图4


witty-agent-factory以工作台作为统一入口,向上连接开发者和项目管理员,向下连接 Agent 源码仓库、Jenkins 构建系统和 npm registry。平台内部按照项目和 Agent 组织信息,提供 Agent 管理、构建状态、报告产物、发布记录和审计等功能。


Agent 越来越多,怎么管好?openEuler witty-agent-factory 给出答案图5

▲ 工作台总览,集中展示 Agent、构建、发布和近期操作状态



05
从开发到发布的基本流程


witty-agent-factory 中的一次 Agent 使用流程可以概括为:


Agent 越来越多,怎么管好?openEuler witty-agent-factory 给出答案图6


开发者首先进入项目,查看 Agent 的名称、版本、目录和当前状态;然后选择需要构建的 Agent 和构建参数,触发 Jenkins 任务。构建完成后,可以在构建详情中查看流水线阶段、日志、结构化报告和产物信息。如果需要发布,再进入发布管理页面进行发布前检查,确认来源构建和产物状态后,由受控流程完成发布并留下审计记录。



06
工作台的核心页面


▐ 1. 项目概览:先看整体状态


项目概览页用于快速了解项目健康度,包括 Agent 注册数量、构建记录、构建成功率、绑定的 Jenkins Job、最近操作和数据同步状态。


Agent 越来越多,怎么管好?openEuler witty-agent-factory 给出答案图7

▲项目概览页,展示项目健康度、Agent 状态和数据同步情况


▐ 2. Agent 管理:了解每个 Agent


Agent 管理页以卡片形式展示当前 Agent,包括 Agent 名称、ID、版本、仓库目录、能力描述和可用操作。在当前工作台中,可以看到 Kernel Dataset Agent、openEuler Ops Agent、Shennong Crash Agent、NL2SQL Agent、vLLM Benchmark Agent 和 XLite Perf Optimizer 等 Agent。开发者可以从这里进入详情、下载产物或发起构建。


Agent 越来越多,怎么管好?openEuler witty-agent-factory 给出答案图8

▲Agent 管理页,以卡片形式展示 Agent 信息和操作入口


▐ 3. 构建流水线:集中查看构建过程


构建流水线页面集中展示构建任务、触发方式、参数、状态和耗时,并支持按 Agent、状态、Job、触发人和日期进行筛选。进入某次构建后,可以继续查看 11 个流水线阶段、构建日志、结构化报告、安装链路和产物校验信息,从而更快定位构建问题。


Agent 越来越多,怎么管好?openEuler witty-agent-factory 给出答案图9

▲构建流水线页,支持按条件筛选构建记录


▐ 4. 发布管理:让版本发布更清晰


发布管理页面用于查看版本、dist-tag、来源构建和历史发布记录,并在发布前进行必要检查。witty-agent-factory 负责汇聚信息和管理流程,实际构建与发布仍由 Jenkins 执行。


Agent 越来越多,怎么管好?openEuler witty-agent-factory 给出答案图10

▲发布管理页,展示 dist-tag 状态、来源构建和发布记录


在发布详情页,平台会进一步展示发布内容、完整性信息、发布门禁和发布链路。例如,REL-01 会检查仓库来源、commit 是否属于目标分支、构建产物是否可用、版本是否可发布以及 dist-tag 是否安全。通过检查后,管理员再确认是否进入发布流程。


Agent 越来越多,怎么管好?openEuler witty-agent-factory 给出答案图11

▲发布详情页,展示发布门禁、发布链路和版本状态



07
使用与部署指南


▐ 1. 访问工作台


开始使用前,可以先访问官方代码仓库,了解 Agent 目录、项目说明和注册配置:


https://atomgit.com/openeuler/witty-agents.git


如果 witty-agent-factory 部署在内网或远程服务器上,通常先建立 SSH 隧道,再打开本地浏览器。示例命令如下,具体主机和端口以部署环境为准:


ssh -N -L 18080:127.0.0.1:18080 -p <ssh-port> <user>@<factory-host>


保持隧道窗口运行,然后访问 http://127.0.0.1:18080,登录后即可进入工作台。


▐ 2. 基本使用路线


进入平台后,可以按照以下路线快速熟悉 witty-agent-factory:

  1. 进入 witty-agents 项目概览,查看项目健康度、Jenkins Job、最近构建和数据同步状态;

  2. 打开 Agent 管理页面,查看 Agent 的版本、目录、描述和可用操作;

  3. 进入构建流水线页面,按 Agent、状态或触发人筛选构建记录;

  4. 打开某次构建详情,查看阶段、日志、结构化报告和产物校验信息;

  5. 进入发布管理页面,查看版本、dist-tag、发布记录和发布前检查;

  6. 需要复盘时,到审计页面查看登录、构建、下载和发布等操作记录。


对于普通开发者,最常用的是“查看 Agent—查看构建—检查产物”这条路径;具备相应权限的项目管理员,还可以进一步处理构建、发布和版本回溯。


▐ 3. 本地部署


witty-agent-factory 面向伙伴和开发者提供从零开始的本地部署方式。部署前需要准备:

  • 一台能够访问 AtomGit、Jenkins 和 npm registry 的 Linux 服务器或虚拟机;

  • Git、Docker Engine、Docker Compose v2 和 OpenSSL;

  • Jenkins 服务地址、服务账号和 API Token;

  • 如果从远程服务器访问,还需要 SSH 客户端。


第一步:获取代码


git clone https://atomgit.com/openeuler/witty-agents.gitcd witty-agentscd ci/factory


第二步:准备配置


witty-agent-factory 的部署配置放在 ci/factory 目录中。复制环境变量模板,并生成平台密钥:


cp .env.example .envopenssl rand -base64 32


将生成的随机值写入 FACTORY_SECRET_KEY,再填写 Jenkins 地址、服务账号、API Token、代码仓库和需要纳管的 Job。.env 只保存在部署主机,不要提交到代码仓库。


第三步:构建并启动容器


witty-agent-factory 由 API 服务和 Web 前端组成,数据保存在独立数据卷中。使用源码部署时,可以直接构建并启动:


docker compose -f docker-compose.yml up -d --build


如果发布版本提供了预构建镜像,则先执行 docker compose pull,再执行 docker compose up -d。具体以当前版本提供的 Compose 文件为准。


第四步:初始化管理员和上游连接


docker compose exec api node scripts/seed-admin.js \  --user admin \  --password '<strong-password>'
docker compose exec api node scripts/smoke-jenkins.js


首次登录后,创建或绑定 witty-agents 项目,配置代码仓库和 Jenkins Job,测试连通性,并同步 agents.json。同步完成后,项目中的 Agent 才会出现在witty-agent-factory 页面中。


第五步:打开工作台


如果witty-agent-factory部署在本机,直接访问 http://127.0.0.1:18080。如果部署在远程服务器上,先建立 SSH 隧道:


ssh -N -L 18080:127.0.0.1:18080 -p <ssh-port> <user>@<factory-host>


保持隧道窗口运行,再在本地浏览器访问 http://127.0.0.1:18080,即可进入工作台。



07
结语


Agent 的开发不仅是把代码写出来,还需要让它能够被持续构建、验证和发布。witty-agent-factory 面向 openEuler Agent 生态,尝试把分散在代码仓库、Jenkins 和 npm registry 中的信息集中起来,提供一个简单、清晰的本地管理入口。从“开发一个 Agent”,到“管理一组 Agent”,witty-agent-factory 希望帮助团队把 Agent 开发逐步变成一种可见、可查、可验证、可追踪的工程流程。


Agent 越来越多,怎么管好?openEuler witty-agent-factory 给出答案图12



Agent 越来越多,怎么管好?openEuler witty-agent-factory 给出答案图13


Witty 是 openEuler 的智能运维入口,支持用户通过自然语言处理各类运维问题,内置日志检测、知识库、集群管理、性能调优等全套运维能力套件。基于上述运维套件,Witty 进一步构建问答、故障诊断、性能调优多类智能 Agent,覆盖单机、集群、超节点多种部署场景。本专项旨在演示 Witty 智能运维入口的基础能力,并深度拆解各类智能体,剖析其内部工作原理。




-END-


供稿 | 唐舒楠

编辑 | 丘云

校审 | 赵家麒、郑振宇、刘彦飞



关注我们,了解更多

▼

Agent 越来越多,怎么管好?openEuler witty-agent-factory 给出答案图14

关于科技区角:国内科技展会垂直内容策划服务商,提供从论坛内容全案策划、会展市场化IP打造到精准专业观众一站式邀约服务,以产业内容吸引高质量B端人群,打通展会从议题设计、演讲嘉宾邀约、宣传预热、精准邀观到供需对接全链路。
声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。
openEuler
more
openEuler Agent Infra企业级编码方案(二):自动构建架构上下文,让Agent在改代码前读懂项目边界
openEuler 技术交流 Q&A(第二期)
openEuler Witty走进华东区高校,共探超节点OS的智能自治之路
Agent 要读截图?先别上大模型,教你在openEuler 24.03上跑OCR更快!
从智能运维到推理调优:基于openEuler Witty的xlite算子优化实战,TTFT提速80%+
直播预告 | 解锁机器人智能化背后的技术底座,openEuler Embedded 具身智能技术 Meetup 上海站开播
直播预告 | 用自然语言实现OS运维:openEuler Witty 3.0 技术直播来了!
润和软件亮相开放原子“园区行”香港站,助力openEuler香港启航与开源生态国际化
有奖征集 | 分享你的openEuler开发实践经验,赢专属好礼!
openEuler技术Online | CUOS 全链路智能生产基础设施技术创新实践
Copyright © 2025-成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号