AgenticHub
1. Overview
AgenticHub is a dedicated module on the CSGHub platform for developing, configuring, running, and collaborating on AI agents.
The module provides two core capabilities:
- AgenticFlow: A visual workflow orchestration engine with drag-and-drop design, supporting complex flow designs including conditional branches and loops.
- CSGBot: An AI assistant service supporting conversation, code generation, web search, document parsing, and more.
This Chart provides a standardized deployment method via Helm, supporting flexible configuration and automated resource management.
2. Environment Requirements
| Project | Requirement |
|---|---|
| Kubernetes Version | v1.33+ |
| Helm Version | v3.12+ |
| Network Requirements | Cluster nodes must be able to access the CSGHub Server and external image registries. |
| Permissions | Requires the ability to create namespaces and RBAC resources. |
3. Components
3.1 AgenticFlow
A visual workflow orchestration engine with features:
- Drag-and-drop flow design
- Support for conditional branches and loops
- Built-in functional nodes (LLM, Tool, Code, etc.)
- Python/JavaScript script execution support
3.2 CSGBot
An AI assistant service with features:
- Conversation and Q&A
- Code generation and explanation
- Web Search integration
- Document parsing and processing
- Sandbox execution environments (GeniusSandbox, DocSandbox, OpenClaw)
4. Deployment
Prerequisite: Deploying AgenticHub requires an EE License. Please contact OpenCSG for authorization.
4.1 Add Helm Repository
helm repo add csghub https://charts.opencsg.com/csghub
helm repo update
4.2 Create Namespace (Optional)
kubectl create namespace csghub
4.3 Obtain CSGHub Configuration
Obtain the following information from the CSGHub main service:
-
externalUrl: CSGHub access URL
helm get notes csghub -n csghub | grep -A 6 'Access your CSGHub' -
hubAPIToken: API Token
kubectl get cm csghub-core -o yaml -n csghub | grep 'API_TOKEN' | awk '{print $NF}'
4.4 Execute Deployment
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"
💡 Tip:
- For deployment in China, add:
--set global.image.registry="opencsg-registry.cn-beijing.cr.aliyuncs.com"- It is recommended to write custom configurations into a
custom-values.yamlfile for easier upgrades and version management.
4.5 Using External Database (Optional)
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 Using External Redis (Optional)
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. Post-Deployment Configuration for CSGHub
After deploying AgenticHub, you need to configure the CSGHub main service to connect to AgenticFlow and CSGBot.
5.1 Get HTTPRoute Addresses
AgenticHub exposes services through HTTPRoute. Run the following commands to get the domains:
# Get AgenticFlow access address
kubectl get httproute -n csghub -o wide | grep agenticflow
# Get CSGBot access address
kubectl get httproute -n csghub -o wide | grep csgbot
Example output:
NAME HOSTNAMES AGE
agentichub-agenticflow-xxx agenticflow.example.com 5m
agentichhub-csgbot-xxx csgbot.example.com 5m
5.2 Configure CSGHub
Update the CSGHub configuration file (custom-values.yaml) with the following:
server:
agenticflow:
host: "http://agenticflow.example.com" # Replace with actual AgenticFlow domain
token: "<FLOW_ACCESS_TOKEN from agentichub-agenticflow configmap>" # AgenticFlow API Token (required)
csgbot:
host: "http://csgbot.example.com" # Replace with actual CSGBot domain
port: 80
Get AgenticFlow Token:
kubectl get cm agentichub-agenticflow -o yaml -n csghub | grep 'FLOW_ACCESS_TOKEN' | awk '{print $NF}'
Or use --set parameters directly:
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
💡 For more configuration options, see CSGHub Standard Installation.
5.3 Verify Connection
# Check CSGHub Server logs to confirm successful connection
kubectl logs -f deploy/csghub-server -n csghub | grep -i "agenticflow\|csgbot"
5.4 LLM Configuration
Configure Model API services for AgenticHub:
- Click the avatar in the top right corner, select Admin Dashboard
- Select Business API from the sidebar
- Configure the required Model API services with the following parameters:
| Parameter | Description |
|---|---|
| Model Name | Custom name, e.g., MiniMax-M2.7 |
| Official Name | Official model name, e.g., MiniMax-M2.7 |
| API Address | Model API endpoint, e.g., https://api.minimaxi.com/v1/chat/completions |
| Auth Header | API key auth header, e.g., {"Authorization": "Bearer sk-cp-***"} |
| Provider | Provider name, e.g., minimax |
| Type | 16 |
| Routing Policy | Select Single Node |
| Attributes | e.g., {"is_csgbot_model":true,"tasks":["text-generation"]} |
⚠️ Note: The above is a configuration example. Please adjust according to your actual model service.
6. Configuration Details
6.1 Global Configuration
| Parameter | Default Value | Description |
|---|---|---|
global.edition | ee | Edition: ce / ee / saas. AgenticHub requires ee or saas (suppressed in ce) |
global.gateway.external.domain | example.com | Base access domain for the platform |
global.gateway.service.type | LoadBalancer | Service type: LoadBalancer or NodePort |
global.image.registry | docker.io | Image registry address |
global.image.tag | latest | Image version tag |
global.postgresql.enabled | true | Enable built-in PostgreSQL |
global.redis.enabled | true | Enable built-in Redis |
6.2 AgenticHub Configuration
| Parameter | Default Value | Description |
|---|---|---|
externalUrl | https://csghub.example.com | CSGHub external access URL |
hubAPIToken | "" | CSGHub API authentication token |
6.3 AgenticFlow Configuration
| Parameter | Default Value | Description |
|---|---|---|
agenticflow.image.repository | opencsghq/agenticflow | Image repository address |
agenticflow.image.tag | ee-v0.6-4 | Image version (was v0.5.1-ee in v0.5.x) |
agenticflow.service.port | 7860 | Service port |
agenticflow.persistence.size | 20Gi | Storage size |
6.4 CSGBot Configuration
| Parameter | Default Value | Description |
|---|---|---|
csgbot.image.repository | opencsghq/csgbot | Image repository address |
csgbot.image.tag | v0.6.2-ee | Image version (was v0.5.1-ee in v0.5.x) |
csgbot.service.port | 8070 | Service port |
csgbot.persistence.size | 20Gi | Storage size |
6.5 CSGBot Sandbox Configuration
| Parameter | Default Value | Description |
|---|---|---|
csgbot.config.aigateway.model | qwen3.6-plus | AI model ID for csgbot |
csgbot.config.aigateway.temperature | 0.1 | Model temperature |
csgbot.config.starship.endpoint | "" | Starship endpoint URL |
csgbot.config.speechToText.modelId | qwen3-asr-flash | STT model ID |
csgbot.config.sandbox.genius.image | opencsghq/genius-sandbox | Genius sandbox image |
csgbot.config.sandbox.doc.image | opencsghq/doc-sandbox | Doc sandbox image |
csgbot.config.sandbox.openclaw.image | opencsghq/openclaw-sandbox | OpenClaw sandbox image |
csgbot.config.sandbox.csgclawServer.image | opencsghq/csgclaw-server-sandbox | CSGClaw server sandbox image |
csgbot.config.sandbox.csgclawAgent.image | opencsghq/csgclaw-agent-sandbox | CSGClaw agent sandbox image |
csgbot.config.sandbox.timeoutSeconds | 600 | Sandbox execution timeout |
csgbot.config.sandbox.maxUploadFileBytes | 52428800 | Max upload file size per sandbox |
csgbot.config.integrations.notification.enabled | false | Enable Feishu notifications |
csgbot.config.fileServer.endpoint | "" | File server endpoint URL |
csgbot.config.observability.serviceName | csgbot-ee | Observability service name |
csgbot.config.observability.phoenixEndpoint | "" | Phoenix endpoint |
csgbot.config.logging.logPath | logs/server.log | Log file path |
csgbot.config.logging.logLevel | INFO | Log level |
⚠️ v0.6.x schema change: The keys
csgbot.config.webSearch.*,integrations.feishuEnabled, andexternalDocs.*have been removed. If you were using them, migrate to the new keys above before upgrading.
6.6 Built-in PostgreSQL Configuration
| Parameter | Default Value | Description |
|---|---|---|
postgresql.image.tag | 15.17 | PostgreSQL version |
postgresql.service.type | ClusterIP | Service type |
postgresql.service.port | 5432 | Service port |
postgresql.persistence.size | 50Gi | Storage size |
postgresql.databases | ["agentichub_agenticflow"] | Auto-created databases |
6.7 Built-in Redis Configuration
| Parameter | Default Value | Description |
|---|---|---|
redis.image.tag | 7.2.5 | Redis version |
redis.service.type | ClusterIP | Service type |
redis.service.port | 6379 | Service port |
redis.requirePass | false | Require password |
redis.persistence.size | 10Gi | Storage size |
7. Verify Deployment
After deployment, verify the status using:
kubectl get pods -n csghub
kubectl get svc -n csghub
View component logs:
# View AgenticFlow logs
kubectl logs -f deploy/agentichub-agenticflow -n csghub
# View CSGBot logs
kubectl logs -f deploy/agentichub-csgbot -n csghub
Get access endpoints:
helm status agentichub -n csghub
8. Upgrade and Uninstallation
8.1 Upgrade Chart
helm upgrade agentichub csghub/agentichub -n csghub -f custom-values.yaml
8.2 Uninstall Chart
helm uninstall agentichub -n csghub
9. FAQ
| Issue | Solution |
|---|---|
| AgenticFlow cannot connect to CSGHub | Verify externalUrl and hubAPIToken configuration. |
| CSGBot sandbox execution failed | Check if sandbox images can be pulled and network is reachable. |
| Database connection failed | Check PostgreSQL configuration and network connectivity. |
| Redis connection failed | Check Redis configuration and password correctness. |
| Image pull failure | Verify registry access permissions and global.image.pullSecrets configuration. |