{"id":2852,"date":"2023-06-07T21:31:33","date_gmt":"2023-06-07T19:31:33","guid":{"rendered":"https:\/\/prism-pipeline.com\/?page_id=2852"},"modified":"2026-03-02T09:38:18","modified_gmt":"2026-03-02T08:38:18","slug":"downloads","status":"publish","type":"page","link":"https:\/\/prism-pipeline.com\/zh\/downloads\/","title":{"rendered":"\u4e0b\u8f7d"},"content":{"rendered":"[et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; module_class=&#8221;page_banner&#8221; _builder_version=&#8221;4.21.0&#8243; background_image=&#8221;https:\/\/prism-pipeline.com\/wp-content\/uploads\/2023\/03\/prism-back-1080px.jpg&#8221; background_position=&#8221;bottom_center&#8221; custom_padding=&#8221;0px|0px|0px|0px&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_fullwidth_header button_one_url=&#8221;#&#8221; button_two_url=&#8221;#&#8221; content_font_color=&#8221;#0c0c0c&#8221; disabled_on=&#8221;off|off|off&#8221; _builder_version=&#8221;4.23&#8243; title_level=&#8221;h3&#8243; title_font=&#8221;|700|||||||&#8221; title_text_align=&#8221;left&#8221; title_text_color=&#8221;#FFFFFF&#8221; title_font_size=&#8221;38px&#8221; content_font=&#8221;||||||||&#8221; subhead_font=&#8221;Amiko||||||||&#8221; subhead_text_align=&#8221;center&#8221; subhead_text_color=&#8221;#ffffff&#8221; subhead_font_size=&#8221;24px&#8221; background_color=&#8221;rgba(255, 255, 255, 0)&#8221; background_image=&#8221;https:\/\/prism-pipeline.com\/wp-content\/uploads\/2023\/10\/banner2.jpg&#8221; background_position=&#8221;top_center&#8221; background_vertical_offset=&#8221;16%&#8221; custom_padding=&#8221;76px||76px||true|false&#8221; title_font_size_tablet=&#8221;38px&#8221; title_font_size_phone=&#8221;34px&#8221; title_font_size_last_edited=&#8221;on|desktop&#8221; global_colors_info=&#8221;{}&#8221; button_one_text_size__hover_enabled=&#8221;off&#8221; button_two_text_size__hover_enabled=&#8221;off&#8221; button_one_text_color__hover_enabled=&#8221;off&#8221; button_two_text_color__hover_enabled=&#8221;off&#8221; button_one_border_width__hover_enabled=&#8221;off&#8221; button_two_border_width__hover_enabled=&#8221;off&#8221; button_one_border_color__hover_enabled=&#8221;off&#8221; button_two_border_color__hover_enabled=&#8221;off&#8221; button_one_border_radius__hover_enabled=&#8221;off&#8221; button_two_border_radius__hover_enabled=&#8221;off&#8221; button_one_letter_spacing__hover_enabled=&#8221;off&#8221; button_two_letter_spacing__hover_enabled=&#8221;off&#8221; button_one_bg_color__hover_enabled=&#8221;off&#8221; button_two_bg_color__hover_enabled=&#8221;off&#8221; custom_margin__hover_enabled=&#8221;off|desktop&#8221;]\n<h1 style=\"text-align: center;\"><strong>Prism<\/strong> downloads<\/h1>\n[\/et_pb_fullwidth_header][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;||||false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.23&#8243; _module_preset=&#8221;default&#8221; background_enable_image=&#8221;off&#8221; background_size=&#8221;contain&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.21.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text admin_label=&#8221;Big headline 2&#8243; module_class=&#8221;headline_gradient big_headline_2&#8243; _builder_version=&#8221;4.27.4&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; custom_margin=&#8221;||11px|||&#8221; custom_padding=&#8221;||10px|||&#8221; global_colors_info=&#8221;{}&#8221;]\n<h2 style=\"text-align: center;\">Latest <strong>Windows<\/strong> Installer<\/h2>\n[\/et_pb_text][et_pb_button button_url=&#8221;\/downloading\/&#8221; button_text=&#8221;Download Prism&#8221; button_alignment=&#8221;center&#8221; module_class=&#8221;windows_download_button&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||1px|||&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_button][et_pb_text _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; min_height=&#8221;23.8px&#8221; custom_margin=&#8221;10px||||false|false&#8221; global_colors_info=&#8221;{}&#8221;]\n<p style=\"text-align: center;\"><em>v2.1.0 ~370mb<\/em><br \/><a href=\"\/downloading-zip\/\">Download portable zip<\/a><\/p>\n[\/et_pb_text][et_pb_text _builder_version=&#8221;4.24.0&#8243; _module_preset=&#8221;default&#8221; min_height=&#8221;23.8px&#8221; custom_margin=&#8221;-10px||||false|false&#8221; global_colors_info=&#8221;{}&#8221;]\n<p style=\"text-align: center;\"><strong>See all other <a href=\"https:\/\/prism-pipeline.com\/prism-versions\/\">Prism versions<\/a>.<\/strong><\/p>\n[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_2,1_2&#8243; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; max_width=&#8221;900px&#8221; custom_margin=&#8221;50px||||false|false&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text module_class=&#8221;headline_gradient&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]\n<h3 style=\"text-align: left;\"><strong>Linux<\/strong> Setup<\/h3>\n<p style=\"text-align: left;\">Run the following command in your Linux terminal to setup Prism in a self contained folder:<\/p>\n[\/et_pb_text][et_pb_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;0px||0px|0px|false|false&#8221; custom_padding=&#8221;0px|0px|0px||false|false&#8221; global_colors_info=&#8221;{}&#8221;]<!DOCTYPE html><!-- [et_pb_line_break_holder] --><html lang=\"en\"><!-- [et_pb_line_break_holder] --><head><!-- [et_pb_line_break_holder] -->    <meta charset=\"UTF-8\"><!-- [et_pb_line_break_holder] -->    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><!-- [et_pb_line_break_holder] -->    <title>Prism Pipeline Setup<\/title><!-- [et_pb_line_break_holder] -->    <\/p>\n<style><!-- [et_pb_line_break_holder] -->        * {<!-- [et_pb_line_break_holder] -->            margin: 0;<!-- [et_pb_line_break_holder] -->            padding: 0;<!-- [et_pb_line_break_holder] -->            box-sizing: border-box;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .command-container {<!-- [et_pb_line_break_holder] -->            position: relative;<!-- [et_pb_line_break_holder] -->            margin-bottom: 20px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .command-field {<!-- [et_pb_line_break_holder] -->            min-height: 130px;<!-- [et_pb_line_break_holder] -->            background: #2d3748;<!-- [et_pb_line_break_holder] -->            color: #e2e8f0;<!-- [et_pb_line_break_holder] -->            font-family: 'Consolas', 'Monaco', 'Courier New', monospace;<!-- [et_pb_line_break_holder] -->            font-size: 0.95rem;<!-- [et_pb_line_break_holder] -->            padding: 20px;<!-- [et_pb_line_break_holder] -->            border-radius: 10px;<!-- [et_pb_line_break_holder] -->            border: 2px solid #4a5568;<!-- [et_pb_line_break_holder] -->            width: 100%;<!-- [et_pb_line_break_holder] -->            height: 100%;<!-- [et_pb_line_break_holder] -->            word-wrap: break-word;<!-- [et_pb_line_break_holder] -->            line-height: 1.5;<!-- [et_pb_line_break_holder] -->            resize: none;<!-- [et_pb_line_break_holder] -->            overflow-x: auto;<!-- [et_pb_line_break_holder] -->            white-space: pre-wrap;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .copy-button {<!-- [et_pb_line_break_holder] -->            position: absolute;<!-- [et_pb_line_break_holder] -->            top: 15px;<!-- [et_pb_line_break_holder] -->            right: 15px;<!-- [et_pb_line_break_holder] -->            background: #4299e1;<!-- [et_pb_line_break_holder] -->            color: white;<!-- [et_pb_line_break_holder] -->            border: none;<!-- [et_pb_line_break_holder] -->            padding: 8px 12px;<!-- [et_pb_line_break_holder] -->            border-radius: 6px;<!-- [et_pb_line_break_holder] -->            cursor: pointer;<!-- [et_pb_line_break_holder] -->            font-size: 0.85rem;<!-- [et_pb_line_break_holder] -->            font-weight: 600;<!-- [et_pb_line_break_holder] -->            transition: all 0.2s ease;<!-- [et_pb_line_break_holder] -->            display: flex;<!-- [et_pb_line_break_holder] -->            align-items: center;<!-- [et_pb_line_break_holder] -->            gap: 5px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .copy-button:hover {<!-- [et_pb_line_break_holder] -->            background: #3182ce;<!-- [et_pb_line_break_holder] -->            transform: scale(1.05);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .copy-button.copied {<!-- [et_pb_line_break_holder] -->            background: #38a169;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .copy-icon {<!-- [et_pb_line_break_holder] -->            width: 16px;<!-- [et_pb_line_break_holder] -->            height: 16px;<!-- [et_pb_line_break_holder] -->            fill: currentColor;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/style>\n<p><!-- [et_pb_line_break_holder] --><\/head><!-- [et_pb_line_break_holder] --><body><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"command-container\"><!-- [et_pb_line_break_holder] -->        <textarea class=\"command-field\" readonly id=\"linux-command\">python3 -c &#8220;$(curl -sSL https:\/\/service.prism-pipeline.com\/api\/service\/setup_script)&#8221;<\/textarea><!-- [et_pb_line_break_holder] -->        <button class=\"copy-button\" onclick=\"copyCommand('linux-command', this)\"><!-- [et_pb_line_break_holder] -->            <svg class=\"copy-icon\" viewBox=\"0 0 24 24\"><!-- [et_pb_line_break_holder] -->                <path d=\"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z\"\/><!-- [et_pb_line_break_holder] -->            <\/svg><!-- [et_pb_line_break_holder] -->            Copy<!-- [et_pb_line_break_holder] -->        <\/button><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <script><!-- [et_pb_line_break_holder] -->        function copyCommand(elementId, button) {<!-- [et_pb_line_break_holder] -->            const commandField = document.getElementById(elementId);<!-- [et_pb_line_break_holder] -->            const command = commandField.value;<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            \/\/ Use the modern Clipboard API<!-- [et_pb_line_break_holder] -->            if (navigator.clipboard) {<!-- [et_pb_line_break_holder] -->                navigator.clipboard.writeText(command).then(() => {<!-- [et_pb_line_break_holder] -->                    showCopySuccess(button);<!-- [et_pb_line_break_holder] -->                }).catch(() => {<!-- [et_pb_line_break_holder] -->                    \/\/ Fallback for older browsers<!-- [et_pb_line_break_holder] -->                    fallbackCopy(commandField, button);<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] -->            } else {<!-- [et_pb_line_break_holder] -->                \/\/ Fallback for older browsers<!-- [et_pb_line_break_holder] -->                fallbackCopy(commandField, button);<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function fallbackCopy(element, button) {<!-- [et_pb_line_break_holder] -->            element.select();<!-- [et_pb_line_break_holder] -->            element.setSelectionRange(0, 99999); \/\/ For mobile devices<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            try {<!-- [et_pb_line_break_holder] -->                document.execCommand('copy');<!-- [et_pb_line_break_holder] -->                showCopySuccess(button);<!-- [et_pb_line_break_holder] -->            } catch (err) {<!-- [et_pb_line_break_holder] -->                console.error('Copy failed:', err);<!-- [et_pb_line_break_holder] -->                showCopyError(button);<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function showCopySuccess(button) {<!-- [et_pb_line_break_holder] -->            const originalText = button.innerHTML;<!-- [et_pb_line_break_holder] -->            button.innerHTML = `<!-- [et_pb_line_break_holder] -->                <svg class=\"copy-icon\" viewBox=\"0 0 24 24\"><!-- [et_pb_line_break_holder] -->                    <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><!-- [et_pb_line_break_holder] -->                <\/svg><!-- [et_pb_line_break_holder] -->                Copied!<!-- [et_pb_line_break_holder] -->            `;<!-- [et_pb_line_break_holder] -->            button.classList.add('copied');<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            setTimeout(() => {<!-- [et_pb_line_break_holder] -->                button.innerHTML = originalText;<!-- [et_pb_line_break_holder] -->                button.classList.remove('copied');<!-- [et_pb_line_break_holder] -->            }, 2000);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function showCopyError(button) {<!-- [et_pb_line_break_holder] -->            const originalText = button.innerHTML;<!-- [et_pb_line_break_holder] -->            button.innerHTML = `<!-- [et_pb_line_break_holder] -->                <svg class=\"copy-icon\" viewBox=\"0 0 24 24\"><!-- [et_pb_line_break_holder] -->                    <path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\/><!-- [et_pb_line_break_holder] -->                <\/svg><!-- [et_pb_line_break_holder] -->                Error<!-- [et_pb_line_break_holder] -->            `;<!-- [et_pb_line_break_holder] -->            button.style.background = '#e53e3e';<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            setTimeout(() => {<!-- [et_pb_line_break_holder] -->                button.innerHTML = originalText;<!-- [et_pb_line_break_holder] -->                button.style.background = '';<!-- [et_pb_line_break_holder] -->            }, 2000);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Add some interactive effects<!-- [et_pb_line_break_holder] -->        document.querySelectorAll('.setup-card').forEach(card => {<!-- [et_pb_line_break_holder] -->            card.addEventListener('mouseenter', () => {<!-- [et_pb_line_break_holder] -->                card.style.transform = 'translateY(-5px)';<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            card.addEventListener('mouseleave', () => {<!-- [et_pb_line_break_holder] -->                card.style.transform = 'translateY(0)';<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->    <\/script><!-- [et_pb_line_break_holder] --><\/body><!-- [et_pb_line_break_holder] --><\/html>[\/et_pb_code][et_pb_text _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#f4f4fa&#8221; custom_padding=&#8221;20px|20px|20px|20px|true|true&#8221; border_radii=&#8221;on|8px|8px|8px|8px&#8221; border_width_left=&#8221;4px&#8221; border_color_left=&#8221;#af326d&#8221; global_colors_info=&#8221;{}&#8221;]\n<p><strong>Note:<\/strong>\u00a0This command will download and install Prism with all dependencies. Make sure you have\u00a0<code>curl<\/code>\u00a0and\u00a0<code>python3<\/code>\u00a0installed.<\/p>\n[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text module_class=&#8221;headline_gradient&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]\n<h3><strong>macOS<\/strong> Setup<\/h3>\n<p>Run the following command in your macOS terminal to setup Prism in a self contained folder:<\/p>\n[\/et_pb_text][et_pb_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;0px||0px|0px|false|false&#8221; custom_padding=&#8221;0px|0px|0px||false|false&#8221; global_colors_info=&#8221;{}&#8221;]<!DOCTYPE html><!-- [et_pb_line_break_holder] --><html lang=\"en\"><!-- [et_pb_line_break_holder] --><head><!-- [et_pb_line_break_holder] -->    <meta charset=\"UTF-8\"><!-- [et_pb_line_break_holder] -->    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><!-- [et_pb_line_break_holder] -->    <title>Prism Pipeline Setup<\/title><!-- [et_pb_line_break_holder] -->    <\/p>\n<style><!-- [et_pb_line_break_holder] -->        * {<!-- [et_pb_line_break_holder] -->            margin: 0;<!-- [et_pb_line_break_holder] -->            padding: 0;<!-- [et_pb_line_break_holder] -->            box-sizing: border-box;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .command-container {<!-- [et_pb_line_break_holder] -->            position: relative;<!-- [et_pb_line_break_holder] -->            margin-bottom: 20px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .command-field {<!-- [et_pb_line_break_holder] -->            min-height: 130px;<!-- [et_pb_line_break_holder] -->            background: #2d3748;<!-- [et_pb_line_break_holder] -->            color: #e2e8f0;<!-- [et_pb_line_break_holder] -->            font-family: 'Consolas', 'Monaco', 'Courier New', monospace;<!-- [et_pb_line_break_holder] -->            font-size: 0.95rem;<!-- [et_pb_line_break_holder] -->            padding: 20px;<!-- [et_pb_line_break_holder] -->            border-radius: 10px;<!-- [et_pb_line_break_holder] -->            border: 2px solid #4a5568;<!-- [et_pb_line_break_holder] -->            width: 100%;<!-- [et_pb_line_break_holder] -->            height: 100%;<!-- [et_pb_line_break_holder] -->            word-wrap: break-word;<!-- [et_pb_line_break_holder] -->            line-height: 1.5;<!-- [et_pb_line_break_holder] -->            resize: none;<!-- [et_pb_line_break_holder] -->            overflow-x: auto;<!-- [et_pb_line_break_holder] -->            white-space: pre-wrap;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .copy-button {<!-- [et_pb_line_break_holder] -->            position: absolute;<!-- [et_pb_line_break_holder] -->            top: 15px;<!-- [et_pb_line_break_holder] -->            right: 15px;<!-- [et_pb_line_break_holder] -->            background: #4299e1;<!-- [et_pb_line_break_holder] -->            color: white;<!-- [et_pb_line_break_holder] -->            border: none;<!-- [et_pb_line_break_holder] -->            padding: 8px 12px;<!-- [et_pb_line_break_holder] -->            border-radius: 6px;<!-- [et_pb_line_break_holder] -->            cursor: pointer;<!-- [et_pb_line_break_holder] -->            font-size: 0.85rem;<!-- [et_pb_line_break_holder] -->            font-weight: 600;<!-- [et_pb_line_break_holder] -->            transition: all 0.2s ease;<!-- [et_pb_line_break_holder] -->            display: flex;<!-- [et_pb_line_break_holder] -->            align-items: center;<!-- [et_pb_line_break_holder] -->            gap: 5px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .copy-button:hover {<!-- [et_pb_line_break_holder] -->            background: #3182ce;<!-- [et_pb_line_break_holder] -->            transform: scale(1.05);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .copy-button.copied {<!-- [et_pb_line_break_holder] -->            background: #38a169;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .copy-icon {<!-- [et_pb_line_break_holder] -->            width: 16px;<!-- [et_pb_line_break_holder] -->            height: 16px;<!-- [et_pb_line_break_holder] -->            fill: currentColor;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/style>\n<p><!-- [et_pb_line_break_holder] --><\/head><!-- [et_pb_line_break_holder] --><body><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"command-container\"><!-- [et_pb_line_break_holder] -->        <textarea class=\"command-field\" readonly id=\"linux-command\">python3 -c &#8220;$(curl -sSL https:\/\/service.prism-pipeline.com\/api\/service\/setup_script)&#8221;<\/textarea><!-- [et_pb_line_break_holder] -->        <button class=\"copy-button\" onclick=\"copyCommand('linux-command', this)\"><!-- [et_pb_line_break_holder] -->            <svg class=\"copy-icon\" viewBox=\"0 0 24 24\"><!-- [et_pb_line_break_holder] -->                <path d=\"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z\"\/><!-- [et_pb_line_break_holder] -->            <\/svg><!-- [et_pb_line_break_holder] -->            Copy<!-- [et_pb_line_break_holder] -->        <\/button><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <script><!-- [et_pb_line_break_holder] -->        function copyCommand(elementId, button) {<!-- [et_pb_line_break_holder] -->            const commandField = document.getElementById(elementId);<!-- [et_pb_line_break_holder] -->            const command = commandField.value;<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            \/\/ Use the modern Clipboard API<!-- [et_pb_line_break_holder] -->            if (navigator.clipboard) {<!-- [et_pb_line_break_holder] -->                navigator.clipboard.writeText(command).then(() => {<!-- [et_pb_line_break_holder] -->                    showCopySuccess(button);<!-- [et_pb_line_break_holder] -->                }).catch(() => {<!-- [et_pb_line_break_holder] -->                    \/\/ Fallback for older browsers<!-- [et_pb_line_break_holder] -->                    fallbackCopy(commandField, button);<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] -->            } else {<!-- [et_pb_line_break_holder] -->                \/\/ Fallback for older browsers<!-- [et_pb_line_break_holder] -->                fallbackCopy(commandField, button);<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function fallbackCopy(element, button) {<!-- [et_pb_line_break_holder] -->            element.select();<!-- [et_pb_line_break_holder] -->            element.setSelectionRange(0, 99999); \/\/ For mobile devices<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            try {<!-- [et_pb_line_break_holder] -->                document.execCommand('copy');<!-- [et_pb_line_break_holder] -->                showCopySuccess(button);<!-- [et_pb_line_break_holder] -->            } catch (err) {<!-- [et_pb_line_break_holder] -->                console.error('Copy failed:', err);<!-- [et_pb_line_break_holder] -->                showCopyError(button);<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function showCopySuccess(button) {<!-- [et_pb_line_break_holder] -->            const originalText = button.innerHTML;<!-- [et_pb_line_break_holder] -->            button.innerHTML = `<!-- [et_pb_line_break_holder] -->                <svg class=\"copy-icon\" viewBox=\"0 0 24 24\"><!-- [et_pb_line_break_holder] -->                    <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><!-- [et_pb_line_break_holder] -->                <\/svg><!-- [et_pb_line_break_holder] -->                Copied!<!-- [et_pb_line_break_holder] -->            `;<!-- [et_pb_line_break_holder] -->            button.classList.add('copied');<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            setTimeout(() => {<!-- [et_pb_line_break_holder] -->                button.innerHTML = originalText;<!-- [et_pb_line_break_holder] -->                button.classList.remove('copied');<!-- [et_pb_line_break_holder] -->            }, 2000);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function showCopyError(button) {<!-- [et_pb_line_break_holder] -->            const originalText = button.innerHTML;<!-- [et_pb_line_break_holder] -->            button.innerHTML = `<!-- [et_pb_line_break_holder] -->                <svg class=\"copy-icon\" viewBox=\"0 0 24 24\"><!-- [et_pb_line_break_holder] -->                    <path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\/><!-- [et_pb_line_break_holder] -->                <\/svg><!-- [et_pb_line_break_holder] -->                Error<!-- [et_pb_line_break_holder] -->            `;<!-- [et_pb_line_break_holder] -->            button.style.background = '#e53e3e';<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            setTimeout(() => {<!-- [et_pb_line_break_holder] -->                button.innerHTML = originalText;<!-- [et_pb_line_break_holder] -->                button.style.background = '';<!-- [et_pb_line_break_holder] -->            }, 2000);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Add some interactive effects<!-- [et_pb_line_break_holder] -->        document.querySelectorAll('.setup-card').forEach(card => {<!-- [et_pb_line_break_holder] -->            card.addEventListener('mouseenter', () => {<!-- [et_pb_line_break_holder] -->                card.style.transform = 'translateY(-5px)';<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            card.addEventListener('mouseleave', () => {<!-- [et_pb_line_break_holder] -->                card.style.transform = 'translateY(0)';<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->    <\/script><!-- [et_pb_line_break_holder] --><\/body><!-- [et_pb_line_break_holder] --><\/html>[\/et_pb_code][et_pb_text _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#f4f4fa&#8221; custom_padding=&#8221;20px|20px|20px|20px|true|true&#8221; border_radii=&#8221;on|8px|8px|8px|8px&#8221; border_width_left=&#8221;4px&#8221; border_color_left=&#8221;#af326d&#8221; global_colors_info=&#8221;{}&#8221;]\n<p><strong>Note:<\/strong>\u00a0This command will download and install Prism with all dependencies. Make sure you have\u00a0<code>curl<\/code>\u00a0and\u00a0<code>python3<\/code>\u00a0installed via Xcode Command Line Tools or Homebrew.<\/p>\n[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text module_class=&#8221;github_source_code_button&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; min_height=&#8221;23.8px&#8221; custom_margin=&#8221;80px||||false|false&#8221; link_option_url=&#8221;https:\/\/dl.dropboxusercontent.com\/s\/609y5psgi98rmdn\/Prism_v1.3.0.1_win.zip?dl=1&#8243; global_colors_info=&#8221;{}&#8221;]\n<p style=\"text-align: center;\"><a href=\"https:\/\/github.com\/PrismPipeline\/Prism\">Source code on GitHub<\/a><\/p>\n[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n","protected":false},"excerpt":{"rendered":"<p>Download Prism for Windows, Linux or MacOS!<\/p>","protected":false},"author":626,"featured_media":8379,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-2852","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/prism-pipeline.com\/zh\/wp-json\/wp\/v2\/pages\/2852","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prism-pipeline.com\/zh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/prism-pipeline.com\/zh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/prism-pipeline.com\/zh\/wp-json\/wp\/v2\/users\/626"}],"replies":[{"embeddable":true,"href":"https:\/\/prism-pipeline.com\/zh\/wp-json\/wp\/v2\/comments?post=2852"}],"version-history":[{"count":5,"href":"https:\/\/prism-pipeline.com\/zh\/wp-json\/wp\/v2\/pages\/2852\/revisions"}],"predecessor-version":[{"id":8375,"href":"https:\/\/prism-pipeline.com\/zh\/wp-json\/wp\/v2\/pages\/2852\/revisions\/8375"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prism-pipeline.com\/zh\/wp-json\/wp\/v2\/media\/8379"}],"wp:attachment":[{"href":"https:\/\/prism-pipeline.com\/zh\/wp-json\/wp\/v2\/media?parent=2852"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}