跳到主要内容

AgenticHub

1. 概述​

AgenticHub 是 CSGHub 平台中专门负责 AI Agent 开发、配置、运行与协作的模块。

该模块提供两种核心能力:

  • AgenticFlow:可视化编排工作流,支持节点拖拽、条件分支、循环等复杂流程设计。
  • CSGBot:AI 助手服务,支持对话、代码生成、Web Search、文档解析等多种能力。

本 Chart 通过 Helm 提供标准化部署方式,支持灵活配置与自动化资源管理。

2. 环境要求​

项目说明
Kubernetes 版本v1.33+
Helm 版本v3.12+
网络要求集群节点需能访问 CSGHub Server 与外部镜像仓库
权限要求具备创建命名空间与 RBAC 资源的权限

3. 组件说明​

3.1 AgenticFlow​

可视化工作流编排引擎,主要功能:

  • 拖拽式流程设计
  • 支持条件分支与循环
  • 内置多种功能节点(LLM、Tool、Code 等)
  • 支持 Python/JavaScript 脚本执行

3.2 CSGBot​

AI 助手服务,主要功能:

  • 对话与问答
  • 代码生成与解释
  • Web Search 集成
  • 文档解析与处理
  • 沙箱执行环境(GeniusSandbox、DocSandbox、OpenClaw)

4. 开始部署​

前置要求:部署 AgenticHub 需要配置 EE License,请联系 OpenCSG 获取授权。

4.1 添加 Helm 仓库​

helm repo add csghub https://charts.opencsg.com/csghub
helm repo update

4.2 创建命名空间(可选)​

kubectl create namespace csghub

4.3 获取 CSGHub 配置信息​

需要从 CSGHub 主服务获取以下信息:

  • externalUrl ⚠️ 必填(standalone 模式):CSGHub 访问地址

    helm get notes csghub -n csghub | grep -A 6 'Access your CSGHub'
  • hubAPIToken ⚠️ 必填(standalone 模式):API Token

    kubectl get cm csghub-core -o yaml -n csghub | grep 'API_TOKEN' | awk '{print $NF}'

4.4 执行部署​

helm install agentichub csghub/agentichub \
--namespace csghub \
--create-namespace \
--set externalUrl="<csghub external_url>" \
--set hubAPIToken="<csghub hub_api_token>" \
--set global.gateway.external.domain="example.com"

国内部署(使用国内镜像仓库加速拉取镜像):

helm install agentichub csghub/agentichub \
--namespace csghub \
--create-namespace \
--set externalUrl="<csghub external_url>" \
--set hubAPIToken="<csghub hub_api_token>" \
--set global.gateway.external.domain="example.com" \
--set global.image.registry="registry.opencsg.com" \
--set global.imageRegistry="registry.opencsg.com/opencsghq"

💡 提示:

  • global.image.registry 作用于 agentichub 自身及 agenticflow/csgbot 等镜像;global.imageRegistry 作用于 envoy-gateway 子 chart。
  • 建议将自定义配置写入 custom-values.yaml,方便后续升级与版本管理。

⚠️ 注意:Gateway 资源冲突

独立部署(standalone)模式下,agentichub chart 会创建自己的 Gateway 资源:集群级的 GatewayClass csghub-gateway 与命名空间级的 Gateway listeners。主 CSGHub chart 也会创建同名的这两个资源。

  • 若 agentichub 与主 CSGHub 部署在同一个命名空间,两者都会创建名为 listeners 的 Gateway,后安装的 release 会因资源已被其他 Helm release 管理而报错(ownership conflict)。
  • 建议将 agentichub 部署到独立的命名空间(如 agentichub),并同步替换本节命令中的 --namespace csghub 与 5.1 / 5.2 小节查询命令中的 -n csghub。
  • 即使命名空间不同,集群级 GatewayClass csghub-gateway 仍由两个 release 重复创建而冲突。请确保集群中仅一个 release 渲染 Gateway 资源,例如通过 umbrella(随 csghub 内置)方式一起部署,或仅使用其中一个 chart 的 Gateway。

4.5 使用外部数据库(可选)​

helm install agentichub csghub/agentichub \
--namespace csghub \
--set externalUrl="https://csghub.example.com" \
--set hubAPIToken="<token>" \
--set global.postgresql.enabled=false \
--set agenticflow.postgresql.host="<pg_host>" \
--set agenticflow.postgresql.port=5432 \
--set agenticflow.postgresql.database="csghub_agenticflow" \
--set agenticflow.postgresql.user="csghub" \
--set agenticflow.postgresql.password="<password>"

4.6 使用外部 Redis(可选)​

helm install agentichub csghub/agentichub \
--namespace csghub \
--set global.redis.enabled=false \
--set agenticflow.redis.host="<redis_host>" \
--set agenticflow.redis.port=6379 \
--set agenticflow.redis.password="<password>"

5. 部署后配置 CSGHub​

AgenticHub 部署完成后,需要配置 CSGHub 主服务以连接 AgenticFlow 和 CSGBot。

5.1 获取 HTTPRoute 地址​

AgenticHub 通过 HTTPRoute 暴露服务,执行以下命令获取域名:

# 获取 AgenticFlow 访问地址
kubectl get httproute -n csghub -o wide | grep agenticflow

# 获取 CSGBot 访问地址
kubectl get httproute -n csghub -o wide | grep csgbot

输出示例:

NAME HOSTNAMES AGE
agentichub-agenticflow-xxx agenticflow.example.com 5m
agentichub-csgbot-xxx csgbot.example.com 5m

5.2 配置 CSGHub​

更新 CSGHub 的配置文件(custom-values.yaml),添加以下配置:

server:
agenticflow:
host: "http://agenticflow.example.com" # 替换为实际的 AgenticFlow 域名
token: "<从 agentichub-agenticflow configmap 获取的 FLOWS_ACCESS_TOKEN>" # AgenticFlow API Token,不可为空

csgbot:
host: "http://csgbot.example.com" # 替换为实际的 CSGBot 域名
port: 80

获取 AgenticFlow Token:

kubectl get cm agentichub-agenticflow -o yaml -n csghub | grep 'FLOWS_ACCESS_TOKEN' | awk '{print $NF}'

或使用 --set 参数直接配置:

helm upgrade csghub csghub/csghub -n csghub \
--set server.agenticflow.host="http://agenticflow.example.com" \
--set server.agenticflow.token="<agentichub_agenticflow_token>" \
--set server.csgbot.host="http://csgbot.example.com" \
--set server.csgbot.port=80

💡 更多配置参考 CSGHub 标准安装。

5.3 升级 CSGHub​

helm upgrade csghub csghub/csghub -n csghub -f custom-values.yaml

5.4 验证连接​

# 查看 CSGHub Server 日志,确认连接成功
kubectl logs -f deploy/csghub-server -n csghub | grep -i "agenticflow\|csgbot"

5.5 LLM 配置​

为 AgenticHub 配置 Model API 服务,步骤如下:

  1. 点击右上角头像,选择管理员后台
  2. 在侧边栏选择商业 API
  3. 配置需要的 Model API 服务,配置参数说明:
参数说明
模型名称自定义名称,如 MiniMax-M2.7
官方名称模型官方名称,如 MiniMax-M2.7
API 地址模型 API 端点,如 https://api.minimaxi.com/v1/chat/completions
认证头信息API 密钥认证头,如 {"Authorization": "Bearer sk-cp-***"}
提供方服务提供方名称,如 minimax
类型16
路由策略选择 单节点
属性配置如 {"is_csgbot_model":true,"tasks":["text-generation"]}

⚠️ 注意:以上为配置示例,实际配置请根据您使用的模型服务进行调整。

6. 配置说明​

6.1 全局配置​

参数默认值说明
global.editionee版本:ce(社区版)/ ee(企业版)/ saas(SaaS 版)。AgenticHub 需要 ee 或 saas(ce 下不部署)
global.gateway.external.domaincsghub.example.com平台基础访问域名
global.gateway.service.typeLoadBalancer服务类型:LoadBalancer 或 NodePort
global.image.registrydocker.io镜像仓库地址
global.image.taglatest镜像版本标签
global.postgresql.enabledtrue是否启用内置 PostgreSQL
global.postgresql.existingSecret""引用已有 Secret 提供 PostgreSQL 连接信息,仅在 enabled=false 时生效
global.redis.enabledtrue是否启用内置 Redis
global.redis.existingSecret""引用已有 Secret 提供 Redis 连接信息,仅在 enabled=false 时生效

💡 使用外部数据库 / Redis 时,也可以通过 global.postgresql.existingSecret / global.redis.existingSecret 引用已存在的 Secret 来提供连接信息(无需把账号密码写进 values.yaml)。该 Secret 必须提前在 release 命名空间内创建,键名(需 base64 编码)支持:

  • PostgreSQL:POSTGRES_HOST(必填)、POSTGRES_PORT、POSTGRES_USER、POSTGRES_PASSWORD、POSTGRES_SSLMODE
  • Redis:REDIS_HOST(必填)、REDIS_PORT、REDIS_PASSWORD、REDIS_USER、REDIS_DATABASE

6.2 AgenticHub 配置​

参数默认值说明
externalUrlhttps://csghub.example.com⚠️ 必填(standalone)。CSGHub 外部访问地址
hubAPIToken""⚠️ 必填(standalone)。CSGHub API 认证 Token

6.3 AgenticFlow 配置​

参数默认值说明
agenticflow.image.repositoryopencsghq/agenticflow镜像仓库地址
agenticflow.image.tagee-v0.6.5-2镜像版本(v0.5.x 为 v0.5.1-ee)
agenticflow.service.port7860服务端口
agenticflow.persistence.size20Gi存储大小

6.4 CSGBot 配置​

参数默认值说明
csgbot.image.repositoryopencsghq/csgbot镜像仓库地址
csgbot.image.tagv0.6.9-ee镜像版本(v0.5.x 为 v0.5.1-ee)
csgbot.service.port8070服务端口
csgbot.persistence.size20Gi存储大小

6.5 CSGBot 沙箱配置​

参数默认值说明
csgbot.config.aigateway.apiKey""csgbot 访问 AIGateway 的 API Key
csgbot.config.aigateway.temperature0.1模型温度
csgbot.config.starship.endpoint""Starship 端点 URL
csgbot.config.speechToText.modelIdqwen3-asr-flashSTT 模型 ID
csgbot.config.sandbox.genius.imageopencsghq/genius-sandboxGenius 沙箱镜像
csgbot.config.sandbox.doc.imageopencsghq/doc-sandboxDoc 沙箱镜像
csgbot.config.sandbox.openclaw.imageopencsghq/openclaw-sandboxOpenClaw 沙箱镜像
csgbot.config.sandbox.csgclawServer.imageopencsghq/csgclaw-server-sandboxCSGClaw server 沙箱镜像
csgbot.config.sandbox.csgclawAgent.imageopencsghq/csgclaw-agent-sandboxCSGClaw agent 沙箱镜像
csgbot.config.sandbox.timeoutSeconds600沙箱执行超时(秒)
csgbot.config.sandbox.maxUploadFileBytes52428800单次最大上传文件字节
csgbot.config.integrations.notification.enabledfalse启用飞书通知
csgbot.config.fileServer.endpoint""文件服务器端点 URL
csgbot.config.observability.serviceNamecsgbot-ee可观测服务名
csgbot.config.observability.phoenixEndpoint""Phoenix 端点
csgbot.config.logging.logPathlogs/server.log日志文件路径
csgbot.config.logging.logLevelINFO日志级别

⚠️ v0.6.x schema 变更:csgbot.config.webSearch.*、integrations.feishuEnabled、externalDocs.* 键已移除。如在用,升级前迁移至上述新键。

6.6 内置 PostgreSQL 配置​

参数默认值说明
postgresql.image.tag15.19PostgreSQL 版本
postgresql.service.typeClusterIP服务类型
postgresql.service.port5432服务端口
postgresql.persistence.size50Gi存储大小
postgresql.databases["agentichub_agenticflow"]自动创建的数据库

6.7 内置 Redis 配置​

参数默认值说明
redis.image.tag7.4.11Redis 版本
redis.service.typeClusterIP服务类型
redis.service.port6379服务端口
redis.requirePassfalse是否需要密码
redis.persistence.size10Gi存储大小

7. 验证部署​

部署完成后,可通过以下命令验证运行状态:

kubectl get pods -n csghub
kubectl get svc -n csghub

查看各组件日志:

# 查看 AgenticFlow 日志
kubectl logs -f deploy/agentichub-agenticflow -n csghub

# 查看 CSGBot 日志
kubectl logs -f deploy/agentichub-csgbot -n csghub

获取访问地址:

helm status agentichub -n csghub

8. 升级与卸载​

8.1 升级 Chart​

helm upgrade agentichub csghub/agentichub -n csghub -f custom-values.yaml

8.2 卸载 Chart​

helm uninstall agentichub -n csghub

9. 常见问题​

问题解决方案
AgenticFlow 无法连接 CSGHub检查 externalUrl 与 hubAPIToken 配置是否正确
CSGBot 沙箱执行失败检查沙箱镜像是否正常拉取,网络是否可达
数据库连接失败检查 PostgreSQL 配置及网络连通性
Redis 连接失败检查 Redis 配置及密码是否正确
镜像拉取失败确认镜像仓库访问权限与 global.image.pullSecrets 配置