
___x_cmd_crush___runmain() {
    {
        local openai_api_key="$OPENAI_API_KEY"
        local gemini_api_key="$GEMINI_API_KEY"
        local deepseek_api_key="$DEEPSEEK_API_KEY"

        local x_
        [ -n "$openai_api_key" ] || {
            ___x_cmd openai --cur get_ apikey 2>/dev/null;  openai_api_key="$x_"
        }

        [ -n "$gemini_api_key" ] || {
            ___x_cmd gemini --cur get_ apikey 2>/dev/null;  gemini_api_key="$x_"
        }

        [ -n "$deepseek_api_key" ] || {
            ___x_cmd deepseek --cur get_ apikey 2>/dev/null;  deepseek_api_key="$x_"
        }
    }

    local proxy=
    ___x_cmd_crush_cur proxy:= 2>/dev/null

    OPENAI_API_KEY="$openai_api_key" GEMINI_API_KEY="$gemini_api_key" DEEPSEEK_API_KEY="$deepseek_api_key" \
    ___x_cmd proxy runifset "$proxy" \
    ___x_cmd_crush___runcmd "$@"
}

___x_cmd_crush___runcmd(){
    if ___x_cmd_hascmd crush; then
        ___x_cmd_crush___runcmd(){  ___x_cmd_cmds crush "$@"; }
    else
        ___x_cmd_crush___runcmd(){ ___x_cmd snap --run crush "$@" ; }
    fi || return $?
    ___x_cmd_crush___runcmd "$@"
}
