mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-27 09:21:35 +07:00
* Remove Qwen OAuth integration (qwen-portal-auth) Qwen OAuth via portal.qwen.ai is being deprecated by the Qwen team due to traffic impact on their primary Qwen Code user base. Users should migrate to the officially supported Model Studio (Alibaba Cloud Coding Plan) provider instead. Ref: https://github.com/openclaw/openclaw/issues/49557 - Delete extensions/qwen-portal-auth/ plugin entirely - Remove qwen-portal from onboarding auth choices, provider aliases, auto-enable list, bundled plugin defaults, and pricing cache - Remove Qwen CLI credential sync (external-cli-sync, cli-credentials) - Remove QWEN_OAUTH_MARKER from model auth markers - Update docs/providers/qwen.md to redirect to Model Studio - Update model-providers docs (EN + zh-CN) to remove Qwen OAuth section - Regenerate config and plugin-sdk baselines - Update all affected tests Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> * Clean up residual qwen-portal references after OAuth removal * Add migration hint for deprecated qwen-portal OAuth provider * fix: finish qwen oauth removal follow-up --------- Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com> Co-authored-by: Frank Yang <frank.ekn@gmail.com>
93 lines
2.2 KiB
Bash
93 lines
2.2 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
OPENCLAW_DOCKER_LIVE_AUTH_ALL=(.claude .codex .minimax)
|
|
|
|
openclaw_live_trim() {
|
|
local value="${1:-}"
|
|
value="${value#"${value%%[![:space:]]*}"}"
|
|
value="${value%"${value##*[![:space:]]}"}"
|
|
printf '%s' "$value"
|
|
}
|
|
|
|
openclaw_live_normalize_auth_dir() {
|
|
local value
|
|
value="$(openclaw_live_trim "${1:-}")"
|
|
[[ -n "$value" ]] || return 1
|
|
value="${value#.}"
|
|
printf '.%s' "$value"
|
|
}
|
|
|
|
openclaw_live_should_include_auth_dir_for_provider() {
|
|
local provider
|
|
provider="$(openclaw_live_trim "${1:-}")"
|
|
case "$provider" in
|
|
anthropic)
|
|
printf '%s\n' ".claude"
|
|
;;
|
|
codex-cli | openai-codex)
|
|
printf '%s\n' ".codex"
|
|
;;
|
|
minimax | minimax-portal)
|
|
printf '%s\n' ".minimax"
|
|
;;
|
|
esac
|
|
}
|
|
|
|
openclaw_live_collect_auth_dirs_from_csv() {
|
|
local raw="${1:-}"
|
|
local token normalized
|
|
local -A seen=()
|
|
[[ -n "$(openclaw_live_trim "$raw")" ]] || return 0
|
|
IFS=',' read -r -a tokens <<<"$raw"
|
|
for token in "${tokens[@]}"; do
|
|
while IFS= read -r normalized; do
|
|
[[ -n "$normalized" ]] || continue
|
|
if [[ -z "${seen[$normalized]:-}" ]]; then
|
|
printf '%s\n' "$normalized"
|
|
seen[$normalized]=1
|
|
fi
|
|
done < <(openclaw_live_should_include_auth_dir_for_provider "$token")
|
|
done
|
|
}
|
|
|
|
openclaw_live_collect_auth_dirs_from_override() {
|
|
local raw token normalized
|
|
raw="$(openclaw_live_trim "${OPENCLAW_DOCKER_AUTH_DIRS:-}")"
|
|
[[ -n "$raw" ]] || return 1
|
|
case "$raw" in
|
|
all)
|
|
printf '%s\n' "${OPENCLAW_DOCKER_LIVE_AUTH_ALL[@]}"
|
|
return 0
|
|
;;
|
|
none)
|
|
return 0
|
|
;;
|
|
esac
|
|
IFS=',' read -r -a tokens <<<"$raw"
|
|
for token in "${tokens[@]}"; do
|
|
normalized="$(openclaw_live_normalize_auth_dir "$token")" || continue
|
|
printf '%s\n' "$normalized"
|
|
done | awk '!seen[$0]++'
|
|
return 0
|
|
}
|
|
|
|
openclaw_live_collect_auth_dirs() {
|
|
if openclaw_live_collect_auth_dirs_from_override; then
|
|
return 0
|
|
fi
|
|
printf '%s\n' "${OPENCLAW_DOCKER_LIVE_AUTH_ALL[@]}"
|
|
}
|
|
|
|
openclaw_live_join_csv() {
|
|
local first=1 value
|
|
for value in "$@"; do
|
|
[[ -n "$value" ]] || continue
|
|
if (( first )); then
|
|
printf '%s' "$value"
|
|
first=0
|
|
else
|
|
printf ',%s' "$value"
|
|
fi
|
|
done
|
|
}
|