Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/workflows/helm-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@ on:
paths:
- 'helm/**'
- 'install/agentteams-install.sh'
- 'install/agentteams-install.ps1'
- 'openhuman/scripts/openhuman-worker-entrypoint.sh'
- 'tests/check-agentteams-rename-defaults.sh'
- 'tests/check-installer-pre-1.2-env-compat.sh'
- 'tests/check-installer-wasm-registry.sh'
- 'tests/check-helm-agentteams.sh'
workflow_dispatch: ~

Expand All @@ -24,6 +26,9 @@ jobs:
- name: Check pre-v1.2 installer compatibility
run: bash tests/check-installer-pre-1.2-env-compat.sh

- name: Check installer WASM registry default
run: bash tests/check-installer-wasm-registry.sh

- name: Set up Helm
uses: azure/setup-helm@v4
with:
Expand Down
1 change: 1 addition & 0 deletions changelog/current.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ Record release-facing changes here before the next release.

**Bug Fixes**

- **Installer WASM plugin registry**: Keep Higress WASM plugin pulls on the primary registry by default while preserving regional image registry selection for AgentTeams images. (Refs [#429](https://github.com/agentscope-ai/AgentTeams/issues/429))
- **QwenPaw MCP policy startup convergence**: Persist built-in plugin MCP policies before runtime desired-state reloads so a replacement QwenPaw workspace cannot retain the pre-policy interactive approval handler.
- **QwenPaw Team policy and runtime-aware acceptance**: Merge Team and Worker channel-policy overrides into QwenPaw `runtime.yaml`, wait for public plugin/API state before integration assertions, and verify prompt/config files from the runtime location that consumes them.
- **QwenPaw 2.0 tool execution**: Preserve QwenPaw's asynchronous tool-result stream while sanitizing output, and allow only the built-in TeamHarness and Workerflow MCP drivers to run without an unavailable interactive approval prompt.
Expand Down
1 change: 1 addition & 0 deletions install/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ $env:AGENTTEAMS_LLM_API_KEY = "your-api-key"
| `AGENTTEAMS_WORKSPACE_DIR` | Manager workspace | `~/agentteams-manager` |
| `AGENTTEAMS_VERSION` | Image tag | `latest` |
| `AGENTTEAMS_REGISTRY` | Image registry | *(auto-detected by timezone)* |
| `AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY` | Higress WASM plugin registry | `higress-registry.cn-hangzhou.cr.aliyuncs.com` |

## Platform Notes

Expand Down
13 changes: 11 additions & 2 deletions install/agentteams-install.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@
# AGENTTEAMS_WORKSPACE_DIR Host directory for manager workspace (default: ~/agentteams-manager)
# AGENTTEAMS_VERSION Image tag (default: latest)
# AGENTTEAMS_REGISTRY Image registry (default: auto-detected by timezone)
# AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY
# Higress WASM plugin registry (default: cn-hangzhou primary)
# AGENTTEAMS_INSTALL_MANAGER_IMAGE Override manager image (e.g., local build)
# AGENTTEAMS_INSTALL_WORKER_IMAGE Override worker image (e.g., local build)
# AGENTTEAMS_INSTALL_COPAW_WORKER_IMAGE Override copaw worker image (e.g., local build)
Expand Down Expand Up @@ -1084,8 +1086,9 @@ AGENTTEAMS_WORKER_IDLE_TIMEOUT=$($Config.WORKER_IDLE_TIMEOUT)
# JVM Args for Higress Console
JVM_ARGS=$($env:JVM_ARGS)

# Higress WASM plugin image registry (auto-selected by timezone)
HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY=$($Config.REGISTRY)
# Higress WASM plugin image registry
AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY=$($Config.HIGRESS_WASM_PLUGIN_REGISTRY)
HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY=$($Config.HIGRESS_WASM_PLUGIN_REGISTRY)

# Data persistence
AGENTTEAMS_DATA_DIR=$($Config.DATA_DIR)
Expand Down Expand Up @@ -2462,6 +2465,11 @@ function Install-Manager {

# Detect registry
$script:AGENTTEAMS_REGISTRY = Get-Registry -Timezone $script:AGENTTEAMS_TIMEZONE
$script:AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY = if ($env:AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY) {
$env:AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY
} else {
"higress-registry.cn-hangzhou.cr.aliyuncs.com"
}

# Set image names
$script:MANAGER_IMAGE = if ($env:AGENTTEAMS_INSTALL_MANAGER_IMAGE) {
Expand Down Expand Up @@ -2672,6 +2680,7 @@ function Install-Manager {
# Store additional config
$config.LANGUAGE = $script:AGENTTEAMS_LANGUAGE
$config.REGISTRY = $script:AGENTTEAMS_REGISTRY
$config.HIGRESS_WASM_PLUGIN_REGISTRY = $script:AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY
$config.WORKER_IMAGE = $script:WORKER_IMAGE
$config.COPAW_WORKER_IMAGE = $script:COPAW_WORKER_IMAGE
$config.QWENPAW_WORKER_IMAGE = $script:QWENPAW_WORKER_IMAGE
Expand Down
8 changes: 6 additions & 2 deletions install/agentteams-install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@
# AGENTTEAMS_WORKSPACE_DIR Host directory for manager workspace (default: ~/agentteams-manager)
# AGENTTEAMS_VERSION Image tag (default: latest)
# AGENTTEAMS_REGISTRY Image registry (default: auto-detected by timezone)
# AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY
# Higress WASM plugin registry (default: cn-hangzhou primary)
# AGENTTEAMS_INSTALL_MANAGER_IMAGE Override manager image (e.g., local build)
# AGENTTEAMS_INSTALL_WORKER_IMAGE Override worker image (e.g., local build)
# AGENTTEAMS_INSTALL_COPAW_WORKER_IMAGE Override copaw worker image (e.g., local build)
Expand Down Expand Up @@ -1080,6 +1082,7 @@ detect_registry() {
}

AGENTTEAMS_REGISTRY="${AGENTTEAMS_REGISTRY:-$(detect_registry)}"
AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY="${AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY:-higress-registry.cn-hangzhou.cr.aliyuncs.com}"
# Backward compatibility: accept old env var names from previous versions
AGENTTEAMS_INSTALL_CONTROLLER_IMAGE="${AGENTTEAMS_INSTALL_CONTROLLER_IMAGE:-${AGENTTEAMS_INSTALL_DOCKER_PROXY_IMAGE:-}}"
# Image variables are resolved after version selection in step_version().
Expand Down Expand Up @@ -3526,8 +3529,9 @@ AGENTTEAMS_PODMAN_AUTOSTART=${AGENTTEAMS_PODMAN_AUTOSTART:-0}
# JVM Args for Higress Console (fixes SIGILL on Apple Silicon)
JVM_ARGS=${JVM_ARGS:-}

# Higress WASM plugin image registry (auto-selected by timezone)
HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY=${AGENTTEAMS_REGISTRY}
# Higress WASM plugin image registry
AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY=${AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY}
HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY=${AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY}

# Data persistence
AGENTTEAMS_DATA_DIR=${AGENTTEAMS_DATA_DIR:-agentteams-data}
Expand Down
34 changes: 34 additions & 0 deletions tests/check-installer-wasm-registry.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#!/usr/bin/env bash

set -euo pipefail

ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
SHELL_INSTALLER="${ROOT_DIR}/install/agentteams-install.sh"
POWERSHELL_INSTALLER="${ROOT_DIR}/install/agentteams-install.ps1"
PRIMARY_REGISTRY="higress-registry.cn-hangzhou.cr.aliyuncs.com"

require_line() {
local path="$1"
local expected="$2"
if ! grep -Fq "${expected}" "${path}"; then
echo "FAIL: expected ${path} to contain: ${expected}" >&2
exit 1
fi
}

if grep -Fq 'HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY=${AGENTTEAMS_REGISTRY}' "${SHELL_INSTALLER}"; then
echo "FAIL: shell installer ties Higress WASM plugins to the regional image registry" >&2
exit 1
fi

if grep -Fq 'HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY=$($Config.REGISTRY)' "${POWERSHELL_INSTALLER}"; then
echo "FAIL: PowerShell installer ties Higress WASM plugins to the regional image registry" >&2
exit 1
fi

require_line "${SHELL_INSTALLER}" "AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY=\"\${AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY:-${PRIMARY_REGISTRY}}\""
require_line "${POWERSHELL_INSTALLER}" 'AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY=$($Config.HIGRESS_WASM_PLUGIN_REGISTRY)'
require_line "${SHELL_INSTALLER}" "HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY=\${AGENTTEAMS_HIGRESS_WASM_PLUGIN_REGISTRY}"
require_line "${POWERSHELL_INSTALLER}" 'HIGRESS_ADMIN_WASM_PLUGIN_IMAGE_REGISTRY=$($Config.HIGRESS_WASM_PLUGIN_REGISTRY)'

echo "PASS: installers keep Higress WASM plugin registry on the primary registry by default"