



  

<!DOCTYPE html>
<html
  lang="en"
  
  data-color-mode="auto" data-light-theme="light" data-dark-theme="dark"
  data-a11y-animated-images="system" data-a11y-link-underlines="true"
  
  >




  <head>
    <meta charset="utf-8">
  <link rel="dns-prefetch" href="https://github.githubassets.com">
  <link rel="dns-prefetch" href="https://avatars.githubusercontent.com">
  <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
  <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
  <link rel="preconnect" href="https://github.githubassets.com" crossorigin>
  <link rel="preconnect" href="https://avatars.githubusercontent.com">

<script type="importmap">{"imports":{"react":"https://github.githubassets.com/assets/react-e27d1b3e03961e68.js","react-dom":"https://github.githubassets.com/assets/react-dom-e5fd46a22d5c4058.js","react-dom/client":"https://github.githubassets.com/assets/react-dom-client-1b4a3ee065998cea.js","react-is":"https://github.githubassets.com/assets/react-is-e0b593954b4706d8.js","react-reconciler":"https://github.githubassets.com/assets/react-reconciler-8e99e505c4429605.js","react/compiler-runtime":"https://github.githubassets.com/assets/react-compiler-runtime-4610bd6d3de9c049.js","react/jsx-dev-runtime":"https://github.githubassets.com/assets/react-jsx-dev-runtime-ea55d68667d559e5.js","react/jsx-runtime":"https://github.githubassets.com/assets/react-jsx-runtime-4915cb0f5b3aff04.js","scheduler":"https://github.githubassets.com/assets/scheduler-58b860b049ca307c.js"}}</script>
<meta name="react-profiling" content="0" data-turbo-transient="true" />
<meta name="react-import-map" content="react,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@777f63f87cd0" data-turbo-track="reload" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-e27d1b3e03961e68.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-compiler-runtime-4610bd6d3de9c049.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/scheduler-58b860b049ca307c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-dom-e5fd46a22d5c4058.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-dom-client-1b4a3ee065998cea.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-is-e0b593954b4706d8.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-jsx-runtime-4915cb0f5b3aff04.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-reconciler-8e99e505c4429605.js" />

  


  <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-5c4e9fc574bf49f3.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light_high_contrast-fb37c309e0603a69.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-afff6c53aef9b9d1.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark_high_contrast-c409873d7987dffa.css" /><link data-color-theme="light" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light-5c4e9fc574bf49f3.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-fb37c309e0603a69.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-0f910d8806d5761b.css" /><link data-color-theme="light_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind_high_contrast-a7abd4d4c49ac593.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-5fc4c4a9cb41e596.css" /><link data-color-theme="light_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia_high_contrast-ed0cee9214dedabd.css" /><link data-color-theme="dark" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark-afff6c53aef9b9d1.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-c409873d7987dffa.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-78a2491d538dab5a.css" /><link data-color-theme="dark_colorblind_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind_high_contrast-c26b63d7c532d0a2.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-a6f60cea68c08405.css" /><link data-color-theme="dark_tritanopia_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia_high_contrast-f66faf28b2ea18b6.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-6701f6218c53cf5b.css" /><link data-color-theme="dark_dimmed_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed_high_contrast-7037fa46ae124d97.css" />

  <style type="text/css">
    :root {
      --tab-size-preference: 4;
    }

    pre, code {
      tab-size: var(--tab-size-preference);
    }
  </style>

    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-97df7784617ce1ea.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-9be9fe6313f476af.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-62747e27e61258dc.css" />
    <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-7a418ea859d1654d.css" />
  <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-72bd7d974b5ac1cc.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-4c5c0895f723f870.css" />

  

  <script type="application/json" id="client-env">{"locale":"en","featureFlags":["actions_caches_react_shell","actions_enable_background_steps","actions_new_hosted_runner_image_select_sizes_and_versions","actions_runners_react_shell","activity_diff_file_tree","activity_repos_file_tree","activity_repos_overview_header","activity_repos_overview_sidebar","agent_author_search_expansion","agent_author_search_expansion_ui_pulls","alternate_user_config_repo","async_conversion_coverage_enabled","billing_billable_licenses_cost_center_bucket_fix","billing_budget_expiration","billing_cost_center_list_assigned_resources","billing_discount_threshold_notification","code_quality_enablement_banner_targeting","code_quality_remove_preview","code_view_raf_sticky_lines","codespaces_prebuild_region_target_update","coding_agent_third_party_model_ui","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_automation_repo_mcp_servers","copilot_automations_pagination","copilot_base_model_policy_row","copilot_chat_auto_mode_v2","copilot_chat_clear_model_selection_for_default_change","copilot_chat_early_task_provisioning","copilot_chat_persist_session_drafts","copilot_chat_vision_dotcom_chat_ga_gate","copilot_css_textarea_autosize","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_duplicate_thread","copilot_extensions_removal_on_marketplace","copilot_fix_failed_workflows_all_skus","copilot_hide_hovercard","copilot_immersive_task_hyperlinking","copilot_mc_cli_resume_any_users_task","copilot_mission_control_agent_merge_fix_ci","copilot_mission_control_agent_merge_resolve_conflicts","copilot_mission_control_awps_batching","copilot_mission_control_early_stop","copilot_mission_control_managed_sandbox_environments","copilot_mission_control_needs_attention","copilot_mission_control_reasoning_effort","copilot_mission_control_sandbox_remote_bypass","copilot_mission_control_task_alive_updates","copilot_mission_control_task_sharing","copilot_org_policy_page_focus_mode","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_swe_agent_authorization_status_ui","copilot_swe_agent_automation_resource_scoped_writes","copilot_swe_agent_discussion_comment_trigger","copilot_swe_agent_discussion_opened_trigger","copilot_swe_agent_discussion_updated_trigger","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_issue_assigned_trigger","copilot_swe_agent_issue_comment_trigger","copilot_swe_agent_issue_labeled_trigger","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_pull_request_assigned_trigger","copilot_swe_agent_pull_request_comment_trigger","copilot_swe_agent_pull_request_labeled_trigger","copilot_swe_agent_pull_request_merged_trigger","copilot_swe_agent_pull_request_opened_trigger","copilot_swe_agent_pull_request_ready_for_review_trigger","copilot_swe_agent_pull_request_review_requested_trigger","copilot_swe_agent_pull_request_review_submitted_trigger","copilot_swe_agent_pull_request_synchronize_trigger","copilot_swe_agent_sub_issue_added_trigger","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_task_scoped_alive_channel","copilot_token_based_billing","copilot_unconfigured_is_inherited","copilot_user_can_upgrade_plan_field","copilot_workbench_sunset_redirect","dashboard_agents_module_auth_token_check","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","fgpat_permissions_selector_redesign","glc_code_quality_repo_settings_workflow_config","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","in_product_messaging_datadog_monitoring","ipm_ubb_individual_budget_banner","issue_fields_multi_select","issue_inline_avatars","issue_pinned_views","issue_pinned_views_team_vs_personal","issue_relative_time_micro","issues_dashboard_sso_structured_errors","issues_expanded_file_types","issues_hide_closed_sub_issues","issues_index_data_router","issues_lazy_load_comment_box_suggestions","issues_react_chrome_container_query_fix","labels_archiving","labels_archiving_info","landing_pages_ninetailed","lifecycle_label_name_updates","marketing_cookie_consent_banner","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_queue_restricted_pushers_warning","merge_status_header_feedback","milestone_closed_issues_prioritization","milestone_show_data_router","octocaptcha_origin_optimization","primer_react_css_anchor_positioning","primer_react_merged_forwarded_refs","prs_copilot_app_open_action","prs_css_anchor_positioning","pull_request_copilot_attribution_header","pull_request_overview_merge_control","pull_request_overview_panel_edit_description","pull_request_persister","pull_request_stacks_navigation_shortcuts","pull_request_virtualization_image_estimate","pull_request_virtualization_loader_batching","pull_request_virtualization_scroll_compensation","pull_request_virtualization_scroll_intent","quick_search_lazy_suggestions","react_blob_isolate_code_lines","react_blob_ssr_content_visibility","react_data_router_tanstack_allowed","react_logged_out_repository_header","react_query_props_with_key","react_sandbox_future_tanstack","repo_app_turbo","repo_issues_sidebar_layout","repo_pulls_dashboard_declutter","repo_pulls_dashboard_ga","repo_pulls_dashboard_persistence","repo_pulls_dashboard_sidebar_links","repos_contributors_limited_default_range","review_involves_filter","rule_ignored_file_paths","rulesets_actor_list_editor","sample_network_conn_type","security_center_artifact_filters_popover","see_who_reacted","semantic_similarity_duplicate_issue_detection","session_logs_ungroup_reasoning_text","set_sha256_on_repo_creation_form","site_banner_desktop_copilot_app","site_ghca_pixel_mona","site_github_app_ga_page","site_github_app_ga_page_highlight","site_github_app_mobile_native_share","site_global_banner_dev_days_attendee","site_global_nav_spark_models_removed","speculation_rules_ui_service","suggest_custom_property_values_copilot","suppress_automated_browser_vitals","swp_forms_disable_octocaptcha","thread_resolution_reason","update_issue_suggestions","viewscreen_sandbox","warn_inaccessible_attachments","webp_support","workstream_plugin_bootstrap"],"githubDomain":"https://github.com","copilotApiOverrideUrl":"https://api.githubcopilot.com","cmcApiUrl":"https://api.github.com/cmc_internal/api"}</script>
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/high-contrast-cookie-b752d992928a526c.js"></script>
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wp-runtime-81e2b8334c3d06e9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/app-foundation-2f08c823163591a8.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/app-runtime-633ad94fa06c334b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fetch-utilities-0fb4c544a797ec0d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ser-7c872b58ac9f1b39.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/tp-7e9817cf5c068979.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/environment-55602924fdf21863.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/app-runtime.bef03fb24bb03be8.module.css" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/catalyst-52ed81112a548e10.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/selector-observer-e8810f64c443fb9b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/relative-time-element-0417f617ad744a0d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/by-9da36843ba9d191d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ja9-9a1160b939f2cd52.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/3h-55903cf2303047ad.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/hk-f1498fec45311acd.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/jz5-7aa1ff0a0e750f41.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/hj-1d800d09e9a8720a.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j0-9697c1c8f5cbf523.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/github-elements-e067f5c4473bffff.js" defer="defer"></script>
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/element-registry-40ea91c5fde7f30c.js" defer="defer"></script>
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/runtime-helpers-5e0b3ae3c4036207.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/aria-live-524a06aa946df6fc.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/hotkey-b1ee53c2200b172a.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/react-core-7bf7b9d689fe3d10.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/a9-ca3bc10b816bcc1f.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ur-21ec1e439ee2d87c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/4t-4c39f7195fc42cc8.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/pb-53cfff089eaac51b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/6n-afcf86ccabc4cad2.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/zj-4d9cf83cf08e1643.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wo-6991af5b3829ffe8.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/nfv-a6c14301d3ea6d67.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/b5-a2fde30ce0c692b9.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/sw-9d0489dbf9a9c942.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ttf-7d5abe1b447ced2c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/sj-c7a44023ee90d468.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/0pd-c46d8dfae89c2b64.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/behaviors-c8ee397a71bcb700.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-core.255cab819a92f7e1.module.css" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/code-menu-073e7d742fb703f1.js" defer="defer"></script>
  
  <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/primer-react-8503588299651923.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ncx-66e64888bc4615bb.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/qmp-c7cfba40cf5a93b0.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j6-148a74299e5a01ab.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/t7l-a9404625ec30bbc7.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/4u-8f9f1d6be01d6a22.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/s0-68d09e5e8a80cb94.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/y5-0cb3f75cec297941.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/n4u-cd9039ad946274ad.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/j8s-00bd469c4017a543.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/la-27679061f16e1495.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/iu-2d03f5e6d4fdd54d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/gru-2b0fac8887ff8c57.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/a0-234e967e7c6d22ce.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/gz3-5bdfbfceac967bb6.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/15m-64f3034430471048.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/1e-c15441bdb94d54ae.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/gzu-6ad9a0527a5d7afd.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/bi-3a42b8714e06c4d0.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/tu1-37e16844272ddefa.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/b1-ac66ededed061993.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/gmn-1e5497c041b66231.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/0l5-d1b2a63015b5eb6d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/c2-e85522be441acf73.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/f9-baf0a4193779952e.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/sp-87dce99c82a27004.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/zkm-116b01b8485bbe3f.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/og-518d12c9e011601d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/b9-947db365ea875cfa.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/14-8c7b4ad3c845664c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/dsj-2e7d883cb843e9e6.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ec-38012819307fd539.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/du-6607da3b8b579202.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/20-f43eb09c2be69457.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ql0-107312645ac2b72d.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/wp-fa7cdc0f7656d876.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/p0l-fe491d943adf7508.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/v1e-d099d9fd21ad25e5.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fn-7b298a45c55fb6fb.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/7cw-6e493a20eaaa04b5.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ok-290e4b9465ba9c5b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/6d-ca6d584a0fd6368c.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/y8-e2f18f5a24733f3b.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/xc-3fd4a2e7dcbad8e2.js" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/vjg-2874f95f389c4d3f.js" />
<script crossorigin="anonymous" type="module" src="https://github.githubassets.com/assets/code-view-16afdcf183d11968.js" defer="defer"></script>
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.e4334163c54cccf5.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/ql0.501e99879e15a48e.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/xc.de2b1dde0494f261.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-view.85de0b1d47e09052.module.css" />


  <title>QwenPaw/README_zh.md at main · agentscope-ai/QwenPaw · GitHub</title>



  <meta name="route-pattern" content="/:user_id/:repository/blob/*name(/*path)" data-turbo-transient>
  <meta name="route-controller" content="blob" data-turbo-transient>
  <meta name="route-action" content="show" data-turbo-transient>
  <meta name="fetch-nonce" content="v2:0711af74-5f17-93c8-5dc2-c5380807df5e">

    
  <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb">


  <meta name="request-id" content="C3F4:3EE2CF:11D1D70:10F9642:6AC77E94" data-pjax-transient="true"/><meta name="html-safe-nonce" content="4a60b78e587fedf9d1ad3b95b2b07f91d448e11d2f1def555f36f4a6e9b455e2" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDM0Y0OjNFRTJDRjoxMUQxRDcwOjEwRjk2NDI6NkFDNzdFOTQiLCJ2aXNpdG9yX2lkIjoiMjA2MDMyOTQwNDYyMTg4MDk4MCIsInJlZ2lvbl9lZGdlIjoiZnJhIiwicmVnaW9uX3JlbmRlciI6ImZyYSJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="72d0a5d378f3072b2388e9f8b9266b329ab8a26e7c138a4238ea55d9a4918523" data-pjax-transient="true"/>


    <meta name="hovercard-subject-tag" content="repository:1165324947" data-turbo-transient>


  <meta name="github-keyboard-shortcuts" content="repository,source-code,file-tree,copilot" data-turbo-transient="true" />
  

  <meta name="selected-link" value="repo_source" data-turbo-transient>
  <link rel="assets" href="https://github.githubassets.com/">

    <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I">

<meta name="octolytics-url" content="https://collector.github.com/github/collect" />





  <meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-turbo-transient="true" />

  




    <meta name="user-login" content="">

  

    <meta name="viewport" content="width=device-width">

    

      <meta name="description" content="Your Personal AI Assistant; easy to install, deploy on your own machine or on the cloud; supports multiple chat apps with easily extensible capabilities. - QwenPaw/README_zh.md at main · agentscope-ai/QwenPaw">

      <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">

    <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
    <meta property="fb:app_id" content="1401488693436528">
    <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/agentscope-ai/QwenPaw/blob/main/README_zh.md" />

      <meta name="twitter:image" content="https://opengraph.githubassets.com/30bd99dc4d51edffdc0588fd03be67796c05f821a1aed0d05ffb1bbfb6bc5bd6/agentscope-ai/QwenPaw" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="QwenPaw/README_zh.md at main · agentscope-ai/QwenPaw" /><meta name="twitter:description" content="Your Personal AI Assistant; easy to install, deploy on your own machine or on the cloud; supports multiple chat apps with easily extensible capabilities. - agentscope-ai/QwenPaw" />
  <meta property="og:image" content="https://opengraph.githubassets.com/30bd99dc4d51edffdc0588fd03be67796c05f821a1aed0d05ffb1bbfb6bc5bd6/agentscope-ai/QwenPaw" /><meta property="og:image:alt" content="Your Personal AI Assistant; easy to install, deploy on your own machine or on the cloud; supports multiple chat apps with easily extensible capabilities. - agentscope-ai/QwenPaw" /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="QwenPaw/README_zh.md at main · agentscope-ai/QwenPaw" /><meta property="og:url" content="https://github.com/agentscope-ai/QwenPaw/blob/main/README_zh.md" /><meta property="og:description" content="Your Personal AI Assistant; easy to install, deploy on your own machine or on the cloud; supports multiple chat apps with easily extensible capabilities. - agentscope-ai/QwenPaw" />
  




      <meta name="hostname" content="github.com">



        <meta name="expected-hostname" content="github.com">


  <meta http-equiv="x-pjax-version" content="f705e3cc2e7cb8ce0afdb7b21fc6ff6d7afede52aee40bf0eab14ca8b0d69dd6" data-turbo-track="reload">
  <meta http-equiv="x-pjax-csp-version" content="c4a65e47b0c850e1157ae8e66298070851d7e3b558038de5a3b4ff7a93e630ed" data-turbo-track="reload">
  <meta http-equiv="x-pjax-css-version" content="1ff3f1d4e1abd61f6f135b47d3b815e2f7169f8dd418f0118c6b1cf4de6cbc86" data-turbo-track="reload">
  <meta http-equiv="x-pjax-js-version" content="1246934c1e1d4eb010e1cfa4ca517994cfab78ea050086b069045122415a52dd" data-turbo-track="reload">

  <meta name="turbo-cache-control" content="no-preview" data-turbo-transient="">

      <meta name="turbo-cache-control" content="no-cache" data-turbo-transient>

    <meta data-hydrostats="publish">

  <meta name="go-import" content="github.com/agentscope-ai/QwenPaw git https://github.com/agentscope-ai/QwenPaw.git">

  <meta name="octolytics-dimension-user_id" content="211762292" /><meta name="octolytics-dimension-user_login" content="agentscope-ai" /><meta name="octolytics-dimension-repository_id" content="1165324947" /><meta name="octolytics-dimension-repository_nwo" content="agentscope-ai/QwenPaw" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="1165324947" /><meta name="octolytics-dimension-repository_network_root_nwo" content="agentscope-ai/QwenPaw" />
  



    

    <meta name="turbo-body-classes" content="logged-out env-production page-responsive">
  <meta name="disable-turbo" content="false">


  <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">


  <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">

  <meta name="release" content="3ea5e9da9090cfec2f1df3ba60c98d7d544d5137" data-turbo-track="reload">
  <meta name="ui-target" content="full">

  <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000">
  <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png">
  <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon">

<meta name="theme-color" content="#1e2327">
<meta name="color-scheme" content="light dark" />


  <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">

  </head>

  <body class="logged-out env-production page-responsive" style="word-wrap: break-word;" >
    <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;" >
      <div id="__primerPortalRoot__" style="z-index: 1000; position: absolute; width: 100%;" data-turbo-permanent></div>
      

    <div class="position-relative header-wrapper js-header-wrapper ">
      <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 tmp-py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a>

      <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full">
    <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span>
</span>      
      <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/qc-1bbbe8787ea1cd4b.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-10dbdab24559c7cd.js" fetchpriority="low" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.e4334163c54cccf5.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog.4dd73a4e016c1ca2.module.css" />

<react-partial
  partial-name="keyboard-shortcuts-dialog"
  data-ssr="false"
  data-attempted-ssr="false"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script>
  <div data-target="react-partial.reactRoot"></div>
</react-partial>





      

          <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/app-install-banner-partial-0087e2c1d400f8c6.js" fetchpriority="low" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.e4334163c54cccf5.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/app-install-banner-partial.b50f287c48a7f94a.module.css" />

<react-partial
  partial-name="app-install-banner-partial"
  data-ssr="false"
  data-attempted-ssr="false"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-partial.embeddedData">{"props":{}}</script>
  <div data-target="react-partial.reactRoot"></div>
</react-partial>


          

                <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/2l-e468179ba7123a2e.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/rwd-069fc3d9814ff9fe.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/fz-e662bc3745e171e7.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/jag-3559ee48016881a2.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/3d-7f22b36f29a9dd94.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/tua-4998592d21eb16f7.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/8i-756d611a52e5f265.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/marketing-header-3c37549fa4cc7814.js" fetchpriority="low" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.e4334163c54cccf5.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-brand-css.05b219cdb8e80c43.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/8i.779dd52a6bc5b0b6.module.css" />

<react-partial
  partial-name="marketing-header"
  data-ssr="true"
  data-attempted-ssr="true"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-partial.embeddedData">{"props":{"color_mode":"dark","logged_in":false,"marketing_page":false,"home_path":"/","login_path":"/login?return_to=https%3A%2F%2Fgithub.com%2Fagentscope-ai%2FQwenPaw%2Fblob%2Fmain%2FREADME_zh.md","signup_path":"/signup?ref_cta=Sign+up\u0026ref_loc=header+logged+out\u0026ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow\u0026source=header-repo\u0026source_repo=agentscope-ai%2FQwenPaw","signup_enabled":true,"is_signup_controller":false,"show_search_and_nav":true,"hide_search":false,"private_mode_enabled":false,"should_use_dotcom_links":true,"auth_hydro_click":"{\"event_type\":\"authentication.click\",\"payload\":{\"location_in_page\":\"site header menu\",\"repository_id\":null,\"auth_type\":\"SIGN_UP\",\"originating_url\":\"https://github.com/agentscope-ai/QwenPaw/blob/main/README_zh.md\",\"user_id\":null}}","auth_hydro_click_hmac":"82bec4a2e3885def6e00703cb64d0bcba5bc843455ff61c28d92b14d09f1f1e4","overlay":false,"fixed":false}}</script>
  <div data-target="react-partial.reactRoot"><div data-color-mode="dark" data-light-theme="light" data-dark-theme="dark"><header class="MarketingHeader-module__root__Tk7n3 HeaderMktg header-logged-out" role="banner" data-marketing-header="true" data-color-mode="dark" data-light-theme="light" data-dark-theme="dark" data-is-top="true"><h2 class="MarketingHeader-module__visuallyHidden__sqKsl">Navigation Menu</h2><button type="button" class="MarketingHeader-module__backdrop__sw4RU" aria-label="Close navigation menu"></button><div class="MarketingHeader-module__bar__mBSyE"><div class="MarketingHeader-module__topRow__yeury"><div class="MarketingHeader-module__toggleSlot__hDxbh"><button type="button" class="HeaderMenuToggle-module__toggle__i8EiC" aria-label="Toggle navigation" aria-expanded="false"><span class="HeaderMenuToggle-module__toggleBar__jVN0H"></span><span class="HeaderMenuToggle-module__toggleBar__jVN0H"></span><span class="HeaderMenuToggle-module__toggleBar__jVN0H"></span></button></div><a href="/" aria-label="Homepage" class="HeaderLogo-module__logo__UFyHI" data-analytics-event="{&quot;action&quot;:&quot;homepage&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;logo&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;homepage_link_logo_header&quot;}"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-mark-github" viewBox="0 0 24 24" width="32" height="32" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.226 17.284c-2.965-.36-5.054-2.493-5.054-5.256 0-1.123.404-2.336 1.078-3.144-.292-.741-.247-2.314.09-2.965.898-.112 2.111.36 2.83 1.01.853-.269 1.752-.404 2.853-.404 1.1 0 1.999.135 2.807.382.696-.629 1.932-1.1 2.83-.988.315.606.36 2.179.067 2.942.72.854 1.101 2 1.101 3.167 0 2.763-2.089 4.852-5.098 5.234.763.494 1.28 1.572 1.28 2.807v2.336c0 .674.561 1.056 1.235.786 4.066-1.55 7.255-5.615 7.255-10.646C23.5 6.188 18.334 1 11.978 1 5.62 1 .5 6.188.5 12.545c0 4.986 3.167 9.12 7.435 10.669.606.225 1.19-.18 1.19-.786V20.63a2.9 2.9 0 0 1-1.078.224c-1.483 0-2.359-.808-2.987-2.313-.247-.607-.517-.966-1.034-1.033-.27-.023-.359-.135-.359-.27 0-.27.45-.471.898-.471.652 0 1.213.404 1.797 1.235.45.651.921.943 1.483.943.561 0 .92-.202 1.437-.719.382-.381.674-.718.944-.943"></path></svg></a><div class="AuthCTAs-module__mobileActions__NNzeV"><a class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw AuthCTAs-module__cta__WpwQq" href="/login?return_to=https%3A%2F%2Fgithub.com%2Fagentscope-ai%2FQwenPaw%2Fblob%2Fmain%2FREADME_zh.md" data-analytics-event="{&quot;action&quot;:&quot;sign_in&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;auth_cta&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;sign_in_link_auth_cta_header&quot;}" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/agentscope-ai/QwenPaw/blob/main/README_zh.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="82bec4a2e3885def6e00703cb64d0bcba5bc843455ff61c28d92b14d09f1f1e4"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH">Sign in</span></span></a><button class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw HeaderAppearanceSettings-module__trigger__hUheK" type="button" aria-haspopup="dialog" aria-labelledby="_R_3dd_"><span class="Primer_Brand__Button-module__Button__leading-visual___jjtTe" data-testid="Button-leading-visual"><svg data-component="Octicon" focusable="false" aria-hidden="true" class="octicon octicon-sliders Primer_Brand__Button-module__Button__icon-visual____qybb" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path></svg></span><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH"></span></span></button><div class="Primer_Brand__Tooltip-module__Tooltip___0Eipx" data-direction="s" aria-hidden="true" id="_R_3dd_">Appearance settings</div></div></div><div class="MarketingHeader-module__menu__GIy3y"><div class="MarketingHeader-module__menuWrapper__owstH"><nav class="MarketingNavigation-module__nav__W0KYY" aria-label="Global"><ul class="MarketingNavigation-module__list__tFbMb"><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_nd_">Platform<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_nd_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5knd_">AI CODE CREATION</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5knd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/copilot" data-analytics-event="{&quot;action&quot;:&quot;github_copilot&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_copilot_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copilot NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path></svg>GitHub Copilot</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Write better code with AI</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/ai/github-app" data-analytics-event="{&quot;action&quot;:&quot;github_copilot_app&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_copilot_app_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-mark-github NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M6.766 11.328c-2.063-.25-3.516-1.734-3.516-3.656 0-.781.281-1.625.75-2.188-.203-.515-.172-1.609.063-2.062.625-.078 1.468.25 1.968.703.594-.187 1.219-.281 1.985-.281.765 0 1.39.094 1.953.265.484-.437 1.344-.765 1.969-.687.218.422.25 1.515.046 2.047.5.593.766 1.39.766 2.203 0 1.922-1.453 3.375-3.547 3.64.531.344.89 1.094.89 1.954v1.625c0 .468.391.734.86.547C13.781 14.359 16 11.53 16 8.03 16 3.61 12.406 0 7.984 0 3.563 0 0 3.61 0 8.031a7.88 7.88 0 0 0 5.172 7.422c.422.156.828-.125.828-.547v-1.25c-.219.094-.5.156-.75.156-1.031 0-1.64-.562-2.078-1.609-.172-.422-.36-.672-.719-.719-.187-.015-.25-.093-.25-.187 0-.188.313-.328.625-.328.453 0 .844.281 1.25.86.313.452.64.655 1.031.655s.641-.14 1-.5c.266-.265.47-.5.657-.656"></path></svg>GitHub Copilot app</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Direct agents from issue to merge</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/mcp" data-analytics-event="{&quot;action&quot;:&quot;mcp_registry&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;mcp_registry_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-mcp NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M5.52 1.12a3.578 3.578 0 0 1 6.078 2.98 3.578 3.578 0 0 1 2.982 6.08l-3.292 3.293a.252.252 0 0 0 0 .354l.843.843a.749.749 0 1 1-1.06 1.06l-.844-.843a1.75 1.75 0 0 1 0-2.474L13.52 9.12a2.08 2.08 0 0 0 0-2.94 2.08 2.08 0 0 0-2.94 0L7.731 9.03A.75.75 0 0 1 6.67 7.97l2.85-2.85a2.08 2.08 0 0 0 0-2.94 2.08 2.08 0 0 0-2.94 0l-4.799 4.8A.75.75 0 0 1 .72 5.92Z"></path><path d="M7.52 3.12a.749.749 0 1 1 1.06 1.06L5.731 7.03A2.079 2.079 0 0 0 8.67 9.97l2.85-2.85a.749.749 0 1 1 1.06 1.06l-2.849 2.85A3.578 3.578 0 0 1 4.67 5.97Z"></path></svg>MCP Registry</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Integrate external tools</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9knd_">DEVELOPER WORKFLOWS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9knd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/actions" data-analytics-event="{&quot;action&quot;:&quot;actions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;actions_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-workflow NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path></svg>Actions</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Automate any workflow</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/codespaces" data-analytics-event="{&quot;action&quot;:&quot;codespaces&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;codespaces_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-codespaces NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path></svg>Codespaces</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Instant dev environments</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/issues" data-analytics-event="{&quot;action&quot;:&quot;issues&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;issues_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-issue-opened NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path></svg>Issues</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Plan and track work</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/code-review" data-analytics-event="{&quot;action&quot;:&quot;code_review&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;code_review_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-code NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path></svg>Code Review</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Manage code changes</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/code-quality" data-analytics-event="{&quot;action&quot;:&quot;code_quality&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;code_quality_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-codescan-checkmark NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.28 6.28a.75.75 0 1 0-1.06-1.06L6.25 8.19l-.97-.97a.75.75 0 0 0-1.06 1.06l1.5 1.5a.75.75 0 0 0 1.06 0l3.5-3.5Z"></path><path d="M7.5 15a7.5 7.5 0 1 1 5.807-2.754l2.473 2.474a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2.474-2.473A7.472 7.472 0 0 1 7.5 15Zm0-13.5a6 6 0 1 0 4.094 10.386.748.748 0 0 1 .293-.292 6.002 6.002 0 0 0 1.117-6.486A6.002 6.002 0 0 0 7.5 1.5Z"></path></svg>Code Quality</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enforce quality at merge</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dknd_">APPLICATION SECURITY</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dknd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security" data-analytics-event="{&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_advanced_security_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-shield-check NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg>GitHub Advanced Security</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Find and fix vulnerabilities</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security/code-security" data-analytics-event="{&quot;action&quot;:&quot;code_security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;code_security_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-code-square NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg>Code security</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Secure your code as you build</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security/secret-protection" data-analytics-event="{&quot;action&quot;:&quot;secret_protection&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;secret_protection_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-lock NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M4 4a4 4 0 0 1 8 0v2h.25c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 12.25 15h-8.5A1.75 1.75 0 0 1 2 13.25v-5.5C2 6.784 2.784 6 3.75 6H4Zm8.25 3.5h-8.5a.25.25 0 0 0-.25.25v5.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25ZM10.5 6V4a2.5 2.5 0 1 0-5 0v2Z"></path></svg>Secret protection</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Stop leaks before they start</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ NavGroup-module__hasSeparator__FnMrN"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_hknd_">EXPLORE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_hknd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/why-github" data-analytics-event="{&quot;action&quot;:&quot;why_github&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;why_github_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Why GitHub</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://docs.github.com" data-analytics-event="{&quot;action&quot;:&quot;documentation&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;documentation_link_platform_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Documentation</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://github.blog" data-analytics-event="{&quot;action&quot;:&quot;blog&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;blog_link_platform_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Blog</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://github.blog/changelog" data-analytics-event="{&quot;action&quot;:&quot;changelog&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;changelog_link_platform_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Changelog</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/marketplace" data-analytics-event="{&quot;action&quot;:&quot;marketplace&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;marketplace_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Marketplace</span></a></li></ul></div></li></ul><div class="NavDropdown-module__trailingLinkContainer__VgJGL"><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/features" data-analytics-event="{&quot;action&quot;:&quot;view_all_features&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;platform&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_features_link_platform_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all features</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></div></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_17d_">Solutions<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_17d_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5l7d_">BY COMPANY SIZE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5l7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/enterprise" data-analytics-event="{&quot;action&quot;:&quot;enterprises&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;enterprises_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Enterprises</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/team" data-analytics-event="{&quot;action&quot;:&quot;small_and_medium_teams&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;small_and_medium_teams_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Small and medium teams</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/enterprise/startups" data-analytics-event="{&quot;action&quot;:&quot;startups&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;startups_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Startups</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/nonprofits" data-analytics-event="{&quot;action&quot;:&quot;nonprofits&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;nonprofits_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Nonprofits</span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9l7d_">BY USE CASE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9l7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/app-modernization" data-analytics-event="{&quot;action&quot;:&quot;app_modernization&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;app_modernization_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">App Modernization</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/devsecops" data-analytics-event="{&quot;action&quot;:&quot;devsecops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;devsecops_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">DevSecOps</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/devops" data-analytics-event="{&quot;action&quot;:&quot;devops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;devops_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">DevOps</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/use-case/ci-cd" data-analytics-event="{&quot;action&quot;:&quot;ci/cd&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;ci/cd_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">CI/CD</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/solutions/use-case" data-analytics-event="{&quot;action&quot;:&quot;view_all_use_cases&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_use_cases_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all use cases</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dl7d_">BY INDUSTRY</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dl7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/healthcare" data-analytics-event="{&quot;action&quot;:&quot;healthcare&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;healthcare_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Healthcare</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/financial-services" data-analytics-event="{&quot;action&quot;:&quot;financial_services&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;financial_services_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Financial services</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/manufacturing" data-analytics-event="{&quot;action&quot;:&quot;manufacturing&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;manufacturing_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Manufacturing</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/industry/government" data-analytics-event="{&quot;action&quot;:&quot;government&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;government_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Government</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/solutions/industry" data-analytics-event="{&quot;action&quot;:&quot;view_all_industries&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_industries_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all industries</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></li></ul></div></li></ul><div class="NavDropdown-module__trailingLinkContainer__VgJGL"><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/solutions" data-analytics-event="{&quot;action&quot;:&quot;view_all_solutions&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;solutions&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_solutions_link_solutions_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all solutions</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></div></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_1nd_">Resources<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_1nd_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5lnd_">EXPLORE BY TOPIC</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5lnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=ai" data-analytics-event="{&quot;action&quot;:&quot;ai&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;ai_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">AI</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=software-development" data-analytics-event="{&quot;action&quot;:&quot;software_development&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;software_development_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Software Development</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=devops" data-analytics-event="{&quot;action&quot;:&quot;devops&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;devops_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">DevOps</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/articles?topic=security" data-analytics-event="{&quot;action&quot;:&quot;security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;security_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Security</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/resources/articles" data-analytics-event="{&quot;action&quot;:&quot;view_all_topics&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_topics_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all topics</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9lnd_">EXPLORE BY TYPE</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9lnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/customer-stories" data-analytics-event="{&quot;action&quot;:&quot;customer_stories&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;customer_stories_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Customer stories</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/events" data-analytics-event="{&quot;action&quot;:&quot;events__webinars&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;events__webinars_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Events &amp; webinars</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/resources/whitepapers" data-analytics-event="{&quot;action&quot;:&quot;ebooks__reports&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;ebooks__reports_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Ebooks &amp; reports</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/solutions/executive-insights" data-analytics-event="{&quot;action&quot;:&quot;business_insights&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;business_insights_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Business insights</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://skills.github.com" data-analytics-event="{&quot;action&quot;:&quot;github_skills&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_skills_link_resources_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">GitHub Skills</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dlnd_">SUPPORT &amp; SERVICES</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dlnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://docs.github.com" data-analytics-event="{&quot;action&quot;:&quot;documentation&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;documentation_link_resources_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Documentation</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://support.github.com" data-analytics-event="{&quot;action&quot;:&quot;customer_support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;customer_support_link_resources_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Customer support</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/orgs/community/discussions" data-analytics-event="{&quot;action&quot;:&quot;community_forum&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;community_forum_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Community forum</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/trust-center" data-analytics-event="{&quot;action&quot;:&quot;trust_center&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;trust_center_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Trust center</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/partners" data-analytics-event="{&quot;action&quot;:&quot;partners&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;partners_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Partners</span></a></li></ul></div></li></ul><div class="NavDropdown-module__trailingLinkContainer__VgJGL"><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--arrow-end___esdN8" href="https://github.com/resources" data-analytics-event="{&quot;action&quot;:&quot;view_all_resources&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;resources&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;view_all_resources_link_resources_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">View all resources</span><svg class="Primer_Brand__ExpandableArrow-module__ExpandableArrow___aaZs9 Primer_Brand__Link-module__Link-arrow___yd78i" width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true" focusable="false"><path fill="currentColor" d="M7.28033 3.21967C6.98744 2.92678 6.51256 2.92678 6.21967 3.21967C5.92678 3.51256 5.92678 3.98744 6.21967 4.28033L7.28033 3.21967ZM11 8L11.5303 8.53033C11.8232 8.23744 11.8232 7.76256 11.5303 7.46967L11 8ZM6.21967 11.7197C5.92678 12.0126 5.92678 12.4874 6.21967 12.7803C6.51256 13.0732 6.98744 13.0732 7.28033 12.7803L6.21967 11.7197ZM6.21967 4.28033L10.4697 8.53033L11.5303 7.46967L7.28033 3.21967L6.21967 4.28033ZM10.4697 7.46967L6.21967 11.7197L7.28033 12.7803L11.5303 8.53033L10.4697 7.46967Z"></path><path class="Primer_Brand__ExpandableArrow-module__ExpandableArrow-stem___0K8Hz" stroke="currentColor" d="M1.75 8H11" stroke-width="1.5" stroke-linecap="round"></path></svg></a></div></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_27d_">Open Source<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_27d_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5m7d_">COMMUNITY</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5m7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/open-source/sponsors" data-analytics-event="{&quot;action&quot;:&quot;github_sponsors&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_sponsors_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-sponsor-tiers NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.586 1C12.268 1 13.5 2.37 13.5 4.25c0 1.745-.996 3.359-2.622 4.831-.166.15-.336.297-.509.438l1.116 5.584a.75.75 0 0 1-.991.852l-2.409-.876a.25.25 0 0 0-.17 0l-2.409.876a.75.75 0 0 1-.991-.852L5.63 9.519a13.78 13.78 0 0 1-.51-.438C3.497 7.609 2.5 5.995 2.5 4.25 2.5 2.37 3.732 1 5.414 1c.963 0 1.843.403 2.474 1.073L8 2.198l.112-.125a3.385 3.385 0 0 1 2.283-1.068L10.586 1Zm-3.621 9.495-.718 3.594 1.155-.42a1.75 1.75 0 0 1 1.028-.051l.168.051 1.154.42-.718-3.592c-.199.13-.37.235-.505.314l-.169.097a.75.75 0 0 1-.72 0 9.54 9.54 0 0 1-.515-.308l-.16-.105ZM10.586 2.5c-.863 0-1.611.58-1.866 1.459-.209.721-1.231.721-1.44 0C7.025 3.08 6.277 2.5 5.414 2.5 4.598 2.5 4 3.165 4 4.25c0 1.23.786 2.504 2.128 3.719.49.443 1.018.846 1.546 1.198l.325.21.076-.047.251-.163a13.341 13.341 0 0 0 1.546-1.198C11.214 6.754 12 5.479 12 4.25c0-1.085-.598-1.75-1.414-1.75Z"></path></svg>GitHub Sponsors</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Fund open source developers</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9m7d_">PROGRAMS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9m7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://securitylab.github.com" data-analytics-event="{&quot;action&quot;:&quot;security_lab&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;security_lab_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Security Lab</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://maintainers.github.com" data-analytics-event="{&quot;action&quot;:&quot;maintainer_community&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;maintainer_community_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Maintainer Community</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://stars.github.com" data-analytics-event="{&quot;action&quot;:&quot;github_stars&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_stars_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">GitHub Stars</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 Primer_Brand__Link-module__Link--is-external___xsncV" href="https://archiveprogram.github.com" data-analytics-event="{&quot;action&quot;:&quot;archive_program&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;archive_program_link_open_source_navbar&quot;}" target="_blank" rel="noreferrer"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Archive Program</span><svg data-component="Octicon" focusable="false" aria-label="External link" class="octicon octicon-link-external" role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_dm7d_">REPOSITORIES</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_dm7d_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/topics" data-analytics-event="{&quot;action&quot;:&quot;topics&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;topics_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Topics</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/trending" data-analytics-event="{&quot;action&quot;:&quot;trending&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;trending_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Trending</span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0" href="https://github.com/collections" data-analytics-event="{&quot;action&quot;:&quot;collections&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;open_source&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;collections_link_open_source_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty">Collections</span></a></li></ul></div></li></ul></div></div></li><li><div class="NavDropdown-module__container__l2YeI"><button type="button" class="NavDropdown-module__button__PEHWX" aria-expanded="false" aria-controls="_R_2nd_">Enterprise<svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-right NavDropdown-module__buttonIcon__Tkl8_" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m6.427 4.427 3.396 3.396a.25.25 0 0 1 0 .354l-3.396 3.396A.25.25 0 0 1 6 11.396V4.604a.25.25 0 0 1 .427-.177Z"></path></svg></button><div id="_R_2nd_" class="NavDropdown-module__dropdown__xm1jd"><ul class="NavDropdown-module__list__zuCgG"><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_5mnd_">ENTERPRISE SOLUTIONS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_5mnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/enterprise" data-analytics-event="{&quot;action&quot;:&quot;enterprise_platform&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;enterprise_platform_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-stack NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.122.392a1.75 1.75 0 0 1 1.756 0l5.003 2.902c.83.481.83 1.68 0 2.162L8.878 8.358a1.75 1.75 0 0 1-1.756 0L2.119 5.456a1.251 1.251 0 0 1 0-2.162ZM8.125 1.69a.248.248 0 0 0-.25 0l-4.63 2.685 4.63 2.685a.248.248 0 0 0 .25 0l4.63-2.685ZM1.601 7.789a.75.75 0 0 1 1.025-.273l5.249 3.044a.248.248 0 0 0 .25 0l5.249-3.044a.75.75 0 0 1 .752 1.298l-5.248 3.044a1.75 1.75 0 0 1-1.756 0L1.874 8.814A.75.75 0 0 1 1.6 7.789Zm0 3.5a.75.75 0 0 1 1.025-.273l5.249 3.044a.248.248 0 0 0 .25 0l5.249-3.044a.75.75 0 0 1 .752 1.298l-5.248 3.044a1.75 1.75 0 0 1-1.756 0l-5.248-3.044a.75.75 0 0 1-.273-1.025Z"></path></svg>Enterprise platform</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">AI-powered developer platform</span></span></a></li></ul></div></li><li><div class="NavGroup-module__group__W8SqJ"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--monospace___QXHDQ Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavGroup-module__title__Wzxz2" id="_R_9mnd_">AVAILABLE ADD-ONS</span><ul class="NavGroup-module__list__UCOFy" aria-labelledby="_R_9mnd_"><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/security/advanced-security" data-analytics-event="{&quot;action&quot;:&quot;github_advanced_security&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;github_advanced_security_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-shield-check NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg>GitHub Advanced Security</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enterprise-grade security features</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/features/copilot/copilot-business" data-analytics-event="{&quot;action&quot;:&quot;copilot_for_business&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;copilot_for_business_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copilot NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path></svg>Copilot for Business</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enterprise-grade AI features</span></span></a></li><li><a class="Primer_Brand__Link-module__Link___lF11y Primer_Brand__Link-module__Link--default___VRVW0 NavLink-module__link__EG3d4" href="https://github.com/enterprise/premium-support" data-analytics-event="{&quot;action&quot;:&quot;premium_support&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;enterprise&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;premium_support_link_enterprise_navbar&quot;}"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Link-module__Link--label___jM8Ty"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS Primer_Brand__Text-module__Text--weight-medium___qJKf_ NavLink-module__title__Q7t0p"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-comment-discussion NavLink-module__icon__ltGNM" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path></svg>Premium Support</span><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--muted___rE6mh Primer_Brand__Text-module__Text--200____P1wy Primer_Brand__Text-module__Text--antialiased___TYoXS NavLink-module__subtitle__X4gkW">Enterprise-grade 24/7 support</span></span></a></li></ul></div></li></ul></div></div></li><li><a href="https://github.com/pricing" data-analytics-event="{&quot;action&quot;:&quot;pricing&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;pricing&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;pricing_link_pricing_navbar&quot;}" class="MarketingNavigation-module__navLink__hUomM">Pricing</a></li></ul></nav><div class="MarketingHeader-module__ctaContainer__tBmPz"><div class="HeaderSearch-module__searchSlot__oVOUS"><button class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw HeaderSearch-module__trigger__zsF9q" type="button" aria-haspopup="dialog" aria-expanded="false" aria-label="Search or jump to, type / to search" data-analytics-event="{&quot;action&quot;:&quot;searchbar&quot;,&quot;tag&quot;:&quot;input&quot;,&quot;context&quot;:&quot;global&quot;,&quot;location&quot;:&quot;navbar&quot;,&quot;label&quot;:&quot;searchbar_input_global_navbar&quot;}"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH"><span class="HeaderSearch-module__content__kMpxU"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-search HeaderSearch-module__icon__wcrHX" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg><span class="HeaderSearch-module__label__d1iWG">Search</span><kbd class="HeaderSearch-module__kbd__HNG0o" aria-hidden="true">/</kbd></span></span></span></button><div class="d-none"></div></div><div class="AuthCTAs-module__signInWrap__q2P60"><a class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw AuthCTAs-module__cta__WpwQq AuthCTAs-module__desktopActionGap__UZuXT AuthCTAs-module__hiddenBelowLg__BfKBw" href="/login?return_to=https%3A%2F%2Fgithub.com%2Fagentscope-ai%2FQwenPaw%2Fblob%2Fmain%2FREADME_zh.md" data-analytics-event="{&quot;action&quot;:&quot;sign_in&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;auth_cta&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;sign_in_link_auth_cta_header&quot;}" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/agentscope-ai/QwenPaw/blob/main/README_zh.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="82bec4a2e3885def6e00703cb64d0bcba5bc843455ff61c28d92b14d09f1f1e4"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH">Sign in</span></span></a></div><a class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--secondary___gHnw_ Primer_Brand__Button-module__Button--size-small___zQrEw AuthCTAs-module__cta__WpwQq" href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&amp;source=header-repo&amp;source_repo=agentscope-ai%2FQwenPaw" data-analytics-event="{&quot;action&quot;:&quot;sign_up&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;context&quot;:&quot;auth_cta&quot;,&quot;location&quot;:&quot;header&quot;,&quot;label&quot;:&quot;sign_up_link_auth_cta_header&quot;}" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/agentscope-ai/QwenPaw/blob/main/README_zh.md&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="82bec4a2e3885def6e00703cb64d0bcba5bc843455ff61c28d92b14d09f1f1e4"><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-secondary___eJ0_a">Sign up</span></span></a><button class="Primer_Brand__Button-module__Button___scH9Z Primer_Brand__Button-module__Button--subtle___F7pEE Primer_Brand__Button-module__Button--size-small___zQrEw HeaderAppearanceSettings-module__trigger__hUheK" type="button" aria-haspopup="dialog" aria-labelledby="_R_fbd_"><span class="Primer_Brand__Button-module__Button__leading-visual___jjtTe" data-testid="Button-leading-visual"><svg data-component="Octicon" focusable="false" aria-hidden="true" class="octicon octicon-sliders Primer_Brand__Button-module__Button__icon-visual____qybb" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path></svg></span><span class="Primer_Brand__Button-module__Button__text___ED0bX"><span class="Primer_Brand__Text-module__Text___XeGJJ Primer_Brand__Text-module__Text-font--mona-sans___a8XJD Primer_Brand__Text-module__Text--default___GhPh_ Primer_Brand__Text-module__Text--100___B2ueX Primer_Brand__Text-module__Text--weight-medium___qJKf_ Primer_Brand__Button-module__Button--label___qrkyz Primer_Brand__Button-module__Button--label-subtle___8ndWH"></span></span></button><div class="Primer_Brand__Tooltip-module__Tooltip___0Eipx" data-direction="s" aria-hidden="true" id="_R_fbd_">Appearance settings</div></div></div></div></div><div class="MarketingHeader-module__bottomBorder__uZT38" aria-hidden="true"></div></header></div></div>
</react-partial>



      <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full">
  
        <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg>
        <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
        <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
        <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>

    <button id="icon-button-b9a453ba-c6e5-4114-ad8e-f4eec7b5ec11" aria-labelledby="tooltip-12f498ba-8bb9-467e-94ac-20db12327cb2" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close">  <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
</button><tool-tip id="tooltip-12f498ba-8bb9-467e-94ac-20db12327cb2" for="icon-button-b9a453ba-c6e5-4114-ad8e-f4eec7b5ec11" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip>


  
</div>
    </div>

  <div id="start-of-content" class="show-on-focus"></div>








    <div id="js-flash-container" class="flash-container" data-turbo-replace>






  <template class="js-flash-template">
    
<div class="flash flash-full   {{ className }}">
  <div >
    <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message">
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
    </button>
    <div aria-atomic="true" role="alert" class="js-flash-alert">
      
      <div>{{ message }}</div>

    </div>
  </div>
</div>
  </template>
</div>


    






  <div
    class="application-main "
    data-commit-hovercards-enabled
    data-discussion-hovercards-enabled
    data-issue-and-pr-hovercards-enabled
    data-project-hovercards-enabled
  >
        <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class="">
    <main id="js-repo-pjax-container" >
      
      
    


    








  

    <link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ym-1a7ce813a378e1f7.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/mn-bb458474353a279e.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/t5-26d19272bbf73ca3.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/2d5-9abb2f6ba5c935d0.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/24-b11e1c4108322883.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/mrn-12afac2ecd2be980.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/dgq-bbf7670f9cdba2e0.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/7w-740b4e942974ccba.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/we-c9f93392098ad6c9.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/775-5adcc74216a7c5ae.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/bn-fcef0645a47703fc.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/xgw-6c6cb7b2ed77f52e.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/ge-ca1c0ba8656f9680.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/9f-e543bc691db8262e.js" fetchpriority="low" />
<link crossorigin="anonymous" rel="modulepreload" href="https://github.githubassets.com/assets/global-nav-bar-c7f96cdc425f375d.js" fetchpriority="low" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.e4334163c54cccf5.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/ql0.501e99879e15a48e.module.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-nav-bar.1943548049515ee8.module.css" />

<react-partial
  partial-name="global-nav-bar"
  data-ssr="true"
  data-attempted-ssr="true"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-partial.embeddedData">{"props":{"contextRegion":{"crumbs":[{"crumb_type":"organization","label":"agentscope-ai","is_root":false,"href":"/agentscope-ai"},{"crumb_type":"repository","label":"QwenPaw","is_root":false,"href":"/agentscope-ai/QwenPaw"}],"localNavigation":[{"id":"code","icon":"code","label":"Code","href":"/agentscope-ai/QwenPaw","selectedLinks":["repo_source","repo_downloads","repo_commits","repo_releases","repo_tags","repo_branches","repo_packages","repo_deployments","repo_attestations"],"popoverTarget":false,"commandId":"repositories:go-to-code","reactNav":{"appTarget":"code-view","anchor":"code-view-repo-link"},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"issues","icon":"issue-opened","label":"Issues","href":"/agentscope-ai/QwenPaw/issues","selectedLinks":["repo_issues","repo_labels","repo_milestones"],"count":660,"popoverTarget":false,"commandId":"repositories:go-to-issues","reactNav":{"appTarget":"repo","anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"pull-requests","icon":"git-pull-request","label":"Pull requests","href":"/agentscope-ai/QwenPaw/pulls","selectedLinks":["repo_pulls","checks"],"count":377,"popoverTarget":false,"commandId":"repositories:go-to-pull-requests","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"discussions","icon":"comment-discussion","label":"Discussions","href":"/agentscope-ai/QwenPaw/discussions","selectedLinks":["repo_discussions"],"popoverTarget":false,"commandId":"repositories:go-to-discussions","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"actions","icon":"play","label":"Actions","href":"/agentscope-ai/QwenPaw/actions","selectedLinks":["repo_actions"],"popoverTarget":false,"commandId":"repositories:go-to-actions","reactNav":{"appTarget":"actions-workflows","anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"security-and-quality","icon":"shield","label":"Security and quality","href":"/agentscope-ai/QwenPaw/security","selectedLinks":["security","overview","alerts","policy","token_scanning","code_scanning"],"count":0,"popoverTarget":false,"commandId":"repositories:go-to-security","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}},{"id":"insights","icon":"graph","label":"Insights","href":"/agentscope-ai/QwenPaw/pulse","selectedLinks":["repo_graphs","repo_contributors","dependency_graph","dependabot_updates","pulse","people","community"],"popoverTarget":false,"commandId":"repositories:go-to-insights","reactNav":{"appTarget":null,"anchor":null},"turboNav":{"frame":"repo-content-turbo-frame"}}],"localNavigationUpdateChannel":null,"selectedLink":"repo_source"},"owner":null,"headerLogo":{"href":"/","aria-label":"Homepage "},"notifications":{"indicatorMode":"disabled","websocketChannel":null,"fetchIndicatorSrc":"/notifications/indicator","fetchIndicatorEnabled":false},"issues":{"href":"/issues"},"pulls":{"href":"/pulls"},"contributedRepos":{"href":"/repos"},"copilot":{"show":false,"showAgentsButton":false,"showRelaunchAnnouncement":false,"copilotChatUrl":null,"copilotApiUrl":"https://api.githubcopilot.com"},"search":{"show":true,"showCommandPalette":false,"isSearchPage":false,"isJumpToSearch":false,"searchContext":{"scope":"repo:agentscope-ai/QwenPaw","current_repo_name":"QwenPaw","current_repo_nwo":"agentscope-ai/QwenPaw","current_repo_org":"agentscope-ai","user_id":"agentscope-ai"}},"commandPalette":null,"enterpriseBar":{"show":false},"globalTransactionalMessage":[],"payloadsUrl":"/_global-navigation/payloads.json?can_toggle_site_admin_and_employee_status=0\u0026is_admin_mode_on=0\u0026is_ui_opted_out=0\u0026show_ui_opt_out=0\u0026v=6","contextRegionUrl":"/_global-navigation/context-region.json"}}</script>
  <div data-target="react-partial.reactRoot"><header aria-label="Global navigation menu" data-component="Stack" class="GlobalNav styles-module__appHeader__YzYWk prc-Stack-Stack-UQ9k6" data-gap="none" data-direction="vertical" data-align="stretch" data-wrap="nowrap" data-justify="start" data-padding="none"><div data-component="Stack" class="prc-Stack-Stack-UQ9k6" data-direction="horizontal" data-align="center" data-wrap="nowrap" data-justify="center" data-padding="none"><div data-testid="top-nav-center" data-component="Stack" class="styles-module__center__R3QRv styles-module__withLocalNavigation__rjTJ_ GlobalNavBar-module__loggedOut__Jv1rk prc-Stack-Stack-UQ9k6" data-gap="condensed" data-direction="horizontal" data-align="stretch" data-wrap="nowrap" data-justify="start" data-padding="normal"><nav class="styles-module__contextRegion__VbSp2 prc-Breadcrumbs-BreadcrumbsBase-3Gb-B" aria-label="Breadcrumbs" data-overflow="menu" data-variant="normal" data-component="Breadcrumbs"><ol class="prc-Breadcrumbs-BreadcrumbsList-BKjpe"><li class="prc-Breadcrumbs-ItemWrapper-k0NLn"><a class="styles-module__contextCrumb__IzGIq prc-Breadcrumbs-Item-jcraJ" data-component="Breadcrumbs.Item" href="/agentscope-ai" data-discover="true"><span class="">agentscope-ai</span></a></li><li class="prc-Breadcrumbs-ItemWrapper-k0NLn"><a class="styles-module__contextCrumb__IzGIq prc-Breadcrumbs-Item-jcraJ" data-component="Breadcrumbs.Item" href="/agentscope-ai/QwenPaw" data-discover="true"><span class="styles-module__contextCrumbLast__tI2e3">QwenPaw</span></a></li></ol></nav></div><div data-testid="top-nav-right" data-component="Stack" class="styles-module__right__mlBQg styles-module__withLocalNavigation__rjTJ_ styles-module__rightWithResponsiveCreateButton__SKn2W prc-Stack-Stack-UQ9k6" data-gap="condensed" data-direction="horizontal" data-align="center" data-wrap="nowrap" data-justify="start" data-padding="normal"></div></div><h2 class="prc-src-InternalVisuallyHidden-2YaI6">Repository navigation</h2><nav class="prc-components-UnderlineWrapper-eT-Yj prc-UnderlineNav-UnderlineWrapper-GWONT LocalNavigation-module__LocalNavigation__b0Xc0" aria-label="Repository" data-variant="inset" data-overflow-mode="wrap" data-hide-icons-breakpoint="medium"><ul class="prc-UnderlineNav-ItemsList-oj8gN prc-components-UnderlineItemList-xKlKC" role="list"><li role="presentation" aria-hidden="true" class="prc-UnderlineNav-WrapSpacer--aLgz"></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a aria-current="page" data-tab-item="code" data-react-nav="code-view" data-react-nav-anchor="code-view-repo-link" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/agentscope-ai/QwenPaw" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-code" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path></svg></span><span data-component="text" data-content="Code">Code</span></a></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a data-tab-item="issues" data-react-nav="repo" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/agentscope-ai/QwenPaw/issues" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-issue-opened" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path></svg></span><span data-component="text" data-content="Issues">Issues</span><span data-component="counter"><span aria-hidden="true" data-variant="secondary" data-component="CounterLabel" class="prc-CounterLabel-CounterLabel-X-kRU">660</span><span class="prc-VisuallyHidden-VisuallyHidden-Q0qSB"> (<!-- -->660<!-- -->)</span></span></a></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a data-tab-item="pull-requests" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/agentscope-ai/QwenPaw/pulls" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-git-pull-request" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path></svg></span><span data-component="text" data-content="Pull requests">Pull requests</span><span data-component="counter"><span aria-hidden="true" data-variant="secondary" data-component="CounterLabel" class="prc-CounterLabel-CounterLabel-X-kRU">377</span><span class="prc-VisuallyHidden-VisuallyHidden-Q0qSB"> (<!-- -->377<!-- -->)</span></span></a></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a data-tab-item="discussions" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/agentscope-ai/QwenPaw/discussions" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-comment-discussion" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path></svg></span><span data-component="text" data-content="Discussions">Discussions</span></a></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a data-tab-item="actions" data-react-nav="actions-workflows" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/agentscope-ai/QwenPaw/actions" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-play" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path></svg></span><span data-component="text" data-content="Actions">Actions</span></a></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a data-tab-item="security-and-quality" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/agentscope-ai/QwenPaw/security" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-shield" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg></span><span data-component="text" data-content="Security and quality">Security and quality</span></a></li><li class="prc-UnderlineNav-UnderlineNavItem-syRjR"><a data-tab-item="insights" data-turbo-frame="repo-content-turbo-frame" class="prc-components-UnderlineItem-7fP-n" href="/agentscope-ai/QwenPaw/pulse" data-discover="true"><span data-component="icon"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-graph" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path></svg></span><span data-component="text" data-content="Insights">Insights</span></a></li></ul><div class="prc-UnderlineNav-MoreButtonContainer-Dnrq6"><div class="prc-UnderlineNav-MoreButtonDivider-dN0a-"></div><button data-component="overflow-menu-button" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk prc-UnderlineNav-MoreButton-Y8soj" data-loading="false" data-size="medium" data-variant="invisible" id="_R_2ktl_"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="text" class="prc-Button-Label-FWkx3"><span>More<span class="prc-src-InternalVisuallyHidden-2YaI6"> items</span></span></span></span><span data-component="trailingAction" class="prc-Button-Visual-YNt2F prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></button></div></nav><div class="d-none"></div></header></div>
</react-partial>


  



<turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class="">
    <div id="repo-content-pjax-container" class="repository-content " >
    



    
      
    








<react-app
  app-name="code-view"
  initial-path="/agentscope-ai/QwenPaw/blob/main/README_zh.md"
  style="display: block; min-height: calc(100vh - 64px);"
  data-attempted-ssr="true"
  data-ssr="true"
  data-lazy="false"
  data-alternate="false"
  data-data-router-enabled="true"
  data-react-profiling="false"
>
  
  <script type="application/json" data-target="react-app.embeddedData">{"payload":{"codeViewBlobRoute":{"csv":null,"csvError":null,"headerInfo":{"toc":[{"level":1,"text":"QwenPaw","anchor":"qwenpaw","htmlText":"QwenPaw"},{"level":2,"text":"新闻","anchor":"新闻","htmlText":"新闻"},{"level":2,"text":"目录","anchor":"目录","htmlText":"目录"},{"level":2,"text":"快速开始","anchor":"快速开始","htmlText":"快速开始"},{"level":3,"text":"方式一：pip 安装","anchor":"方式一pip-安装","htmlText":"方式一：pip 安装"},{"level":3,"text":"方式二：脚本安装","anchor":"方式二脚本安装","htmlText":"方式二：脚本安装"},{"level":3,"text":"方式三：使用 Docker","anchor":"方式三使用-docker","htmlText":"方式三：使用 Docker"},{"level":3,"text":"方式四：部署到阿里云 ECS","anchor":"方式四部署到阿里云-ecs","htmlText":"方式四：部署到阿里云 ECS"},{"level":3,"text":"方式五：AgentScope Platform 部署","anchor":"方式五agentscope-platform-部署","htmlText":"方式五：AgentScope Platform 部署"},{"level":3,"text":"方式六：使用魔搭创空间","anchor":"方式六使用魔搭创空间","htmlText":"方式六：使用魔搭创空间"},{"level":3,"text":"方式七：桌面应用（Beta）","anchor":"方式七桌面应用beta","htmlText":"方式七：桌面应用（Beta）"},{"level":4,"text":"下载","anchor":"下载","htmlText":"下载"},{"level":4,"text":"特点","anchor":"特点","htmlText":"特点"},{"level":4,"text":"首次启动","anchor":"首次启动","htmlText":"首次启动"},{"level":4,"text":"macOS：绕过系统安全限制","anchor":"macos绕过系统安全限制","htmlText":"macOS：绕过系统安全限制"},{"level":3,"text":"下一步？","anchor":"下一步","htmlText":"下一步？"},{"level":2,"text":"终端界面（TUI）","anchor":"终端界面tui","htmlText":"终端界面（TUI）"},{"level":2,"text":"API Key","anchor":"api-key","htmlText":"API Key"},{"level":2,"text":"本地模型","anchor":"本地模型","htmlText":"本地模型"},{"level":2,"text":"安全特性","anchor":"安全特性","htmlText":"安全特性"},{"level":2,"text":"文档","anchor":"文档","htmlText":"文档"},{"level":2,"text":"常见问题","anchor":"常见问题","htmlText":"常见问题"},{"level":2,"text":"路线图","anchor":"路线图","htmlText":"路线图"},{"level":2,"text":"参与贡献","anchor":"参与贡献","htmlText":"参与贡献"},{"level":2,"text":"从源码安装","anchor":"从源码安装","htmlText":"从源码安装"},{"level":2,"text":"为什么叫 QwenPaw？","anchor":"为什么叫-qwenpaw","htmlText":"为什么叫 QwenPaw？"},{"level":2,"text":"由谁构建","anchor":"由谁构建","htmlText":"由谁构建"},{"level":2,"text":"联系我们","anchor":"联系我们","htmlText":"联系我们"},{"level":2,"text":"掌握最新动态","anchor":"掌握最新动态","htmlText":"掌握最新动态"},{"level":2,"text":"遥测数据","anchor":"遥测数据","htmlText":"遥测数据"},{"level":2,"text":"许可证","anchor":"许可证","htmlText":"许可证"},{"level":2,"text":"贡献者","anchor":"贡献者","htmlText":"贡献者"}]},"issueTemplate":null,"discussionTemplate":null,"richText":"\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cdiv align=\"center\" dir=\"auto\"\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eQwenPaw\u003c/h1\u003e\u003ca id=\"user-content-qwenpaw\" class=\"anchor\" aria-label=\"Permalink: QwenPaw\" href=\"#qwenpaw\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"https://github.com/agentscope-ai/QwenPaw\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/debd8ce4cf8a6c9ab4455d8689dd1aefc29c2a4da06a996ef5e8432f139d515e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4769744875622d2545342542422539332545352542412539332d626c61636b2e7376673f6c6f676f3d676974687562\" alt=\"GitHub 仓库\" data-canonical-src=\"https://img.shields.io/badge/GitHub-%E4%BB%93%E5%BA%93-black.svg?logo=github\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://pypi.org/project/qwenpaw/\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/0f61c308f8d178202c1d6642e03d97284ab46d2b1777a3ec746aa64846dc2810/68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f7177656e7061773f636f6c6f723d333737354139266c6162656c3d50795049266c6f676f3d70797069\" alt=\"PyPI\" data-canonical-src=\"https://img.shields.io/pypi/v/qwenpaw?color=3775A9\u0026amp;label=PyPI\u0026amp;logo=pypi\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://qwenpaw.agentscope.io/\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/05db0f93d0c3dcf0b2561dcecf6b4150d082a9f9a2d64c97bc449ae57a459b7b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2545362539362538372545362541312541332d2545352539432541382545372542412542462d677265656e2e7376673f6c6f676f3d72656164746865646f6373266c6162656c3d446f6373\" alt=\"文档\" data-canonical-src=\"https://img.shields.io/badge/%E6%96%87%E6%A1%A3-%E5%9C%A8%E7%BA%BF-green.svg?logo=readthedocs\u0026amp;label=Docs\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://www.python.org/downloads/\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/797d1cb32daffe13815f76a63180eff9c4e9814e15700602126e717dfe89799e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d332e31312532307e253230253343332e31342d626c75652e7376673f6c6f676f3d707974686f6e266c6162656c3d507974686f6e\" alt=\"Python 版本\" data-canonical-src=\"https://img.shields.io/badge/python-3.11%20~%20%3C3.14-blue.svg?logo=python\u0026amp;label=Python\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/agentscope-ai/QwenPaw\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/930cd70afe207f2fa1e5a8e14f8bde5c3f3b59e6d3749baba901789fe40cd1ed/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6167656e7473636f70652d61692f5177656e506177\" alt=\"最后提交\" data-canonical-src=\"https://img.shields.io/github/last-commit/agentscope-ai/QwenPaw\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"/agentscope-ai/QwenPaw/blob/main/LICENSE\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/0878204c3fc6d7ff33554e101d71905b267486541081c7c8fa865f43003c1700/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d417061636865253230322e302d7265642e7376673f6c6f676f3d617061636865266c6162656c3d254538254145254238254535253846254146254538254146253831\" alt=\"许可证\" data-canonical-src=\"https://img.shields.io/badge/license-Apache%202.0-red.svg?logo=apache\u0026amp;label=%E8%AE%B8%E5%8F%AF%E8%AF%81\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/psf/black\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/da145a7219a3318e7b738c157a1d7533c19405703c3a5c4d0e106f7eb4d803f2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f64652532307374796c652d626c61636b2d626c61636b2e7376673f6c6f676f3d707974686f6e266c6162656c3d254534254242254133254537254130253831254539254133253845254536254130254243\" alt=\"代码风格\" data-canonical-src=\"https://img.shields.io/badge/code%20style-black-black.svg?logo=python\u0026amp;label=%E4%BB%A3%E7%A0%81%E9%A3%8E%E6%A0%BC\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/agentscope-ai/QwenPaw/stargazers\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/3e4c9c842f89dd79761f23cce49cdcc3fee3eac385fb0b2facd11da000c17fe8/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6167656e7473636f70652d61692f5177656e5061773f7374796c653d666c6174266c6f676f3d67697468756226636f6c6f723d79656c6c6f77266c6162656c3d53746172\" alt=\"GitHub Star\" data-canonical-src=\"https://img.shields.io/github/stars/agentscope-ai/QwenPaw?style=flat\u0026amp;logo=github\u0026amp;color=yellow\u0026amp;label=Star\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/agentscope-ai/QwenPaw/network\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/209da72c1dcab472f3745958365467f510a79abcc7b931340b911c8f8ea77c44/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6167656e7473636f70652d61692f5177656e5061773f7374796c653d666c6174266c6f676f3d67697468756226636f6c6f723d707572706c65266c6162656c3d466f726b\" alt=\"GitHub Fork\" data-canonical-src=\"https://img.shields.io/github/forks/agentscope-ai/QwenPaw?style=flat\u0026amp;logo=github\u0026amp;color=purple\u0026amp;label=Fork\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://deepwiki.com/agentscope-ai/QwenPaw\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/b8a65175d8d2d14c3b9510ef812d44f57637c196e119afd88efb54c3de1d02eb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4465657057696b692d41736b5f446576696e2d6e6176792e7376673f6c6f676f3d646174613a696d6167652f706e673b6261736536342c6956424f5277304b47676f414141414e53556845556741414143774141414179434159414141416e57446e714141414141584e535230494172733463365141414130354a52454655614550746d557479457a4551687457545179514c484e616b324142375a6e79585a4d456a584d47654b2f4149692b517548724d6e6243685959374d496838673031664a6f6f70466230756868457171636257547030362f7576317361454476344f336e33645636305266503934374d6d392f5351633049434651677a66633443595a6f545041737767534a4343554a556e41416f52484f41554f63415477626d564c5764476f482f2f5042386d6e4b71536341687344306b5950336a2f5974354c505165324b7663586d4776524863446e7078664c327a4f594a316d467772727957547a306164767631557434434a67663575684475446a3565556341556f61687264592f353665625257657261546a4d742f30305368335544746a674874514e48776352474f433938424a454145796d79636d596357774f70725467634236565a354a4b3554414a2b6658474c426d334644416d6e366f50506a5234724b43416f4a43616c326541695170327830767854504233414c4f3243526b776d447935576f687a4244775345464b527750626b6e4567674350422f696d77727963677858324e7a6f4d434868506b447771594d72397452635035714e724d5a486b566e4f6a524d57774c436372386f68425662314f4d6a784c774743766a54696b7273424f694136664e7943726d38563172503933695650707761452b674f305373576d506958422b6a696b64663653697a725435714b617378356a3841426248704654782b7646587039456e59516d4c7830326831515454726c36654471784c6e476a706f72786c334e4c336167457658645430576d456f737436343873514f5941654a53395137626655566f4d476e6a6f34415a64554d516b7535304d6344634d57634250767230537a625441464466764a71774c7a67787741546e43676e703477446c3641612b41783238336767686d6a2b766a37666545324b4242524d5733467a4f704c4f41446c3049736235353837682f55346747766b74357636305a31564c47384268596a627a527779515a656d77416436634352352f5846574c595a52494d70583339415230746a61474769477a4c5679687365354339524b433661693432707057504b694261674f7661596b386c4f3744616a657261624f5a5034364c627935774b6a77314843527837703973564d4f57477a622f7641316877695763366a6d334d765144546f67516b697149684a56306e42514254552b336f6b4b434644793957776665726b486a74786962377433784955517448786e49777478346d706732362f486677564e564462346f493952486d78355747656c52566c7274697734337a626f434c6178763436415a654233496c546b776f75656254723179324e6a5370487a3638574e466a487675707933713854466e33486f733249416b344a753564436f3842337750375650722f4647614b69472b542b762b54517149724f714d544c31566457563144646d63624f384b58427a3665736d5957594b5077444c35623546413161306877617048696f6d30722f634b616f71722b32372f58637253355577534d625141414141424a52553545726b4a6767673d3d\" alt=\"DeepWiki\" data-canonical-src=\"https://img.shields.io/badge/DeepWiki-Ask_Devin-navy.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://discord.gg/eYMpfnkG8h\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/93131af12156271b745d0c88ba44d6d167414edc8c0f6d0ee84126341e988de1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446973636f72642d4a6f696e5f55732d626c756576696f6c65742e7376673f6c6f676f3d646973636f7264\" alt=\"Discord\" data-canonical-src=\"https://img.shields.io/badge/Discord-Join_Us-blueviolet.svg?logo=discord\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://x.com/agentscope_ai\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/975a3c4969990cc7e5f306beca9e4f9f79469e1e54e16b7a0331bd199fe8e5d0/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f582d466f6c6c6f775f55732d626c61636b2e7376673f6c6f676f3d78\" alt=\"X\" data-canonical-src=\"https://img.shields.io/badge/X-Follow_Us-black.svg?logo=x\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://qr.dingtalk.com/action/joingroup?code=v1,k1,OmDlBXpjW+I2vWjKDsjvI9dhcXjGZi3bQiojOq3dlDw=\u0026amp;_dt_no_comment=1\u0026amp;origin=11\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/d21314bb5d97f7728c7ba489521eb529500ad25c879ef50f17cc607bab06aee5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f44696e6754616c6b2d4a6f696e5f55732d6f72616e67652e737667\" alt=\"钉钉群\" data-canonical-src=\"https://img.shields.io/badge/DingTalk-Join_Us-orange.svg\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003ca href=\"https://platform.agentscope.io/\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/313d90f69aef5ca49cc4f9a49816c500631935863ada45e5594c7e9d25800a18/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2545322539382538315f4167656e7453636f70655f506c6174666f726d2d2546302539462539302542455f3725324632345f4f6e6c696e655f2532365f467265652d4646364232422e737667\" alt=\"AgentScope 体验平台\" data-canonical-src=\"https://img.shields.io/badge/%E2%98%81_AgentScope_Platform-%F0%9F%90%BE_7%2F24_Online_%26_Free-FF6B2B.svg\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"https://trendshift.io/repositories/25882\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/66ff2cbfc34c30c246a0f3ffb7ff74f5d948b3bc2774b60dd29312579510bffc/68747470733a2f2f7472656e6473686966742e696f2f6170692f62616467652f7472656e6473686966742f7265706f7369746f726965732f32353838322f6461696c79\" alt=\"agentscope-ai%2FQwenPaw | Trendshift\" style=\"width: 250px; height: 55px; max-width: 100%;; aspect-ratio: 250 / 55; background-color: var(--bgColor-muted); border-radius: 6px\" width=\"250\" height=\"55\" data-canonical-src=\"https://trendshift.io/api/badge/trendshift/repositories/25882/daily\" class=\"js-gh-image-fallback\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e[\u003ca href=\"https://qwenpaw.agentscope.io/\" rel=\"nofollow\"\u003e文档\u003c/a\u003e] [\u003ca href=\"/agentscope-ai/QwenPaw/blob/main/README.md\"\u003eEnglish\u003c/a\u003e] [\u003ca href=\"/agentscope-ai/QwenPaw/blob/main/README_ja.md\"\u003e日本語\u003c/a\u003e] [\u003ca href=\"/agentscope-ai/QwenPaw/blob/main/README_ru.md\"\u003eРусский\u003c/a\u003e]\u003c/p\u003e\n\u003cp align=\"center\" dir=\"auto\"\u003e\n  \u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/027ced95817f5ccf1172e360921279025994bf5e2cb27f8b511b92520362f508/68747470733a2f2f67772e616c6963646e2e636f6d2f696d6765787472612f69312f4f31434e303173656e73354331547577696f654765784c5f2121363030303030303030323434332d35352d7470732d3737312d3133322e737667\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/027ced95817f5ccf1172e360921279025994bf5e2cb27f8b511b92520362f508/68747470733a2f2f67772e616c6963646e2e636f6d2f696d6765787472612f69312f4f31434e303173656e73354331547577696f654765784c5f2121363030303030303030323434332d35352d7470732d3737312d3133322e737667\" alt=\"QwenPaw Logo\" width=\"120\" data-canonical-src=\"https://gw.alicdn.com/imgextra/i1/O1CN01sens5C1TuwioeGexL_!!6000000002443-55-tps-771-132.svg\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\" dir=\"auto\"\u003e\u003cb\u003e懂你所需，伴你左右。\u003c/b\u003e\u003c/p\u003e\n\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e你的个人 AI 助理 — 本地或云端部署，通过 Skills 与插件扩展能力，全频道连接。\u003c/p\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e\u003c/th\u003e\n\u003cth\u003e\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e不遗忘对话\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e三层记忆 — 实时工作上下文、完整逐字历史，以及由 \u003ca href=\"https://github.com/agentscope-ai/ReMe\"\u003eReMe\u003c/a\u003e 驱动的自进化个人知识库。对话与资料持续沉淀为可读、可编辑、可检索、相互链接的 Markdown 记忆。\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e本地云端，自由运行\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003eQwenPaw-Flash 模型（2B / 4B / 9B）面向 Agent 场景专项训练。内置 QwenPaw Local 运行时，无需 API Key、不依赖云端。同时支持 Ollama、LM Studio 及 14+ 云端模型供应商。\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e安全机制\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e内核级 Sandbox、Tool Guard、File Guard 与 Skill Scanner。危险命令在执行前即被拦截。\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e多智能体与并行\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e创建拥有独立记忆与技能的 Agent；运行时生成子 Agent；通过 Agent Communication Protocol（ACP）实现跨系统编排。\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e通用文件工作区\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e在项目文件与 Agent 文件中统一提供文件导航、预览、编辑、Diff、上传和下载。\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e能力扩展\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003eSkills 覆盖定时任务、文档、浏览器、新闻等。插件架构带 Plugin Market。MCP 集成外部工具。自由组合成面向场景的工作流。\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e随处可达\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e钉钉、飞书、微信、Discord、Telegram、iMessage、QQ — 一个实例，全频道连接。Console、TUI 与桌面应用可直接访问。\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e你的，不是我们的\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e本地部署，数据留在你的机器，无第三方托管，无数据上传。\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e你可以用 QwenPaw 做什么\u003c/b\u003e\u003c/summary\u003e\n\u003cbr\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003e自动化与定时任务\u003c/strong\u003e：设置定时任务 — 新闻摘要、报告生成、多频道广播 — 全部按你的时间表自动运行。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e代码与开发\u003c/strong\u003e：通过通用文件工作区在项目中阅读、编辑、审查与测试代码。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e文档处理\u003c/strong\u003e：读取、写入与转换 PDF、Word、Excel、PowerPoint 文件。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e信息收集\u003c/strong\u003e：搜索网页、关注资讯订阅、总结视频内容，并从个人知识库中检索所需信息。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e多频道运营\u003c/strong\u003e：向钉钉、飞书、Discord、Telegram 等推送告警、摘要或 AI 生成内容 — 可同时或按频道分发。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e自定义工作流\u003c/strong\u003e：把内置能力、插件和定时任务组合起来，打造适合你的专属流程。\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e新闻\u003c/h2\u003e\u003ca id=\"user-content-新闻\" class=\"anchor\" aria-label=\"Permalink: 新闻\" href=\"#新闻\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003e[2026-09-10] \u003cstrong\u003ev2.2.1\u003c/strong\u003e | Creator 1.2 蓝图工作台、按智能体配置的模型路由和统一环境管理。\u003ca href=\"https://qwenpaw.agentscope.io/release-notes#v2.2.1\" rel=\"nofollow\"\u003ev2.2.1 发布说明 →\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003e[2026-09-03] \u003cstrong\u003ev2.2.0\u003c/strong\u003e | 新增可自托管的多用户 QwenPaw Hub、QwenPaw Mail、原生 QwenPaw Data、统一模型路由和 Creator 1.1，并全面改进应用市场、控制台、Skills、频道与运行可靠性。\u003ca href=\"https://qwenpaw.agentscope.io/release-notes#v2.2.0\" rel=\"nofollow\"\u003ev2.2.0 发布说明 →\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003e[2026-08-13] \u003cstrong\u003ev2.1.0\u003c/strong\u003e | QwenPaw OS Shell、统一文件工作区、QwenPaw Creator、Codex/Qoder 智能体接入、Browser-use、Computer-use、工作区检查点和长对话任务续接等。\u003ca href=\"https://qwenpaw.agentscope.io/release-notes#v2.1.0\" rel=\"nofollow\"\u003ev2.1.0 发布说明 →\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003e[2026-07-24] \u003cstrong\u003ev2.0.1\u003c/strong\u003e | PawApp 小程序平台、用户可编辑 Agent Mode、Oh-My-Paw plugins、\u003ca href=\"https://github.com/agentscope-ai/ReMe\"\u003eReMe\u003c/a\u003e 记忆增强、桌面端用户体验增强等。\u003ca href=\"https://qwenpaw.agentscope.io/release-notes#v2.0.1\" rel=\"nofollow\"\u003ev2.0.1 发布说明 →\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003e[2026-07-10] \u003cstrong\u003ev2.0.0 — QwenPaw 2.0 正式发布\u003c/strong\u003e 🎉 | 基于 AgentScope 2.0 全面重构，带来 Agent OS 架构、Loop Engineering、Scroll 上下文、\u003ca href=\"https://github.com/agentscope-ai/ReMe\"\u003eReMe\u003c/a\u003e v0.4 自进化个人知识库与内置终端界面。\u003c/p\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e亮点\u003c/th\u003e\n\u003cth\u003e更新内容\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eAgent OS — 工作区\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e每个智能体三大支柱：\u003cstrong\u003e资源\u003c/strong\u003e（透明落盘）、\u003cstrong\u003e治理\u003c/strong\u003e（allow/deny/ask/sandbox）、\u003cstrong\u003e沙箱\u003c/strong\u003e（macOS / Linux / Windows）。\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eAgent OS — 驱动\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e协议中立的 MCP / A2A / ACP 连接器层，带加密凭据与逐次调用策略门控。\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eLoop Engineering\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e高级智能体循环模板（Coding Mode、Mission Mode，更多模板持续推出），配合可组合审批门控。\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eScroll 上下文\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e每一轮都持久化；滚出窗口的轮次带索引，按需回放——不摘要、不丢失。\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/agentscope-ai/ReMe\"\u003eReMe\u003c/a\u003e v0.4 自进化个人知识库\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e持续将对话与资料转化为可读、可编辑、可检索、相互链接的 Markdown 记忆。\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e终端界面（TUI）\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e全屏终端对话——与控制台和频道共享同一智能体、记忆与会话。\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cp dir=\"auto\"\u003e基于 Agent OS，我们将陆续推出开箱即用的 QwenPaw 应用小程序——如 \u003cstrong\u003eQwenPaw Creator\u003c/strong\u003e、\u003cstrong\u003eQwenPaw Insight\u003c/strong\u003e 等，敬请期待。 \u003ca href=\"https://qwenpaw.agentscope.io/release-notes#v2.0.0\" rel=\"nofollow\"\u003ev2.0.0 发布说明 →\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"https://qwenpaw.agentscope.io/release-notes\" rel=\"nofollow\"\u003e全部发布说明 →\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e目录\u003c/h2\u003e\u003ca id=\"user-content-目录\" class=\"anchor\" aria-label=\"Permalink: 目录\" href=\"#目录\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"#%E6%96%B0%E9%97%BB\"\u003e新闻\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B\"\u003e快速开始\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#api-key\"\u003eAPI Key\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%E6%9C%AC%E5%9C%B0%E6%A8%A1%E5%9E%8B\"\u003e本地模型\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%E5%AE%89%E5%85%A8%E7%89%B9%E6%80%A7\"\u003e安全特性\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%E6%96%87%E6%A1%A3\"\u003e文档\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98\"\u003e常见问题\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%E8%B7%AF%E7%BA%BF%E5%9B%BE\"\u003e路线图\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%E5%8F%82%E4%B8%8E%E8%B4%A1%E7%8C%AE\"\u003e参与贡献\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%E4%BB%8E%E6%BA%90%E7%A0%81%E5%AE%89%E8%A3%85\"\u003e从源码安装\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%E4%B8%BA%E4%BB%80%E4%B9%88%E5%8F%AB-qwenpaw\"\u003e为什么叫 QwenPaw？\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%E7%94%B1%E8%B0%81%E6%9E%84%E5%BB%BA\"\u003e由谁构建\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#%E8%AE%B8%E5%8F%AF%E8%AF%81\"\u003e许可证\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e快速开始\u003c/h2\u003e\u003ca id=\"user-content-快速开始\" class=\"anchor\" aria-label=\"Permalink: 快速开始\" href=\"#快速开始\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e方式一：pip 安装\u003c/h3\u003e\u003ca id=\"user-content-方式一pip-安装\" class=\"anchor\" aria-label=\"Permalink: 方式一：pip 安装\" href=\"#方式一pip-安装\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e如果你习惯自行管理 Python 环境（需 Python \u0026gt;= 3.11, \u0026lt; 3.14）：\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"pip install qwenpaw\nqwenpaw init --defaults\nqwenpaw app\"\u003e\u003cpre\u003epip install qwenpaw\nqwenpaw init --defaults\nqwenpaw app\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e然后在浏览器中打开控制台 \u003cstrong\u003e\u003ca href=\"http://127.0.0.1:8088/\" rel=\"nofollow\"\u003ehttp://127.0.0.1:8088/\u003c/a\u003e\u003c/strong\u003e 配置模型。若要在钉钉、飞书、微信等 app 内对话，请参考 \u003ca href=\"https://qwenpaw.agentscope.io/docs/channels\" rel=\"nofollow\"\u003e频道配置\u003c/a\u003e 文档。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/a4a8ea8e9728a3e5118c13beef8729d073cd068c0af12c114c2dc6220aadc33f/68747470733a2f2f696d672e616c6963646e2e636f6d2f696d6765787472612f69322f4f31434e303145503172613031694f41634276463054435f2121363030303030303030343430322d322d7470732d333832322d323037302e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/a4a8ea8e9728a3e5118c13beef8729d073cd068c0af12c114c2dc6220aadc33f/68747470733a2f2f696d672e616c6963646e2e636f6d2f696d6765787472612f69322f4f31434e303145503172613031694f41634276463054435f2121363030303030303030343430322d322d7470732d333832322d323037302e706e67\" alt=\"Console\" data-canonical-src=\"https://img.alicdn.com/imgextra/i2/O1CN01EP1ra01iOAcBvF0TC_!!6000000004402-2-tps-3822-2070.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e方式二：脚本安装\u003c/h3\u003e\u003ca id=\"user-content-方式二脚本安装\" class=\"anchor\" aria-label=\"Permalink: 方式二：脚本安装\" href=\"#方式二脚本安装\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e无需手动配置 Python，一行命令自动完成安装。脚本会自动下载 uv（Python 包管理器）、创建虚拟环境、安装 QwenPaw 及其依赖（含 Node.js 和前端资源）。注意：部分网络环境或企业权限管控下可能无法使用。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003emacOS / Linux：\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"curl -fsSL https://qwenpaw.agentscope.io/install.sh | bash\"\u003e\u003cpre\u003ecurl -fsSL https://qwenpaw.agentscope.io/install.sh \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e bash\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eWindows (CMD):\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-batchfile notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"curl -fsSL https://qwenpaw.agentscope.io/install.bat -o install.bat \u0026amp;\u0026amp; install.bat\"\u003e\u003cpre\u003ecurl -fsSL https://qwenpaw.agentscope.io/install.bat -o install.bat \u003cspan class=\"pl-k\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e install.bat\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eWindows（PowerShell）：\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-powershell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"irm https://qwenpaw.agentscope.io/install.ps1 | iex\"\u003e\u003cpre\u003eirm https:\u003cspan class=\"pl-k\"\u003e//\u003c/span\u003eqwenpaw.agentscope.io\u003cspan class=\"pl-k\"\u003e/\u003c/span\u003einstall.ps1 \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e iex\u003c/pre\u003e\u003c/div\u003e\n\u003cblockquote\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e注意\u003c/strong\u003e：安装程序将自动检查 uv 状态，若未安装则尝试自动下载配置。如遇自动安装失败，请遵循屏幕提示操作，或执行 \u003ccode\u003epython -m pip install -U uv\u003c/code\u003e，然后重新运行安装程序。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e\u003cg-emoji class=\"g-emoji\" alias=\"warning\"\u003e⚠️\u003c/g-emoji\u003e Windows 企业版 LTSC 用户特别提示\u003c/strong\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e如果您使用的是 Windows LTSC 或受严格安全策略管控的企业环境，PowerShell 可能运行在 \u003cstrong\u003e受限语言模式\u003c/strong\u003e 下，可能会遇到以下问题：\u003c/p\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e如果你使用的是 CMD（.bat）：脚本执行成功但无法写入 \u003ccode\u003ePath\u003c/code\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e脚本已完成文件安装，由于 \u003cstrong\u003e受限语言模式\u003c/strong\u003e，脚本无法自动更新环境变量，此时只需手动配置：\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003e找到安装目录\u003c/strong\u003e：\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e检查 \u003ccode\u003euv\u003c/code\u003e 是否可用：在 CMD 中输入 \u003ccode\u003euv --version\u003c/code\u003e，如果显示版本号，则\u003cstrong\u003e只需配置 QwenPaw 路径\u003c/strong\u003e；如果提示 \u003ccode\u003e'uv' is not recognized as an internal or external command, operable program or batch file,\u003c/code\u003e，则需同时配置两者。\u003c/li\u003e\n\u003cli\u003euv 路径（任选其一，取决于安装位置，若 \u003ccode\u003euv\u003c/code\u003e 不可用则填）：通常在 \u003ccode\u003e%USERPROFILE%\\.local\\bin\u003c/code\u003e、\u003ccode\u003e%USERPROFILE%\\AppData\\Local\\uv\u003c/code\u003e 或 Python 安装目录下的 \u003ccode\u003eScripts\u003c/code\u003e 文件夹\u003c/li\u003e\n\u003cli\u003eQwenPaw 路径：通常在 \u003ccode\u003e%USERPROFILE%\\.qwenpaw\\bin\u003c/code\u003e。\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e手动添加到系统的 Path 环境变量\u003c/strong\u003e：\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e按 \u003ccode\u003eWin + R\u003c/code\u003e，输入 \u003ccode\u003esysdm.cpl\u003c/code\u003e 并回车，打开「系统属性」。\u003c/li\u003e\n\u003cli\u003e点击「高级」→「环境变量」。\u003c/li\u003e\n\u003cli\u003e在「系统变量」中找到并选中 \u003ccode\u003ePath\u003c/code\u003e，点击「编辑」。\u003c/li\u003e\n\u003cli\u003e点击「新建」，依次填入上述两个目录路径，点击确定保存。\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e如果你使用的是 PowerShell（.ps1）：脚本运行中断\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp dir=\"auto\"\u003e由于 \u003cstrong\u003e受限语言模式\u003c/strong\u003e，脚本可能无法自动下载 \u003ccode\u003euv\u003c/code\u003e。\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003e手动安装 uv\u003c/strong\u003e：参考 \u003ca href=\"https://github.com/astral-sh/uv/releases\"\u003eGitHub Release\u003c/a\u003e 下载并将 \u003ccode\u003euv.exe\u003c/code\u003e 放至 \u003ccode\u003e%USERPROFILE%\\.local\\bin\u003c/code\u003e 或 \u003ccode\u003e%USERPROFILE%\\AppData\\Local\\uv\u003c/code\u003e；或者确保已安装 Python，然后运行 \u003ccode\u003epython -m pip install -U uv\u003c/code\u003e。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e配置 \u003ccode\u003euv\u003c/code\u003e 环境变量\u003c/strong\u003e：将 \u003ccode\u003euv\u003c/code\u003e 所在目录和 \u003ccode\u003e%USERPROFILE%\\.qwenpaw\\bin\u003c/code\u003e 添加到系统的 \u003ccode\u003ePath\u003c/code\u003e 变量中。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e重新运行\u003c/strong\u003e：打开新终端，再次执行安装脚本以完成 \u003ccode\u003eQwenPaw\u003c/code\u003e 安装。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e配置 \u003ccode\u003eQwenPaw\u003c/code\u003e 环境变量\u003c/strong\u003e：将 \u003ccode\u003e%USERPROFILE%\\.qwenpaw\\bin\u003c/code\u003e 添加到系统的 \u003ccode\u003ePath\u003c/code\u003e 变量中。\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cp dir=\"auto\"\u003e安装完成后，请打开新终端并运行：\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"qwenpaw init --defaults   # 或：qwenpaw init（交互式）\nqwenpaw app\"\u003e\u003cpre\u003eqwenpaw init --defaults   \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e 或：qwenpaw init（交互式）\u003c/span\u003e\nqwenpaw app\u003c/pre\u003e\u003c/div\u003e\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e安装选项\u003c/b\u003e\u003c/summary\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003emacOS / Linux：\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# 安装指定版本\ncurl -fsSL ... | bash -s -- --version 1.1.0\n\n# 从源码安装（开发/测试用）\ncurl -fsSL ... | bash -s -- --from-source\n\n# 升级 — 重新运行安装命令即可\ncurl -fsSL ... | bash\n\n# 卸载\nqwenpaw uninstall          # 保留配置和数据\nqwenpaw uninstall --purge  # 删除所有内容\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e 安装指定版本\u003c/span\u003e\ncurl -fsSL ... \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e bash -s -- --version 1.1.0\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e 从源码安装（开发/测试用）\u003c/span\u003e\ncurl -fsSL ... \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e bash -s -- --from-source\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e 升级 — 重新运行安装命令即可\u003c/span\u003e\ncurl -fsSL ... \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e bash\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e 卸载\u003c/span\u003e\nqwenpaw uninstall          \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e 保留配置和数据\u003c/span\u003e\nqwenpaw uninstall --purge  \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e 删除所有内容\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eWindows（PowerShell）：\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-powershell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"# 安装指定版本\nirm ... | iex; .\\install.ps1 -Version 1.1.12\n\n# 从源码安装（开发/测试用）\n.\\install.ps1 -FromSource\n\n# 升级 — 重新运行安装命令即可\nirm ... | iex\n\n# 卸载\nqwenpaw uninstall          # 保留配置和数据\nqwenpaw uninstall --purge  # 删除所有内容\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e 安装指定版本\u003c/span\u003e\nirm ..\u003cspan class=\"pl-k\"\u003e.\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e iex; .\\install.ps1 \u003cspan class=\"pl-k\"\u003e-\u003c/span\u003eVersion \u003cspan class=\"pl-c1\"\u003e1.1\u003c/span\u003e.\u003cspan class=\"pl-c1\"\u003e12\u003c/span\u003e\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e 从源码安装（开发/测试用）\u003c/span\u003e\n.\\install.ps1 \u003cspan class=\"pl-k\"\u003e-\u003c/span\u003eFromSource\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e 升级 — 重新运行安装命令即可\u003c/span\u003e\nirm ..\u003cspan class=\"pl-k\"\u003e.\u003c/span\u003e \u003cspan class=\"pl-k\"\u003e|\u003c/span\u003e iex\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e 卸载\u003c/span\u003e\nqwenpaw uninstall          \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e 保留配置和数据\u003c/span\u003e\nqwenpaw uninstall \u003cspan class=\"pl-k\"\u003e--\u003c/span\u003epurge  \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e 删除所有内容\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003c/details\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e方式三：使用 Docker\u003c/h3\u003e\u003ca id=\"user-content-方式三使用-docker\" class=\"anchor\" aria-label=\"Permalink: 方式三：使用 Docker\" href=\"#方式三使用-docker\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e镜像在 \u003cstrong\u003eDocker Hub\u003c/strong\u003e（\u003ccode\u003eagentscope/qwenpaw\u003c/code\u003e）。镜像 tag：\u003ccode\u003elatest\u003c/code\u003e（稳定版）；\u003ccode\u003epre\u003c/code\u003e（PyPI 预发布版）。\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"docker pull agentscope/qwenpaw:latest\ndocker run -p 127.0.0.1:8088:8088 \\\n  -v qwenpaw-data:/app/working \\\n  -v qwenpaw-secrets:/app/working.secret \\\n  -v qwenpaw-backups:/app/working.backups \\\n  agentscope/qwenpaw:latest\"\u003e\u003cpre\u003edocker pull agentscope/qwenpaw:latest\ndocker run -p 127.0.0.1:8088:8088 \\\n  -v qwenpaw-data:/app/working \\\n  -v qwenpaw-secrets:/app/working.secret \\\n  -v qwenpaw-backups:/app/working.backups \\\n  agentscope/qwenpaw:latest\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e国内用户也可选用阿里云容器镜像服务 (ACR)：\u003ccode\u003eagentscope-registry.ap-southeast-1.cr.aliyuncs.com/agentscope/qwenpaw\u003c/code\u003e（tag 相同）。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e然后在浏览器中打开 \u003cstrong\u003e\u003ca href=\"http://127.0.0.1:8088/\" rel=\"nofollow\"\u003ehttp://127.0.0.1:8088/\u003c/a\u003e\u003c/strong\u003e 进入控制台。配置、记忆与 Skills 保存在 \u003ccode\u003eqwenpaw-data\u003c/code\u003e 卷中；模型提供商设置与 API Key 保存在 \u003ccode\u003eqwenpaw-secrets\u003c/code\u003e 卷中；备份归档保存在 \u003ccode\u003eqwenpaw-backups\u003c/code\u003e 卷中。如需传入 API Key（如 \u003ccode\u003eDASHSCOPE_API_KEY\u003c/code\u003e），在 \u003ccode\u003edocker run\u003c/code\u003e 时添加 \u003ccode\u003e-e VAR=value\u003c/code\u003e 或 \u003ccode\u003e--env-file .env\u003c/code\u003e。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e从容器内连接宿主机上的 Ollama 或其他模型服务\u003c/strong\u003e\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eDocker 容器内的 \u003ccode\u003elocalhost\u003c/code\u003e 指向容器自身，而非宿主机。如果 Ollama（或其他模型服务）运行在宿主机上，可通过以下方式让容器内的 QwenPaw 访问：\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e方式 A\u003c/strong\u003e — 显式绑定宿主机地址（全平台通用）：\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"docker run -p 127.0.0.1:8088:8088 \\\n  --add-host=host.docker.internal:host-gateway \\\n  -v qwenpaw-data:/app/working \\\n  -v qwenpaw-secrets:/app/working.secret \\\n  -v qwenpaw-backups:/app/working.backups \\\n  agentscope/qwenpaw:latest\"\u003e\u003cpre\u003edocker run -p 127.0.0.1:8088:8088 \\\n  --add-host=host.docker.internal:host-gateway \\\n  -v qwenpaw-data:/app/working \\\n  -v qwenpaw-secrets:/app/working.secret \\\n  -v qwenpaw-backups:/app/working.backups \\\n  agentscope/qwenpaw:latest\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e然后在 QwenPaw \u003cstrong\u003e设置 → 模型\u003c/strong\u003e 中，将 Base URL 改为 \u003ccode\u003ehttp://host.docker.internal:\u0026lt;端口\u0026gt;\u003c/code\u003e — 例如 Ollama 填 \u003ccode\u003ehttp://host.docker.internal:11434\u003c/code\u003e，LM Studio 填 \u003ccode\u003ehttp://host.docker.internal:1234/v1\u003c/code\u003e。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e方式 B\u003c/strong\u003e — 使用宿主机网络（仅限 Linux）：\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"docker run --network=host \\\n  -v qwenpaw-data:/app/working \\\n  -v qwenpaw-secrets:/app/working.secret \\\n  -v qwenpaw-backups:/app/working.backups \\\n  agentscope/qwenpaw:latest\"\u003e\u003cpre\u003edocker run --network=host \\\n  -v qwenpaw-data:/app/working \\\n  -v qwenpaw-secrets:/app/working.secret \\\n  -v qwenpaw-backups:/app/working.backups \\\n  agentscope/qwenpaw:latest\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e无需端口映射（\u003ccode\u003e-p\u003c/code\u003e），容器直接共享宿主机网络。注意这会将容器的所有端口暴露在宿主机上，可能与已占用的端口产生冲突。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp dir=\"auto\"\u003e镜像从零构建。若需自行构建镜像，请参阅 \u003ccode\u003escripts/README.md\u003c/code\u003e 中的 \u003ca href=\"/agentscope-ai/QwenPaw/blob/main/scripts/README.md#build-docker-image\"\u003eBuild Docker image\u003c/a\u003e 小节，构建后推送到你的镜像仓库。\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e方式四：部署到阿里云 ECS\u003c/h3\u003e\u003ca id=\"user-content-方式四部署到阿里云-ecs\" class=\"anchor\" aria-label=\"Permalink: 方式四：部署到阿里云 ECS\" href=\"#方式四部署到阿里云-ecs\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e若希望将 QwenPaw 部署在阿里云上，可使用阿里云 ECS 一键部署：打开 \u003ca href=\"https://computenest.console.aliyun.com/service/instance/create/cn-hangzhou?type=user\u0026amp;ServiceId=service-1ed84201799f40879884\" rel=\"nofollow\"\u003eQwenPaw 阿里云 ECS 部署链接\u003c/a\u003e 按页面提示操作即可。详细步骤见 \u003ca href=\"https://developer.aliyun.com/article/1713682\" rel=\"nofollow\"\u003e阿里云开发者社区：3 分钟部署你的 AI 助理\u003c/a\u003e。\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e方式五：AgentScope Platform 部署\u003c/h3\u003e\u003ca id=\"user-content-方式五agentscope-platform-部署\" class=\"anchor\" aria-label=\"Permalink: 方式五：AgentScope Platform 部署\" href=\"#方式五agentscope-platform-部署\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"https://platform.agentscope.io/\" rel=\"nofollow\"\u003eAgentScope Platform\u003c/a\u003e 提供一键云端 QwenPaw 部署、插件分享与 Skill 市场。完全免费，7/24 在线。\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e方式六：使用魔搭创空间\u003c/h3\u003e\u003ca id=\"user-content-方式六使用魔搭创空间\" class=\"anchor\" aria-label=\"Permalink: 方式六：使用魔搭创空间\" href=\"#方式六使用魔搭创空间\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e使用 \u003ca href=\"https://modelscope.cn/studios/fork?target=AgentScope/QwenPaw\" rel=\"nofollow\"\u003e魔搭创空间\u003c/a\u003e 也可进行云端 QwenPaw 部署。注意：请将创空间设为 \u003cstrong\u003e非公开\u003c/strong\u003e，否则他人可能操纵你的 QwenPaw。\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e方式七：桌面应用（Beta）\u003c/h3\u003e\u003ca id=\"user-content-方式七桌面应用beta\" class=\"anchor\" aria-label=\"Permalink: 方式七：桌面应用（Beta）\" href=\"#方式七桌面应用beta\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cblockquote\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eBeta 版本说明\u003c/strong\u003e：桌面应用目前处于 Beta 测试阶段，存在以下已知限制：\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003e兼容性测试不完整\u003c/strong\u003e：未在所有系统版本和硬件配置上进行充分测试\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e性能可能存在缺陷\u003c/strong\u003e：启动速度、内存占用等方面可能需要进一步优化\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e功能持续完善中\u003c/strong\u003e：部分功能可能不稳定或缺失\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003cp dir=\"auto\"\u003e如果你不习惯使用命令行，可以下载并使用 QwenPaw 的桌面应用版本，无需手动配置 Python 环境或执行命令。\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e下载\u003c/h4\u003e\u003ca id=\"user-content-下载\" class=\"anchor\" aria-label=\"Permalink: 下载\" href=\"#下载\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e从 \u003ca href=\"https://qwenpaw.agentscope.io/downloads\" rel=\"nofollow\"\u003e官方下载页\u003c/a\u003e 下载桌面应用（Tauri 版）：\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eWindows\u003c/strong\u003e：\u003ccode\u003eQwenPaw-Tauri-\u0026lt;version\u0026gt;-Windows-setup.exe\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emacOS\u003c/strong\u003e：\u003ccode\u003eQwenPaw-Tauri-\u0026lt;version\u0026gt;-macOS.zip\u003c/code\u003e（推荐 Apple Silicon）\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e特点\u003c/h4\u003e\u003ca id=\"user-content-特点\" class=\"anchor\" aria-label=\"Permalink: 特点\" href=\"#特点\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e✅ \u003cstrong\u003e零配置\u003c/strong\u003e：下载后双击即可运行，无需安装 Python 或配置环境变量\u003c/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003e跨平台\u003c/strong\u003e：支持 Windows 10+ 和 macOS 14+\u003c/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003e可视化\u003c/strong\u003e：自动打开应用界面，无需手动输入地址\u003c/li\u003e\n\u003cli\u003e\u003cg-emoji class=\"g-emoji\" alias=\"warning\"\u003e⚠️\u003c/g-emoji\u003e \u003cstrong\u003eBeta 阶段\u003c/strong\u003e：功能持续完善中，欢迎反馈问题\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e首次启动\u003c/h4\u003e\u003ca id=\"user-content-首次启动\" class=\"anchor\" aria-label=\"Permalink: 首次启动\" href=\"#首次启动\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e重要提示\u003c/strong\u003e：首次启动可能需要 10-60 秒（取决于您的系统配置）。应用需要初始化 Python 环境和加载依赖，请耐心等待窗口自动打开。\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003emacOS：绕过系统安全限制\u003c/h4\u003e\u003ca id=\"user-content-macos绕过系统安全限制\" class=\"anchor\" aria-label=\"Permalink: macOS：绕过系统安全限制\" href=\"#macos绕过系统安全限制\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e当你从 Releases 下载 QwenPaw macOS 应用时，macOS 可能显示：\u003cem\u003e\"Apple 无法验证 'QwenPaw' 不包含恶意软件\"\u003c/em\u003e。这是因为应用未经过公证。你仍然可以通过以下方式打开：\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e右键打开（推荐）\u003c/strong\u003e\n右键点击（或 Control + 点击）QwenPaw 应用 → \u003cstrong\u003e「打开」\u003c/strong\u003e → 在对话框中再次点击 \u003cstrong\u003e「打开」\u003c/strong\u003e。这会告诉 Gatekeeper 你信任该应用；之后可以像往常一样双击启动。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e在系统设置中允许\u003c/strong\u003e\n如果仍被阻止，进入 \u003cstrong\u003e系统设置 → 隐私与安全性\u003c/strong\u003e，向下滚动找到类似 \u003cem\u003e「已阻止 'QwenPaw'，因为无法验证开发者」\u003c/em\u003e 的提示，点击 \u003cstrong\u003e「仍要打开」\u003c/strong\u003e 或 \u003cstrong\u003e「允许」\u003c/strong\u003e。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e移除隔离属性（不推荐大多数用户）\u003c/strong\u003e\n在终端运行：\n\u003ccode\u003exattr -cr \"/Applications/QwenPaw Desktop.app\"\u003c/code\u003e\n（或使用解压后的 \u003ccode\u003e.app\u003c/code\u003e 路径）。这会清除「从互联网下载」的隔离标志，使警告通常不会出现，但不如使用 \u003cstrong\u003e右键 → 打开\u003c/strong\u003e 安全和可控。\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e详细使用说明、故障排除和常见问题，请参见 \u003ca href=\"https://qwenpaw.agentscope.io/docs/desktop\" rel=\"nofollow\"\u003e桌面应用指南\u003c/a\u003e。\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e下一步？\u003c/h3\u003e\u003ca id=\"user-content-下一步\" class=\"anchor\" aria-label=\"Permalink: 下一步？\" href=\"#下一步\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e安装完成后，在 \u003cstrong\u003e控制台 → 设置 → 模型\u003c/strong\u003e 中配置模型，然后探索：\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/skills\" rel=\"nofollow\"\u003e添加 Skills\u003c/a\u003e 扩展能力（PDF、Office、浏览器、新闻等）\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/channels\" rel=\"nofollow\"\u003e配置频道\u003c/a\u003e 连接钉钉、飞书、Discord 等\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/cron\" rel=\"nofollow\"\u003e配置 Cron\u003c/a\u003e 实现定时任务与自动化\u003c/li\u003e\n\u003cli\u003e查看完整 \u003ca href=\"https://qwenpaw.agentscope.io/docs/quickstart\" rel=\"nofollow\"\u003e快速开始指南\u003c/a\u003e 了解所有选项与验证步骤\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e终端界面（TUI）\u003c/h2\u003e\u003ca id=\"user-content-终端界面tui\" class=\"anchor\" aria-label=\"Permalink: 终端界面（TUI）\" href=\"#终端界面tui\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e更喜欢待在终端里？运行 \u003ccode\u003eqwenpaw\u003c/code\u003e 即可打开一个全屏聊天 \u003cstrong\u003eTUI\u003c/strong\u003e，它驱动的是与控制台、IM 频道\u003cstrong\u003e完全相同\u003c/strong\u003e的智能体 — 同一份记忆、技能、MCP 工具与会话 — 无需离开键盘。\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"qwenpaw                     # 与当前激活的智能体开启对话\nqwenpaw tui --resume \u0026lt;id\u0026gt;   # 恢复之前的某个会话\nqwenpaw .                   # 在当前代码仓库中启动（Coding 模式）\"\u003e\u003cpre\u003eqwenpaw                     \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e 与当前激活的智能体开启对话\u003c/span\u003e\nqwenpaw tui --resume \u003cspan class=\"pl-k\"\u003e\u0026lt;\u003c/span\u003eid\u003cspan class=\"pl-k\"\u003e\u0026gt;\u003c/span\u003e   \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e 恢复之前的某个会话\u003c/span\u003e\nqwenpaw \u003cspan class=\"pl-c1\"\u003e.\u003c/span\u003e                   \u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e 在当前代码仓库中启动（Coding 模式）\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e支持流式回复、斜杠命令（\u003ccode\u003e/help\u003c/code\u003e、\u003ccode\u003e/resume\u003c/code\u003e、\u003ccode\u003e/theme\u003c/code\u003e，以及智能体自身的 \u003ccode\u003e/model\u003c/code\u003e、\u003ccode\u003e/clear\u003c/code\u003e 等）、把文件 / 长文本作为附件粘贴，以及行内工具授权提示。详见 \u003ca href=\"https://qwenpaw.agentscope.io/docs/tui\" rel=\"nofollow\"\u003e终端界面指南\u003c/a\u003e。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003ca target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/b9d9df0cff1b62e85c56a2200dae0f64b505e2b5e80b93216839683aa3cddccb/68747470733a2f2f696d672e616c6963646e2e636f6d2f696d6765787472612f69322f4f31434e303149554c7a6962315452417a6967496371475f2121363030303030303030323337382d322d7470732d323335302d313331322e706e67\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/b9d9df0cff1b62e85c56a2200dae0f64b505e2b5e80b93216839683aa3cddccb/68747470733a2f2f696d672e616c6963646e2e636f6d2f696d6765787472612f69322f4f31434e303149554c7a6962315452417a6967496371475f2121363030303030303030323337382d322d7470732d323335302d313331322e706e67\" alt=\"QwenPaw 终端界面\" data-canonical-src=\"https://img.alicdn.com/imgextra/i2/O1CN01IULzib1TRAzigIcqG_!!6000000002378-2-tps-2350-1312.png\" style=\"max-width: 100%;\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eAPI Key\u003c/h2\u003e\u003ca id=\"user-content-api-key\" class=\"anchor\" aria-label=\"Permalink: API Key\" href=\"#api-key\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e若使用\u003cstrong\u003e云端大模型 API\u003c/strong\u003e（如 DashScope / 通义千问、OpenAI、Anthropic、Google Gemini、DeepSeek、Kimi、OpenRouter 等），在开始对话前必须配置 API Key。未配置有效 Key 前，QwenPaw 无法正常工作。详情请参考 \u003ca href=\"https://qwenpaw.agentscope.io/docs/models\" rel=\"nofollow\"\u003e官方文档\u003c/a\u003e。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e配置方式：\u003c/strong\u003e\u003c/p\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003e控制台（推荐）\u003c/strong\u003e — 运行 \u003ccode\u003eqwenpaw app\u003c/code\u003e 后，打开 \u003cstrong\u003e\u003ca href=\"http://127.0.0.1:8088/\" rel=\"nofollow\"\u003ehttp://127.0.0.1:8088/\u003c/a\u003e\u003c/strong\u003e → \u003cstrong\u003e设置\u003c/strong\u003e → \u003cstrong\u003e模型\u003c/strong\u003e。选择提供商、填写 \u003cstrong\u003eAPI Key\u003c/strong\u003e，并启用该提供商与模型。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eqwenpaw init\u003c/code\u003e\u003c/strong\u003e — 运行 \u003ccode\u003eqwenpaw init\u003c/code\u003e 时，会引导你配置 LLM 提供商与 API Key。按提示选择提供商并填写 Key 即可。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e环境变量\u003c/strong\u003e — 使用 DashScope 时，可在终端或工作目录下的 \u003ccode\u003e.env\u003c/code\u003e 文件中设置 \u003ccode\u003eDASHSCOPE_API_KEY\u003c/code\u003e。\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp dir=\"auto\"\u003e其他工具所需密钥（如网页搜索的 \u003ccode\u003eTAVILY_API_KEY\u003c/code\u003e）可在控制台 \u003cstrong\u003e设置 → 环境变量\u003c/strong\u003e 中配置，详见 \u003ca href=\"https://qwenpaw.agentscope.io/docs/config\" rel=\"nofollow\"\u003e配置\u003c/a\u003e。\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e仅用本地模型？\u003c/strong\u003e 若使用 \u003ca href=\"#%E6%9C%AC%E5%9C%B0%E6%A8%A1%E5%9E%8B\"\u003e本地模型\u003c/a\u003e（QwenPaw Local / Ollama / LM Studio），则\u003cstrong\u003e无需\u003c/strong\u003e任何 API Key。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e本地模型\u003c/h2\u003e\u003ca id=\"user-content-本地模型\" class=\"anchor\" aria-label=\"Permalink: 本地模型\" href=\"#本地模型\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eQwenPaw 可在本机完全本地运行大模型，无需 API Key 或云端服务。详情请见 \u003ca href=\"https://qwenpaw.agentscope.io/docs/models\" rel=\"nofollow\"\u003e官方文档\u003c/a\u003e。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eQwenPaw 还提供 \u003cstrong\u003eQwenPaw-Flash\u003c/strong\u003e 系列 — 面向 Agent 场景专项训练的 2B / 4B / 9B 模型，提供 Q4 与 Q8 量化版本。可在 \u003ca href=\"https://www.modelscope.cn/organization/AgentScope?tab=model\" rel=\"nofollow\"\u003eModelScope\u003c/a\u003e 与 \u003ca href=\"https://huggingface.co/agentscope-ai/models\" rel=\"nofollow\"\u003eHugging Face\u003c/a\u003e 获取。\u003c/p\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e后端\u003c/th\u003e\n\u003cth\u003e适用场景\u003c/th\u003e\n\u003cth\u003e安装\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eQwenPaw Local\u003c/strong\u003e（llama.cpp）\u003c/td\u003e\n\u003ctd\u003e跨平台（macOS / Linux / Windows）\u003c/td\u003e\n\u003ctd\u003e内置；在 Web 界面点击「Download」即可。支持 QwenPaw-Flash，并提供硬件感知推荐。\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eOllama\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e跨平台（需要 Ollama 服务运行）\u003c/td\u003e\n\u003ctd\u003e安装并启动 Ollama；将上下文长度设为 ≥ 32k。\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eLM Studio\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e跨平台（需要 LM Studio 服务运行）\u003c/td\u003e\n\u003ctd\u003e安装并启动 LM Studio；启用 Local Server。\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e安全特性\u003c/h2\u003e\u003ca id=\"user-content-安全特性\" class=\"anchor\" aria-label=\"Permalink: 安全特性\" href=\"#安全特性\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eQwenPaw 内置五层核心安全防护：\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eSandbox\u003c/strong\u003e — 内核级执行隔离，macOS 使用 Seatbelt，Linux 使用 Bubblewrap / Landlock，Windows 使用 AppContainer。Shell 命令在受限文件系统视图中运行。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTool Guard\u003c/strong\u003e — 带 \u003ccode\u003eShellEvasionGuardian\u003c/code\u003e 的 YAML 规则引擎，在每次工具调用执行前进行检查，检测命令注入、路径遍历、反向 Shell 与混淆攻击。可配置审批级别：STRICT / SMART / AUTO / OFF。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFile Guard\u003c/strong\u003e — 独立于 Tool Guard；阻止智能体访问敏感文件与目录（默认保护 \u003ccode\u003e~/.qwenpaw.secret/\u003c/code\u003e、\u003ccode\u003e~/.ssh\u003c/code\u003e 等）。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSkill Scanner\u003c/strong\u003e — 激活前扫描，支持 block / warn / off 模式与白名单。检测提示词注入、硬编码密钥、数据外泄等风险。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eAccess Policy\u003c/strong\u003e — 声明式访问策略，对每次能力调用裁定放行(allow)、拒绝(deny)或请求人工审批(ask)，支持工具级粒度和来源感知匹配。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e详见 \u003ca href=\"https://qwenpaw.agentscope.io/docs/security\" rel=\"nofollow\"\u003e安全文档\u003c/a\u003e。\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e文档\u003c/h2\u003e\u003ca id=\"user-content-文档\" class=\"anchor\" aria-label=\"Permalink: 文档\" href=\"#文档\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e主题\u003c/th\u003e\n\u003cth\u003e说明\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/intro\" rel=\"nofollow\"\u003e项目介绍\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eQwenPaw 是什么、怎么用\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/quickstart\" rel=\"nofollow\"\u003e快速开始\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e安装与运行（本地或魔搭创空间）\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/console\" rel=\"nofollow\"\u003e控制台\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eWeb 界面：对话与智能体配置\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/tui\" rel=\"nofollow\"\u003e终端界面（TUI）\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e终端全屏对话，与控制台共用同一智能体\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/desktop\" rel=\"nofollow\"\u003e桌面应用\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e桌面应用安装与使用\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/models\" rel=\"nofollow\"\u003e模型\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e配置云端、本地与自定义提供商\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/channels\" rel=\"nofollow\"\u003e频道配置\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e钉钉、飞书、QQ、Discord、iMessage 等\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/skills\" rel=\"nofollow\"\u003eSkills\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e扩展与自定义能力\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/plugins\" rel=\"nofollow\"\u003e插件系统\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e插件体系与 Plugin Market\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/mcp\" rel=\"nofollow\"\u003eMCP 和工具\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e管理 MCP 客户端\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/persona\" rel=\"nofollow\"\u003ePersona\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e智能体人格定制（SOUL / PROFILE）\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/memory\" rel=\"nofollow\"\u003e记忆\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e基于本地、可编辑、可检索且相互链接的 Markdown 记忆构建自进化个人知识库，由 \u003ca href=\"https://github.com/agentscope-ai/ReMe\"\u003eReMe\u003c/a\u003e 驱动\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://docs.agentscope.io/reme/latest/zh/overview\" rel=\"nofollow\"\u003eReMe 文档\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eReMe 官方概览与文档\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/memory-evolving-and-proactive\" rel=\"nofollow\"\u003e记忆进化与主动交互\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e智能体记忆进化与主动交互\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/context\" rel=\"nofollow\"\u003e上下文\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e基于滚动的上下文管理\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/commands\" rel=\"nofollow\"\u003e魔法命令\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e无需等待 AI 理解即可控制对话状态\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/heartbeat\" rel=\"nofollow\"\u003e心跳\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e定时自检与摘要\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/cron\" rel=\"nofollow\"\u003eCron / 定时任务\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e定时任务与自动化\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/multi-agent\" rel=\"nofollow\"\u003e多智能体\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e创建多个智能体并启用协作\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/security\" rel=\"nofollow\"\u003e安全\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eSandbox、Tool Guard、File Guard、Skill Scanner、Access Policy\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/backup\" rel=\"nofollow\"\u003e备份与恢复\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e数据备份与恢复\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/config\" rel=\"nofollow\"\u003e配置与工作目录\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e工作目录与配置文件\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/api-tutorial\" rel=\"nofollow\"\u003eREST API\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e用于集成与自动化的 HTTP API\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/acp-integration\" rel=\"nofollow\"\u003eACP 集成\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003eAgent Communication Protocol 集成\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/cli\" rel=\"nofollow\"\u003eCLI\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e初始化、定时任务、Skills、清理\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/practice-agent-team\" rel=\"nofollow\"\u003eAgent 团队实践\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e多智能体团队部署指南\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/faq\" rel=\"nofollow\"\u003eFAQ\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e常见问题与故障排查\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cp dir=\"auto\"\u003e完整文档：\u003ca href=\"https://qwenpaw.agentscope.io/docs\" rel=\"nofollow\"\u003eqwenpaw.agentscope.io/docs\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e常见问题\u003c/h2\u003e\u003ca id=\"user-content-常见问题\" class=\"anchor\" aria-label=\"Permalink: 常见问题\" href=\"#常见问题\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e更多常见问题、故障排查技巧和已知问题，请访问 \u003cstrong\u003e\u003ca href=\"https://qwenpaw.agentscope.io/docs/faq\" rel=\"nofollow\"\u003eFAQ 页面\u003c/a\u003e\u003c/strong\u003e。\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e路线图\u003c/h2\u003e\u003ca id=\"user-content-路线图\" class=\"anchor\" aria-label=\"Permalink: 路线图\" href=\"#路线图\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e方向\u003c/th\u003e\n\u003cth\u003e事项\u003c/th\u003e\n\u003cth\u003e状态\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e横向拓展\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e更多频道、模型、技能、MCP\u003c/td\u003e\n\u003ctd\u003e征集中\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e已有功能扩展与完善\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e展示、下载与 Windows 兼容优化\u003c/td\u003e\n\u003ctd\u003e征集中\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e模型\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e多模型切换\u003c/td\u003e\n\u003ctd\u003e进行中\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e安全与审批\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e批量预览与批准\u003c/td\u003e\n\u003ctd\u003e进行中\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e自动化\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e自动化任务\u003c/td\u003e\n\u003ctd\u003e进行中\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e智能体交互\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e智能体任务交接\u003c/td\u003e\n\u003ctd\u003e进行中\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c/td\u003e\n\u003ctd\u003e运行中任务调整\u003c/td\u003e\n\u003ctd\u003e进行中\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e工作区\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e多工作区\u003c/td\u003e\n\u003ctd\u003e进行中\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e上下文\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e系统提示压缩\u003c/td\u003e\n\u003ctd\u003e进行中\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e工具系统\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e多位置文件修改\u003c/td\u003e\n\u003ctd\u003e进行中\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c/td\u003e\n\u003ctd\u003e持久终端与后台任务\u003c/td\u003e\n\u003ctd\u003e进行中\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eComputer-use\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e屏幕目标定位与操作\u003c/td\u003e\n\u003ctd\u003e进行中\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e语音交互\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e实时语音任务\u003c/td\u003e\n\u003ctd\u003e进行中\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e上下文管理与记忆\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003e向量模型与存储热切换\u003c/td\u003e\n\u003ctd\u003e进行中\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c/td\u003e\n\u003ctd\u003e个人知识库\u003c/td\u003e\n\u003ctd\u003e进行中\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eQwenPaw 应用\u003c/strong\u003e\u003c/td\u003e\n\u003ctd\u003eQwenPaw Insight\u003c/td\u003e\n\u003ctd\u003e进行中\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003c/td\u003e\n\u003ctd\u003eQwenPaw Mail\u003c/td\u003e\n\u003ctd\u003e进行中\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003cp dir=\"auto\"\u003e\u003cem\u003e状态说明：\u003cstrong\u003e进行中\u003c/strong\u003e — 正在积极开发；\u003cstrong\u003e征集中\u003c/strong\u003e — 我们强烈鼓励社区参与。\u003c/em\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e参与贡献\u003c/h2\u003e\u003ca id=\"user-content-参与贡献\" class=\"anchor\" aria-label=\"Permalink: 参与贡献\" href=\"#参与贡献\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eQwenPaw 在开放协作中持续演进，欢迎各种形式的参与！请参考上方 \u003ca href=\"#%E8%B7%AF%E7%BA%BF%E5%9B%BE\"\u003e路线图\u003c/a\u003e（尤其是标记为 \u003cstrong\u003e征集中\u003c/strong\u003e 的项）选择你感兴趣的方向，并阅读 \u003ca href=\"https://github.com/agentscope-ai/QwenPaw/blob/main/CONTRIBUTING_zh.md\"\u003eCONTRIBUTING\u003c/a\u003e 了解如何开始。我们特别欢迎：\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003e横向拓展\u003c/strong\u003e — 新频道、模型提供商、Skills、MCP。\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e已有功能扩展与完善\u003c/strong\u003e — 展示与交互优化、下载提示、Windows 路径兼容等。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e欢迎在 \u003ca href=\"https://github.com/agentscope-ai/QwenPaw/discussions\"\u003eGitHub Discussions\u003c/a\u003e 参与讨论、提出想法或认领任务。\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e从源码安装\u003c/h2\u003e\u003ca id=\"user-content-从源码安装\" class=\"anchor\" aria-label=\"Permalink: 从源码安装\" href=\"#从源码安装\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"git clone https://github.com/agentscope-ai/QwenPaw.git\ncd QwenPaw\n\n# 先构建前端控制台（Web 界面必需）\ncd console \u0026amp;\u0026amp; npm ci \u0026amp;\u0026amp; npm run build\ncd ..\n\n# 将控制台构建产物复制到包目录\nmkdir -p src/qwenpaw/console\ncp -R console/dist/. src/qwenpaw/console/\n\n# 安装 Python 包\npip install -e .\"\u003e\u003cpre\u003egit clone https://github.com/agentscope-ai/QwenPaw.git\n\u003cspan class=\"pl-c1\"\u003ecd\u003c/span\u003e QwenPaw\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e 先构建前端控制台（Web 界面必需）\u003c/span\u003e\n\u003cspan class=\"pl-c1\"\u003ecd\u003c/span\u003e console \u003cspan class=\"pl-k\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e npm ci \u003cspan class=\"pl-k\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e npm run build\n\u003cspan class=\"pl-c1\"\u003ecd\u003c/span\u003e ..\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e 将控制台构建产物复制到包目录\u003c/span\u003e\nmkdir -p src/qwenpaw/console\ncp -R console/dist/. src/qwenpaw/console/\n\n\u003cspan class=\"pl-c\"\u003e\u003cspan class=\"pl-c\"\u003e#\u003c/span\u003e 安装 Python 包\u003c/span\u003e\npip install -e \u003cspan class=\"pl-c1\"\u003e.\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003e开发\u003c/strong\u003e（测试、格式化）：\u003ccode\u003epip install -e \".[dev,test,full]\"\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e然后\u003c/strong\u003e：运行 \u003ccode\u003eqwenpaw init --defaults\u003c/code\u003e，再运行 \u003ccode\u003eqwenpaw app\u003c/code\u003e。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cblockquote\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e版本更新提示：\u003c/strong\u003e 当执行 \u003ccode\u003egit pull\u003c/code\u003e 更新到大版本后，请重新构建前端、重新安装 Python 包（\u003ccode\u003epip install -e .\u003c/code\u003e）、重启 \u003ccode\u003eqwenpaw app\u003c/code\u003e，并清除浏览器缓存（\u003ccode\u003eCtrl+Shift+R\u003c/code\u003e 或 macOS 上 \u003ccode\u003eCmd+Shift+R\u003c/code\u003e）。\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e为什么叫 QwenPaw？\u003c/h2\u003e\u003ca id=\"user-content-为什么叫-qwenpaw\" class=\"anchor\" aria-label=\"Permalink: 为什么叫 QwenPaw？\" href=\"#为什么叫-qwenpaw\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eQwenPaw 既是 Qwen Personal Agent Workstation（千问个人智能体工作台），也寓意 Qwen 的智识与 Paw 的温度。我们希望它不是冰冷的工具，而是一只随时准备帮忙的智慧、温暖「小爪子」，是你数字生活中最默契的伙伴。\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e由谁构建\u003c/h2\u003e\u003ca id=\"user-content-由谁构建\" class=\"anchor\" aria-label=\"Permalink: 由谁构建\" href=\"#由谁构建\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003ca href=\"https://github.com/agentscope-ai\"\u003eAgentScope 团队\u003c/a\u003e · \u003ca href=\"https://github.com/agentscope-ai/agentscope\"\u003eAgentScope\u003c/a\u003e · \u003ca href=\"https://github.com/agentscope-ai/agentscope-runtime\"\u003eAgentScope Runtime\u003c/a\u003e · \u003ca href=\"https://github.com/agentscope-ai/ReMe\"\u003eReMe\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e联系我们\u003c/h2\u003e\u003ca id=\"user-content-联系我们\" class=\"anchor\" aria-label=\"Permalink: 联系我们\" href=\"#联系我们\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cmarkdown-accessiblity-table\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e\u003ca href=\"https://discord.gg/eYMpfnkG8h\" rel=\"nofollow\"\u003eDiscord\u003c/a\u003e\u003c/th\u003e\n\u003cth\u003e\u003ca href=\"https://x.com/agentscope_ai\" rel=\"nofollow\"\u003eX (Twitter)\u003c/a\u003e\u003c/th\u003e\n\u003cth\u003e\u003ca href=\"https://qr.dingtalk.com/action/joingroup?code=v1,k1,OmDlBXpjW+I2vWjKDsjvI9dhcXjGZi3bQiojOq3dlDw=\u0026amp;_dt_no_comment=1\u0026amp;origin=11\" rel=\"nofollow\"\u003e钉钉\u003c/a\u003e\u003c/th\u003e\n\u003cth\u003e\u003ca href=\"https://www.xiaohongshu.com/user/profile/691c18db0000000037032be9\" rel=\"nofollow\"\u003e小红书\u003c/a\u003e\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://discord.gg/eYMpfnkG8h\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/e9a88e8b54eaf26cda4abe522968eac3ed9bb8a1fe2f97d83fb3ca21ed64cd26/68747470733a2f2f67772e616c6963646e2e636f6d2f696d6765787472612f69312f4f31434e3031686844316d75314464334257565576784e5f2121363030303030303030303233382d322d7470732d3430302d3430302e706e67\" width=\"80\" height=\"80\" alt=\"Discord\" data-canonical-src=\"https://gw.alicdn.com/imgextra/i1/O1CN01hhD1mu1Dd3BWVUvxN_!!6000000000238-2-tps-400-400.png\" style=\"max-width: 100%; height: auto; max-height: 80px;; aspect-ratio: 80 / 80; background-color: var(--bgColor-muted); border-radius: 6px\" class=\"js-gh-image-fallback\"\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://x.com/agentscope_ai\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/b3385d88ba15f66d127dc80ed7a691df7ee878792d20ad589fa7b9d0f59be1a7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f582d626c61636b2e7376673f6c6f676f3d78266c6f676f436f6c6f723d7768697465\" width=\"80\" height=\"80\" alt=\"X\" data-canonical-src=\"https://img.shields.io/badge/X-black.svg?logo=x\u0026amp;logoColor=white\" style=\"max-width: 100%; height: auto; max-height: 80px;; aspect-ratio: 80 / 80; background-color: var(--bgColor-muted); border-radius: 6px\" class=\"js-gh-image-fallback\"\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://qr.dingtalk.com/action/joingroup?code=v1,k1,OmDlBXpjW+I2vWjKDsjvI9dhcXjGZi3bQiojOq3dlDw=\u0026amp;_dt_no_comment=1\u0026amp;origin=11\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/9861133332cda2421cd33b38201749b1f8cd434c12bc65641b6bd4e760b4db75/68747470733a2f2f696d672e616c6963646e2e636f6d2f696d6765787472612f69322f4f31434e303176435749386131736b48744c4758454d515f2121363030303030303030353830342d322d7470732d3435382d3436302e706e67\" width=\"80\" height=\"80\" alt=\"钉钉\" data-canonical-src=\"https://img.alicdn.com/imgextra/i2/O1CN01vCWI8a1skHtLGXEMQ_!!6000000005804-2-tps-458-460.png\" style=\"max-width: 100%; height: auto; max-height: 80px;; aspect-ratio: 80 / 80; background-color: var(--bgColor-muted); border-radius: 6px\" class=\"js-gh-image-fallback\"\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://www.xiaohongshu.com/user/profile/691c18db0000000037032be9\" rel=\"nofollow\"\u003e\u003cimg src=\"https://camo.githubusercontent.com/44ecf3f680ee1d92f2938add62b2fb84ca669ce375fc1a64824d398fe7b88cee/68747470733a2f2f696d672e616c6963646e2e636f6d2f696d6765787472612f69332f4f31434e303136426f455053316c33334345396d4862395f2121363030303030303030343736322d302d7470732d3136302d3136302e6a7067\" width=\"80\" height=\"80\" alt=\"小红书\" data-canonical-src=\"https://img.alicdn.com/imgextra/i3/O1CN016BoEPS1l33CE9mHb9_!!6000000004762-0-tps-160-160.jpg\" style=\"max-width: 100%; height: auto; max-height: 80px;; aspect-ratio: 80 / 80; background-color: var(--bgColor-muted); border-radius: 6px\" class=\"js-gh-image-fallback\"\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/markdown-accessiblity-table\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e掌握最新动态\u003c/h2\u003e\u003ca id=\"user-content-掌握最新动态\" class=\"anchor\" aria-label=\"Permalink: 掌握最新动态\" href=\"#掌握最新动态\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003ca href=\"https://github.com/agentscope-ai/QwenPaw\"\u003e\n  \u003cimg src=\"https://camo.githubusercontent.com/4d5c65623bdb6c7cebb9ea26b3533b9f033a8334d118b2b4f720df1e22cf3cf5/68747470733a2f2f696d672e616c6963646e2e636f6d2f696d6765787472612f69312f4f31434e303156384859763631427930485963494461715f2121363030303030303030303031332d312d7470732d313639382d3935342e676966\" width=\"600\" alt=\"Star QwenPaw\" data-animated-image=\"\" data-canonical-src=\"https://img.alicdn.com/imgextra/i1/O1CN01V8HYv61By0HYcIDaq_!!6000000000013-1-tps-1698-954.gif\" style=\"max-width: 100%;\"\u003e\n\u003c/a\u003e\n\u003cp dir=\"auto\"\u003e在 GitHub 上 Star QwenPaw，第一时间收到新版本发布通知。\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e遥测数据\u003c/h2\u003e\u003ca id=\"user-content-遥测数据\" class=\"anchor\" aria-label=\"Permalink: 遥测数据\" href=\"#遥测数据\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eQwenPaw 在执行 \u003ccode\u003eqwenpaw init\u003c/code\u003e 时会收集\u003cstrong\u003e匿名\u003c/strong\u003e使用数据，帮助我们了解用户环境并优化产品。数据\u003cstrong\u003e每个版本收集一次\u003c/strong\u003e — 当你升级 QwenPaw 后，会重新收集以便我们了解版本分布。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e收集的信息：\u003c/strong\u003e\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eQwenPaw 版本（如 1.1.12）\u003c/li\u003e\n\u003cli\u003e安装方式（pip、Docker 或桌面应用）\u003c/li\u003e\n\u003cli\u003e操作系统及版本（如 macOS 14.0、Ubuntu 22.04）\u003c/li\u003e\n\u003cli\u003ePython 版本（如 3.13）\u003c/li\u003e\n\u003cli\u003eCPU 架构（如 x86_64、arm64）\u003c/li\u003e\n\u003cli\u003eGPU 是否可用（是/否）\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e不收集：\u003c/strong\u003e 不涉及任何个人数据、文件、密钥、IP 地址或可识别信息。\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e交互式运行 \u003ccode\u003eqwenpaw init\u003c/code\u003e 时，会询问你是否同意。使用 \u003ccode\u003e--defaults\u003c/code\u003e 模式则自动同意。提示每个版本仅出现一次，且不影响 QwenPaw 的任何功能。\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e许可证\u003c/h2\u003e\u003ca id=\"user-content-许可证\" class=\"anchor\" aria-label=\"Permalink: 许可证\" href=\"#许可证\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eQwenPaw 采用 \u003ca href=\"/agentscope-ai/QwenPaw/blob/main/LICENSE\"\u003eApache License 2.0\u003c/a\u003e 开源协议。\u003c/p\u003e\n\u003chr\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e贡献者\u003c/h2\u003e\u003ca id=\"user-content-贡献者\" class=\"anchor\" aria-label=\"Permalink: 贡献者\" href=\"#贡献者\"\u003e\u003csvg data-component=\"Octicon\" class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e感谢所有为 QwenPaw 做出贡献的朋友们：\u003c/p\u003e\n\u003ca href=\"https://github.com/agentscope-ai/QwenPaw/graphs/contributors\"\u003e\n  \u003cimg src=\"https://camo.githubusercontent.com/ad26b7b9a83c8ee9cf8379b0b50e3b2f6a60a9c8862240c680d97fb28e3b000b/68747470733a2f2f636f6e747269622e726f636b732f696d6167653f7265706f3d6167656e7473636f70652d61692f5177656e506177\" alt=\"贡献者\" data-canonical-src=\"https://contrib.rocks/image?repo=agentscope-ai/QwenPaw\" style=\"max-width: 100%;\"\u003e\n\u003c/a\u003e\n\u003c/article\u003e","richTextTruncated":false,"renderedFileInfo":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"QwenPaw","fully_qualified_name":"QwenPaw","kind":"section_1","ident_start":24,"ident_end":31,"extent_start":22,"extent_end":36291,"ident_utf16":{"start":{"line_number":2,"utf16_col":2},"end":{"line_number":2,"utf16_col":9}},"extent_utf16":{"start":{"line_number":2,"utf16_col":0},"end":{"line_number":564,"utf16_col":0}}},{"name":"新闻","fully_qualified_name":"新闻","kind":"section_2","ident_start":7120,"ident_end":7126,"extent_start":7117,"extent_end":9692,"ident_utf16":{"start":{"line_number":60,"utf16_col":3},"end":{"line_number":60,"utf16_col":5}},"extent_utf16":{"start":{"line_number":60,"utf16_col":0},"end":{"line_number":87,"utf16_col":0}}},{"name":"目录","fully_qualified_name":"目录","kind":"section_2","ident_start":9695,"ident_end":9701,"extent_start":9692,"extent_end":10104,"ident_utf16":{"start":{"line_number":87,"utf16_col":3},"end":{"line_number":87,"utf16_col":5}},"extent_utf16":{"start":{"line_number":87,"utf16_col":0},"end":{"line_number":105,"utf16_col":0}}},{"name":"快速开始","fully_qualified_name":"快速开始","kind":"section_2","ident_start":10107,"ident_end":10119,"extent_start":10104,"extent_end":20860,"ident_utf16":{"start":{"line_number":105,"utf16_col":3},"end":{"line_number":105,"utf16_col":7}},"extent_utf16":{"start":{"line_number":105,"utf16_col":0},"end":{"line_number":340,"utf16_col":0}}},{"name":"方式一：pip 安装","fully_qualified_name":"方式一：pip 安装","kind":"section_3","ident_start":10125,"ident_end":10147,"extent_start":10121,"extent_end":10622,"ident_utf16":{"start":{"line_number":107,"utf16_col":4},"end":{"line_number":107,"utf16_col":14}},"extent_utf16":{"start":{"line_number":107,"utf16_col":0},"end":{"line_number":123,"utf16_col":0}}},{"name":"方式二：脚本安装","fully_qualified_name":"方式二：脚本安装","kind":"section_3","ident_start":10626,"ident_end":10650,"extent_start":10622,"extent_end":14538,"ident_utf16":{"start":{"line_number":123,"utf16_col":4},"end":{"line_number":123,"utf16_col":12}},"extent_utf16":{"start":{"line_number":123,"utf16_col":0},"end":{"line_number":219,"utf16_col":0}}},{"name":"方式三：使用 Docker","fully_qualified_name":"方式三：使用 Docker","kind":"section_3","ident_start":14542,"ident_end":14567,"extent_start":14538,"extent_end":16912,"ident_utf16":{"start":{"line_number":219,"utf16_col":4},"end":{"line_number":219,"utf16_col":17}},"extent_utf16":{"start":{"line_number":219,"utf16_col":0},"end":{"line_number":266,"utf16_col":0}}},{"name":"方式四：部署到阿里云 ECS","fully_qualified_name":"方式四：部署到阿里云 ECS","kind":"section_3","ident_start":16916,"ident_end":16950,"extent_start":16912,"extent_end":17365,"ident_utf16":{"start":{"line_number":266,"utf16_col":4},"end":{"line_number":266,"utf16_col":18}},"extent_utf16":{"start":{"line_number":266,"utf16_col":0},"end":{"line_number":272,"utf16_col":0}}},{"name":"方式五：AgentScope Platform 部署","fully_qualified_name":"方式五：AgentScope Platform 部署","kind":"section_3","ident_start":17369,"ident_end":17407,"extent_start":17365,"extent_end":17567,"ident_utf16":{"start":{"line_number":272,"utf16_col":4},"end":{"line_number":272,"utf16_col":30}},"extent_utf16":{"start":{"line_number":272,"utf16_col":0},"end":{"line_number":278,"utf16_col":0}}},{"name":"方式六：使用魔搭创空间","fully_qualified_name":"方式六：使用魔搭创空间","kind":"section_3","ident_start":17571,"ident_end":17604,"extent_start":17567,"extent_end":17824,"ident_utf16":{"start":{"line_number":278,"utf16_col":4},"end":{"line_number":278,"utf16_col":15}},"extent_utf16":{"start":{"line_number":278,"utf16_col":0},"end":{"line_number":284,"utf16_col":0}}},{"name":"方式七：桌面应用（Beta）","fully_qualified_name":"方式七：桌面应用（Beta）","kind":"section_3","ident_start":17828,"ident_end":17862,"extent_start":17824,"extent_end":20324,"ident_utf16":{"start":{"line_number":284,"utf16_col":4},"end":{"line_number":284,"utf16_col":18}},"extent_utf16":{"start":{"line_number":284,"utf16_col":0},"end":{"line_number":329,"utf16_col":0}}},{"name":"下载","fully_qualified_name":"下载","kind":"section_4","ident_start":18375,"ident_end":18381,"extent_start":18370,"extent_end":18620,"ident_utf16":{"start":{"line_number":293,"utf16_col":5},"end":{"line_number":293,"utf16_col":7}},"extent_utf16":{"start":{"line_number":293,"utf16_col":0},"end":{"line_number":299,"utf16_col":0}}},{"name":"特点","fully_qualified_name":"特点","kind":"section_4","ident_start":18625,"ident_end":18631,"extent_start":18620,"extent_end":18927,"ident_utf16":{"start":{"line_number":299,"utf16_col":5},"end":{"line_number":299,"utf16_col":7}},"extent_utf16":{"start":{"line_number":299,"utf16_col":0},"end":{"line_number":306,"utf16_col":0}}},{"name":"首次启动","fully_qualified_name":"首次启动","kind":"section_4","ident_start":18932,"ident_end":18944,"extent_start":18927,"extent_end":19126,"ident_utf16":{"start":{"line_number":306,"utf16_col":5},"end":{"line_number":306,"utf16_col":9}},"extent_utf16":{"start":{"line_number":306,"utf16_col":0},"end":{"line_number":310,"utf16_col":0}}},{"name":"macOS：绕过系统安全限制","fully_qualified_name":"macOS：绕过系统安全限制","kind":"section_4","ident_start":19131,"ident_end":19163,"extent_start":19126,"extent_end":20324,"ident_utf16":{"start":{"line_number":310,"utf16_col":5},"end":{"line_number":310,"utf16_col":19}},"extent_utf16":{"start":{"line_number":310,"utf16_col":0},"end":{"line_number":329,"utf16_col":0}}},{"name":"下一步？","fully_qualified_name":"下一步？","kind":"section_3","ident_start":20328,"ident_end":20340,"extent_start":20324,"extent_end":20860,"ident_utf16":{"start":{"line_number":329,"utf16_col":4},"end":{"line_number":329,"utf16_col":8}},"extent_utf16":{"start":{"line_number":329,"utf16_col":0},"end":{"line_number":340,"utf16_col":0}}},{"name":"终端界面（TUI）","fully_qualified_name":"终端界面（TUI）","kind":"section_2","ident_start":20863,"ident_end":20884,"extent_start":20860,"extent_end":21734,"ident_utf16":{"start":{"line_number":340,"utf16_col":3},"end":{"line_number":340,"utf16_col":12}},"extent_utf16":{"start":{"line_number":340,"utf16_col":0},"end":{"line_number":356,"utf16_col":0}}},{"name":"API Key","fully_qualified_name":"API Key","kind":"section_2","ident_start":21737,"ident_end":21744,"extent_start":21734,"extent_end":22883,"ident_utf16":{"start":{"line_number":356,"utf16_col":3},"end":{"line_number":356,"utf16_col":10}},"extent_utf16":{"start":{"line_number":356,"utf16_col":0},"end":{"line_number":370,"utf16_col":0}}},{"name":"本地模型","fully_qualified_name":"本地模型","kind":"section_2","ident_start":22886,"ident_end":22898,"extent_start":22883,"extent_end":24216,"ident_utf16":{"start":{"line_number":370,"utf16_col":3},"end":{"line_number":370,"utf16_col":7}},"extent_utf16":{"start":{"line_number":370,"utf16_col":0},"end":{"line_number":384,"utf16_col":0}}},{"name":"安全特性","fully_qualified_name":"安全特性","kind":"section_2","ident_start":24219,"ident_end":24231,"extent_start":24216,"extent_end":25255,"ident_utf16":{"start":{"line_number":384,"utf16_col":3},"end":{"line_number":384,"utf16_col":7}},"extent_utf16":{"start":{"line_number":384,"utf16_col":0},"end":{"line_number":398,"utf16_col":0}}},{"name":"文档","fully_qualified_name":"文档","kind":"section_2","ident_start":25258,"ident_end":25264,"extent_start":25255,"extent_end":29415,"ident_utf16":{"start":{"line_number":398,"utf16_col":3},"end":{"line_number":398,"utf16_col":5}},"extent_utf16":{"start":{"line_number":398,"utf16_col":0},"end":{"line_number":434,"utf16_col":0}}},{"name":"常见问题","fully_qualified_name":"常见问题","kind":"section_2","ident_start":29418,"ident_end":29430,"extent_start":29415,"extent_end":29565,"ident_utf16":{"start":{"line_number":434,"utf16_col":3},"end":{"line_number":434,"utf16_col":7}},"extent_utf16":{"start":{"line_number":434,"utf16_col":0},"end":{"line_number":440,"utf16_col":0}}},{"name":"路线图","fully_qualified_name":"路线图","kind":"section_2","ident_start":29568,"ident_end":29577,"extent_start":29565,"extent_end":31469,"ident_utf16":{"start":{"line_number":440,"utf16_col":3},"end":{"line_number":440,"utf16_col":6}},"extent_utf16":{"start":{"line_number":440,"utf16_col":0},"end":{"line_number":466,"utf16_col":0}}},{"name":"参与贡献","fully_qualified_name":"参与贡献","kind":"section_2","ident_start":31472,"ident_end":31484,"extent_start":31469,"extent_end":32122,"ident_utf16":{"start":{"line_number":466,"utf16_col":3},"end":{"line_number":466,"utf16_col":7}},"extent_utf16":{"start":{"line_number":466,"utf16_col":0},"end":{"line_number":477,"utf16_col":0}}},{"name":"从源码安装","fully_qualified_name":"从源码安装","kind":"section_2","ident_start":32125,"ident_end":32140,"extent_start":32122,"extent_end":32875,"ident_utf16":{"start":{"line_number":477,"utf16_col":3},"end":{"line_number":477,"utf16_col":8}},"extent_utf16":{"start":{"line_number":477,"utf16_col":0},"end":{"line_number":502,"utf16_col":0}}},{"name":"为什么叫 QwenPaw？","fully_qualified_name":"为什么叫 QwenPaw？","kind":"section_2","ident_start":32878,"ident_end":32901,"extent_start":32875,"extent_end":33186,"ident_utf16":{"start":{"line_number":502,"utf16_col":3},"end":{"line_number":502,"utf16_col":16}},"extent_utf16":{"start":{"line_number":502,"utf16_col":0},"end":{"line_number":508,"utf16_col":0}}},{"name":"由谁构建","fully_qualified_name":"由谁构建","kind":"section_2","ident_start":33189,"ident_end":33201,"extent_start":33186,"extent_end":33450,"ident_utf16":{"start":{"line_number":508,"utf16_col":3},"end":{"line_number":508,"utf16_col":7}},"extent_utf16":{"start":{"line_number":508,"utf16_col":0},"end":{"line_number":514,"utf16_col":0}}},{"name":"联系我们","fully_qualified_name":"联系我们","kind":"section_2","ident_start":33453,"ident_end":33465,"extent_start":33450,"extent_end":34875,"ident_utf16":{"start":{"line_number":514,"utf16_col":3},"end":{"line_number":514,"utf16_col":7}},"extent_utf16":{"start":{"line_number":514,"utf16_col":0},"end":{"line_number":522,"utf16_col":0}}},{"name":"掌握最新动态","fully_qualified_name":"掌握最新动态","kind":"section_2","ident_start":34878,"ident_end":34896,"extent_start":34875,"extent_end":35176,"ident_utf16":{"start":{"line_number":522,"utf16_col":3},"end":{"line_number":522,"utf16_col":9}},"extent_utf16":{"start":{"line_number":522,"utf16_col":0},"end":{"line_number":532,"utf16_col":0}}},{"name":"遥测数据","fully_qualified_name":"遥测数据","kind":"section_2","ident_start":35179,"ident_end":35191,"extent_start":35176,"extent_end":35979,"ident_utf16":{"start":{"line_number":532,"utf16_col":3},"end":{"line_number":532,"utf16_col":7}},"extent_utf16":{"start":{"line_number":532,"utf16_col":0},"end":{"line_number":551,"utf16_col":0}}},{"name":"许可证","fully_qualified_name":"许可证","kind":"section_2","ident_start":35982,"ident_end":35991,"extent_start":35979,"extent_end":36060,"ident_utf16":{"start":{"line_number":551,"utf16_col":3},"end":{"line_number":551,"utf16_col":6}},"extent_utf16":{"start":{"line_number":551,"utf16_col":0},"end":{"line_number":557,"utf16_col":0}}},{"name":"贡献者","fully_qualified_name":"贡献者","kind":"section_2","ident_start":36063,"ident_end":36072,"extent_start":36060,"extent_end":36291,"ident_utf16":{"start":{"line_number":557,"utf16_col":3},"end":{"line_number":557,"utf16_col":6}},"extent_utf16":{"start":{"line_number":557,"utf16_col":0},"end":{"line_number":564,"utf16_col":0}}}]}},"codeViewLayoutRoute":{"repo":{"id":1165324947,"defaultBranch":"main","name":"QwenPaw","ownerLogin":"agentscope-ai","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2026-02-24T03:42:56.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/211762292?v=4","public":true,"private":false,"isOrgOwned":true,"isArchived":false},"currentUser":null,"uploadToken":"LLPq4wvHfqga1AJB4X67fuXGJcS43BFJ2ZD3IGWTzOQ7ipX4ZxZQ5uiFwmka5YCmZy2HDW-tB_I16a8XNrz53w","allShortcutsEnabled":false,"treeExpanded":true,"path":"README_zh.md","symbolsExpanded":false,"refInfo":{"name":"main","listCacheKey":"v0:1790757350.0","canEdit":false,"currentOid":"7147731d582fdd106af6ca7e3a3a5dc650183755"},"helpUrl":"https://docs.github.com","githubDevUrl":null},"codeViewFileTreeLayoutRoute":{"fileTree":{"":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":"console","path":"console","contentType":"directory"},{"name":"deploy","path":"deploy","contentType":"directory"},{"name":"docs","path":"docs","contentType":"directory"},{"name":"e2e","path":"e2e","contentType":"directory"},{"name":"packages","path":"packages","contentType":"directory"},{"name":"plugins","path":"plugins","contentType":"directory"},{"name":"scripts","path":"scripts","contentType":"directory"},{"name":"src","path":"src","contentType":"directory"},{"name":"tests","path":"tests","contentType":"directory"},{"name":"website","path":"website","contentType":"directory"},{"name":".dockerignore","path":".dockerignore","contentType":"file"},{"name":".flake8","path":".flake8","contentType":"file"},{"name":".gitattributes","path":".gitattributes","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".nvmrc","path":".nvmrc","contentType":"file"},{"name":".pre-commit-config.yaml","path":".pre-commit-config.yaml","contentType":"file"},{"name":".python-version","path":".python-version","contentType":"file"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","contentType":"file"},{"name":"CONTRIBUTING_zh.md","path":"CONTRIBUTING_zh.md","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"Makefile","path":"Makefile","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"README_ja.md","path":"README_ja.md","contentType":"file"},{"name":"README_ru.md","path":"README_ru.md","contentType":"file"},{"name":"README_vi.md","path":"README_vi.md","contentType":"file"},{"name":"README_zh.md","path":"README_zh.md","contentType":"file"},{"name":"RELEASING.md","path":"RELEASING.md","contentType":"file"},{"name":"RELEASING_zh.md","path":"RELEASING_zh.md","contentType":"file"},{"name":"SECURITY.md","path":"SECURITY.md","contentType":"file"},{"name":"design.md","path":"design.md","contentType":"file"},{"name":"docker-compose.yml","path":"docker-compose.yml","contentType":"file"},{"name":"pyproject.toml","path":"pyproject.toml","contentType":"file"},{"name":"setup.py","path":"setup.py","contentType":"file"}],"totalCount":34}},"fileTreeProcessingTime":32.042009,"foldersToFetch":[]},"codeViewBlobLayoutRoute":{"codeLineWrapEnabled":false,"refInfo":{"name":"main","listCacheKey":"v0:1790757350.0","canEdit":false,"refType":"branch","currentOid":"7147731d582fdd106af6ca7e3a3a5dc650183755","canEditOnDefaultBranch":false,"fileExistsOnDefault":true},"path":"README_zh.md","blob":{"copilotSWEAgentEnabled":false,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/agentscope-ai/QwenPaw/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"README_zh.md","displayUrl":"https://github.com/agentscope-ai/QwenPaw/blob/main/README_zh.md?raw=true","headerInfo":{"blobSize":"35.4 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"408279e","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fagentscope-ai%2FQwenPaw%2Fblob%2Fmain%2FREADME_zh.md","isCSV":false,"isRichtext":true,"lineInfo":{"truncatedLoc":"564","truncatedSloc":"395"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"isIssueTemplate":false,"isDiscussionTemplate":false,"language":"Markdown","languageID":222,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/agentscope-ai/QwenPaw/blob/main/README_zh.md","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/agentscope-ai/QwenPaw/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/agentscope-ai/QwenPaw/raw/refs/heads/main/README_zh.md","renderImageOrRaw":false,"shortPath":null,"symbolsEnabled":true,"tabSize":4,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null},"copilotInfo":null,"copilotAccessAllowed":false,"copilotSpacesEnabled":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"isMarketplaceEnabled":true},"codeViewBlobLayoutRoute.StyledBlob":{"rawLines":["\u003cdiv align=\"center\"\u003e","","# QwenPaw","","[![GitHub 仓库](https://img.shields.io/badge/GitHub-仓库-black.svg?logo=github)](https://github.com/agentscope-ai/QwenPaw)","[![PyPI](https://img.shields.io/pypi/v/qwenpaw?color=3775A9\u0026label=PyPI\u0026logo=pypi)](https://pypi.org/project/qwenpaw/)","[![文档](https://img.shields.io/badge/文档-在线-green.svg?logo=readthedocs\u0026label=Docs)](https://qwenpaw.agentscope.io/)","[![Python 版本](https://img.shields.io/badge/python-3.11%20~%20%3C3.14-blue.svg?logo=python\u0026label=Python)](https://www.python.org/downloads/)","[![最后提交](https://img.shields.io/github/last-commit/agentscope-ai/QwenPaw)](https://github.com/agentscope-ai/QwenPaw)","[![许可证](https://img.shields.io/badge/license-Apache%202.0-red.svg?logo=apache\u0026label=%E8%AE%B8%E5%8F%AF%E8%AF%81)](LICENSE)","[![代码风格](https://img.shields.io/badge/code%20style-black-black.svg?logo=python\u0026label=%E4%BB%A3%E7%A0%81%E9%A3%8E%E6%A0%BC)](https://github.com/psf/black)","[![GitHub Star](https://img.shields.io/github/stars/agentscope-ai/QwenPaw?style=flat\u0026logo=github\u0026color=yellow\u0026label=Star)](https://github.com/agentscope-ai/QwenPaw/stargazers)","[![GitHub Fork](https://img.shields.io/github/forks/agentscope-ai/QwenPaw?style=flat\u0026logo=github\u0026color=purple\u0026label=Fork)](https://github.com/agentscope-ai/QwenPaw/network)","[![DeepWiki](https://img.shields.io/badge/DeepWiki-Ask_Devin-navy.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==)](https://deepwiki.com/agentscope-ai/QwenPaw)","[![Discord](https://img.shields.io/badge/Discord-Join_Us-blueviolet.svg?logo=discord)](https://discord.gg/eYMpfnkG8h)","[![X](https://img.shields.io/badge/X-Follow_Us-black.svg?logo=x)](https://x.com/agentscope_ai)","[![钉钉群](https://img.shields.io/badge/DingTalk-Join_Us-orange.svg)](https://qr.dingtalk.com/action/joingroup?code=v1,k1,OmDlBXpjW+I2vWjKDsjvI9dhcXjGZi3bQiojOq3dlDw=\u0026_dt_no_comment=1\u0026origin=11)","[![AgentScope 体验平台](https://img.shields.io/badge/%E2%98%81_AgentScope_Platform-%F0%9F%90%BE_7%2F24_Online_%26_Free-FF6B2B.svg)](https://platform.agentscope.io/)","","\u003ca href=\"https://trendshift.io/repositories/25882\" target=\"_blank\"\u003e\u003cimg src=\"https://trendshift.io/api/badge/trendshift/repositories/25882/daily\" alt=\"agentscope-ai%2FQwenPaw | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"/\u003e\u003c/a\u003e","","[[文档](https://qwenpaw.agentscope.io/)] [[English](README.md)] [[日本語](README_ja.md)] [[Русский](README_ru.md)]","","\u003cp align=\"center\"\u003e","  \u003cimg src=\"https://gw.alicdn.com/imgextra/i1/O1CN01sens5C1TuwioeGexL_!!6000000002443-55-tps-771-132.svg\" alt=\"QwenPaw Logo\" width=\"120\"\u003e","\u003c/p\u003e","","\u003cp align=\"center\"\u003e\u003cb\u003e懂你所需，伴你左右。\u003c/b\u003e\u003c/p\u003e","","\u003c/div\u003e","","你的个人 AI 助理 — 本地或云端部署，通过 Skills 与插件扩展能力，全频道连接。","","| | |","| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |","| **不遗忘对话**                         | 三层记忆 — 实时工作上下文、完整逐字历史，以及由 [ReMe](https://github.com/agentscope-ai/ReMe) 驱动的自进化个人知识库。对话与资料持续沉淀为可读、可编辑、可检索、相互链接的 Markdown 记忆。 |","| **本地云端，自由运行**                    | QwenPaw-Flash 模型（2B / 4B / 9B）面向 Agent 场景专项训练。内置 QwenPaw Local 运行时，无需 API Key、不依赖云端。同时支持 Ollama、LM Studio 及 14+ 云端模型供应商。                  |","| **安全机制**                         | 内核级 Sandbox、Tool Guard、File Guard 与 Skill Scanner。危险命令在执行前即被拦截。                                        |","| **多智能体与并行**                        | 创建拥有独立记忆与技能的 Agent；运行时生成子 Agent；通过 Agent Communication Protocol（ACP）实现跨系统编排。                                                                         |","| **通用文件工作区**                    | 在项目文件与 Agent 文件中统一提供文件导航、预览、编辑、Diff、上传和下载。                                                                                                           |","| **能力扩展**                        | Skills 覆盖定时任务、文档、浏览器、新闻等。插件架构带 Plugin Market。MCP 集成外部工具。自由组合成面向场景的工作流。                                                                    |","| **随处可达**                        | 钉钉、飞书、微信、Discord、Telegram、iMessage、QQ — 一个实例，全频道连接。Console、TUI 与桌面应用可直接访问。                                                                         |","| **你的，不是我们的**                      | 本地部署，数据留在你的机器，无第三方托管，无数据上传。                                                                                                         |","","\u003cdetails\u003e","\u003csummary\u003e\u003cb\u003e你可以用 QwenPaw 做什么\u003c/b\u003e\u003c/summary\u003e","","\u003cbr\u003e","","- **自动化与定时任务**：设置定时任务 — 新闻摘要、报告生成、多频道广播 — 全部按你的时间表自动运行。","- **代码与开发**：通过通用文件工作区在项目中阅读、编辑、审查与测试代码。","- **文档处理**：读取、写入与转换 PDF、Word、Excel、PowerPoint 文件。","- **信息收集**：搜索网页、关注资讯订阅、总结视频内容，并从个人知识库中检索所需信息。","- **多频道运营**：向钉钉、飞书、Discord、Telegram 等推送告警、摘要或 AI 生成内容 — 可同时或按频道分发。","- **自定义工作流**：把内置能力、插件和定时任务组合起来，打造适合你的专属流程。","","\u003c/details\u003e","","---","","## 新闻","","- [2026-09-10] **v2.2.1** | Creator 1.2 蓝图工作台、按智能体配置的模型路由和统一环境管理。[v2.2.1 发布说明 →](https://qwenpaw.agentscope.io/release-notes#v2.2.1)","","- [2026-09-03] **v2.2.0** | 新增可自托管的多用户 QwenPaw Hub、QwenPaw Mail、原生 QwenPaw Data、统一模型路由和 Creator 1.1，并全面改进应用市场、控制台、Skills、频道与运行可靠性。[v2.2.0 发布说明 →](https://qwenpaw.agentscope.io/release-notes#v2.2.0)","","- [2026-08-13] **v2.1.0** | QwenPaw OS Shell、统一文件工作区、QwenPaw Creator、Codex/Qoder 智能体接入、Browser-use、Computer-use、工作区检查点和长对话任务续接等。[v2.1.0 发布说明 →](https://qwenpaw.agentscope.io/release-notes#v2.1.0)","","- [2026-07-24] **v2.0.1** | PawApp 小程序平台、用户可编辑 Agent Mode、Oh-My-Paw plugins、[ReMe](https://github.com/agentscope-ai/ReMe) 记忆增强、桌面端用户体验增强等。[v2.0.1 发布说明 →](https://qwenpaw.agentscope.io/release-notes#v2.0.1)","","- [2026-07-10] **v2.0.0 — QwenPaw 2.0 正式发布** 🎉 | 基于 AgentScope 2.0 全面重构，带来 Agent OS 架构、Loop Engineering、Scroll 上下文、[ReMe](https://github.com/agentscope-ai/ReMe) v0.4 自进化个人知识库与内置终端界面。","","  | 亮点 | 更新内容 |","  |------|----------|","  | **Agent OS — 工作区** | 每个智能体三大支柱：**资源**（透明落盘）、**治理**（allow/deny/ask/sandbox）、**沙箱**（macOS / Linux / Windows）。 |","  | **Agent OS — 驱动** | 协议中立的 MCP / A2A / ACP 连接器层，带加密凭据与逐次调用策略门控。 |","  | **Loop Engineering** | 高级智能体循环模板（Coding Mode、Mission Mode，更多模板持续推出），配合可组合审批门控。 |","  | **Scroll 上下文** | 每一轮都持久化；滚出窗口的轮次带索引，按需回放——不摘要、不丢失。 |","  | **[ReMe](https://github.com/agentscope-ai/ReMe) v0.4 自进化个人知识库** | 持续将对话与资料转化为可读、可编辑、可检索、相互链接的 Markdown 记忆。 |","  | **终端界面（TUI）** | 全屏终端对话——与控制台和频道共享同一智能体、记忆与会话。 |","","  基于 Agent OS，我们将陆续推出开箱即用的 QwenPaw 应用小程序——如 **QwenPaw Creator**、**QwenPaw Insight** 等，敬请期待。 [v2.0.0 发布说明 →](https://qwenpaw.agentscope.io/release-notes#v2.0.0)","","[全部发布说明 →](https://qwenpaw.agentscope.io/release-notes)","","---","","## 目录","","- [新闻](#新闻)","- [快速开始](#快速开始)","- [API Key](#api-key)","- [本地模型](#本地模型)","- [安全特性](#安全特性)","- [文档](#文档)","- [常见问题](#常见问题)","- [路线图](#路线图)","- [参与贡献](#参与贡献)","- [从源码安装](#从源码安装)","- [为什么叫 QwenPaw？](#为什么叫-qwenpaw)","- [由谁构建](#由谁构建)","- [许可证](#许可证)","","---","","## 快速开始","","### 方式一：pip 安装","","如果你习惯自行管理 Python 环境（需 Python \u003e= 3.11, \u003c 3.14）：","","```bash","pip install qwenpaw","qwenpaw init --defaults","qwenpaw app","```","","然后在浏览器中打开控制台 **http://127.0.0.1:8088/** 配置模型。若要在钉钉、飞书、微信等 app 内对话，请参考 [频道配置](https://qwenpaw.agentscope.io/docs/channels) 文档。","","![Console](https://img.alicdn.com/imgextra/i2/O1CN01EP1ra01iOAcBvF0TC_!!6000000004402-2-tps-3822-2070.png)","","---","","### 方式二：脚本安装","","无需手动配置 Python，一行命令自动完成安装。脚本会自动下载 uv（Python 包管理器）、创建虚拟环境、安装 QwenPaw 及其依赖（含 Node.js 和前端资源）。注意：部分网络环境或企业权限管控下可能无法使用。","","**macOS / Linux：**","","```bash","curl -fsSL https://qwenpaw.agentscope.io/install.sh | bash","```","","**Windows (CMD):**","","```CMD","curl -fsSL https://qwenpaw.agentscope.io/install.bat -o install.bat \u0026\u0026 install.bat","```","","**Windows（PowerShell）：**","","```powershell","irm https://qwenpaw.agentscope.io/install.ps1 | iex","```","","\u003e **注意**：安装程序将自动检查 uv 状态，若未安装则尝试自动下载配置。如遇自动安装失败，请遵循屏幕提示操作，或执行 `python -m pip install -U uv`，然后重新运行安装程序。","","\u003e **⚠️ Windows 企业版 LTSC 用户特别提示**","\u003e","\u003e 如果您使用的是 Windows LTSC 或受严格安全策略管控的企业环境，PowerShell 可能运行在 **受限语言模式** 下，可能会遇到以下问题：","\u003e 1. **如果你使用的是 CMD（.bat）：脚本执行成功但无法写入 `Path`**","\u003e","\u003e    脚本已完成文件安装，由于 **受限语言模式**，脚本无法自动更新环境变量，此时只需手动配置：","\u003e    - **找到安装目录**：","\u003e      - 检查 `uv` 是否可用：在 CMD 中输入 `uv --version`，如果显示版本号，则**只需配置 QwenPaw 路径**；如果提示 `'uv' is not recognized as an internal or external command, operable program or batch file,`，则需同时配置两者。","\u003e      - uv 路径（任选其一，取决于安装位置，若 `uv` 不可用则填）：通常在 `%USERPROFILE%\\.local\\bin`、`%USERPROFILE%\\AppData\\Local\\uv` 或 Python 安装目录下的 `Scripts` 文件夹","\u003e      - QwenPaw 路径：通常在 `%USERPROFILE%\\.qwenpaw\\bin`。","\u003e    - **手动添加到系统的 Path 环境变量**：","\u003e      - 按 `Win + R`，输入 `sysdm.cpl` 并回车，打开「系统属性」。","\u003e      - 点击「高级」→「环境变量」。","\u003e      - 在「系统变量」中找到并选中 `Path`，点击「编辑」。","\u003e      - 点击「新建」，依次填入上述两个目录路径，点击确定保存。","\u003e 2. **如果你使用的是 PowerShell（.ps1）：脚本运行中断**","\u003e","\u003e   由于 **受限语言模式**，脚本可能无法自动下载 `uv`。","\u003e   - **手动安装 uv**：参考 [GitHub Release](https://github.com/astral-sh/uv/releases) 下载并将 `uv.exe` 放至 `%USERPROFILE%\\.local\\bin` 或 `%USERPROFILE%\\AppData\\Local\\uv`；或者确保已安装 Python，然后运行 `python -m pip install -U uv`。","\u003e   - **配置 `uv` 环境变量**：将 `uv` 所在目录和 `%USERPROFILE%\\.qwenpaw\\bin` 添加到系统的 `Path` 变量中。","\u003e   - **重新运行**：打开新终端，再次执行安装脚本以完成 `QwenPaw` 安装。","\u003e   - **配置 `QwenPaw` 环境变量**：将 `%USERPROFILE%\\.qwenpaw\\bin` 添加到系统的 `Path` 变量中。","","安装完成后，请打开新终端并运行：","","```bash","qwenpaw init --defaults   # 或：qwenpaw init（交互式）","qwenpaw app","```","","\u003cdetails\u003e","\u003csummary\u003e\u003cb\u003e安装选项\u003c/b\u003e\u003c/summary\u003e","","**macOS / Linux：**","","```bash","# 安装指定版本","curl -fsSL ... | bash -s -- --version 1.1.0","","# 从源码安装（开发/测试用）","curl -fsSL ... | bash -s -- --from-source","","# 升级 — 重新运行安装命令即可","curl -fsSL ... | bash","","# 卸载","qwenpaw uninstall          # 保留配置和数据","qwenpaw uninstall --purge  # 删除所有内容","```","","**Windows（PowerShell）：**","","```powershell","# 安装指定版本","irm ... | iex; .\\install.ps1 -Version 1.1.12","","# 从源码安装（开发/测试用）",".\\install.ps1 -FromSource","","# 升级 — 重新运行安装命令即可","irm ... | iex","","# 卸载","qwenpaw uninstall          # 保留配置和数据","qwenpaw uninstall --purge  # 删除所有内容","```","","\u003c/details\u003e","","","---","","### 方式三：使用 Docker","","镜像在 **Docker Hub**（`agentscope/qwenpaw`）。镜像 tag：`latest`（稳定版）；`pre`（PyPI 预发布版）。","","```bash","docker pull agentscope/qwenpaw:latest","docker run -p 127.0.0.1:8088:8088 \\","  -v qwenpaw-data:/app/working \\","  -v qwenpaw-secrets:/app/working.secret \\","  -v qwenpaw-backups:/app/working.backups \\","  agentscope/qwenpaw:latest","```","","国内用户也可选用阿里云容器镜像服务 (ACR)：`agentscope-registry.ap-southeast-1.cr.aliyuncs.com/agentscope/qwenpaw`（tag 相同）。","","然后在浏览器中打开 **http://127.0.0.1:8088/** 进入控制台。配置、记忆与 Skills 保存在 `qwenpaw-data` 卷中；模型提供商设置与 API Key 保存在 `qwenpaw-secrets` 卷中；备份归档保存在 `qwenpaw-backups` 卷中。如需传入 API Key（如 `DASHSCOPE_API_KEY`），在 `docker run` 时添加 `-e VAR=value` 或 `--env-file .env`。","","\u003e **从容器内连接宿主机上的 Ollama 或其他模型服务**","\u003e","\u003e Docker 容器内的 `localhost` 指向容器自身，而非宿主机。如果 Ollama（或其他模型服务）运行在宿主机上，可通过以下方式让容器内的 QwenPaw 访问：","\u003e","\u003e **方式 A** — 显式绑定宿主机地址（全平台通用）：","\u003e ```bash","\u003e docker run -p 127.0.0.1:8088:8088 \\","\u003e   --add-host=host.docker.internal:host-gateway \\","\u003e   -v qwenpaw-data:/app/working \\","\u003e   -v qwenpaw-secrets:/app/working.secret \\","\u003e   -v qwenpaw-backups:/app/working.backups \\","\u003e   agentscope/qwenpaw:latest","\u003e ```","\u003e 然后在 QwenPaw **设置 → 模型** 中，将 Base URL 改为 `http://host.docker.internal:\u003c端口\u003e` — 例如 Ollama 填 `http://host.docker.internal:11434`，LM Studio 填 `http://host.docker.internal:1234/v1`。","\u003e","\u003e **方式 B** — 使用宿主机网络（仅限 Linux）：","\u003e ```bash","\u003e docker run --network=host \\","\u003e   -v qwenpaw-data:/app/working \\","\u003e   -v qwenpaw-secrets:/app/working.secret \\","\u003e   -v qwenpaw-backups:/app/working.backups \\","\u003e   agentscope/qwenpaw:latest","\u003e ```","\u003e 无需端口映射（`-p`），容器直接共享宿主机网络。注意这会将容器的所有端口暴露在宿主机上，可能与已占用的端口产生冲突。","\u003e","","镜像从零构建。若需自行构建镜像，请参阅 `scripts/README.md` 中的 [Build Docker image](scripts/README.md#build-docker-image) 小节，构建后推送到你的镜像仓库。","","---","","### 方式四：部署到阿里云 ECS","","若希望将 QwenPaw 部署在阿里云上，可使用阿里云 ECS 一键部署：打开 [QwenPaw 阿里云 ECS 部署链接](https://computenest.console.aliyun.com/service/instance/create/cn-hangzhou?type=user\u0026ServiceId=service-1ed84201799f40879884) 按页面提示操作即可。详细步骤见 [阿里云开发者社区：3 分钟部署你的 AI 助理](https://developer.aliyun.com/article/1713682)。","","---","","### 方式五：AgentScope Platform 部署","","[AgentScope Platform](https://platform.agentscope.io/) 提供一键云端 QwenPaw 部署、插件分享与 Skill 市场。完全免费，7/24 在线。","","---","","### 方式六：使用魔搭创空间","","使用 [魔搭创空间](https://modelscope.cn/studios/fork?target=AgentScope/QwenPaw) 也可进行云端 QwenPaw 部署。注意：请将创空间设为 **非公开**，否则他人可能操纵你的 QwenPaw。","","---","","### 方式七：桌面应用（Beta）","","\u003e **Beta 版本说明**：桌面应用目前处于 Beta 测试阶段，存在以下已知限制：","\u003e - **兼容性测试不完整**：未在所有系统版本和硬件配置上进行充分测试","\u003e - **性能可能存在缺陷**：启动速度、内存占用等方面可能需要进一步优化","\u003e - **功能持续完善中**：部分功能可能不稳定或缺失","","如果你不习惯使用命令行，可以下载并使用 QwenPaw 的桌面应用版本，无需手动配置 Python 环境或执行命令。","","#### 下载","","从 [官方下载页](https://qwenpaw.agentscope.io/downloads) 下载桌面应用（Tauri 版）：","- **Windows**：`QwenPaw-Tauri-\u003cversion\u003e-Windows-setup.exe`","- **macOS**：`QwenPaw-Tauri-\u003cversion\u003e-macOS.zip`（推荐 Apple Silicon）","","#### 特点","","- ✅ **零配置**：下载后双击即可运行，无需安装 Python 或配置环境变量","- ✅ **跨平台**：支持 Windows 10+ 和 macOS 14+","- ✅ **可视化**：自动打开应用界面，无需手动输入地址","- ⚠️ **Beta 阶段**：功能持续完善中，欢迎反馈问题","","#### 首次启动","","**重要提示**：首次启动可能需要 10-60 秒（取决于您的系统配置）。应用需要初始化 Python 环境和加载依赖，请耐心等待窗口自动打开。","","#### macOS：绕过系统安全限制","","当你从 Releases 下载 QwenPaw macOS 应用时，macOS 可能显示：*\"Apple 无法验证 'QwenPaw' 不包含恶意软件\"*。这是因为应用未经过公证。你仍然可以通过以下方式打开：","","- **右键打开（推荐）**","  右键点击（或 Control + 点击）QwenPaw 应用 → **「打开」** → 在对话框中再次点击 **「打开」**。这会告诉 Gatekeeper 你信任该应用；之后可以像往常一样双击启动。","","- **在系统设置中允许**","  如果仍被阻止，进入 **系统设置 → 隐私与安全性**，向下滚动找到类似 *「已阻止 'QwenPaw'，因为无法验证开发者」* 的提示，点击 **「仍要打开」** 或 **「允许」**。","","- **移除隔离属性（不推荐大多数用户）**","  在终端运行：","  `xattr -cr \"/Applications/QwenPaw Desktop.app\"`","  （或使用解压后的 `.app` 路径）。这会清除「从互联网下载」的隔离标志，使警告通常不会出现，但不如使用 **右键 → 打开** 安全和可控。","","详细使用说明、故障排除和常见问题，请参见 [桌面应用指南](https://qwenpaw.agentscope.io/docs/desktop)。","","---","","### 下一步？","","安装完成后，在 **控制台 → 设置 → 模型** 中配置模型，然后探索：","","- [添加 Skills](https://qwenpaw.agentscope.io/docs/skills) 扩展能力（PDF、Office、浏览器、新闻等）","- [配置频道](https://qwenpaw.agentscope.io/docs/channels) 连接钉钉、飞书、Discord 等","- [配置 Cron](https://qwenpaw.agentscope.io/docs/cron) 实现定时任务与自动化","- 查看完整 [快速开始指南](https://qwenpaw.agentscope.io/docs/quickstart) 了解所有选项与验证步骤","","---","","## 终端界面（TUI）","","更喜欢待在终端里？运行 `qwenpaw` 即可打开一个全屏聊天 **TUI**，它驱动的是与控制台、IM 频道**完全相同**的智能体 — 同一份记忆、技能、MCP 工具与会话 — 无需离开键盘。","","```bash","qwenpaw                     # 与当前激活的智能体开启对话","qwenpaw tui --resume \u003cid\u003e   # 恢复之前的某个会话","qwenpaw .                   # 在当前代码仓库中启动（Coding 模式）","```","","支持流式回复、斜杠命令（`/help`、`/resume`、`/theme`，以及智能体自身的 `/model`、`/clear` 等）、把文件 / 长文本作为附件粘贴，以及行内工具授权提示。详见 [终端界面指南](https://qwenpaw.agentscope.io/docs/tui)。","","![QwenPaw 终端界面](https://img.alicdn.com/imgextra/i2/O1CN01IULzib1TRAzigIcqG_!!6000000002378-2-tps-2350-1312.png)","","---","","## API Key","","若使用**云端大模型 API**（如 DashScope / 通义千问、OpenAI、Anthropic、Google Gemini、DeepSeek、Kimi、OpenRouter 等），在开始对话前必须配置 API Key。未配置有效 Key 前，QwenPaw 无法正常工作。详情请参考 [官方文档](https://qwenpaw.agentscope.io/docs/models)。","","**配置方式：**","","1. **控制台（推荐）** — 运行 `qwenpaw app` 后，打开 **http://127.0.0.1:8088/** → **设置** → **模型**。选择提供商、填写 **API Key**，并启用该提供商与模型。","2. **`qwenpaw init`** — 运行 `qwenpaw init` 时，会引导你配置 LLM 提供商与 API Key。按提示选择提供商并填写 Key 即可。","3. **环境变量** — 使用 DashScope 时，可在终端或工作目录下的 `.env` 文件中设置 `DASHSCOPE_API_KEY`。","","其他工具所需密钥（如网页搜索的 `TAVILY_API_KEY`）可在控制台 **设置 → 环境变量** 中配置，详见 [配置](https://qwenpaw.agentscope.io/docs/config)。","","\u003e **仅用本地模型？** 若使用 [本地模型](#本地模型)（QwenPaw Local / Ollama / LM Studio），则**无需**任何 API Key。","","## 本地模型","","QwenPaw 可在本机完全本地运行大模型，无需 API Key 或云端服务。详情请见 [官方文档](https://qwenpaw.agentscope.io/docs/models)。","","QwenPaw 还提供 **QwenPaw-Flash** 系列 — 面向 Agent 场景专项训练的 2B / 4B / 9B 模型，提供 Q4 与 Q8 量化版本。可在 [ModelScope](https://www.modelscope.cn/organization/AgentScope?tab=model) 与 [Hugging Face](https://huggingface.co/agentscope-ai/models) 获取。","","| 后端                              | 适用场景                                 | 安装                                                                 |","| --------------------------------- | ---------------------------------------- | -------------------------------------------------------------------- |","| **QwenPaw Local**（llama.cpp）    | 跨平台（macOS / Linux / Windows）        | 内置；在 Web 界面点击「Download」即可。支持 QwenPaw-Flash，并提供硬件感知推荐。 |","| **Ollama**                        | 跨平台（需要 Ollama 服务运行）           | 安装并启动 Ollama；将上下文长度设为 ≥ 32k。                          |","| **LM Studio**                     | 跨平台（需要 LM Studio 服务运行）        | 安装并启动 LM Studio；启用 Local Server。                            |","","---","","## 安全特性","","QwenPaw 内置五层核心安全防护：","","- **Sandbox** — 内核级执行隔离，macOS 使用 Seatbelt，Linux 使用 Bubblewrap / Landlock，Windows 使用 AppContainer。Shell 命令在受限文件系统视图中运行。","- **Tool Guard** — 带 `ShellEvasionGuardian` 的 YAML 规则引擎，在每次工具调用执行前进行检查，检测命令注入、路径遍历、反向 Shell 与混淆攻击。可配置审批级别：STRICT / SMART / AUTO / OFF。","- **File Guard** — 独立于 Tool Guard；阻止智能体访问敏感文件与目录（默认保护 `~/.qwenpaw.secret/`、`~/.ssh` 等）。","- **Skill Scanner** — 激活前扫描，支持 block / warn / off 模式与白名单。检测提示词注入、硬编码密钥、数据外泄等风险。","- **Access Policy** — 声明式访问策略，对每次能力调用裁定放行(allow)、拒绝(deny)或请求人工审批(ask)，支持工具级粒度和来源感知匹配。","","详见 [安全文档](https://qwenpaw.agentscope.io/docs/security)。","","---","","## 文档","","| 主题                                                                 | 说明                                             |","| -------------------------------------------------------------------- | ------------------------------------------------ |","| [项目介绍](https://qwenpaw.agentscope.io/docs/intro)                 | QwenPaw 是什么、怎么用                           |","| [快速开始](https://qwenpaw.agentscope.io/docs/quickstart)            | 安装与运行（本地或魔搭创空间）                   |","| [控制台](https://qwenpaw.agentscope.io/docs/console)                 | Web 界面：对话与智能体配置                       |","| [终端界面（TUI）](https://qwenpaw.agentscope.io/docs/tui)            | 终端全屏对话，与控制台共用同一智能体             |","| [桌面应用](https://qwenpaw.agentscope.io/docs/desktop)               | 桌面应用安装与使用                               |","| [模型](https://qwenpaw.agentscope.io/docs/models)                    | 配置云端、本地与自定义提供商                     |","| [频道配置](https://qwenpaw.agentscope.io/docs/channels)              | 钉钉、飞书、QQ、Discord、iMessage 等             |","| [Skills](https://qwenpaw.agentscope.io/docs/skills)                  | 扩展与自定义能力                                 |","| [插件系统](https://qwenpaw.agentscope.io/docs/plugins)               | 插件体系与 Plugin Market                         |","| [MCP 和工具](https://qwenpaw.agentscope.io/docs/mcp)                 | 管理 MCP 客户端                                  |","| [Persona](https://qwenpaw.agentscope.io/docs/persona)                | 智能体人格定制（SOUL / PROFILE）                 |","| [记忆](https://qwenpaw.agentscope.io/docs/memory)                    | 基于本地、可编辑、可检索且相互链接的 Markdown 记忆构建自进化个人知识库，由 [ReMe](https://github.com/agentscope-ai/ReMe) 驱动 |","| [ReMe 文档](https://docs.agentscope.io/reme/latest/zh/overview)      | ReMe 官方概览与文档                              |","| [记忆进化与主动交互](https://qwenpaw.agentscope.io/docs/memory-evolving-and-proactive) | 智能体记忆进化与主动交互                 |","| [上下文](https://qwenpaw.agentscope.io/docs/context)                 | 基于滚动的上下文管理                             |","| [魔法命令](https://qwenpaw.agentscope.io/docs/commands)              | 无需等待 AI 理解即可控制对话状态                 |","| [心跳](https://qwenpaw.agentscope.io/docs/heartbeat)                 | 定时自检与摘要                                   |","| [Cron / 定时任务](https://qwenpaw.agentscope.io/docs/cron)           | 定时任务与自动化                                 |","| [多智能体](https://qwenpaw.agentscope.io/docs/multi-agent)           | 创建多个智能体并启用协作                         |","| [安全](https://qwenpaw.agentscope.io/docs/security)                    | Sandbox、Tool Guard、File Guard、Skill Scanner、Access Policy |","| [备份与恢复](https://qwenpaw.agentscope.io/docs/backup)              | 数据备份与恢复                                   |","| [配置与工作目录](https://qwenpaw.agentscope.io/docs/config)          | 工作目录与配置文件                               |","| [REST API](https://qwenpaw.agentscope.io/docs/api-tutorial)          | 用于集成与自动化的 HTTP API                      |","| [ACP 集成](https://qwenpaw.agentscope.io/docs/acp-integration)       | Agent Communication Protocol 集成                |","| [CLI](https://qwenpaw.agentscope.io/docs/cli)                        | 初始化、定时任务、Skills、清理                   |","| [Agent 团队实践](https://qwenpaw.agentscope.io/docs/practice-agent-team) | 多智能体团队部署指南                         |","| [FAQ](https://qwenpaw.agentscope.io/docs/faq)                        | 常见问题与故障排查                               |","","完整文档：[qwenpaw.agentscope.io/docs](https://qwenpaw.agentscope.io/docs)","","---","","## 常见问题","","更多常见问题、故障排查技巧和已知问题，请访问 **[FAQ 页面](https://qwenpaw.agentscope.io/docs/faq)**。","","---","","## 路线图","","| 方向                     | 事项                                      | 状态   |","| ------------------------ | ----------------------------------------- | ------ |","| **横向拓展**             | 更多频道、模型、技能、MCP                 | 征集中 |","| **已有功能扩展与完善**   | 展示、下载与 Windows 兼容优化             | 征集中 |","| **模型**                 | 多模型切换                                | 进行中 |","| **安全与审批**           | 批量预览与批准                            | 进行中 |","| **自动化**               | 自动化任务                                | 进行中 |","| **智能体交互**           | 智能体任务交接                            | 进行中 |","|                          | 运行中任务调整                            | 进行中 |","| **工作区**               | 多工作区                                  | 进行中 |","| **上下文**               | 系统提示压缩                              | 进行中 |","| **工具系统**             | 多位置文件修改                            | 进行中 |","|                          | 持久终端与后台任务                        | 进行中 |","| **Computer-use**         | 屏幕目标定位与操作                        | 进行中 |","| **语音交互**             | 实时语音任务                              | 进行中 |","| **上下文管理与记忆**     | 向量模型与存储热切换                      | 进行中 |","|                          | 个人知识库                                | 进行中 |","| **QwenPaw 应用**         | QwenPaw Insight                           | 进行中 |","|                          | QwenPaw Mail                              | 进行中 |","","_状态说明：**进行中** — 正在积极开发；**征集中** — 我们强烈鼓励社区参与。_","","---","","## 参与贡献","","QwenPaw 在开放协作中持续演进，欢迎各种形式的参与！请参考上方 [路线图](#路线图)（尤其是标记为 **征集中** 的项）选择你感兴趣的方向，并阅读 [CONTRIBUTING](https://github.com/agentscope-ai/QwenPaw/blob/main/CONTRIBUTING_zh.md) 了解如何开始。我们特别欢迎：","","- **横向拓展** — 新频道、模型提供商、Skills、MCP。","- **已有功能扩展与完善** — 展示与交互优化、下载提示、Windows 路径兼容等。","","欢迎在 [GitHub Discussions](https://github.com/agentscope-ai/QwenPaw/discussions) 参与讨论、提出想法或认领任务。","","---","","## 从源码安装","","```bash","git clone https://github.com/agentscope-ai/QwenPaw.git","cd QwenPaw","","# 先构建前端控制台（Web 界面必需）","cd console \u0026\u0026 npm ci \u0026\u0026 npm run build","cd ..","","# 将控制台构建产物复制到包目录","mkdir -p src/qwenpaw/console","cp -R console/dist/. src/qwenpaw/console/","","# 安装 Python 包","pip install -e .","```","","- **开发**（测试、格式化）：`pip install -e \".[dev,test,full]\"`","- **然后**：运行 `qwenpaw init --defaults`，再运行 `qwenpaw app`。","","\u003e **版本更新提示：** 当执行 `git pull` 更新到大版本后，请重新构建前端、重新安装 Python 包（`pip install -e .`）、重启 `qwenpaw app`，并清除浏览器缓存（`Ctrl+Shift+R` 或 macOS 上 `Cmd+Shift+R`）。","","---","","## 为什么叫 QwenPaw？","","QwenPaw 既是 Qwen Personal Agent Workstation（千问个人智能体工作台），也寓意 Qwen 的智识与 Paw 的温度。我们希望它不是冰冷的工具，而是一只随时准备帮忙的智慧、温暖「小爪子」，是你数字生活中最默契的伙伴。","","---","","## 由谁构建","","[AgentScope 团队](https://github.com/agentscope-ai) · [AgentScope](https://github.com/agentscope-ai/agentscope) · [AgentScope Runtime](https://github.com/agentscope-ai/agentscope-runtime) · [ReMe](https://github.com/agentscope-ai/ReMe)","","---","","## 联系我们","","| [Discord](https://discord.gg/eYMpfnkG8h)                     | [X (Twitter)](https://x.com/agentscope_ai)                   | [钉钉](https://qr.dingtalk.com/action/joingroup?code=v1,k1,OmDlBXpjW+I2vWjKDsjvI9dhcXjGZi3bQiojOq3dlDw=\u0026_dt_no_comment=1\u0026origin=11) | [小红书](https://www.xiaohongshu.com/user/profile/691c18db0000000037032be9) |","| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |","| [\u003cimg src=\"https://gw.alicdn.com/imgextra/i1/O1CN01hhD1mu1Dd3BWVUvxN_!!6000000000238-2-tps-400-400.png\" width=\"80\" height=\"80\" alt=\"Discord\"\u003e](https://discord.gg/eYMpfnkG8h) | [\u003cimg src=\"https://img.shields.io/badge/X-black.svg?logo=x\u0026logoColor=white\" width=\"80\" height=\"80\" alt=\"X\"\u003e](https://x.com/agentscope_ai) | [\u003cimg src=\"https://img.alicdn.com/imgextra/i2/O1CN01vCWI8a1skHtLGXEMQ_!!6000000005804-2-tps-458-460.png\" width=\"80\" height=\"80\" alt=\"钉钉\"\u003e](https://qr.dingtalk.com/action/joingroup?code=v1,k1,OmDlBXpjW+I2vWjKDsjvI9dhcXjGZi3bQiojOq3dlDw=\u0026_dt_no_comment=1\u0026origin=11) | [\u003cimg src=\"https://img.alicdn.com/imgextra/i3/O1CN016BoEPS1l33CE9mHb9_!!6000000004762-0-tps-160-160.jpg\" width=\"80\" height=\"80\" alt=\"小红书\"\u003e](https://www.xiaohongshu.com/user/profile/691c18db0000000037032be9) |","","---","","## 掌握最新动态","","\u003ca href=\"https://github.com/agentscope-ai/QwenPaw\"\u003e","  \u003cimg src=\"https://img.alicdn.com/imgextra/i1/O1CN01V8HYv61By0HYcIDaq_!!6000000000013-1-tps-1698-954.gif\" width=\"600\" alt=\"Star QwenPaw\" /\u003e","\u003c/a\u003e","","在 GitHub 上 Star QwenPaw，第一时间收到新版本发布通知。","","---","","## 遥测数据","","QwenPaw 在执行 `qwenpaw init` 时会收集**匿名**使用数据，帮助我们了解用户环境并优化产品。数据**每个版本收集一次** — 当你升级 QwenPaw 后，会重新收集以便我们了解版本分布。","","**收集的信息：**","","- QwenPaw 版本（如 1.1.12）","- 安装方式（pip、Docker 或桌面应用）","- 操作系统及版本（如 macOS 14.0、Ubuntu 22.04）","- Python 版本（如 3.13）","- CPU 架构（如 x86_64、arm64）","- GPU 是否可用（是/否）","","**不收集：** 不涉及任何个人数据、文件、密钥、IP 地址或可识别信息。","","交互式运行 `qwenpaw init` 时，会询问你是否同意。使用 `--defaults` 模式则自动同意。提示每个版本仅出现一次，且不影响 QwenPaw 的任何功能。","","---","","## 许可证","","QwenPaw 采用 [Apache License 2.0](LICENSE) 开源协议。","","---","","## 贡献者","","感谢所有为 QwenPaw 做出贡献的朋友们：","","\u003ca href=\"https://github.com/agentscope-ai/QwenPaw/graphs/contributors\"\u003e","  \u003cimg src=\"https://contrib.rocks/image?repo=agentscope-ai/QwenPaw\" alt=\"贡献者\" /\u003e","\u003c/a\u003e"],"stylingDirectives":[[[1,4,"pl-ent"],[5,10,"pl-e"],[11,12,"pl-s"],[12,18,"pl-s"],[18,19,"pl-s"]],[],[[0,9,"pl-mh"],[2,9,"pl-en"]],[],[[0,1,"pl-s"],[1,3,"pl-s"],[12,13,"pl-s"],[13,14,"pl-s"],[14,74,"pl-corl"],[74,76,"pl-s"],[76,77,"pl-s"],[77,117,"pl-corl"],[117,118,"pl-s"]],[[0,1,"pl-s"],[1,3,"pl-s"],[7,8,"pl-s"],[8,9,"pl-s"],[9,80,"pl-corl"],[80,82,"pl-s"],[82,83,"pl-s"],[83,116,"pl-corl"],[116,117,"pl-s"]],[[0,1,"pl-s"],[1,3,"pl-s"],[5,6,"pl-s"],[6,7,"pl-s"],[7,79,"pl-corl"],[79,81,"pl-s"],[81,82,"pl-s"],[82,112,"pl-corl"],[112,113,"pl-s"]],[[0,1,"pl-s"],[1,3,"pl-s"],[12,13,"pl-s"],[13,14,"pl-s"],[14,102,"pl-corl"],[102,104,"pl-s"],[104,105,"pl-s"],[105,138,"pl-corl"],[138,139,"pl-s"]],[[0,1,"pl-s"],[1,3,"pl-s"],[7,8,"pl-s"],[8,9,"pl-s"],[9,72,"pl-corl"],[72,74,"pl-s"],[74,75,"pl-s"],[75,115,"pl-corl"],[115,116,"pl-s"]],[[0,1,"pl-s"],[1,3,"pl-s"],[6,7,"pl-s"],[7,8,"pl-s"],[8,111,"pl-corl"],[111,113,"pl-s"],[113,114,"pl-s"],[114,121,"pl-corl"],[121,122,"pl-s"]],[[0,1,"pl-s"],[1,3,"pl-s"],[7,8,"pl-s"],[8,9,"pl-s"],[9,121,"pl-corl"],[121,123,"pl-s"],[123,124,"pl-s"],[124,152,"pl-corl"],[152,153,"pl-s"]],[[0,1,"pl-s"],[1,3,"pl-s"],[14,15,"pl-s"],[15,16,"pl-s"],[16,120,"pl-corl"],[120,122,"pl-s"],[122,123,"pl-s"],[123,174,"pl-corl"],[174,175,"pl-s"]],[[0,1,"pl-s"],[1,3,"pl-s"],[14,15,"pl-s"],[15,16,"pl-s"],[16,120,"pl-corl"],[120,122,"pl-s"],[122,123,"pl-s"],[123,171,"pl-corl"],[171,172,"pl-s"]],[],[[0,1,"pl-s"],[1,3,"pl-s"],[10,11,"pl-s"],[11,12,"pl-s"],[12,84,"pl-corl"],[84,86,"pl-s"],[86,87,"pl-s"],[87,116,"pl-corl"],[116,117,"pl-s"]],[[0,1,"pl-s"],[1,3,"pl-s"],[4,5,"pl-s"],[5,6,"pl-s"],[6,63,"pl-corl"],[63,65,"pl-s"],[65,66,"pl-s"],[66,93,"pl-corl"],[93,94,"pl-s"]],[[0,1,"pl-s"],[1,3,"pl-s"],[6,7,"pl-s"],[7,8,"pl-s"],[8,64,"pl-corl"],[64,66,"pl-s"],[66,67,"pl-s"],[67,190,"pl-corl"],[190,191,"pl-s"]],[[0,1,"pl-s"],[1,3,"pl-s"],[18,19,"pl-s"],[19,20,"pl-s"],[20,125,"pl-corl"],[125,127,"pl-s"],[127,128,"pl-s"],[128,159,"pl-corl"],[159,160,"pl-s"]],[],[[1,2,"pl-ent"],[3,7,"pl-e"],[8,9,"pl-s"],[9,49,"pl-s"],[49,50,"pl-s"],[51,57,"pl-e"],[58,59,"pl-s"],[59,65,"pl-s"],[65,66,"pl-s"],[68,71,"pl-ent"],[72,75,"pl-e"],[76,77,"pl-s"],[77,144,"pl-s"],[144,145,"pl-s"],[146,149,"pl-e"],[150,151,"pl-s"],[151,187,"pl-s"],[187,188,"pl-s"],[189,194,"pl-e"],[195,196,"pl-s"],[196,223,"pl-s"],[196,201,"pl-c1"],[196,201,"pl-c1"],[203,208,"pl-c1"],[206,208,"pl-k"],[210,216,"pl-c1"],[210,216,"pl-c1"],[218,222,"pl-c1"],[220,222,"pl-k"],[223,224,"pl-s"],[225,230,"pl-e"],[231,232,"pl-s"],[232,235,"pl-s"],[235,236,"pl-s"],[237,243,"pl-e"],[244,245,"pl-s"],[245,247,"pl-s"],[247,248,"pl-s"],[252,253,"pl-ent"]],[],[[0,2,"pl-s"],[4,5,"pl-s"],[5,6,"pl-s"],[6,36,"pl-corl"],[36,38,"pl-s"],[39,41,"pl-s"],[48,49,"pl-s"],[49,50,"pl-s"],[50,59,"pl-corl"],[59,61,"pl-s"],[62,64,"pl-s"],[67,68,"pl-s"],[68,69,"pl-s"],[69,81,"pl-corl"],[81,83,"pl-s"],[84,86,"pl-s"],[93,94,"pl-s"],[94,95,"pl-s"],[95,107,"pl-corl"],[107,109,"pl-s"]],[],[[1,2,"pl-ent"],[3,8,"pl-e"],[9,10,"pl-s"],[10,16,"pl-s"],[16,17,"pl-s"]],[[3,6,"pl-ent"],[7,10,"pl-e"],[11,12,"pl-s"],[12,104,"pl-s"],[104,105,"pl-s"],[106,109,"pl-e"],[110,111,"pl-s"],[111,123,"pl-s"],[123,124,"pl-s"],[125,130,"pl-e"],[131,132,"pl-s"],[132,135,"pl-s"],[135,136,"pl-s"]],[[2,3,"pl-ent"]],[],[[1,2,"pl-ent"],[3,8,"pl-e"],[9,10,"pl-s"],[10,16,"pl-s"],[16,17,"pl-s"],[19,20,"pl-ent"],[33,34,"pl-ent"],[37,38,"pl-ent"]],[],[[2,5,"pl-ent"]],[],[],[],[[0,1,"pl-ml"],[2,3,"pl-ml"],[4,5,"pl-ml"]],[[0,1,"pl-ml"],[42,43,"pl-ml"],[225,226,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[9,11,"pl-s"],[36,37,"pl-ml"],[64,65,"pl-s"],[69,70,"pl-s"],[70,71,"pl-s"],[71,108,"pl-corl"],[108,109,"pl-s"],[162,163,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[13,15,"pl-s"],[35,36,"pl-ml"],[175,176,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[8,10,"pl-s"],[35,36,"pl-ml"],[140,141,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[11,13,"pl-s"],[37,38,"pl-ml"],[188,189,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[11,13,"pl-s"],[33,34,"pl-ml"],[184,185,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[8,10,"pl-s"],[34,35,"pl-ml"],[174,175,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[8,10,"pl-s"],[34,35,"pl-ml"],[183,184,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[12,14,"pl-s"],[36,37,"pl-ml"],[170,171,"pl-ml"]],[],[[1,8,"pl-ent"]],[[1,8,"pl-ent"],[10,11,"pl-ent"],[30,31,"pl-ent"],[34,41,"pl-ent"]],[],[[1,3,"pl-ent"]],[],[[0,1,"pl-v"],[2,4,"pl-s"],[12,14,"pl-s"]],[[0,1,"pl-v"],[2,4,"pl-s"],[9,11,"pl-s"]],[[0,1,"pl-v"],[2,4,"pl-s"],[8,10,"pl-s"]],[[0,1,"pl-v"],[2,4,"pl-s"],[8,10,"pl-s"]],[[0,1,"pl-v"],[2,4,"pl-s"],[9,11,"pl-s"]],[[0,1,"pl-v"],[2,4,"pl-s"],[10,12,"pl-s"]],[],[[2,9,"pl-ent"]],[],[[0,3,"pl-ms"]],[],[[0,5,"pl-mh"],[3,5,"pl-en"]],[],[[0,1,"pl-v"],[2,3,"pl-s"],[13,14,"pl-s"],[15,17,"pl-s"],[23,25,"pl-s"],[65,66,"pl-s"],[79,80,"pl-s"],[80,81,"pl-s"],[81,131,"pl-corl"],[131,132,"pl-s"]],[],[[0,1,"pl-v"],[2,3,"pl-s"],[13,14,"pl-s"],[15,17,"pl-s"],[23,25,"pl-s"],[130,131,"pl-s"],[144,145,"pl-s"],[145,146,"pl-s"],[146,196,"pl-corl"],[196,197,"pl-s"]],[],[[0,1,"pl-v"],[2,3,"pl-s"],[13,14,"pl-s"],[15,17,"pl-s"],[23,25,"pl-s"],[128,129,"pl-s"],[142,143,"pl-s"],[143,144,"pl-s"],[144,194,"pl-corl"],[194,195,"pl-s"]],[],[[0,1,"pl-v"],[2,3,"pl-s"],[13,14,"pl-s"],[15,17,"pl-s"],[23,25,"pl-s"],[76,77,"pl-s"],[81,82,"pl-s"],[82,83,"pl-s"],[83,120,"pl-corl"],[120,121,"pl-s"],[138,139,"pl-s"],[152,153,"pl-s"],[153,154,"pl-s"],[154,204,"pl-corl"],[204,205,"pl-s"]],[],[[0,1,"pl-v"],[2,3,"pl-s"],[13,14,"pl-s"],[15,17,"pl-s"],[42,44,"pl-s"],[116,117,"pl-s"],[121,122,"pl-s"],[122,123,"pl-s"],[123,160,"pl-corl"],[160,161,"pl-s"]],[],[[2,3,"pl-ml"],[7,8,"pl-ml"],[14,15,"pl-ml"]],[[2,3,"pl-ml"],[9,10,"pl-ml"],[20,21,"pl-ml"]],[[2,3,"pl-ml"],[4,6,"pl-s"],[20,22,"pl-s"],[23,24,"pl-ml"],[35,37,"pl-s"],[39,41,"pl-s"],[48,50,"pl-s"],[52,54,"pl-s"],[79,81,"pl-s"],[83,85,"pl-s"],[112,113,"pl-ml"]],[[2,3,"pl-ml"],[4,6,"pl-s"],[19,21,"pl-s"],[22,23,"pl-ml"],[67,68,"pl-ml"]],[[2,3,"pl-ml"],[4,6,"pl-s"],[22,24,"pl-s"],[25,26,"pl-ml"],[83,84,"pl-ml"]],[[2,3,"pl-ml"],[4,6,"pl-s"],[16,18,"pl-s"],[19,20,"pl-ml"],[55,56,"pl-ml"]],[[2,3,"pl-ml"],[4,6,"pl-s"],[6,7,"pl-s"],[11,12,"pl-s"],[12,13,"pl-s"],[13,50,"pl-corl"],[50,51,"pl-s"],[65,67,"pl-s"],[68,69,"pl-ml"],[111,112,"pl-ml"]],[[2,3,"pl-ml"],[4,6,"pl-s"],[15,17,"pl-s"],[18,19,"pl-ml"],[50,51,"pl-ml"]],[],[[44,46,"pl-s"],[61,63,"pl-s"],[64,66,"pl-s"],[81,83,"pl-s"],[92,93,"pl-s"],[106,107,"pl-s"],[107,108,"pl-s"],[108,158,"pl-corl"],[158,159,"pl-s"]],[],[[0,1,"pl-s"],[9,10,"pl-s"],[10,11,"pl-s"],[11,54,"pl-corl"],[54,55,"pl-s"]],[],[[0,3,"pl-ms"]],[],[[0,5,"pl-mh"],[3,5,"pl-en"]],[],[[0,1,"pl-v"],[2,3,"pl-s"],[5,6,"pl-s"],[6,7,"pl-s"],[7,10,"pl-corl"],[10,11,"pl-s"]],[[0,1,"pl-v"],[2,3,"pl-s"],[7,8,"pl-s"],[8,9,"pl-s"],[9,14,"pl-corl"],[14,15,"pl-s"]],[[0,1,"pl-v"],[2,3,"pl-s"],[10,11,"pl-s"],[11,12,"pl-s"],[12,20,"pl-corl"],[20,21,"pl-s"]],[[0,1,"pl-v"],[2,3,"pl-s"],[7,8,"pl-s"],[8,9,"pl-s"],[9,14,"pl-corl"],[14,15,"pl-s"]],[[0,1,"pl-v"],[2,3,"pl-s"],[7,8,"pl-s"],[8,9,"pl-s"],[9,14,"pl-corl"],[14,15,"pl-s"]],[[0,1,"pl-v"],[2,3,"pl-s"],[5,6,"pl-s"],[6,7,"pl-s"],[7,10,"pl-corl"],[10,11,"pl-s"]],[[0,1,"pl-v"],[2,3,"pl-s"],[7,8,"pl-s"],[8,9,"pl-s"],[9,14,"pl-corl"],[14,15,"pl-s"]],[[0,1,"pl-v"],[2,3,"pl-s"],[6,7,"pl-s"],[7,8,"pl-s"],[8,12,"pl-corl"],[12,13,"pl-s"]],[[0,1,"pl-v"],[2,3,"pl-s"],[7,8,"pl-s"],[8,9,"pl-s"],[9,14,"pl-corl"],[14,15,"pl-s"]],[[0,1,"pl-v"],[2,3,"pl-s"],[8,9,"pl-s"],[9,10,"pl-s"],[10,16,"pl-corl"],[16,17,"pl-s"]],[[0,1,"pl-v"],[2,3,"pl-s"],[16,17,"pl-s"],[17,18,"pl-s"],[18,31,"pl-corl"],[31,32,"pl-s"]],[[0,1,"pl-v"],[2,3,"pl-s"],[7,8,"pl-s"],[8,9,"pl-s"],[9,14,"pl-corl"],[14,15,"pl-s"]],[[0,1,"pl-v"],[2,3,"pl-s"],[6,7,"pl-s"],[7,8,"pl-s"],[8,12,"pl-corl"],[12,13,"pl-s"]],[],[[0,3,"pl-ms"]],[],[[0,7,"pl-mh"],[3,7,"pl-en"]],[],[[0,14,"pl-mh"],[4,14,"pl-en"]],[],[],[],[[0,3,"pl-s"],[3,7,"pl-en"]],[],[],[],[[0,3,"pl-s"]],[],[[13,15,"pl-s"],[15,37,"pl-corl"],[37,39,"pl-s"],[70,71,"pl-s"],[75,76,"pl-s"],[76,77,"pl-s"],[77,120,"pl-corl"],[120,121,"pl-s"]],[],[[0,2,"pl-s"],[9,10,"pl-s"],[10,11,"pl-s"],[11,105,"pl-corl"],[105,106,"pl-s"]],[],[[0,3,"pl-ms"]],[],[[0,12,"pl-mh"],[4,12,"pl-en"]],[],[],[],[[0,2,"pl-s"],[16,18,"pl-s"]],[],[[0,3,"pl-s"],[3,7,"pl-en"]],[[52,53,"pl-k"]],[[0,3,"pl-s"]],[],[[0,2,"pl-s"],[16,18,"pl-s"]],[],[[0,3,"pl-s"],[3,6,"pl-en"],[6,6,"pl-c1"]],[[0,82,"pl-c1"]],[[0,0,"pl-c1"],[0,3,"pl-s"]],[],[[0,2,"pl-s"],[22,24,"pl-s"]],[],[[0,3,"pl-s"],[3,13,"pl-en"],[13,13,"pl-c1"]],[[0,51,"pl-c1"]],[[0,0,"pl-c1"],[0,3,"pl-s"]],[],[[0,103,"pl-ent"],[0,2,"pl-ent"],[2,4,"pl-s"],[6,8,"pl-s"],[62,63,"pl-s"],[63,90,"pl-c1"],[90,91,"pl-s"]],[[0,0,"pl-ent"]],[[0,32,"pl-ent"],[0,2,"pl-ent"],[2,4,"pl-s"],[30,32,"pl-s"]],[[0,1,"pl-ent"],[0,1,"pl-ent"]],[[0,79,"pl-ent"],[0,2,"pl-ent"],[56,58,"pl-s"],[64,66,"pl-s"]],[[0,45,"pl-ent"],[0,2,"pl-ent"],[2,3,"pl-s"],[3,4,"pl-v"],[5,7,"pl-s"],[37,38,"pl-s"],[38,42,"pl-c1"],[42,43,"pl-s"],[43,45,"pl-s"]],[[0,1,"pl-ent"],[0,1,"pl-ent"]],[[0,51,"pl-ent"],[0,2,"pl-ent"],[18,20,"pl-s"],[26,28,"pl-s"]],[[0,18,"pl-ent"],[0,2,"pl-ent"],[5,6,"pl-v"],[7,9,"pl-s"],[15,17,"pl-s"]],[[0,183,"pl-ent"],[0,2,"pl-ent"],[7,8,"pl-v"],[12,13,"pl-s"],[13,15,"pl-c1"],[15,16,"pl-s"],[32,33,"pl-s"],[33,45,"pl-c1"],[45,46,"pl-s"],[56,58,"pl-s"],[73,75,"pl-s"],[81,82,"pl-s"],[82,172,"pl-c1"],[172,173,"pl-s"]],[[0,135,"pl-ent"],[0,2,"pl-ent"],[7,8,"pl-v"],[30,31,"pl-s"],[31,33,"pl-c1"],[33,34,"pl-s"],[46,47,"pl-s"],[47,71,"pl-c1"],[71,72,"pl-s"],[73,74,"pl-s"],[74,104,"pl-c1"],[104,105,"pl-s"],[122,123,"pl-s"],[123,130,"pl-c1"],[130,131,"pl-s"]],[[0,53,"pl-ent"],[0,2,"pl-ent"],[7,8,"pl-v"],[24,25,"pl-s"],[25,51,"pl-c1"],[51,52,"pl-s"]],[[0,30,"pl-ent"],[0,2,"pl-ent"],[5,6,"pl-v"],[7,9,"pl-s"],[27,29,"pl-s"]],[[0,49,"pl-ent"],[0,2,"pl-ent"],[7,8,"pl-v"],[11,12,"pl-s"],[12,19,"pl-c1"],[19,20,"pl-s"],[24,25,"pl-s"],[25,34,"pl-c1"],[34,35,"pl-s"]],[[0,23,"pl-ent"],[0,2,"pl-ent"],[7,8,"pl-v"]],[[0,37,"pl-ent"],[0,2,"pl-ent"],[7,8,"pl-v"],[23,24,"pl-s"],[24,28,"pl-c1"],[28,29,"pl-s"]],[[0,36,"pl-ent"],[0,2,"pl-ent"],[7,8,"pl-v"]],[[0,40,"pl-ent"],[0,2,"pl-ent"],[2,3,"pl-s"],[3,4,"pl-v"],[5,7,"pl-s"],[38,40,"pl-s"]],[[0,1,"pl-ent"],[0,1,"pl-ent"]],[[0,34,"pl-ent"],[0,2,"pl-ent"],[7,9,"pl-s"],[15,17,"pl-s"],[29,30,"pl-s"],[30,32,"pl-c1"],[32,33,"pl-s"]],[[0,209,"pl-ent"],[0,2,"pl-ent"],[4,5,"pl-v"],[6,8,"pl-s"],[15,17,"pl-s"],[21,22,"pl-s"],[36,37,"pl-s"],[37,38,"pl-s"],[38,78,"pl-corl"],[78,79,"pl-s"],[85,86,"pl-s"],[86,92,"pl-c1"],[92,93,"pl-s"],[97,98,"pl-s"],[98,122,"pl-c1"],[122,123,"pl-s"],[126,127,"pl-s"],[127,157,"pl-c1"],[157,158,"pl-s"],[179,180,"pl-s"],[180,207,"pl-c1"],[207,208,"pl-s"]],[[0,83,"pl-ent"],[0,2,"pl-ent"],[4,5,"pl-v"],[6,8,"pl-s"],[11,12,"pl-s"],[12,14,"pl-c1"],[14,15,"pl-s"],[20,22,"pl-s"],[25,26,"pl-s"],[26,28,"pl-c1"],[28,29,"pl-s"],[36,37,"pl-s"],[37,63,"pl-c1"],[63,64,"pl-s"],[72,73,"pl-s"],[73,77,"pl-c1"],[77,78,"pl-s"]],[[0,46,"pl-ent"],[0,2,"pl-ent"],[4,5,"pl-v"],[6,8,"pl-s"],[12,14,"pl-s"],[33,34,"pl-s"],[34,41,"pl-c1"],[41,42,"pl-s"]],[[0,77,"pl-ent"],[0,2,"pl-ent"],[4,5,"pl-v"],[6,8,"pl-s"],[11,12,"pl-s"],[12,19,"pl-c1"],[19,20,"pl-s"],[25,27,"pl-s"],[30,31,"pl-s"],[31,57,"pl-c1"],[57,58,"pl-s"],[66,67,"pl-s"],[67,71,"pl-c1"],[71,72,"pl-s"]],[[0,0,"pl-ent"]],[],[],[[0,3,"pl-s"],[3,7,"pl-en"]],[[26,47,"pl-c"],[26,27,"pl-c"]],[],[[0,3,"pl-s"]],[],[[1,8,"pl-ent"]],[[1,8,"pl-ent"],[10,11,"pl-ent"],[18,19,"pl-ent"],[22,29,"pl-ent"]],[],[[0,2,"pl-s"],[16,18,"pl-s"]],[],[[0,3,"pl-s"],[3,7,"pl-en"]],[[0,8,"pl-c"],[0,1,"pl-c"]],[[15,16,"pl-k"]],[],[[0,15,"pl-c"],[0,1,"pl-c"]],[[15,16,"pl-k"]],[],[[0,17,"pl-c"],[0,1,"pl-c"]],[[15,16,"pl-k"]],[],[[0,4,"pl-c"],[0,1,"pl-c"]],[[27,36,"pl-c"],[27,28,"pl-c"]],[[27,35,"pl-c"],[27,28,"pl-c"]],[[0,3,"pl-s"]],[],[[0,2,"pl-s"],[22,24,"pl-s"]],[],[[0,3,"pl-s"],[3,13,"pl-en"],[13,13,"pl-c1"]],[[0,8,"pl-c1"]],[[0,44,"pl-c1"]],[[0,0,"pl-c1"]],[[0,15,"pl-c1"]],[[0,25,"pl-c1"]],[[0,0,"pl-c1"]],[[0,17,"pl-c1"]],[[0,13,"pl-c1"]],[[0,0,"pl-c1"]],[[0,4,"pl-c1"]],[[0,36,"pl-c1"]],[[0,35,"pl-c1"]],[[0,0,"pl-c1"],[0,3,"pl-s"]],[],[[2,9,"pl-ent"]],[],[],[[0,3,"pl-ms"]],[],[[0,17,"pl-mh"],[4,17,"pl-en"]],[],[[4,6,"pl-s"],[16,18,"pl-s"],[19,20,"pl-s"],[20,38,"pl-c1"],[38,39,"pl-s"],[48,49,"pl-s"],[49,55,"pl-c1"],[55,56,"pl-s"],[62,63,"pl-s"],[63,66,"pl-c1"],[66,67,"pl-s"]],[],[[0,3,"pl-s"],[3,7,"pl-en"]],[],[],[],[],[],[],[[0,3,"pl-s"]],[],[[24,25,"pl-s"],[25,94,"pl-c1"],[94,95,"pl-s"]],[],[[10,12,"pl-s"],[12,34,"pl-corl"],[34,36,"pl-s"],[61,62,"pl-s"],[62,74,"pl-c1"],[74,75,"pl-s"],[100,101,"pl-s"],[101,116,"pl-c1"],[116,117,"pl-s"],[129,130,"pl-s"],[130,145,"pl-c1"],[145,146,"pl-s"],[165,166,"pl-s"],[166,183,"pl-c1"],[183,184,"pl-s"],[188,189,"pl-s"],[189,199,"pl-c1"],[199,200,"pl-s"],[205,206,"pl-s"],[206,218,"pl-c1"],[218,219,"pl-s"],[222,223,"pl-s"],[223,238,"pl-c1"],[238,239,"pl-s"]],[],[[0,32,"pl-ent"],[0,2,"pl-ent"],[2,4,"pl-s"],[30,32,"pl-s"]],[[0,1,"pl-ent"],[0,1,"pl-ent"]],[[0,89,"pl-ent"],[0,2,"pl-ent"],[14,15,"pl-s"],[15,24,"pl-c1"],[24,25,"pl-s"]],[[0,1,"pl-ent"],[0,1,"pl-ent"]],[[0,30,"pl-ent"],[0,2,"pl-ent"],[2,4,"pl-s"],[8,10,"pl-s"]],[[0,9,"pl-ent"],[0,2,"pl-ent"],[2,5,"pl-s"],[5,9,"pl-en"]],[[0,37,"pl-ent"],[0,1,"pl-k"]],[[0,50,"pl-ent"],[0,1,"pl-k"]],[[0,34,"pl-ent"],[0,1,"pl-k"]],[[0,44,"pl-ent"],[0,1,"pl-k"]],[[0,45,"pl-ent"],[0,1,"pl-k"]],[[0,29,"pl-ent"],[0,1,"pl-k"]],[[0,5,"pl-ent"],[0,1,"pl-k"],[2,5,"pl-s"],[2,3,"pl-pds"],[3,4,"pl-pds"],[4,5,"pl-pds"]],[[0,177,"pl-ent"],[0,43,"pl-s"],[0,1,"pl-k"],[14,16,"pl-k"],[23,25,"pl-k"],[42,43,"pl-pds"],[71,72,"pl-k"],[74,75,"pl-k"],[75,92,"pl-s"],[75,76,"pl-pds"],[91,92,"pl-pds"],[125,140,"pl-s"],[125,126,"pl-pds"],[139,140,"pl-pds"],[175,177,"pl-s"],[175,176,"pl-pds"]],[[0,1,"pl-ent"],[0,1,"pl-s"],[0,1,"pl-k"]],[[0,31,"pl-ent"],[0,31,"pl-s"],[0,1,"pl-k"],[2,4,"pl-k"],[8,10,"pl-k"]],[[0,9,"pl-ent"],[0,5,"pl-s"],[0,1,"pl-k"],[2,3,"pl-pds"],[3,4,"pl-pds"],[4,5,"pl-pds"]],[[0,29,"pl-ent"],[0,1,"pl-k"]],[[0,34,"pl-ent"],[0,1,"pl-k"]],[[0,44,"pl-ent"],[0,1,"pl-k"]],[[0,45,"pl-ent"],[0,1,"pl-k"]],[[0,29,"pl-ent"],[0,1,"pl-k"]],[[0,5,"pl-ent"],[0,1,"pl-k"],[2,5,"pl-s"],[2,3,"pl-pds"],[3,4,"pl-pds"],[4,5,"pl-pds"]],[[0,61,"pl-ent"],[0,10,"pl-s"],[0,1,"pl-k"],[9,10,"pl-pds"],[12,61,"pl-s"],[12,13,"pl-pds"]],[[0,1,"pl-ent"],[0,1,"pl-s"],[0,1,"pl-k"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,118,"pl-ent"],[0,21,"pl-s"],[20,21,"pl-pds"],[38,118,"pl-s"],[38,39,"pl-pds"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,3,"pl-ent"],[0,3,"pl-s"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,18,"pl-ent"],[0,18,"pl-s"],[0,18,"pl-c"],[0,1,"pl-c"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,276,"pl-ent"],[0,276,"pl-s"],[137,138,"pl-k"],[147,148,"pl-k"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,3,"pl-ent"],[0,3,"pl-s"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,30,"pl-ent"],[0,30,"pl-s"],[0,30,"pl-c"],[0,1,"pl-c"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,101,"pl-ent"],[0,101,"pl-s"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,3,"pl-ent"],[0,3,"pl-s"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,15,"pl-ent"],[0,15,"pl-s"],[0,15,"pl-c"],[0,1,"pl-c"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,129,"pl-ent"],[0,129,"pl-s"],[45,46,"pl-k"],[102,104,"pl-k"],[107,109,"pl-k"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,3,"pl-ent"],[0,3,"pl-s"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,18,"pl-ent"],[0,18,"pl-s"],[0,18,"pl-c"],[0,1,"pl-c"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,44,"pl-ent"],[0,44,"pl-s"],[0,1,"pl-k"],[2,4,"pl-k"],[13,15,"pl-k"]],[[0,37,"pl-ent"],[0,37,"pl-s"],[0,1,"pl-k"],[4,6,"pl-k"],[14,16,"pl-k"]],[[0,38,"pl-ent"],[0,38,"pl-s"],[0,1,"pl-k"],[4,6,"pl-k"],[14,16,"pl-k"]],[[0,28,"pl-ent"],[0,28,"pl-s"],[0,1,"pl-k"],[4,6,"pl-k"],[13,15,"pl-k"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,58,"pl-ent"],[0,58,"pl-s"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,7,"pl-ent"],[0,7,"pl-s"],[0,7,"pl-c"],[0,1,"pl-c"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,67,"pl-ent"],[0,67,"pl-s"]],[[0,57,"pl-ent"],[0,15,"pl-s"],[2,4,"pl-k"],[11,13,"pl-k"],[14,15,"pl-pds"],[29,30,"pl-k"],[37,38,"pl-k"],[56,57,"pl-s"],[56,57,"pl-pds"]],[[0,65,"pl-ent"],[0,13,"pl-s"],[2,4,"pl-k"],[9,11,"pl-k"],[12,13,"pl-pds"],[27,28,"pl-k"],[35,36,"pl-k"],[46,65,"pl-s"],[46,47,"pl-pds"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,7,"pl-ent"],[0,7,"pl-s"],[0,7,"pl-c"],[0,1,"pl-c"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,41,"pl-ent"],[0,41,"pl-s"],[4,6,"pl-k"],[9,11,"pl-k"]],[[0,38,"pl-ent"],[0,38,"pl-s"],[4,6,"pl-k"],[9,11,"pl-k"]],[[0,29,"pl-ent"],[0,29,"pl-s"],[4,6,"pl-k"],[9,11,"pl-k"]],[[0,31,"pl-ent"],[0,31,"pl-s"],[5,7,"pl-k"],[14,16,"pl-k"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,9,"pl-ent"],[0,9,"pl-s"],[0,9,"pl-c"],[0,1,"pl-c"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,72,"pl-ent"],[0,72,"pl-s"],[0,2,"pl-k"],[6,8,"pl-k"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,19,"pl-ent"],[0,19,"pl-s"],[0,19,"pl-c"],[0,1,"pl-c"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,104,"pl-ent"],[0,104,"pl-s"],[45,46,"pl-k"],[46,76,"pl-s"],[46,47,"pl-pds"],[75,76,"pl-pds"],[76,77,"pl-k"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,14,"pl-ent"],[0,14,"pl-s"],[2,4,"pl-k"],[12,14,"pl-k"]],[[0,102,"pl-ent"],[0,102,"pl-s"],[35,37,"pl-k"],[41,43,"pl-k"],[56,58,"pl-k"],[62,64,"pl-k"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,14,"pl-ent"],[0,14,"pl-s"],[2,4,"pl-k"],[12,14,"pl-k"]],[[0,96,"pl-ent"],[0,96,"pl-s"],[12,14,"pl-k"],[27,29,"pl-k"],[39,40,"pl-k"],[45,54,"pl-s"],[45,46,"pl-pds"],[53,54,"pl-pds"],[65,66,"pl-k"],[74,76,"pl-k"],[82,84,"pl-k"],[87,89,"pl-k"],[93,95,"pl-k"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,22,"pl-ent"],[0,22,"pl-s"],[2,4,"pl-k"],[20,22,"pl-k"]],[[0,8,"pl-ent"],[0,8,"pl-s"]],[[0,49,"pl-ent"],[0,3,"pl-s"],[2,3,"pl-pds"],[13,48,"pl-s"],[13,14,"pl-pds"],[47,48,"pl-pds"],[48,49,"pl-s"],[48,49,"pl-pds"]],[[0,74,"pl-ent"],[0,12,"pl-s"],[11,12,"pl-pds"],[16,74,"pl-s"],[16,17,"pl-pds"],[56,58,"pl-k"],[65,67,"pl-k"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,74,"pl-ent"],[0,74,"pl-s"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,3,"pl-ent"],[0,3,"pl-s"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,8,"pl-ent"],[0,8,"pl-s"],[0,8,"pl-c"],[0,1,"pl-c"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,37,"pl-ent"],[0,37,"pl-s"],[8,10,"pl-k"],[23,25,"pl-k"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,81,"pl-ent"],[0,81,"pl-s"]],[[0,71,"pl-ent"],[0,71,"pl-s"]],[[0,63,"pl-ent"],[0,63,"pl-s"]],[[0,74,"pl-ent"],[0,74,"pl-s"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,3,"pl-ent"],[0,3,"pl-s"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,12,"pl-ent"],[0,12,"pl-s"],[0,12,"pl-c"],[0,1,"pl-c"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,99,"pl-ent"],[0,13,"pl-s"],[12,13,"pl-pds"],[20,99,"pl-s"],[20,21,"pl-pds"],[33,35,"pl-k"],[38,40,"pl-k"],[56,58,"pl-k"],[62,64,"pl-k"]],[[0,0,"pl-ent"],[0,0,"pl-s"]],[[0,7,"pl-ent"],[0,3,"pl-s"],[0,1,"pl-pds"],[1,2,"pl-pds"],[2,3,"pl-pds"]],[[0,43,"pl-ent"],[28,43,"pl-c"],[28,29,"pl-c"]],[[0,39,"pl-ent"],[21,22,"pl-k"],[24,25,"pl-k"],[28,39,"pl-c"],[28,29,"pl-c"]],[[0,51,"pl-ent"],[8,9,"pl-c1"],[28,51,"pl-c"],[28,29,"pl-c"]],[[0,3,"pl-ent"],[0,3,"pl-s"]],[[0,0,"pl-ent"]],[[12,13,"pl-s"],[13,18,"pl-c1"],[18,19,"pl-s"],[20,21,"pl-s"],[21,28,"pl-c1"],[28,29,"pl-s"],[30,31,"pl-s"],[31,37,"pl-c1"],[37,38,"pl-s"],[48,49,"pl-s"],[49,55,"pl-c1"],[55,56,"pl-s"],[57,58,"pl-s"],[58,64,"pl-c1"],[64,65,"pl-s"],[99,100,"pl-s"],[106,107,"pl-s"],[107,108,"pl-s"],[108,146,"pl-corl"],[146,147,"pl-s"]],[],[[0,2,"pl-s"],[14,15,"pl-s"],[15,16,"pl-s"],[16,110,"pl-corl"],[110,111,"pl-s"]],[],[[0,3,"pl-ms"]],[],[[0,10,"pl-mh"],[3,10,"pl-en"]],[],[[3,5,"pl-s"],[14,16,"pl-s"],[147,148,"pl-s"],[152,153,"pl-s"],[153,154,"pl-s"],[154,195,"pl-corl"],[195,196,"pl-s"]],[],[[0,2,"pl-s"],[7,9,"pl-s"]],[],[[0,1,"pl-s"],[1,2,"pl-v"],[3,5,"pl-s"],[12,14,"pl-s"],[20,21,"pl-s"],[21,32,"pl-c1"],[32,33,"pl-s"],[39,41,"pl-s"],[41,63,"pl-corl"],[63,65,"pl-s"],[68,70,"pl-s"],[72,74,"pl-s"],[77,79,"pl-s"],[81,83,"pl-s"],[93,95,"pl-s"],[102,104,"pl-s"]],[[0,1,"pl-s"],[1,2,"pl-v"],[3,5,"pl-s"],[5,6,"pl-s"],[6,18,"pl-c1"],[18,19,"pl-s"],[19,21,"pl-s"],[27,28,"pl-s"],[28,40,"pl-c1"],[40,41,"pl-s"]],[[0,1,"pl-s"],[1,2,"pl-v"],[3,5,"pl-s"],[9,11,"pl-s"],[41,42,"pl-s"],[42,46,"pl-c1"],[46,47,"pl-s"],[54,55,"pl-s"],[55,72,"pl-c1"],[72,73,"pl-s"]],[],[[16,17,"pl-s"],[17,31,"pl-c1"],[31,32,"pl-s"],[39,41,"pl-s"],[50,52,"pl-s"],[60,61,"pl-s"],[63,64,"pl-s"],[64,65,"pl-s"],[65,106,"pl-corl"],[106,107,"pl-s"]],[],[[0,86,"pl-ent"],[0,2,"pl-ent"],[2,4,"pl-s"],[11,13,"pl-s"],[18,19,"pl-s"],[23,24,"pl-s"],[24,25,"pl-s"],[25,30,"pl-corl"],[30,31,"pl-s"],[69,71,"pl-s"],[73,75,"pl-s"]],[[0,0,"pl-ent"]],[[0,7,"pl-mh"],[3,7,"pl-en"]],[],[[44,45,"pl-s"],[49,50,"pl-s"],[50,51,"pl-s"],[51,92,"pl-corl"],[92,93,"pl-s"]],[],[[12,14,"pl-s"],[27,29,"pl-s"],[87,88,"pl-s"],[98,99,"pl-s"],[99,100,"pl-s"],[100,159,"pl-corl"],[159,160,"pl-s"],[163,164,"pl-s"],[176,177,"pl-s"],[177,178,"pl-s"],[178,221,"pl-corl"],[221,222,"pl-s"]],[],[[0,1,"pl-ml"],[34,35,"pl-ml"],[73,74,"pl-ml"],[142,143,"pl-ml"]],[[0,1,"pl-ml"],[36,37,"pl-ml"],[79,80,"pl-ml"],[150,151,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[17,19,"pl-s"],[34,35,"pl-ml"],[72,73,"pl-ml"],[128,129,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[10,12,"pl-s"],[36,37,"pl-ml"],[68,69,"pl-ml"],[124,125,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[13,15,"pl-s"],[36,37,"pl-ml"],[68,69,"pl-ml"],[130,131,"pl-ml"]],[],[[0,3,"pl-ms"]],[],[[0,7,"pl-mh"],[3,7,"pl-en"]],[],[],[],[[0,1,"pl-v"],[2,4,"pl-s"],[11,13,"pl-s"]],[[0,1,"pl-v"],[2,4,"pl-s"],[14,16,"pl-s"],[21,22,"pl-s"],[22,42,"pl-c1"],[42,43,"pl-s"]],[[0,1,"pl-v"],[2,4,"pl-s"],[14,16,"pl-s"],[54,55,"pl-s"],[55,73,"pl-c1"],[73,74,"pl-s"],[75,76,"pl-s"],[76,82,"pl-c1"],[82,83,"pl-s"]],[[0,1,"pl-v"],[2,4,"pl-s"],[17,19,"pl-s"]],[[0,1,"pl-v"],[2,4,"pl-s"],[17,19,"pl-s"]],[],[[3,4,"pl-s"],[8,9,"pl-s"],[9,10,"pl-s"],[10,53,"pl-corl"],[53,54,"pl-s"]],[],[[0,3,"pl-ms"]],[],[[0,5,"pl-mh"],[3,5,"pl-en"]],[],[[0,1,"pl-ml"],[69,70,"pl-ml"],[118,119,"pl-ml"]],[[0,1,"pl-ml"],[71,72,"pl-ml"],[122,123,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[7,8,"pl-s"],[8,9,"pl-s"],[9,49,"pl-corl"],[49,50,"pl-s"],[67,68,"pl-ml"],[111,112,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[7,8,"pl-s"],[8,9,"pl-s"],[9,54,"pl-corl"],[54,55,"pl-s"],[67,68,"pl-ml"],[103,104,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[6,7,"pl-s"],[7,8,"pl-s"],[8,50,"pl-corl"],[50,51,"pl-s"],[68,69,"pl-ml"],[108,109,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[12,13,"pl-s"],[13,14,"pl-s"],[14,52,"pl-corl"],[52,53,"pl-s"],[65,66,"pl-ml"],[98,99,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[7,8,"pl-s"],[8,9,"pl-s"],[9,51,"pl-corl"],[51,52,"pl-s"],[67,68,"pl-ml"],[109,110,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[5,6,"pl-s"],[6,7,"pl-s"],[7,48,"pl-corl"],[48,49,"pl-s"],[69,70,"pl-ml"],[106,107,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[7,8,"pl-s"],[8,9,"pl-s"],[9,52,"pl-corl"],[52,53,"pl-s"],[67,68,"pl-ml"],[109,110,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[9,10,"pl-s"],[10,11,"pl-s"],[11,52,"pl-corl"],[52,53,"pl-s"],[71,72,"pl-ml"],[114,115,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[7,8,"pl-s"],[8,9,"pl-s"],[9,51,"pl-corl"],[51,52,"pl-s"],[67,68,"pl-ml"],[113,114,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[10,11,"pl-s"],[11,12,"pl-s"],[12,50,"pl-corl"],[50,51,"pl-s"],[68,69,"pl-ml"],[114,115,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[10,11,"pl-s"],[11,12,"pl-s"],[12,54,"pl-corl"],[54,55,"pl-s"],[71,72,"pl-ml"],[113,114,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[5,6,"pl-s"],[6,7,"pl-s"],[7,48,"pl-corl"],[48,49,"pl-s"],[69,70,"pl-ml"],[114,115,"pl-s"],[119,120,"pl-s"],[120,121,"pl-s"],[121,158,"pl-corl"],[158,159,"pl-s"],[163,164,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[10,11,"pl-s"],[11,12,"pl-s"],[12,62,"pl-corl"],[62,63,"pl-s"],[69,70,"pl-ml"],[113,114,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[12,13,"pl-s"],[13,14,"pl-s"],[14,78,"pl-corl"],[78,79,"pl-s"],[80,81,"pl-ml"],[111,112,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[6,7,"pl-s"],[7,8,"pl-s"],[8,50,"pl-corl"],[50,51,"pl-s"],[68,69,"pl-ml"],[109,110,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[7,8,"pl-s"],[8,9,"pl-s"],[9,52,"pl-corl"],[52,53,"pl-s"],[67,68,"pl-ml"],[104,105,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[5,6,"pl-s"],[6,7,"pl-s"],[7,51,"pl-corl"],[51,52,"pl-s"],[69,70,"pl-ml"],[113,114,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[14,15,"pl-s"],[15,16,"pl-s"],[16,55,"pl-corl"],[55,56,"pl-s"],[67,68,"pl-ml"],[110,111,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[7,8,"pl-s"],[8,9,"pl-s"],[9,55,"pl-corl"],[55,56,"pl-s"],[67,68,"pl-ml"],[106,107,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[5,6,"pl-s"],[6,7,"pl-s"],[7,50,"pl-corl"],[50,51,"pl-s"],[71,72,"pl-ml"],[131,132,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[8,9,"pl-s"],[9,10,"pl-s"],[10,51,"pl-corl"],[51,52,"pl-s"],[66,67,"pl-ml"],[110,111,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[10,11,"pl-s"],[11,12,"pl-s"],[12,53,"pl-corl"],[53,54,"pl-s"],[64,65,"pl-ml"],[106,107,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[11,12,"pl-s"],[12,13,"pl-s"],[13,60,"pl-corl"],[60,61,"pl-s"],[71,72,"pl-ml"],[113,114,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[9,10,"pl-s"],[10,11,"pl-s"],[11,61,"pl-corl"],[61,62,"pl-s"],[69,70,"pl-ml"],[118,119,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[6,7,"pl-s"],[7,8,"pl-s"],[8,46,"pl-corl"],[46,47,"pl-s"],[71,72,"pl-ml"],[110,111,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[13,14,"pl-s"],[14,15,"pl-s"],[15,69,"pl-corl"],[69,70,"pl-s"],[71,72,"pl-ml"],[108,109,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[6,7,"pl-s"],[7,8,"pl-s"],[8,46,"pl-corl"],[46,47,"pl-s"],[71,72,"pl-ml"],[113,114,"pl-ml"]],[],[[5,6,"pl-s"],[32,33,"pl-s"],[33,34,"pl-s"],[34,68,"pl-corl"],[68,69,"pl-s"]],[],[[0,3,"pl-ms"]],[],[[0,7,"pl-mh"],[3,7,"pl-en"]],[],[[23,25,"pl-s"],[25,26,"pl-s"],[32,33,"pl-s"],[33,34,"pl-s"],[34,72,"pl-corl"],[72,73,"pl-s"],[73,75,"pl-s"]],[],[[0,3,"pl-ms"]],[],[[0,6,"pl-mh"],[3,6,"pl-en"]],[],[[0,1,"pl-ml"],[25,26,"pl-ml"],[67,68,"pl-ml"],[74,75,"pl-ml"]],[[0,1,"pl-ml"],[27,28,"pl-ml"],[71,72,"pl-ml"],[80,81,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[8,10,"pl-s"],[23,24,"pl-ml"],[56,57,"pl-ml"],[62,63,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[13,15,"pl-s"],[18,19,"pl-ml"],[52,53,"pl-ml"],[58,59,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[6,8,"pl-s"],[25,26,"pl-ml"],[64,65,"pl-ml"],[70,71,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[9,11,"pl-s"],[22,23,"pl-ml"],[59,60,"pl-ml"],[65,66,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[7,9,"pl-s"],[24,25,"pl-ml"],[63,64,"pl-ml"],[69,70,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[9,11,"pl-s"],[22,23,"pl-ml"],[59,60,"pl-ml"],[65,66,"pl-ml"]],[[0,1,"pl-ml"],[27,28,"pl-ml"],[64,65,"pl-ml"],[70,71,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[7,9,"pl-s"],[24,25,"pl-ml"],[64,65,"pl-ml"],[70,71,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[7,9,"pl-s"],[24,25,"pl-ml"],[62,63,"pl-ml"],[68,69,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[8,10,"pl-s"],[23,24,"pl-ml"],[60,61,"pl-ml"],[66,67,"pl-ml"]],[[0,1,"pl-ml"],[27,28,"pl-ml"],[62,63,"pl-ml"],[68,69,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[16,18,"pl-s"],[27,28,"pl-ml"],[62,63,"pl-ml"],[68,69,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[8,10,"pl-s"],[23,24,"pl-ml"],[61,62,"pl-ml"],[67,68,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[12,14,"pl-s"],[19,20,"pl-ml"],[53,54,"pl-ml"],[59,60,"pl-ml"]],[[0,1,"pl-ml"],[27,28,"pl-ml"],[66,67,"pl-ml"],[72,73,"pl-ml"]],[[0,1,"pl-ml"],[2,4,"pl-s"],[14,16,"pl-s"],[25,26,"pl-ml"],[69,70,"pl-ml"],[75,76,"pl-ml"]],[[0,1,"pl-ml"],[27,28,"pl-ml"],[71,72,"pl-ml"],[77,78,"pl-ml"]],[],[[0,1,"pl-s"],[6,8,"pl-s"],[11,13,"pl-s"],[23,25,"pl-s"],[28,30,"pl-s"],[44,45,"pl-s"]],[],[[0,3,"pl-ms"]],[],[[0,7,"pl-mh"],[3,7,"pl-en"]],[],[[35,36,"pl-s"],[39,40,"pl-s"],[40,41,"pl-s"],[41,45,"pl-corl"],[45,46,"pl-s"],[54,56,"pl-s"],[59,61,"pl-s"],[79,80,"pl-s"],[92,93,"pl-s"],[93,94,"pl-s"],[94,163,"pl-corl"],[163,164,"pl-s"]],[],[[0,1,"pl-v"],[2,4,"pl-s"],[8,10,"pl-s"]],[[0,1,"pl-v"],[2,4,"pl-s"],[13,15,"pl-s"]],[],[[4,5,"pl-s"],[23,24,"pl-s"],[24,25,"pl-s"],[25,77,"pl-corl"],[77,78,"pl-s"]],[],[[0,3,"pl-ms"]],[],[[0,8,"pl-mh"],[3,8,"pl-en"]],[],[[0,3,"pl-s"],[3,7,"pl-en"]],[],[[0,2,"pl-c1"]],[],[[0,20,"pl-c"],[0,1,"pl-c"]],[[0,2,"pl-c1"],[11,13,"pl-k"],[21,23,"pl-k"]],[[0,2,"pl-c1"]],[],[[0,16,"pl-c"],[0,1,"pl-c"]],[],[],[],[[0,13,"pl-c"],[0,1,"pl-c"]],[[15,16,"pl-c1"]],[[0,3,"pl-s"]],[],[[0,1,"pl-v"],[2,4,"pl-s"],[6,8,"pl-s"],[17,18,"pl-s"],[18,51,"pl-c1"],[51,52,"pl-s"]],[[0,1,"pl-v"],[2,4,"pl-s"],[6,8,"pl-s"],[12,13,"pl-s"],[13,36,"pl-c1"],[36,37,"pl-s"],[42,43,"pl-s"],[43,54,"pl-c1"],[54,55,"pl-s"]],[],[[0,145,"pl-ent"],[0,2,"pl-ent"],[2,4,"pl-s"],[11,13,"pl-s"],[18,19,"pl-s"],[19,27,"pl-c1"],[27,28,"pl-s"],[59,60,"pl-s"],[60,76,"pl-c1"],[76,77,"pl-s"],[82,83,"pl-s"],[83,94,"pl-c1"],[94,95,"pl-s"],[105,106,"pl-s"],[106,118,"pl-c1"],[118,119,"pl-s"],[130,131,"pl-s"],[131,142,"pl-c1"],[142,143,"pl-s"]],[[0,0,"pl-ent"]],[[0,3,"pl-ms"]],[],[[0,16,"pl-mh"],[3,16,"pl-en"]],[],[],[],[[0,3,"pl-ms"]],[],[[0,7,"pl-mh"],[3,7,"pl-en"]],[],[[0,1,"pl-s"],[14,15,"pl-s"],[15,16,"pl-s"],[16,48,"pl-corl"],[48,49,"pl-s"],[52,53,"pl-s"],[63,64,"pl-s"],[64,65,"pl-s"],[65,108,"pl-corl"],[108,109,"pl-s"],[112,113,"pl-s"],[131,132,"pl-s"],[132,133,"pl-s"],[133,184,"pl-corl"],[184,185,"pl-s"],[188,189,"pl-s"],[193,194,"pl-s"],[194,195,"pl-s"],[195,232,"pl-corl"],[232,233,"pl-s"]],[],[[0,3,"pl-ms"]],[],[[0,7,"pl-mh"],[3,7,"pl-en"]],[],[[0,1,"pl-ml"],[2,3,"pl-s"],[10,11,"pl-s"],[11,12,"pl-s"],[12,41,"pl-corl"],[41,42,"pl-s"],[63,64,"pl-ml"],[65,66,"pl-s"],[77,78,"pl-s"],[78,79,"pl-s"],[79,106,"pl-corl"],[106,107,"pl-s"],[126,127,"pl-ml"],[128,129,"pl-s"],[131,132,"pl-s"],[132,133,"pl-s"],[133,256,"pl-corl"],[256,257,"pl-s"],[258,259,"pl-ml"],[260,261,"pl-s"],[264,265,"pl-s"],[265,266,"pl-s"],[266,331,"pl-corl"],[331,332,"pl-s"],[333,334,"pl-ml"]],[[0,1,"pl-ml"],[63,64,"pl-ml"],[126,127,"pl-ml"],[189,190,"pl-ml"],[252,253,"pl-ml"]],[[0,1,"pl-ml"],[2,3,"pl-s"],[4,7,"pl-ent"],[8,11,"pl-e"],[12,13,"pl-s"],[13,104,"pl-s"],[104,105,"pl-s"],[106,111,"pl-e"],[112,113,"pl-s"],[113,115,"pl-s"],[115,116,"pl-s"],[117,123,"pl-e"],[124,125,"pl-s"],[125,127,"pl-s"],[127,128,"pl-s"],[129,132,"pl-e"],[133,134,"pl-s"],[134,141,"pl-s"],[141,142,"pl-s"],[143,144,"pl-s"],[144,145,"pl-s"],[145,174,"pl-corl"],[174,175,"pl-s"],[176,177,"pl-ml"],[178,179,"pl-s"],[180,183,"pl-ent"],[184,187,"pl-e"],[188,189,"pl-s"],[189,252,"pl-s"],[252,253,"pl-s"],[254,259,"pl-e"],[260,261,"pl-s"],[261,263,"pl-s"],[263,264,"pl-s"],[265,271,"pl-e"],[272,273,"pl-s"],[273,275,"pl-s"],[275,276,"pl-s"],[277,280,"pl-e"],[281,282,"pl-s"],[282,283,"pl-s"],[283,284,"pl-s"],[285,286,"pl-s"],[286,287,"pl-s"],[287,314,"pl-corl"],[314,315,"pl-s"],[316,317,"pl-ml"],[318,319,"pl-s"],[320,323,"pl-ent"],[324,327,"pl-e"],[328,329,"pl-s"],[329,421,"pl-s"],[421,422,"pl-s"],[423,428,"pl-e"],[429,430,"pl-s"],[430,432,"pl-s"],[432,433,"pl-s"],[434,440,"pl-e"],[441,442,"pl-s"],[442,444,"pl-s"],[444,445,"pl-s"],[446,449,"pl-e"],[450,451,"pl-s"],[451,453,"pl-s"],[453,454,"pl-s"],[455,456,"pl-s"],[456,457,"pl-s"],[457,580,"pl-corl"],[580,581,"pl-s"],[582,583,"pl-ml"],[584,585,"pl-s"],[586,589,"pl-ent"],[590,593,"pl-e"],[594,595,"pl-s"],[595,687,"pl-s"],[687,688,"pl-s"],[689,694,"pl-e"],[695,696,"pl-s"],[696,698,"pl-s"],[698,699,"pl-s"],[700,706,"pl-e"],[707,708,"pl-s"],[708,710,"pl-s"],[710,711,"pl-s"],[712,715,"pl-e"],[716,717,"pl-s"],[717,720,"pl-s"],[720,721,"pl-s"],[722,723,"pl-s"],[723,724,"pl-s"],[724,789,"pl-corl"],[789,790,"pl-s"],[791,792,"pl-ml"]],[],[[0,3,"pl-ms"]],[],[[0,9,"pl-mh"],[3,9,"pl-en"]],[],[[1,2,"pl-ent"],[3,7,"pl-e"],[8,9,"pl-s"],[9,49,"pl-s"],[49,50,"pl-s"]],[[3,6,"pl-ent"],[7,10,"pl-e"],[11,12,"pl-s"],[12,105,"pl-s"],[105,106,"pl-s"],[107,112,"pl-e"],[113,114,"pl-s"],[114,117,"pl-s"],[117,118,"pl-s"],[119,122,"pl-e"],[123,124,"pl-s"],[124,136,"pl-s"],[136,137,"pl-s"]],[[2,3,"pl-ent"]],[],[],[],[[0,3,"pl-ms"]],[],[[0,7,"pl-mh"],[3,7,"pl-en"]],[],[[12,13,"pl-s"],[13,25,"pl-c1"],[25,26,"pl-s"],[31,33,"pl-s"],[35,37,"pl-s"],[60,62,"pl-s"],[70,72,"pl-s"]],[],[[0,2,"pl-s"],[8,10,"pl-s"]],[],[[0,1,"pl-v"]],[[0,1,"pl-v"]],[[0,1,"pl-v"]],[[0,1,"pl-v"]],[[0,1,"pl-v"]],[[0,1,"pl-v"]],[],[[0,2,"pl-s"],[6,8,"pl-s"]],[],[[6,7,"pl-s"],[7,19,"pl-c1"],[19,20,"pl-s"],[35,36,"pl-s"],[36,46,"pl-c1"],[46,47,"pl-s"]],[],[[0,3,"pl-ms"]],[],[[0,6,"pl-mh"],[3,6,"pl-en"]],[],[[11,12,"pl-s"],[30,31,"pl-s"],[31,32,"pl-s"],[32,39,"pl-corl"],[39,40,"pl-s"]],[],[[0,3,"pl-ms"]],[],[[0,6,"pl-mh"],[3,6,"pl-en"]],[],[],[],[[1,2,"pl-ent"],[3,7,"pl-e"],[8,9,"pl-s"],[9,69,"pl-s"],[69,70,"pl-s"]],[[3,6,"pl-ent"],[7,10,"pl-e"],[11,12,"pl-s"],[12,66,"pl-s"],[66,67,"pl-s"],[68,71,"pl-e"],[72,73,"pl-s"],[73,76,"pl-s"],[76,77,"pl-s"]],[[2,3,"pl-ent"]]],"colorizedLines":null}},"title":"QwenPaw/README_zh.md at main · agentscope-ai/QwenPaw","appPayload":{},"meta":{"title":"QwenPaw/README_zh.md at main · agentscope-ai/QwenPaw"}}</script>
  <div data-target="react-app.reactRoot"><meta name="github-code-view-meta-stats" id="github-code-view-meta-stats" data-hydrostats="publish"/> <!-- --> <a hidden="" id="code-view-repo-link" href="/agentscope-ai/QwenPaw" data-discover="true"></a> <div class="d-none"></div><div><div style="--spacing:var(--spacing-none)" class="prc-PageLayout-PageLayoutRoot--KH-d" data-component="SplitPageLayout" data-has-sidebar="true"><div class="prc-PageLayout-SidebarWrapper-kLG4B CopilotSidePanelSidebar-module__SidePanel__L3O0C CopilotSidePanelSidebar-module__HiddenSidePanel__TBRGn" style="--spacing-column:var(--spacing-none)" data-is-hidden="false" data-position="end" data-sticky="true" data-responsive-variant="fullscreen"><div class="prc-PageLayout-VerticalDivider-9QRmK prc-PageLayout-SidebarVerticalDivider-0Rl0V" data-component="PageLayout.VerticalDivider" data-variant="line" data-position="end" style="--spacing:var(--spacing-none)"><div class="prc-PageLayout-DraggableHandle-9s6B4" data-component="PageLayout.DragHandle" role="slider" aria-label="Draggable pane splitter" aria-valuemin="450" aria-valuemax="768" aria-valuenow="544" aria-valuetext="Pane width 544 pixels" tabindex="0"></div></div><div class="prc-PageLayout-Sidebar-iciWg" data-component="SplitPageLayout.Sidebar" data-resizable="true" style="--spacing:var(--spacing-normal);--pane-min-width:450px;--pane-max-width:768px;--pane-width-custom:544px;--pane-width-size:var(--pane-width-custom);--pane-width:544px"><div class="height-full" data-testid="copilot-code-view-side-panel"><div id="copilot-side-panel-content" class="height-full"></div></div></div></div><div class="prc-PageLayout-PageLayoutWrapper-2BhU2" data-width="full"><div class="prc-PageLayout-PageLayoutContent-BneH9"><div id="repos-file-tree-sidebar" class="CodeViewFileTreeLayout-module__sidebar__n_Aau" tabindex="0"><div class="prc-PageLayout-PaneWrapper-pHPop ReposFileTreePane-module__Pane__rBZpI ReposFileTreePane-module__HideTree__AYZnm ReposFileTreePane-module__HidePane__VHAVt" style="--offset-header:0px;--spacing-row:var(--spacing-none);--spacing-column:var(--spacing-none)" data-is-hidden="false" data-position="start" data-sticky="true"><div class="prc-PageLayout-HorizontalDivider-JLVqp prc-PageLayout-PaneHorizontalDivider-9tbnE" data-component="PageLayout.HorizontalDivider" data-variant-regular="none" data-variant-narrow="none" data-position="start" style="--spacing-divider:var(--spacing-none);--spacing:var(--spacing-none)"></div><div class="prc-PageLayout-Pane-AyzHK" data-component="SplitPageLayout.Pane" data-resizable="true" style="--spacing:var(--spacing-none);--pane-min-width:256px;--pane-max-width:calc(100vw - var(--pane-max-width-diff));--pane-width-size:var(--pane-width-large);--pane-width:320px"></div><div class="prc-PageLayout-VerticalDivider-9QRmK prc-PageLayout-PaneVerticalDivider-le57g" data-component="PageLayout.VerticalDivider" data-variant-narrow="none" data-variant-regular="line" data-variant-wide="line" data-position="start" style="--spacing:var(--spacing-none)"><div class="prc-PageLayout-DraggableHandle-9s6B4" data-component="PageLayout.DragHandle" role="slider" aria-label="Draggable pane splitter" aria-valuemin="256" aria-valuemax="600" aria-valuenow="320" aria-valuetext="Pane width 320 pixels" tabindex="0"></div></div></div></div><div data-component="SplitPageLayout.Content" class="prc-PageLayout-ContentWrapper-gR9eG"><div class="prc-PageLayout-Content-xWL-A" data-width="full" style="--spacing:var(--spacing-none)"><div class="SharedPageLayout-module__content__IwGAp" data-selector="repos-split-pane-content" id="repos-split-pane-content" tabindex="0"> <!-- --> <div class="container CodeViewHeader-module__Box__JkPOb"><div class="CodeViewHeader-module__StickyHeader__Qn7UN" id="StickyHeader"><div class="CodeViewHeader-module__Box_1__SbNDV"><div class="CodeViewHeader-module__Box_2__TB46f"><div class="react-code-view-header-wrap--narrow CodeViewHeader-module__Box_3__q1zUL"><div class="CodeViewHeader-module__treeToggleWrapper__RQ__9"><h2 class="use-tree-pane-module__Heading__s4QbZ prc-Heading-Heading-MtWFE" data-component="Heading"><button data-component="Button" type="button" aria-label="Expand file tree" data-testid="expand-file-tree-button-mobile" class="prc-Button-ButtonBase-9n-Xk ExpandFileTreeButton-module__Button_1__Svs95" data-loading="false" data-size="medium" data-variant="invisible"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-arrow-left" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.78 12.53a.75.75 0 0 1-1.06 0L2.47 8.28a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L4.81 7h7.44a.75.75 0 0 1 0 1.5H4.81l2.97 2.97a.75.75 0 0 1 0 1.06Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3">Files</span></span></button><button data-component="IconButton" type="button" data-testid="expand-file-tree-button" aria-controls="repos-file-tree" class="prc-Button-ButtonBase-9n-Xk position-relative ExpandFileTreeButton-module__expandButton__hDOcv ExpandFileTreeButton-module__filesButtonBreakpoint__zEvz3 fgColor-muted prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="invisible" aria-labelledby="_R_4lla9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-sidebar-collapse" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M6.823 7.823a.25.25 0 0 1 0 .354l-2.396 2.396A.25.25 0 0 1 4 10.396V5.604a.25.25 0 0 1 .427-.177Z"></path><path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25H9.5v-13H1.75a.25.25 0 0 0-.25.25ZM11 14.5h3.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H11Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="se" data-component="Tooltip" aria-hidden="true" id="_R_4lla9lik5_">Expand file tree</span><div class="d-none"></div></h2></div><div class="react-code-view-header-mb--narrow mr-2"><button data-component="Button" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="main branch" data-testid="anchor-button" data-icv-name="Switch branches/tags" class="prc-Button-ButtonBase-9n-Xk ref-selector-class RefSelectorAnchoredOverlay-module__RefSelectorOverlayBtn__a3WK3" data-loading="false" data-size="medium" data-variant="default" id="ref-picker-repos-header-ref-selector-wide"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3"><div class="RefSelectorAnchoredOverlay-module__RefSelectorOverlayContainer__yaf4p"><div style="max-width:125px" class="ref-selector-button-text-container RefSelectorAnchoredOverlay-module__RefSelectorBtnTextContainer__Di3rk"><span class="RefSelectorAnchoredOverlay-module__RefSelectorText__w_fmP">main</span></div></div></span><span data-component="trailingVisual" class="prc-Button-Visual-YNt2F prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><div class="d-none"></div></div><div class="react-code-view-header-mb--narrow CodeViewHeader-module__Box_5__MQ0hL"><div class="Breadcrumb-module__container__Vxvev Breadcrumb-module__lg__Rjz0A"><nav data-testid="breadcrumbs" aria-labelledby="repos-header-breadcrumb-heading" id="repos-header-breadcrumb" class="Breadcrumb-module__nav__rQFDj"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading" id="repos-header-breadcrumb-heading">Breadcrumbs</h2><ol class="Breadcrumb-module__list__ZH6zr"><li class="Breadcrumb-module__listItem__Ib0x_"><a class="Breadcrumb-module__repoLink__O2Nbs prc-Link-Link-9ZwDx" data-component="Link" data-testid="breadcrumbs-repo-link" href="/agentscope-ai/QwenPaw/tree/main" data-discover="true">QwenPaw</a></li></ol></nav><div data-testid="breadcrumbs-filename" class="Breadcrumb-module__filename__equZR"><span class="Breadcrumb-module__separator__eNwsI Breadcrumb-module__lg__Rjz0A" aria-hidden="true">/</span><h1 class="Breadcrumb-module__filenameHeading__MNMtw Breadcrumb-module__lg__Rjz0A prc-Heading-Heading-MtWFE" data-component="Heading" tabindex="-1" id="file-name-id">README_zh.md</h1></div><button data-component="IconButton" type="button" class="prc-Button-ButtonBase-9n-Xk ml-2 prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_7lla9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button><span class="CopyToClipboardIconButton-module__tooltip__WyiwL prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-label="Copy path" aria-hidden="true" id="_R_7lla9lik5_">Copy path</span></div></div></div><div class="react-code-view-header-element--wide"><div class="CodeViewHeader-module__Box_7___0R6c"><div class="d-flex gap-2"><div><div class="CodeViewHeader-module__FileResultsList__JDzUy"><span class="d-flex FileResultsList-module__FilesSearchBox__ivVkc TextInput-wrapper prc-components-TextInputWrapper-Hpdqi prc-components-TextInputBaseWrapper-wY-n0" data-no-trailing-action="true" data-component="TextInput" data-leading-visual="true" data-trailing-visual="true" aria-busy="false"><span class="TextInput-icon" id="_R_1cpla9lik5_" aria-hidden="true" data-component="TextInput.LeadingVisual"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg></span><input type="text" aria-label="Go to file" role="combobox" aria-controls="file-results-list" aria-expanded="false" aria-haspopup="dialog" autoCorrect="off" spellCheck="false" placeholder="Go to file" aria-describedby="_R_1cpla9lik5_ _R_1cpla9lik5H1_" data-component="input" class="prc-components-Input-IwWrt" value=""/><span class="TextInput-icon" id="_R_1cpla9lik5H1_" aria-hidden="true" data-component="TextInput.TrailingVisual"></span></span></div><div class="d-none"></div></div><button data-component="Button" type="button" style="display:none" class="prc-Button-ButtonBase-9n-Xk NavigationMenu-module__Button__LpKgm" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="text" class="prc-Button-Label-FWkx3">Blame</span></span></button><div class="d-none"></div><button data-component="IconButton" type="button" data-testid="more-file-actions-button-nav-menu-wide" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk js-blob-dropdown-click NavigationMenu-module__IconButton__HpX3G prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-labelledby="_R_7p9la9lik5_" id="_R_99la9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-hidden="true" id="_R_7p9la9lik5_">More file actions</span></div></div></div><div class="react-code-view-header-element--narrow"><div class="CodeViewHeader-module__Box_7___0R6c"><div class="d-flex gap-2"><button data-component="Button" type="button" style="display:none" class="prc-Button-ButtonBase-9n-Xk NavigationMenu-module__Button__LpKgm" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="text" class="prc-Button-Label-FWkx3">Blame</span></span></button><div class="d-none"></div><button data-component="IconButton" type="button" data-testid="more-file-actions-button-nav-menu-narrow" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk js-blob-dropdown-click NavigationMenu-module__IconButton__HpX3G prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="medium" data-variant="default" aria-labelledby="_R_7pdla9lik5_" id="_R_9dla9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-hidden="true" id="_R_7pdla9lik5_">More file actions</span></div></div></div></div></div></div></div><div class="CodeView-module__contentWrapper__cG2JH"><div class="react-code-view-bottom-padding"><div class="BlobTopBanners-module__Box__v_nvx"></div></div> <div class="d-none"></div><div class="d-flex flex-column border rounded-2 tmp-mb-3 pl-1"><div class="LatestCommit-module__Box__B25ZT"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading">Latest commit</h2><div style="width:120px" class="Skeleton Skeleton--text" data-testid="loading"> </div><div class="d-flex flex-shrink-0 gap-2"><div data-testid="latest-commit-details" class="d-none d-sm-flex flex-items-center"></div><div class="d-flex gap-2"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading">History</h2><a data-component="LinkButton" href="/agentscope-ai/QwenPaw/commits/main/README_zh.md" class="prc-Button-ButtonBase-9n-Xk d-none d-lg-flex LinkButton-module__linkButton__nFnov flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3"><span class="fgColor-default">History</span></span></span></a><div class="d-sm-none"></div><div class="d-flex d-lg-none"><a data-component="LinkButton" aria-label="View commit history for this file." href="/agentscope-ai/QwenPaw/commits/main/README_zh.md" class="prc-Button-ButtonBase-9n-Xk LinkButton-module__linkButton__nFnov flex-items-center fgColor-default" data-loading="false" data-size="small" data-variant="invisible" aria-describedby="_R_4mlala9lik5_"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-history" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path></svg></span></span></a><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="s" data-component="Tooltip" role="tooltip" aria-hidden="true" id="_R_4mlala9lik5_">History</span></div></div></div></div></div><div class="d-flex flex-row"><div class="container BlobViewContent-module__blobContainer__DtH2d"><div class="react-code-size-details-banner BlobViewContent-module__codeSizeDetails__e5sUw"><div class="react-code-size-details-banner CodeSizeDetails-module__Box__VcD6l"><div class="text-mono CodeSizeDetails-module__Box_1__GVxQL"><div data-testid="blob-size" class="CodeSizeDetails-module__Truncate_1__lE93V prc-Truncate-Truncate-2G1eo" data-inline="true" title="35.4 KB" style="--truncate-max-width:100%"><span>564 lines (395 loc) · 35.4 KB</span></div></div></div></div><div class="react-blob-view-header-sticky BlobViewContent-module__stickyHeader__VwxB5" id="repos-sticky-header"><div class="BlobViewHeader-module__Box__yhm9u"><div class="react-blob-sticky-header"><div class="FileNameStickyHeader-module__outerWrapper__ZL4Xc FileNameStickyHeader-module__outerWrapperHidden__Zpynk"><div class="FileNameStickyHeader-module__Box_1__Hazu5"><div class="FileNameStickyHeader-module__Box_2__hoolP"><div class="FileNameStickyHeader-module__Box_3__MVKsk"><button data-component="Button" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-label="main branch" data-testid="anchor-button" data-icv-name="Switch branches/tags" class="prc-Button-ButtonBase-9n-Xk ref-selector-class RefSelectorAnchoredOverlay-module__RefSelectorOverlayBtn__a3WK3" data-loading="false" data-size="medium" data-variant="default" id="ref-picker-repos-header-ref-selector"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-git-branch" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3"><div class="RefSelectorAnchoredOverlay-module__RefSelectorOverlayContainer__yaf4p"><div style="max-width:125px" class="ref-selector-button-text-container RefSelectorAnchoredOverlay-module__RefSelectorBtnTextContainer__Di3rk"><span class="RefSelectorAnchoredOverlay-module__RefSelectorText__w_fmP">main</span></div></div></span><span data-component="trailingVisual" class="prc-Button-Visual-YNt2F prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></span></button><div class="d-none"></div></div><div class="FileNameStickyHeader-module__Box_4__FLhtt"><div class="Breadcrumb-module__container__Vxvev Breadcrumb-module__md__Wb1Gs"><nav data-testid="breadcrumbs" aria-labelledby="sticky-breadcrumb-heading" id="sticky-breadcrumb" class="Breadcrumb-module__nav__rQFDj"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading" id="sticky-breadcrumb-heading">Breadcrumbs</h2><ol class="Breadcrumb-module__list__ZH6zr"><li class="Breadcrumb-module__listItem__Ib0x_"><a class="Breadcrumb-module__repoLink__O2Nbs prc-Link-Link-9ZwDx" data-component="Link" data-testid="breadcrumbs-repo-link" href="/agentscope-ai/QwenPaw/tree/main" data-discover="true">QwenPaw</a></li></ol></nav><div data-testid="breadcrumbs-filename" class="Breadcrumb-module__filename__equZR"><span class="Breadcrumb-module__separator__eNwsI Breadcrumb-module__md__Wb1Gs" aria-hidden="true">/</span><h1 class="Breadcrumb-module__filenameHeading__MNMtw Breadcrumb-module__md__Wb1Gs prc-Heading-Heading-MtWFE" data-component="Heading" tabindex="-1" id="sticky-file-name-id">README_zh.md</h1></div><button data-component="IconButton" type="button" class="prc-Button-ButtonBase-9n-Xk ml-2 prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_7lcpala9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button><span class="CopyToClipboardIconButton-module__tooltip__WyiwL prc-TooltipV2-Tooltip-tLeuB" data-direction="s" data-component="Tooltip" aria-label="Copy path" aria-hidden="true" id="_R_7lcpala9lik5_">Copy path</span></div></div></div><button data-component="Button" type="button" class="prc-Button-ButtonBase-9n-Xk FileNameStickyHeader-module__Button__LSEU_ FileNameStickyHeader-module__GoToTopButton__nxAFn" data-loading="false" data-size="small" data-variant="invisible"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="leadingVisual" class="prc-Button-Visual-YNt2F prc-Button-LeadingVisual-UySKu prc-Button-VisualWrap-E4cnq"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-arrow-up" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M3.47 7.78a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0l4.25 4.25a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018L9 4.81v7.44a.75.75 0 0 1-1.5 0V4.81L4.53 7.78a.75.75 0 0 1-1.06 0Z"></path></svg></span><span data-component="text" class="prc-Button-Label-FWkx3">Top</span></span></button></div></div></div><div class="BlobViewHeader-module__Box_1__VEmuQ"><h2 class="sr-only ScreenReaderHeading-module__userSelectNone__rwWIk prc-Heading-Heading-MtWFE" data-component="Heading" data-testid="screen-reader-heading">File metadata and controls</h2><div class="BlobViewHeader-module__Box_2__icUs2"><ul aria-label="File view" class="prc-SegmentedControl-SegmentedControl-lqIXp BlobTabButtons-module__SegmentedControl__jen2u" data-variant="default" data-size="small" data-component="SegmentedControl"><li class="prc-SegmentedControl-Item-tSCQh" data-selected="" data-component="SegmentedControl.Button"><button aria-pressed="true" class="prc-SegmentedControl-Button-E48xz" type="button" style="--separator-color:transparent"><span class="prc-SegmentedControl-Content-1COlk segmentedControl-content"><div class="prc-SegmentedControl-Text-7S2y2 segmentedControl-text" data-text="Preview">Preview</div></span></button></li><li class="prc-SegmentedControl-Item-tSCQh" data-component="SegmentedControl.Button"><button aria-pressed="false" class="prc-SegmentedControl-Button-E48xz" type="button" style="--separator-color:var(--borderColor-default)"><span class="prc-SegmentedControl-Content-1COlk segmentedControl-content"><div class="prc-SegmentedControl-Text-7S2y2 segmentedControl-text" data-text="Code">Code</div></span></button></li><li class="prc-SegmentedControl-Item-tSCQh" data-component="SegmentedControl.Button"><button aria-pressed="false" class="prc-SegmentedControl-Button-E48xz" type="button" style="--separator-color:var(--borderColor-default)"><span class="prc-SegmentedControl-Content-1COlk segmentedControl-content"><div class="prc-SegmentedControl-Text-7S2y2 segmentedControl-text" data-text="Blame">Blame</div></span></button></li></ul><div class="d-none"></div><div class="react-code-size-details-in-header CodeSizeDetails-module__Box__VcD6l"><div class="text-mono CodeSizeDetails-module__Box_1__GVxQL"><div data-testid="blob-size" class="CodeSizeDetails-module__Truncate_1__lE93V prc-Truncate-Truncate-2G1eo" data-inline="true" title="35.4 KB" style="--truncate-max-width:100%"><span>564 lines (395 loc) · 35.4 KB</span></div></div></div></div><div class="BlobViewHeader-module__Box_3__ng6v2"><div class="d-none"></div><div class="react-blob-header-edit-and-raw-actions BlobViewHeader-module__Box_4__J4Y4W"><div class="d-none"></div><div class="prc-ButtonGroup-ButtonGroup-vFUrY" data-component="ButtonGroup"><div class="prc-ButtonGroup-Item-PqvDl"><a data-component="LinkButton" href="https://github.com/agentscope-ai/QwenPaw/raw/refs/heads/main/README_zh.md" data-testid="raw-button" class="prc-Button-ButtonBase-9n-Xk LinkButton-module__linkButton__nFnov BlobViewHeader-module__LinkButton__X9kx2" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default"><span data-component="buttonContent" data-align="center" class="prc-Button-ButtonContent-Iohp5"><span data-component="text" class="prc-Button-Label-FWkx3">Raw</span></span></a></div><div class="prc-ButtonGroup-Item-PqvDl"><button data-component="IconButton" type="button" data-testid="copy-raw-button" class="prc-Button-ButtonBase-9n-Xk prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default" aria-labelledby="_R_qaucpala9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-copy" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="n" data-component="Tooltip" aria-hidden="true" id="_R_qaucpala9lik5_">Copy raw file</span></div><div class="prc-ButtonGroup-Item-PqvDl"><button data-component="IconButton" type="button" data-testid="download-raw-button" class="prc-Button-ButtonBase-9n-Xk BlobViewHeader-module__downloadButton__ef459 prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="default" aria-labelledby="_R_eaucpala9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-download" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"></path><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.749.749 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06l1.97 1.969Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="n" data-component="Tooltip" aria-hidden="true" id="_R_eaucpala9lik5_">Download raw file</span></div></div></div><button data-component="IconButton" type="button" aria-pressed="false" class="prc-Button-ButtonBase-9n-Xk tmp-mr-2 TableOfContents-module__IconButton__jrlNM prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_3ucpala9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-list-unordered" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M5.75 2.5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5Zm0 5h8.5a.75.75 0 0 1 0 1.5h-8.5a.75.75 0 0 1 0-1.5ZM2 14a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm1-6a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM2 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="n" data-component="Tooltip" aria-hidden="true" id="_R_3ucpala9lik5_">Outline</span><div class="react-blob-header-edit-and-raw-actions-combined"><button data-component="IconButton" type="button" title="More file actions" data-testid="more-file-actions-button" aria-haspopup="true" aria-expanded="false" tabindex="0" class="prc-Button-ButtonBase-9n-Xk js-blob-dropdown-click BlobViewHeader-module__IconButton__XrMQY prc-Button-IconButton-fyge7" data-loading="false" data-no-visuals="true" data-size="small" data-variant="invisible" aria-labelledby="_R_fkecpala9lik5_" id="_R_kecpala9lik5_"><svg data-component="Octicon" aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button><span class="prc-TooltipV2-Tooltip-tLeuB" data-direction="nw" data-component="Tooltip" aria-hidden="true" id="_R_fkecpala9lik5_">Edit and raw actions</span></div></div></div></div><div></div></div><div class="BlobViewContent-module__blobContentWrapper__JS0W6"><section aria-labelledby="file-name-id-wide file-name-id-mobile" class="BlobContent-module__blobContentSection__VOgZq BlobContent-module__blobContentSectionMarkdown__mPLOK" style="margin-top:46px"><div class="js-snippet-clipboard-copy-unpositioned BlobContent-module__markdownBlob__T8jpG" data-hpc="true" containertiming="hpc"><article class="markdown-body entry-content container-lg" itemprop="text"><div align="center" dir="auto">
<div class="markdown-heading" dir="auto"><h1 tabindex="-1" class="heading-element" dir="auto">QwenPaw</h1><a id="user-content-qwenpaw" class="anchor" aria-label="Permalink: QwenPaw" href="#qwenpaw"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto"><a href="https://github.com/agentscope-ai/QwenPaw"><img src="https://camo.githubusercontent.com/debd8ce4cf8a6c9ab4455d8689dd1aefc29c2a4da06a996ef5e8432f139d515e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4769744875622d2545342542422539332545352542412539332d626c61636b2e7376673f6c6f676f3d676974687562" alt="GitHub 仓库" data-canonical-src="https://img.shields.io/badge/GitHub-%E4%BB%93%E5%BA%93-black.svg?logo=github" style="max-width: 100%;"></a>
<a href="https://pypi.org/project/qwenpaw/" rel="nofollow"><img src="https://camo.githubusercontent.com/0f61c308f8d178202c1d6642e03d97284ab46d2b1777a3ec746aa64846dc2810/68747470733a2f2f696d672e736869656c64732e696f2f707970692f762f7177656e7061773f636f6c6f723d333737354139266c6162656c3d50795049266c6f676f3d70797069" alt="PyPI" data-canonical-src="https://img.shields.io/pypi/v/qwenpaw?color=3775A9&amp;label=PyPI&amp;logo=pypi" style="max-width: 100%;"></a>
<a href="https://qwenpaw.agentscope.io/" rel="nofollow"><img src="https://camo.githubusercontent.com/05db0f93d0c3dcf0b2561dcecf6b4150d082a9f9a2d64c97bc449ae57a459b7b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2545362539362538372545362541312541332d2545352539432541382545372542412542462d677265656e2e7376673f6c6f676f3d72656164746865646f6373266c6162656c3d446f6373" alt="文档" data-canonical-src="https://img.shields.io/badge/%E6%96%87%E6%A1%A3-%E5%9C%A8%E7%BA%BF-green.svg?logo=readthedocs&amp;label=Docs" style="max-width: 100%;"></a>
<a href="https://www.python.org/downloads/" rel="nofollow"><img src="https://camo.githubusercontent.com/797d1cb32daffe13815f76a63180eff9c4e9814e15700602126e717dfe89799e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d332e31312532307e253230253343332e31342d626c75652e7376673f6c6f676f3d707974686f6e266c6162656c3d507974686f6e" alt="Python 版本" data-canonical-src="https://img.shields.io/badge/python-3.11%20~%20%3C3.14-blue.svg?logo=python&amp;label=Python" style="max-width: 100%;"></a>
<a href="https://github.com/agentscope-ai/QwenPaw"><img src="https://camo.githubusercontent.com/930cd70afe207f2fa1e5a8e14f8bde5c3f3b59e6d3749baba901789fe40cd1ed/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6167656e7473636f70652d61692f5177656e506177" alt="最后提交" data-canonical-src="https://img.shields.io/github/last-commit/agentscope-ai/QwenPaw" style="max-width: 100%;"></a>
<a href="/agentscope-ai/QwenPaw/blob/main/LICENSE"><img src="https://camo.githubusercontent.com/0878204c3fc6d7ff33554e101d71905b267486541081c7c8fa865f43003c1700/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d417061636865253230322e302d7265642e7376673f6c6f676f3d617061636865266c6162656c3d254538254145254238254535253846254146254538254146253831" alt="许可证" data-canonical-src="https://img.shields.io/badge/license-Apache%202.0-red.svg?logo=apache&amp;label=%E8%AE%B8%E5%8F%AF%E8%AF%81" style="max-width: 100%;"></a>
<a href="https://github.com/psf/black"><img src="https://camo.githubusercontent.com/da145a7219a3318e7b738c157a1d7533c19405703c3a5c4d0e106f7eb4d803f2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f636f64652532307374796c652d626c61636b2d626c61636b2e7376673f6c6f676f3d707974686f6e266c6162656c3d254534254242254133254537254130253831254539254133253845254536254130254243" alt="代码风格" data-canonical-src="https://img.shields.io/badge/code%20style-black-black.svg?logo=python&amp;label=%E4%BB%A3%E7%A0%81%E9%A3%8E%E6%A0%BC" style="max-width: 100%;"></a>
<a href="https://github.com/agentscope-ai/QwenPaw/stargazers"><img src="https://camo.githubusercontent.com/3e4c9c842f89dd79761f23cce49cdcc3fee3eac385fb0b2facd11da000c17fe8/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6167656e7473636f70652d61692f5177656e5061773f7374796c653d666c6174266c6f676f3d67697468756226636f6c6f723d79656c6c6f77266c6162656c3d53746172" alt="GitHub Star" data-canonical-src="https://img.shields.io/github/stars/agentscope-ai/QwenPaw?style=flat&amp;logo=github&amp;color=yellow&amp;label=Star" style="max-width: 100%;"></a>
<a href="https://github.com/agentscope-ai/QwenPaw/network"><img src="https://camo.githubusercontent.com/209da72c1dcab472f3745958365467f510a79abcc7b931340b911c8f8ea77c44/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6167656e7473636f70652d61692f5177656e5061773f7374796c653d666c6174266c6f676f3d67697468756226636f6c6f723d707572706c65266c6162656c3d466f726b" alt="GitHub Fork" data-canonical-src="https://img.shields.io/github/forks/agentscope-ai/QwenPaw?style=flat&amp;logo=github&amp;color=purple&amp;label=Fork" style="max-width: 100%;"></a>
<a href="https://deepwiki.com/agentscope-ai/QwenPaw" rel="nofollow"><img src="https://camo.githubusercontent.com/b8a65175d8d2d14c3b9510ef812d44f57637c196e119afd88efb54c3de1d02eb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4465657057696b692d41736b5f446576696e2d6e6176792e7376673f6c6f676f3d646174613a696d6167652f706e673b6261736536342c6956424f5277304b47676f414141414e53556845556741414143774141414179434159414141416e57446e714141414141584e535230494172733463365141414130354a52454655614550746d557479457a4551687457545179514c484e616b324142375a6e79585a4d456a584d47654b2f4149692b517548724d6e6243685959374d496838673031664a6f6f70466230756868457171636257547030362f7576317361454476344f336e33645636305266503934374d6d392f5351633049434651677a66633443595a6f545041737767534a4343554a556e41416f52484f41554f63415477626d564c5764476f482f2f5042386d6e4b71536341687344306b5950336a2f5974354c505165324b7663586d4776524863446e7078664c327a4f594a316d467772727957547a306164767631557434434a67663575684475446a3565556341556f61687264592f353665625257657261546a4d742f30305368335544746a674874514e48776352474f433938424a454145796d79636d596357774f70725467634236565a354a4b3554414a2b6658474c426d334644416d6e366f50506a5234724b43416f4a43616c326541695170327830767854504233414c4f3243526b776d447935576f687a4244775345464b527750626b6e4567674350422f696d77727963677858324e7a6f4d434868506b447771594d72397452635035714e724d5a486b566e4f6a524d57774c436372386f68425662314f4d6a784c774743766a54696b7273424f694136664e7943726d38563172503933695650707761452b674f305373576d506958422b6a696b64663653697a725435714b617378356a3841426248704654782b7646587039456e59516d4c7830326831515454726c36654471784c6e476a706f72786c334e4c336167457658645430576d456f737436343873514f5941654a53395137626655566f4d476e6a6f34415a64554d516b7535304d6344634d57634250767230537a625441464466764a71774c7a67787741546e43676e703477446c3641612b41783238336767686d6a2b766a37666545324b4242524d5733467a4f704c4f41446c3049736235353837682f55346747766b74357636305a31564c47384268596a627a527779515a656d77416436634352352f5846574c595a52494d70583339415230746a61474769477a4c5679687365354339524b433661693432707057504b694261674f7661596b386c4f3744616a657261624f5a5034364c627935774b6a77314843527837703973564d4f57477a622f7641316877695763366a6d334d765144546f67516b697149684a56306e42514254552b336f6b4b434644793957776665726b486a74786962377433784955517448786e49777478346d706732362f486677564e564462346f493952486d78355747656c52566c7274697734337a626f434c6178763436415a654233496c546b776f75656254723179324e6a5370487a3638574e466a487675707933713854466e33486f733249416b344a753564436f3842337750375650722f4647614b69472b542b762b54517149724f714d544c31566457563144646d63624f384b58427a3665736d5957594b5077444c35623546413161306877617048696f6d30722f634b616f71722b32372f58637253355577534d625141414141424a52553545726b4a6767673d3d" alt="DeepWiki" data-canonical-src="https://img.shields.io/badge/DeepWiki-Ask_Devin-navy.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==" style="max-width: 100%;"></a>
<a href="https://discord.gg/eYMpfnkG8h" rel="nofollow"><img src="https://camo.githubusercontent.com/93131af12156271b745d0c88ba44d6d167414edc8c0f6d0ee84126341e988de1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446973636f72642d4a6f696e5f55732d626c756576696f6c65742e7376673f6c6f676f3d646973636f7264" alt="Discord" data-canonical-src="https://img.shields.io/badge/Discord-Join_Us-blueviolet.svg?logo=discord" style="max-width: 100%;"></a>
<a href="https://x.com/agentscope_ai" rel="nofollow"><img src="https://camo.githubusercontent.com/975a3c4969990cc7e5f306beca9e4f9f79469e1e54e16b7a0331bd199fe8e5d0/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f582d466f6c6c6f775f55732d626c61636b2e7376673f6c6f676f3d78" alt="X" data-canonical-src="https://img.shields.io/badge/X-Follow_Us-black.svg?logo=x" style="max-width: 100%;"></a>
<a href="https://qr.dingtalk.com/action/joingroup?code=v1,k1,OmDlBXpjW+I2vWjKDsjvI9dhcXjGZi3bQiojOq3dlDw=&amp;_dt_no_comment=1&amp;origin=11" rel="nofollow"><img src="https://camo.githubusercontent.com/d21314bb5d97f7728c7ba489521eb529500ad25c879ef50f17cc607bab06aee5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f44696e6754616c6b2d4a6f696e5f55732d6f72616e67652e737667" alt="钉钉群" data-canonical-src="https://img.shields.io/badge/DingTalk-Join_Us-orange.svg" style="max-width: 100%;"></a>
<a href="https://platform.agentscope.io/" rel="nofollow"><img src="https://camo.githubusercontent.com/313d90f69aef5ca49cc4f9a49816c500631935863ada45e5594c7e9d25800a18/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2545322539382538315f4167656e7453636f70655f506c6174666f726d2d2546302539462539302542455f3725324632345f4f6e6c696e655f2532365f467265652d4646364232422e737667" alt="AgentScope 体验平台" data-canonical-src="https://img.shields.io/badge/%E2%98%81_AgentScope_Platform-%F0%9F%90%BE_7%2F24_Online_%26_Free-FF6B2B.svg" style="max-width: 100%;"></a></p>
<p dir="auto"><a href="https://trendshift.io/repositories/25882" rel="nofollow"><img src="https://camo.githubusercontent.com/66ff2cbfc34c30c246a0f3ffb7ff74f5d948b3bc2774b60dd29312579510bffc/68747470733a2f2f7472656e6473686966742e696f2f6170692f62616467652f7472656e6473686966742f7265706f7369746f726965732f32353838322f6461696c79" alt="agentscope-ai%2FQwenPaw | Trendshift" style="width: 250px; height: 55px; max-width: 100%;; aspect-ratio: 250 / 55; background-color: var(--bgColor-muted); border-radius: 6px" width="250" height="55" data-canonical-src="https://trendshift.io/api/badge/trendshift/repositories/25882/daily" class="js-gh-image-fallback"></a></p>
<p dir="auto">[<a href="https://qwenpaw.agentscope.io/" rel="nofollow">文档</a>] [<a href="/agentscope-ai/QwenPaw/blob/main/README.md">English</a>] [<a href="/agentscope-ai/QwenPaw/blob/main/README_ja.md">日本語</a>] [<a href="/agentscope-ai/QwenPaw/blob/main/README_ru.md">Русский</a>]</p>
<p align="center" dir="auto">
  <a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/027ced95817f5ccf1172e360921279025994bf5e2cb27f8b511b92520362f508/68747470733a2f2f67772e616c6963646e2e636f6d2f696d6765787472612f69312f4f31434e303173656e73354331547577696f654765784c5f2121363030303030303030323434332d35352d7470732d3737312d3133322e737667"><img src="https://camo.githubusercontent.com/027ced95817f5ccf1172e360921279025994bf5e2cb27f8b511b92520362f508/68747470733a2f2f67772e616c6963646e2e636f6d2f696d6765787472612f69312f4f31434e303173656e73354331547577696f654765784c5f2121363030303030303030323434332d35352d7470732d3737312d3133322e737667" alt="QwenPaw Logo" width="120" data-canonical-src="https://gw.alicdn.com/imgextra/i1/O1CN01sens5C1TuwioeGexL_!!6000000002443-55-tps-771-132.svg" style="max-width: 100%;"></a>
</p>
<p align="center" dir="auto"><b>懂你所需，伴你左右。</b></p>
</div>
<p dir="auto">你的个人 AI 助理 — 本地或云端部署，通过 Skills 与插件扩展能力，全频道连接。</p>
<markdown-accessiblity-table><table>
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>不遗忘对话</strong></td>
<td>三层记忆 — 实时工作上下文、完整逐字历史，以及由 <a href="https://github.com/agentscope-ai/ReMe">ReMe</a> 驱动的自进化个人知识库。对话与资料持续沉淀为可读、可编辑、可检索、相互链接的 Markdown 记忆。</td>
</tr>
<tr>
<td><strong>本地云端，自由运行</strong></td>
<td>QwenPaw-Flash 模型（2B / 4B / 9B）面向 Agent 场景专项训练。内置 QwenPaw Local 运行时，无需 API Key、不依赖云端。同时支持 Ollama、LM Studio 及 14+ 云端模型供应商。</td>
</tr>
<tr>
<td><strong>安全机制</strong></td>
<td>内核级 Sandbox、Tool Guard、File Guard 与 Skill Scanner。危险命令在执行前即被拦截。</td>
</tr>
<tr>
<td><strong>多智能体与并行</strong></td>
<td>创建拥有独立记忆与技能的 Agent；运行时生成子 Agent；通过 Agent Communication Protocol（ACP）实现跨系统编排。</td>
</tr>
<tr>
<td><strong>通用文件工作区</strong></td>
<td>在项目文件与 Agent 文件中统一提供文件导航、预览、编辑、Diff、上传和下载。</td>
</tr>
<tr>
<td><strong>能力扩展</strong></td>
<td>Skills 覆盖定时任务、文档、浏览器、新闻等。插件架构带 Plugin Market。MCP 集成外部工具。自由组合成面向场景的工作流。</td>
</tr>
<tr>
<td><strong>随处可达</strong></td>
<td>钉钉、飞书、微信、Discord、Telegram、iMessage、QQ — 一个实例，全频道连接。Console、TUI 与桌面应用可直接访问。</td>
</tr>
<tr>
<td><strong>你的，不是我们的</strong></td>
<td>本地部署，数据留在你的机器，无第三方托管，无数据上传。</td>
</tr>
</tbody>
</table></markdown-accessiblity-table>
<details>
<summary><b>你可以用 QwenPaw 做什么</b></summary>
<br>
<ul dir="auto">
<li><strong>自动化与定时任务</strong>：设置定时任务 — 新闻摘要、报告生成、多频道广播 — 全部按你的时间表自动运行。</li>
<li><strong>代码与开发</strong>：通过通用文件工作区在项目中阅读、编辑、审查与测试代码。</li>
<li><strong>文档处理</strong>：读取、写入与转换 PDF、Word、Excel、PowerPoint 文件。</li>
<li><strong>信息收集</strong>：搜索网页、关注资讯订阅、总结视频内容，并从个人知识库中检索所需信息。</li>
<li><strong>多频道运营</strong>：向钉钉、飞书、Discord、Telegram 等推送告警、摘要或 AI 生成内容 — 可同时或按频道分发。</li>
<li><strong>自定义工作流</strong>：把内置能力、插件和定时任务组合起来，打造适合你的专属流程。</li>
</ul>
</details>
<hr>
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">新闻</h2><a id="user-content-新闻" class="anchor" aria-label="Permalink: 新闻" href="#新闻"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>
<p dir="auto">[2026-09-10] <strong>v2.2.1</strong> | Creator 1.2 蓝图工作台、按智能体配置的模型路由和统一环境管理。<a href="https://qwenpaw.agentscope.io/release-notes#v2.2.1" rel="nofollow">v2.2.1 发布说明 →</a></p>
</li>
<li>
<p dir="auto">[2026-09-03] <strong>v2.2.0</strong> | 新增可自托管的多用户 QwenPaw Hub、QwenPaw Mail、原生 QwenPaw Data、统一模型路由和 Creator 1.1，并全面改进应用市场、控制台、Skills、频道与运行可靠性。<a href="https://qwenpaw.agentscope.io/release-notes#v2.2.0" rel="nofollow">v2.2.0 发布说明 →</a></p>
</li>
<li>
<p dir="auto">[2026-08-13] <strong>v2.1.0</strong> | QwenPaw OS Shell、统一文件工作区、QwenPaw Creator、Codex/Qoder 智能体接入、Browser-use、Computer-use、工作区检查点和长对话任务续接等。<a href="https://qwenpaw.agentscope.io/release-notes#v2.1.0" rel="nofollow">v2.1.0 发布说明 →</a></p>
</li>
<li>
<p dir="auto">[2026-07-24] <strong>v2.0.1</strong> | PawApp 小程序平台、用户可编辑 Agent Mode、Oh-My-Paw plugins、<a href="https://github.com/agentscope-ai/ReMe">ReMe</a> 记忆增强、桌面端用户体验增强等。<a href="https://qwenpaw.agentscope.io/release-notes#v2.0.1" rel="nofollow">v2.0.1 发布说明 →</a></p>
</li>
<li>
<p dir="auto">[2026-07-10] <strong>v2.0.0 — QwenPaw 2.0 正式发布</strong> 🎉 | 基于 AgentScope 2.0 全面重构，带来 Agent OS 架构、Loop Engineering、Scroll 上下文、<a href="https://github.com/agentscope-ai/ReMe">ReMe</a> v0.4 自进化个人知识库与内置终端界面。</p>
<markdown-accessiblity-table><table>
<thead>
<tr>
<th>亮点</th>
<th>更新内容</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Agent OS — 工作区</strong></td>
<td>每个智能体三大支柱：<strong>资源</strong>（透明落盘）、<strong>治理</strong>（allow/deny/ask/sandbox）、<strong>沙箱</strong>（macOS / Linux / Windows）。</td>
</tr>
<tr>
<td><strong>Agent OS — 驱动</strong></td>
<td>协议中立的 MCP / A2A / ACP 连接器层，带加密凭据与逐次调用策略门控。</td>
</tr>
<tr>
<td><strong>Loop Engineering</strong></td>
<td>高级智能体循环模板（Coding Mode、Mission Mode，更多模板持续推出），配合可组合审批门控。</td>
</tr>
<tr>
<td><strong>Scroll 上下文</strong></td>
<td>每一轮都持久化；滚出窗口的轮次带索引，按需回放——不摘要、不丢失。</td>
</tr>
<tr>
<td><strong><a href="https://github.com/agentscope-ai/ReMe">ReMe</a> v0.4 自进化个人知识库</strong></td>
<td>持续将对话与资料转化为可读、可编辑、可检索、相互链接的 Markdown 记忆。</td>
</tr>
<tr>
<td><strong>终端界面（TUI）</strong></td>
<td>全屏终端对话——与控制台和频道共享同一智能体、记忆与会话。</td>
</tr>
</tbody>
</table></markdown-accessiblity-table>
<p dir="auto">基于 Agent OS，我们将陆续推出开箱即用的 QwenPaw 应用小程序——如 <strong>QwenPaw Creator</strong>、<strong>QwenPaw Insight</strong> 等，敬请期待。 <a href="https://qwenpaw.agentscope.io/release-notes#v2.0.0" rel="nofollow">v2.0.0 发布说明 →</a></p>
</li>
</ul>
<p dir="auto"><a href="https://qwenpaw.agentscope.io/release-notes" rel="nofollow">全部发布说明 →</a></p>
<hr>
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">目录</h2><a id="user-content-目录" class="anchor" aria-label="Permalink: 目录" href="#目录"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li><a href="#%E6%96%B0%E9%97%BB">新闻</a></li>
<li><a href="#%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B">快速开始</a></li>
<li><a href="#api-key">API Key</a></li>
<li><a href="#%E6%9C%AC%E5%9C%B0%E6%A8%A1%E5%9E%8B">本地模型</a></li>
<li><a href="#%E5%AE%89%E5%85%A8%E7%89%B9%E6%80%A7">安全特性</a></li>
<li><a href="#%E6%96%87%E6%A1%A3">文档</a></li>
<li><a href="#%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98">常见问题</a></li>
<li><a href="#%E8%B7%AF%E7%BA%BF%E5%9B%BE">路线图</a></li>
<li><a href="#%E5%8F%82%E4%B8%8E%E8%B4%A1%E7%8C%AE">参与贡献</a></li>
<li><a href="#%E4%BB%8E%E6%BA%90%E7%A0%81%E5%AE%89%E8%A3%85">从源码安装</a></li>
<li><a href="#%E4%B8%BA%E4%BB%80%E4%B9%88%E5%8F%AB-qwenpaw">为什么叫 QwenPaw？</a></li>
<li><a href="#%E7%94%B1%E8%B0%81%E6%9E%84%E5%BB%BA">由谁构建</a></li>
<li><a href="#%E8%AE%B8%E5%8F%AF%E8%AF%81">许可证</a></li>
</ul>
<hr>
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">快速开始</h2><a id="user-content-快速开始" class="anchor" aria-label="Permalink: 快速开始" href="#快速开始"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">方式一：pip 安装</h3><a id="user-content-方式一pip-安装" class="anchor" aria-label="Permalink: 方式一：pip 安装" href="#方式一pip-安装"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto">如果你习惯自行管理 Python 环境（需 Python &gt;= 3.11, &lt; 3.14）：</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="pip install qwenpaw
qwenpaw init --defaults
qwenpaw app"><pre>pip install qwenpaw
qwenpaw init --defaults
qwenpaw app</pre></div>
<p dir="auto">然后在浏览器中打开控制台 <strong><a href="http://127.0.0.1:8088/" rel="nofollow">http://127.0.0.1:8088/</a></strong> 配置模型。若要在钉钉、飞书、微信等 app 内对话，请参考 <a href="https://qwenpaw.agentscope.io/docs/channels" rel="nofollow">频道配置</a> 文档。</p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/a4a8ea8e9728a3e5118c13beef8729d073cd068c0af12c114c2dc6220aadc33f/68747470733a2f2f696d672e616c6963646e2e636f6d2f696d6765787472612f69322f4f31434e303145503172613031694f41634276463054435f2121363030303030303030343430322d322d7470732d333832322d323037302e706e67"><img src="https://camo.githubusercontent.com/a4a8ea8e9728a3e5118c13beef8729d073cd068c0af12c114c2dc6220aadc33f/68747470733a2f2f696d672e616c6963646e2e636f6d2f696d6765787472612f69322f4f31434e303145503172613031694f41634276463054435f2121363030303030303030343430322d322d7470732d333832322d323037302e706e67" alt="Console" data-canonical-src="https://img.alicdn.com/imgextra/i2/O1CN01EP1ra01iOAcBvF0TC_!!6000000004402-2-tps-3822-2070.png" style="max-width: 100%;"></a></p>
<hr>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">方式二：脚本安装</h3><a id="user-content-方式二脚本安装" class="anchor" aria-label="Permalink: 方式二：脚本安装" href="#方式二脚本安装"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto">无需手动配置 Python，一行命令自动完成安装。脚本会自动下载 uv（Python 包管理器）、创建虚拟环境、安装 QwenPaw 及其依赖（含 Node.js 和前端资源）。注意：部分网络环境或企业权限管控下可能无法使用。</p>
<p dir="auto"><strong>macOS / Linux：</strong></p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="curl -fsSL https://qwenpaw.agentscope.io/install.sh | bash"><pre>curl -fsSL https://qwenpaw.agentscope.io/install.sh <span class="pl-k">|</span> bash</pre></div>
<p dir="auto"><strong>Windows (CMD):</strong></p>
<div class="highlight highlight-source-batchfile notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="curl -fsSL https://qwenpaw.agentscope.io/install.bat -o install.bat &amp;&amp; install.bat"><pre>curl -fsSL https://qwenpaw.agentscope.io/install.bat -o install.bat <span class="pl-k">&amp;&amp;</span> install.bat</pre></div>
<p dir="auto"><strong>Windows（PowerShell）：</strong></p>
<div class="highlight highlight-source-powershell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="irm https://qwenpaw.agentscope.io/install.ps1 | iex"><pre>irm https:<span class="pl-k">//</span>qwenpaw.agentscope.io<span class="pl-k">/</span>install.ps1 <span class="pl-k">|</span> iex</pre></div>
<blockquote>
<p dir="auto"><strong>注意</strong>：安装程序将自动检查 uv 状态，若未安装则尝试自动下载配置。如遇自动安装失败，请遵循屏幕提示操作，或执行 <code>python -m pip install -U uv</code>，然后重新运行安装程序。</p>
</blockquote>
<blockquote>
<p dir="auto"><strong><g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> Windows 企业版 LTSC 用户特别提示</strong></p>
<p dir="auto">如果您使用的是 Windows LTSC 或受严格安全策略管控的企业环境，PowerShell 可能运行在 <strong>受限语言模式</strong> 下，可能会遇到以下问题：</p>
<ol dir="auto">
<li>
<p dir="auto"><strong>如果你使用的是 CMD（.bat）：脚本执行成功但无法写入 <code>Path</code></strong></p>
<p dir="auto">脚本已完成文件安装，由于 <strong>受限语言模式</strong>，脚本无法自动更新环境变量，此时只需手动配置：</p>
<ul dir="auto">
<li><strong>找到安装目录</strong>：
<ul dir="auto">
<li>检查 <code>uv</code> 是否可用：在 CMD 中输入 <code>uv --version</code>，如果显示版本号，则<strong>只需配置 QwenPaw 路径</strong>；如果提示 <code>'uv' is not recognized as an internal or external command, operable program or batch file,</code>，则需同时配置两者。</li>
<li>uv 路径（任选其一，取决于安装位置，若 <code>uv</code> 不可用则填）：通常在 <code>%USERPROFILE%\.local\bin</code>、<code>%USERPROFILE%\AppData\Local\uv</code> 或 Python 安装目录下的 <code>Scripts</code> 文件夹</li>
<li>QwenPaw 路径：通常在 <code>%USERPROFILE%\.qwenpaw\bin</code>。</li>
</ul>
</li>
<li><strong>手动添加到系统的 Path 环境变量</strong>：
<ul dir="auto">
<li>按 <code>Win + R</code>，输入 <code>sysdm.cpl</code> 并回车，打开「系统属性」。</li>
<li>点击「高级」→「环境变量」。</li>
<li>在「系统变量」中找到并选中 <code>Path</code>，点击「编辑」。</li>
<li>点击「新建」，依次填入上述两个目录路径，点击确定保存。</li>
</ul>
</li>
</ul>
</li>
<li>
<p dir="auto"><strong>如果你使用的是 PowerShell（.ps1）：脚本运行中断</strong></p>
</li>
</ol>
<p dir="auto">由于 <strong>受限语言模式</strong>，脚本可能无法自动下载 <code>uv</code>。</p>
<ul dir="auto">
<li><strong>手动安装 uv</strong>：参考 <a href="https://github.com/astral-sh/uv/releases">GitHub Release</a> 下载并将 <code>uv.exe</code> 放至 <code>%USERPROFILE%\.local\bin</code> 或 <code>%USERPROFILE%\AppData\Local\uv</code>；或者确保已安装 Python，然后运行 <code>python -m pip install -U uv</code>。</li>
<li><strong>配置 <code>uv</code> 环境变量</strong>：将 <code>uv</code> 所在目录和 <code>%USERPROFILE%\.qwenpaw\bin</code> 添加到系统的 <code>Path</code> 变量中。</li>
<li><strong>重新运行</strong>：打开新终端，再次执行安装脚本以完成 <code>QwenPaw</code> 安装。</li>
<li><strong>配置 <code>QwenPaw</code> 环境变量</strong>：将 <code>%USERPROFILE%\.qwenpaw\bin</code> 添加到系统的 <code>Path</code> 变量中。</li>
</ul>
</blockquote>
<p dir="auto">安装完成后，请打开新终端并运行：</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="qwenpaw init --defaults   # 或：qwenpaw init（交互式）
qwenpaw app"><pre>qwenpaw init --defaults   <span class="pl-c"><span class="pl-c">#</span> 或：qwenpaw init（交互式）</span>
qwenpaw app</pre></div>
<details>
<summary><b>安装选项</b></summary>
<p dir="auto"><strong>macOS / Linux：</strong></p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="# 安装指定版本
curl -fsSL ... | bash -s -- --version 1.1.0

# 从源码安装（开发/测试用）
curl -fsSL ... | bash -s -- --from-source

# 升级 — 重新运行安装命令即可
curl -fsSL ... | bash

# 卸载
qwenpaw uninstall          # 保留配置和数据
qwenpaw uninstall --purge  # 删除所有内容"><pre><span class="pl-c"><span class="pl-c">#</span> 安装指定版本</span>
curl -fsSL ... <span class="pl-k">|</span> bash -s -- --version 1.1.0

<span class="pl-c"><span class="pl-c">#</span> 从源码安装（开发/测试用）</span>
curl -fsSL ... <span class="pl-k">|</span> bash -s -- --from-source

<span class="pl-c"><span class="pl-c">#</span> 升级 — 重新运行安装命令即可</span>
curl -fsSL ... <span class="pl-k">|</span> bash

<span class="pl-c"><span class="pl-c">#</span> 卸载</span>
qwenpaw uninstall          <span class="pl-c"><span class="pl-c">#</span> 保留配置和数据</span>
qwenpaw uninstall --purge  <span class="pl-c"><span class="pl-c">#</span> 删除所有内容</span></pre></div>
<p dir="auto"><strong>Windows（PowerShell）：</strong></p>
<div class="highlight highlight-source-powershell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="# 安装指定版本
irm ... | iex; .\install.ps1 -Version 1.1.12

# 从源码安装（开发/测试用）
.\install.ps1 -FromSource

# 升级 — 重新运行安装命令即可
irm ... | iex

# 卸载
qwenpaw uninstall          # 保留配置和数据
qwenpaw uninstall --purge  # 删除所有内容"><pre><span class="pl-c"><span class="pl-c">#</span> 安装指定版本</span>
irm ..<span class="pl-k">.</span> <span class="pl-k">|</span> iex; .\install.ps1 <span class="pl-k">-</span>Version <span class="pl-c1">1.1</span>.<span class="pl-c1">12</span>

<span class="pl-c"><span class="pl-c">#</span> 从源码安装（开发/测试用）</span>
.\install.ps1 <span class="pl-k">-</span>FromSource

<span class="pl-c"><span class="pl-c">#</span> 升级 — 重新运行安装命令即可</span>
irm ..<span class="pl-k">.</span> <span class="pl-k">|</span> iex

<span class="pl-c"><span class="pl-c">#</span> 卸载</span>
qwenpaw uninstall          <span class="pl-c"><span class="pl-c">#</span> 保留配置和数据</span>
qwenpaw uninstall <span class="pl-k">--</span>purge  <span class="pl-c"><span class="pl-c">#</span> 删除所有内容</span></pre></div>
</details>
<hr>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">方式三：使用 Docker</h3><a id="user-content-方式三使用-docker" class="anchor" aria-label="Permalink: 方式三：使用 Docker" href="#方式三使用-docker"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto">镜像在 <strong>Docker Hub</strong>（<code>agentscope/qwenpaw</code>）。镜像 tag：<code>latest</code>（稳定版）；<code>pre</code>（PyPI 预发布版）。</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="docker pull agentscope/qwenpaw:latest
docker run -p 127.0.0.1:8088:8088 \
  -v qwenpaw-data:/app/working \
  -v qwenpaw-secrets:/app/working.secret \
  -v qwenpaw-backups:/app/working.backups \
  agentscope/qwenpaw:latest"><pre>docker pull agentscope/qwenpaw:latest
docker run -p 127.0.0.1:8088:8088 \
  -v qwenpaw-data:/app/working \
  -v qwenpaw-secrets:/app/working.secret \
  -v qwenpaw-backups:/app/working.backups \
  agentscope/qwenpaw:latest</pre></div>
<p dir="auto">国内用户也可选用阿里云容器镜像服务 (ACR)：<code>agentscope-registry.ap-southeast-1.cr.aliyuncs.com/agentscope/qwenpaw</code>（tag 相同）。</p>
<p dir="auto">然后在浏览器中打开 <strong><a href="http://127.0.0.1:8088/" rel="nofollow">http://127.0.0.1:8088/</a></strong> 进入控制台。配置、记忆与 Skills 保存在 <code>qwenpaw-data</code> 卷中；模型提供商设置与 API Key 保存在 <code>qwenpaw-secrets</code> 卷中；备份归档保存在 <code>qwenpaw-backups</code> 卷中。如需传入 API Key（如 <code>DASHSCOPE_API_KEY</code>），在 <code>docker run</code> 时添加 <code>-e VAR=value</code> 或 <code>--env-file .env</code>。</p>
<blockquote>
<p dir="auto"><strong>从容器内连接宿主机上的 Ollama 或其他模型服务</strong></p>
<p dir="auto">Docker 容器内的 <code>localhost</code> 指向容器自身，而非宿主机。如果 Ollama（或其他模型服务）运行在宿主机上，可通过以下方式让容器内的 QwenPaw 访问：</p>
<p dir="auto"><strong>方式 A</strong> — 显式绑定宿主机地址（全平台通用）：</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="docker run -p 127.0.0.1:8088:8088 \
  --add-host=host.docker.internal:host-gateway \
  -v qwenpaw-data:/app/working \
  -v qwenpaw-secrets:/app/working.secret \
  -v qwenpaw-backups:/app/working.backups \
  agentscope/qwenpaw:latest"><pre>docker run -p 127.0.0.1:8088:8088 \
  --add-host=host.docker.internal:host-gateway \
  -v qwenpaw-data:/app/working \
  -v qwenpaw-secrets:/app/working.secret \
  -v qwenpaw-backups:/app/working.backups \
  agentscope/qwenpaw:latest</pre></div>
<p dir="auto">然后在 QwenPaw <strong>设置 → 模型</strong> 中，将 Base URL 改为 <code>http://host.docker.internal:&lt;端口&gt;</code> — 例如 Ollama 填 <code>http://host.docker.internal:11434</code>，LM Studio 填 <code>http://host.docker.internal:1234/v1</code>。</p>
<p dir="auto"><strong>方式 B</strong> — 使用宿主机网络（仅限 Linux）：</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="docker run --network=host \
  -v qwenpaw-data:/app/working \
  -v qwenpaw-secrets:/app/working.secret \
  -v qwenpaw-backups:/app/working.backups \
  agentscope/qwenpaw:latest"><pre>docker run --network=host \
  -v qwenpaw-data:/app/working \
  -v qwenpaw-secrets:/app/working.secret \
  -v qwenpaw-backups:/app/working.backups \
  agentscope/qwenpaw:latest</pre></div>
<p dir="auto">无需端口映射（<code>-p</code>），容器直接共享宿主机网络。注意这会将容器的所有端口暴露在宿主机上，可能与已占用的端口产生冲突。</p>
</blockquote>
<p dir="auto">镜像从零构建。若需自行构建镜像，请参阅 <code>scripts/README.md</code> 中的 <a href="/agentscope-ai/QwenPaw/blob/main/scripts/README.md#build-docker-image">Build Docker image</a> 小节，构建后推送到你的镜像仓库。</p>
<hr>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">方式四：部署到阿里云 ECS</h3><a id="user-content-方式四部署到阿里云-ecs" class="anchor" aria-label="Permalink: 方式四：部署到阿里云 ECS" href="#方式四部署到阿里云-ecs"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto">若希望将 QwenPaw 部署在阿里云上，可使用阿里云 ECS 一键部署：打开 <a href="https://computenest.console.aliyun.com/service/instance/create/cn-hangzhou?type=user&amp;ServiceId=service-1ed84201799f40879884" rel="nofollow">QwenPaw 阿里云 ECS 部署链接</a> 按页面提示操作即可。详细步骤见 <a href="https://developer.aliyun.com/article/1713682" rel="nofollow">阿里云开发者社区：3 分钟部署你的 AI 助理</a>。</p>
<hr>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">方式五：AgentScope Platform 部署</h3><a id="user-content-方式五agentscope-platform-部署" class="anchor" aria-label="Permalink: 方式五：AgentScope Platform 部署" href="#方式五agentscope-platform-部署"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto"><a href="https://platform.agentscope.io/" rel="nofollow">AgentScope Platform</a> 提供一键云端 QwenPaw 部署、插件分享与 Skill 市场。完全免费，7/24 在线。</p>
<hr>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">方式六：使用魔搭创空间</h3><a id="user-content-方式六使用魔搭创空间" class="anchor" aria-label="Permalink: 方式六：使用魔搭创空间" href="#方式六使用魔搭创空间"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto">使用 <a href="https://modelscope.cn/studios/fork?target=AgentScope/QwenPaw" rel="nofollow">魔搭创空间</a> 也可进行云端 QwenPaw 部署。注意：请将创空间设为 <strong>非公开</strong>，否则他人可能操纵你的 QwenPaw。</p>
<hr>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">方式七：桌面应用（Beta）</h3><a id="user-content-方式七桌面应用beta" class="anchor" aria-label="Permalink: 方式七：桌面应用（Beta）" href="#方式七桌面应用beta"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<blockquote>
<p dir="auto"><strong>Beta 版本说明</strong>：桌面应用目前处于 Beta 测试阶段，存在以下已知限制：</p>
<ul dir="auto">
<li><strong>兼容性测试不完整</strong>：未在所有系统版本和硬件配置上进行充分测试</li>
<li><strong>性能可能存在缺陷</strong>：启动速度、内存占用等方面可能需要进一步优化</li>
<li><strong>功能持续完善中</strong>：部分功能可能不稳定或缺失</li>
</ul>
</blockquote>
<p dir="auto">如果你不习惯使用命令行，可以下载并使用 QwenPaw 的桌面应用版本，无需手动配置 Python 环境或执行命令。</p>
<div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">下载</h4><a id="user-content-下载" class="anchor" aria-label="Permalink: 下载" href="#下载"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto">从 <a href="https://qwenpaw.agentscope.io/downloads" rel="nofollow">官方下载页</a> 下载桌面应用（Tauri 版）：</p>
<ul dir="auto">
<li><strong>Windows</strong>：<code>QwenPaw-Tauri-&lt;version&gt;-Windows-setup.exe</code></li>
<li><strong>macOS</strong>：<code>QwenPaw-Tauri-&lt;version&gt;-macOS.zip</code>（推荐 Apple Silicon）</li>
</ul>
<div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">特点</h4><a id="user-content-特点" class="anchor" aria-label="Permalink: 特点" href="#特点"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<ul dir="auto">
<li>✅ <strong>零配置</strong>：下载后双击即可运行，无需安装 Python 或配置环境变量</li>
<li>✅ <strong>跨平台</strong>：支持 Windows 10+ 和 macOS 14+</li>
<li>✅ <strong>可视化</strong>：自动打开应用界面，无需手动输入地址</li>
<li><g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> <strong>Beta 阶段</strong>：功能持续完善中，欢迎反馈问题</li>
</ul>
<div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">首次启动</h4><a id="user-content-首次启动" class="anchor" aria-label="Permalink: 首次启动" href="#首次启动"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto"><strong>重要提示</strong>：首次启动可能需要 10-60 秒（取决于您的系统配置）。应用需要初始化 Python 环境和加载依赖，请耐心等待窗口自动打开。</p>
<div class="markdown-heading" dir="auto"><h4 tabindex="-1" class="heading-element" dir="auto">macOS：绕过系统安全限制</h4><a id="user-content-macos绕过系统安全限制" class="anchor" aria-label="Permalink: macOS：绕过系统安全限制" href="#macos绕过系统安全限制"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto">当你从 Releases 下载 QwenPaw macOS 应用时，macOS 可能显示：<em>"Apple 无法验证 'QwenPaw' 不包含恶意软件"</em>。这是因为应用未经过公证。你仍然可以通过以下方式打开：</p>
<ul dir="auto">
<li>
<p dir="auto"><strong>右键打开（推荐）</strong>
右键点击（或 Control + 点击）QwenPaw 应用 → <strong>「打开」</strong> → 在对话框中再次点击 <strong>「打开」</strong>。这会告诉 Gatekeeper 你信任该应用；之后可以像往常一样双击启动。</p>
</li>
<li>
<p dir="auto"><strong>在系统设置中允许</strong>
如果仍被阻止，进入 <strong>系统设置 → 隐私与安全性</strong>，向下滚动找到类似 <em>「已阻止 'QwenPaw'，因为无法验证开发者」</em> 的提示，点击 <strong>「仍要打开」</strong> 或 <strong>「允许」</strong>。</p>
</li>
<li>
<p dir="auto"><strong>移除隔离属性（不推荐大多数用户）</strong>
在终端运行：
<code>xattr -cr "/Applications/QwenPaw Desktop.app"</code>
（或使用解压后的 <code>.app</code> 路径）。这会清除「从互联网下载」的隔离标志，使警告通常不会出现，但不如使用 <strong>右键 → 打开</strong> 安全和可控。</p>
</li>
</ul>
<p dir="auto">详细使用说明、故障排除和常见问题，请参见 <a href="https://qwenpaw.agentscope.io/docs/desktop" rel="nofollow">桌面应用指南</a>。</p>
<hr>
<div class="markdown-heading" dir="auto"><h3 tabindex="-1" class="heading-element" dir="auto">下一步？</h3><a id="user-content-下一步" class="anchor" aria-label="Permalink: 下一步？" href="#下一步"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto">安装完成后，在 <strong>控制台 → 设置 → 模型</strong> 中配置模型，然后探索：</p>
<ul dir="auto">
<li><a href="https://qwenpaw.agentscope.io/docs/skills" rel="nofollow">添加 Skills</a> 扩展能力（PDF、Office、浏览器、新闻等）</li>
<li><a href="https://qwenpaw.agentscope.io/docs/channels" rel="nofollow">配置频道</a> 连接钉钉、飞书、Discord 等</li>
<li><a href="https://qwenpaw.agentscope.io/docs/cron" rel="nofollow">配置 Cron</a> 实现定时任务与自动化</li>
<li>查看完整 <a href="https://qwenpaw.agentscope.io/docs/quickstart" rel="nofollow">快速开始指南</a> 了解所有选项与验证步骤</li>
</ul>
<hr>
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">终端界面（TUI）</h2><a id="user-content-终端界面tui" class="anchor" aria-label="Permalink: 终端界面（TUI）" href="#终端界面tui"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto">更喜欢待在终端里？运行 <code>qwenpaw</code> 即可打开一个全屏聊天 <strong>TUI</strong>，它驱动的是与控制台、IM 频道<strong>完全相同</strong>的智能体 — 同一份记忆、技能、MCP 工具与会话 — 无需离开键盘。</p>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="qwenpaw                     # 与当前激活的智能体开启对话
qwenpaw tui --resume &lt;id&gt;   # 恢复之前的某个会话
qwenpaw .                   # 在当前代码仓库中启动（Coding 模式）"><pre>qwenpaw                     <span class="pl-c"><span class="pl-c">#</span> 与当前激活的智能体开启对话</span>
qwenpaw tui --resume <span class="pl-k">&lt;</span>id<span class="pl-k">&gt;</span>   <span class="pl-c"><span class="pl-c">#</span> 恢复之前的某个会话</span>
qwenpaw <span class="pl-c1">.</span>                   <span class="pl-c"><span class="pl-c">#</span> 在当前代码仓库中启动（Coding 模式）</span></pre></div>
<p dir="auto">支持流式回复、斜杠命令（<code>/help</code>、<code>/resume</code>、<code>/theme</code>，以及智能体自身的 <code>/model</code>、<code>/clear</code> 等）、把文件 / 长文本作为附件粘贴，以及行内工具授权提示。详见 <a href="https://qwenpaw.agentscope.io/docs/tui" rel="nofollow">终端界面指南</a>。</p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/b9d9df0cff1b62e85c56a2200dae0f64b505e2b5e80b93216839683aa3cddccb/68747470733a2f2f696d672e616c6963646e2e636f6d2f696d6765787472612f69322f4f31434e303149554c7a6962315452417a6967496371475f2121363030303030303030323337382d322d7470732d323335302d313331322e706e67"><img src="https://camo.githubusercontent.com/b9d9df0cff1b62e85c56a2200dae0f64b505e2b5e80b93216839683aa3cddccb/68747470733a2f2f696d672e616c6963646e2e636f6d2f696d6765787472612f69322f4f31434e303149554c7a6962315452417a6967496371475f2121363030303030303030323337382d322d7470732d323335302d313331322e706e67" alt="QwenPaw 终端界面" data-canonical-src="https://img.alicdn.com/imgextra/i2/O1CN01IULzib1TRAzigIcqG_!!6000000002378-2-tps-2350-1312.png" style="max-width: 100%;"></a></p>
<hr>
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">API Key</h2><a id="user-content-api-key" class="anchor" aria-label="Permalink: API Key" href="#api-key"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto">若使用<strong>云端大模型 API</strong>（如 DashScope / 通义千问、OpenAI、Anthropic、Google Gemini、DeepSeek、Kimi、OpenRouter 等），在开始对话前必须配置 API Key。未配置有效 Key 前，QwenPaw 无法正常工作。详情请参考 <a href="https://qwenpaw.agentscope.io/docs/models" rel="nofollow">官方文档</a>。</p>
<p dir="auto"><strong>配置方式：</strong></p>
<ol dir="auto">
<li><strong>控制台（推荐）</strong> — 运行 <code>qwenpaw app</code> 后，打开 <strong><a href="http://127.0.0.1:8088/" rel="nofollow">http://127.0.0.1:8088/</a></strong> → <strong>设置</strong> → <strong>模型</strong>。选择提供商、填写 <strong>API Key</strong>，并启用该提供商与模型。</li>
<li><strong><code>qwenpaw init</code></strong> — 运行 <code>qwenpaw init</code> 时，会引导你配置 LLM 提供商与 API Key。按提示选择提供商并填写 Key 即可。</li>
<li><strong>环境变量</strong> — 使用 DashScope 时，可在终端或工作目录下的 <code>.env</code> 文件中设置 <code>DASHSCOPE_API_KEY</code>。</li>
</ol>
<p dir="auto">其他工具所需密钥（如网页搜索的 <code>TAVILY_API_KEY</code>）可在控制台 <strong>设置 → 环境变量</strong> 中配置，详见 <a href="https://qwenpaw.agentscope.io/docs/config" rel="nofollow">配置</a>。</p>
<blockquote>
<p dir="auto"><strong>仅用本地模型？</strong> 若使用 <a href="#%E6%9C%AC%E5%9C%B0%E6%A8%A1%E5%9E%8B">本地模型</a>（QwenPaw Local / Ollama / LM Studio），则<strong>无需</strong>任何 API Key。</p>
</blockquote>
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">本地模型</h2><a id="user-content-本地模型" class="anchor" aria-label="Permalink: 本地模型" href="#本地模型"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto">QwenPaw 可在本机完全本地运行大模型，无需 API Key 或云端服务。详情请见 <a href="https://qwenpaw.agentscope.io/docs/models" rel="nofollow">官方文档</a>。</p>
<p dir="auto">QwenPaw 还提供 <strong>QwenPaw-Flash</strong> 系列 — 面向 Agent 场景专项训练的 2B / 4B / 9B 模型，提供 Q4 与 Q8 量化版本。可在 <a href="https://www.modelscope.cn/organization/AgentScope?tab=model" rel="nofollow">ModelScope</a> 与 <a href="https://huggingface.co/agentscope-ai/models" rel="nofollow">Hugging Face</a> 获取。</p>
<markdown-accessiblity-table><table>
<thead>
<tr>
<th>后端</th>
<th>适用场景</th>
<th>安装</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>QwenPaw Local</strong>（llama.cpp）</td>
<td>跨平台（macOS / Linux / Windows）</td>
<td>内置；在 Web 界面点击「Download」即可。支持 QwenPaw-Flash，并提供硬件感知推荐。</td>
</tr>
<tr>
<td><strong>Ollama</strong></td>
<td>跨平台（需要 Ollama 服务运行）</td>
<td>安装并启动 Ollama；将上下文长度设为 ≥ 32k。</td>
</tr>
<tr>
<td><strong>LM Studio</strong></td>
<td>跨平台（需要 LM Studio 服务运行）</td>
<td>安装并启动 LM Studio；启用 Local Server。</td>
</tr>
</tbody>
</table></markdown-accessiblity-table>
<hr>
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">安全特性</h2><a id="user-content-安全特性" class="anchor" aria-label="Permalink: 安全特性" href="#安全特性"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto">QwenPaw 内置五层核心安全防护：</p>
<ul dir="auto">
<li><strong>Sandbox</strong> — 内核级执行隔离，macOS 使用 Seatbelt，Linux 使用 Bubblewrap / Landlock，Windows 使用 AppContainer。Shell 命令在受限文件系统视图中运行。</li>
<li><strong>Tool Guard</strong> — 带 <code>ShellEvasionGuardian</code> 的 YAML 规则引擎，在每次工具调用执行前进行检查，检测命令注入、路径遍历、反向 Shell 与混淆攻击。可配置审批级别：STRICT / SMART / AUTO / OFF。</li>
<li><strong>File Guard</strong> — 独立于 Tool Guard；阻止智能体访问敏感文件与目录（默认保护 <code>~/.qwenpaw.secret/</code>、<code>~/.ssh</code> 等）。</li>
<li><strong>Skill Scanner</strong> — 激活前扫描，支持 block / warn / off 模式与白名单。检测提示词注入、硬编码密钥、数据外泄等风险。</li>
<li><strong>Access Policy</strong> — 声明式访问策略，对每次能力调用裁定放行(allow)、拒绝(deny)或请求人工审批(ask)，支持工具级粒度和来源感知匹配。</li>
</ul>
<p dir="auto">详见 <a href="https://qwenpaw.agentscope.io/docs/security" rel="nofollow">安全文档</a>。</p>
<hr>
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">文档</h2><a id="user-content-文档" class="anchor" aria-label="Permalink: 文档" href="#文档"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<markdown-accessiblity-table><table>
<thead>
<tr>
<th>主题</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/intro" rel="nofollow">项目介绍</a></td>
<td>QwenPaw 是什么、怎么用</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/quickstart" rel="nofollow">快速开始</a></td>
<td>安装与运行（本地或魔搭创空间）</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/console" rel="nofollow">控制台</a></td>
<td>Web 界面：对话与智能体配置</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/tui" rel="nofollow">终端界面（TUI）</a></td>
<td>终端全屏对话，与控制台共用同一智能体</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/desktop" rel="nofollow">桌面应用</a></td>
<td>桌面应用安装与使用</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/models" rel="nofollow">模型</a></td>
<td>配置云端、本地与自定义提供商</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/channels" rel="nofollow">频道配置</a></td>
<td>钉钉、飞书、QQ、Discord、iMessage 等</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/skills" rel="nofollow">Skills</a></td>
<td>扩展与自定义能力</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/plugins" rel="nofollow">插件系统</a></td>
<td>插件体系与 Plugin Market</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/mcp" rel="nofollow">MCP 和工具</a></td>
<td>管理 MCP 客户端</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/persona" rel="nofollow">Persona</a></td>
<td>智能体人格定制（SOUL / PROFILE）</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/memory" rel="nofollow">记忆</a></td>
<td>基于本地、可编辑、可检索且相互链接的 Markdown 记忆构建自进化个人知识库，由 <a href="https://github.com/agentscope-ai/ReMe">ReMe</a> 驱动</td>
</tr>
<tr>
<td><a href="https://docs.agentscope.io/reme/latest/zh/overview" rel="nofollow">ReMe 文档</a></td>
<td>ReMe 官方概览与文档</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/memory-evolving-and-proactive" rel="nofollow">记忆进化与主动交互</a></td>
<td>智能体记忆进化与主动交互</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/context" rel="nofollow">上下文</a></td>
<td>基于滚动的上下文管理</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/commands" rel="nofollow">魔法命令</a></td>
<td>无需等待 AI 理解即可控制对话状态</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/heartbeat" rel="nofollow">心跳</a></td>
<td>定时自检与摘要</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/cron" rel="nofollow">Cron / 定时任务</a></td>
<td>定时任务与自动化</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/multi-agent" rel="nofollow">多智能体</a></td>
<td>创建多个智能体并启用协作</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/security" rel="nofollow">安全</a></td>
<td>Sandbox、Tool Guard、File Guard、Skill Scanner、Access Policy</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/backup" rel="nofollow">备份与恢复</a></td>
<td>数据备份与恢复</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/config" rel="nofollow">配置与工作目录</a></td>
<td>工作目录与配置文件</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/api-tutorial" rel="nofollow">REST API</a></td>
<td>用于集成与自动化的 HTTP API</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/acp-integration" rel="nofollow">ACP 集成</a></td>
<td>Agent Communication Protocol 集成</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/cli" rel="nofollow">CLI</a></td>
<td>初始化、定时任务、Skills、清理</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/practice-agent-team" rel="nofollow">Agent 团队实践</a></td>
<td>多智能体团队部署指南</td>
</tr>
<tr>
<td><a href="https://qwenpaw.agentscope.io/docs/faq" rel="nofollow">FAQ</a></td>
<td>常见问题与故障排查</td>
</tr>
</tbody>
</table></markdown-accessiblity-table>
<p dir="auto">完整文档：<a href="https://qwenpaw.agentscope.io/docs" rel="nofollow">qwenpaw.agentscope.io/docs</a></p>
<hr>
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">常见问题</h2><a id="user-content-常见问题" class="anchor" aria-label="Permalink: 常见问题" href="#常见问题"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto">更多常见问题、故障排查技巧和已知问题，请访问 <strong><a href="https://qwenpaw.agentscope.io/docs/faq" rel="nofollow">FAQ 页面</a></strong>。</p>
<hr>
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">路线图</h2><a id="user-content-路线图" class="anchor" aria-label="Permalink: 路线图" href="#路线图"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<markdown-accessiblity-table><table>
<thead>
<tr>
<th>方向</th>
<th>事项</th>
<th>状态</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>横向拓展</strong></td>
<td>更多频道、模型、技能、MCP</td>
<td>征集中</td>
</tr>
<tr>
<td><strong>已有功能扩展与完善</strong></td>
<td>展示、下载与 Windows 兼容优化</td>
<td>征集中</td>
</tr>
<tr>
<td><strong>模型</strong></td>
<td>多模型切换</td>
<td>进行中</td>
</tr>
<tr>
<td><strong>安全与审批</strong></td>
<td>批量预览与批准</td>
<td>进行中</td>
</tr>
<tr>
<td><strong>自动化</strong></td>
<td>自动化任务</td>
<td>进行中</td>
</tr>
<tr>
<td><strong>智能体交互</strong></td>
<td>智能体任务交接</td>
<td>进行中</td>
</tr>
<tr>
<td></td>
<td>运行中任务调整</td>
<td>进行中</td>
</tr>
<tr>
<td><strong>工作区</strong></td>
<td>多工作区</td>
<td>进行中</td>
</tr>
<tr>
<td><strong>上下文</strong></td>
<td>系统提示压缩</td>
<td>进行中</td>
</tr>
<tr>
<td><strong>工具系统</strong></td>
<td>多位置文件修改</td>
<td>进行中</td>
</tr>
<tr>
<td></td>
<td>持久终端与后台任务</td>
<td>进行中</td>
</tr>
<tr>
<td><strong>Computer-use</strong></td>
<td>屏幕目标定位与操作</td>
<td>进行中</td>
</tr>
<tr>
<td><strong>语音交互</strong></td>
<td>实时语音任务</td>
<td>进行中</td>
</tr>
<tr>
<td><strong>上下文管理与记忆</strong></td>
<td>向量模型与存储热切换</td>
<td>进行中</td>
</tr>
<tr>
<td></td>
<td>个人知识库</td>
<td>进行中</td>
</tr>
<tr>
<td><strong>QwenPaw 应用</strong></td>
<td>QwenPaw Insight</td>
<td>进行中</td>
</tr>
<tr>
<td></td>
<td>QwenPaw Mail</td>
<td>进行中</td>
</tr>
</tbody>
</table></markdown-accessiblity-table>
<p dir="auto"><em>状态说明：<strong>进行中</strong> — 正在积极开发；<strong>征集中</strong> — 我们强烈鼓励社区参与。</em></p>
<hr>
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">参与贡献</h2><a id="user-content-参与贡献" class="anchor" aria-label="Permalink: 参与贡献" href="#参与贡献"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto">QwenPaw 在开放协作中持续演进，欢迎各种形式的参与！请参考上方 <a href="#%E8%B7%AF%E7%BA%BF%E5%9B%BE">路线图</a>（尤其是标记为 <strong>征集中</strong> 的项）选择你感兴趣的方向，并阅读 <a href="https://github.com/agentscope-ai/QwenPaw/blob/main/CONTRIBUTING_zh.md">CONTRIBUTING</a> 了解如何开始。我们特别欢迎：</p>
<ul dir="auto">
<li><strong>横向拓展</strong> — 新频道、模型提供商、Skills、MCP。</li>
<li><strong>已有功能扩展与完善</strong> — 展示与交互优化、下载提示、Windows 路径兼容等。</li>
</ul>
<p dir="auto">欢迎在 <a href="https://github.com/agentscope-ai/QwenPaw/discussions">GitHub Discussions</a> 参与讨论、提出想法或认领任务。</p>
<hr>
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">从源码安装</h2><a id="user-content-从源码安装" class="anchor" aria-label="Permalink: 从源码安装" href="#从源码安装"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<div class="highlight highlight-source-shell notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="git clone https://github.com/agentscope-ai/QwenPaw.git
cd QwenPaw

# 先构建前端控制台（Web 界面必需）
cd console &amp;&amp; npm ci &amp;&amp; npm run build
cd ..

# 将控制台构建产物复制到包目录
mkdir -p src/qwenpaw/console
cp -R console/dist/. src/qwenpaw/console/

# 安装 Python 包
pip install -e ."><pre>git clone https://github.com/agentscope-ai/QwenPaw.git
<span class="pl-c1">cd</span> QwenPaw

<span class="pl-c"><span class="pl-c">#</span> 先构建前端控制台（Web 界面必需）</span>
<span class="pl-c1">cd</span> console <span class="pl-k">&amp;&amp;</span> npm ci <span class="pl-k">&amp;&amp;</span> npm run build
<span class="pl-c1">cd</span> ..

<span class="pl-c"><span class="pl-c">#</span> 将控制台构建产物复制到包目录</span>
mkdir -p src/qwenpaw/console
cp -R console/dist/. src/qwenpaw/console/

<span class="pl-c"><span class="pl-c">#</span> 安装 Python 包</span>
pip install -e <span class="pl-c1">.</span></pre></div>
<ul dir="auto">
<li><strong>开发</strong>（测试、格式化）：<code>pip install -e ".[dev,test,full]"</code></li>
<li><strong>然后</strong>：运行 <code>qwenpaw init --defaults</code>，再运行 <code>qwenpaw app</code>。</li>
</ul>
<blockquote>
<p dir="auto"><strong>版本更新提示：</strong> 当执行 <code>git pull</code> 更新到大版本后，请重新构建前端、重新安装 Python 包（<code>pip install -e .</code>）、重启 <code>qwenpaw app</code>，并清除浏览器缓存（<code>Ctrl+Shift+R</code> 或 macOS 上 <code>Cmd+Shift+R</code>）。</p>
</blockquote>
<hr>
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">为什么叫 QwenPaw？</h2><a id="user-content-为什么叫-qwenpaw" class="anchor" aria-label="Permalink: 为什么叫 QwenPaw？" href="#为什么叫-qwenpaw"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto">QwenPaw 既是 Qwen Personal Agent Workstation（千问个人智能体工作台），也寓意 Qwen 的智识与 Paw 的温度。我们希望它不是冰冷的工具，而是一只随时准备帮忙的智慧、温暖「小爪子」，是你数字生活中最默契的伙伴。</p>
<hr>
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">由谁构建</h2><a id="user-content-由谁构建" class="anchor" aria-label="Permalink: 由谁构建" href="#由谁构建"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto"><a href="https://github.com/agentscope-ai">AgentScope 团队</a> · <a href="https://github.com/agentscope-ai/agentscope">AgentScope</a> · <a href="https://github.com/agentscope-ai/agentscope-runtime">AgentScope Runtime</a> · <a href="https://github.com/agentscope-ai/ReMe">ReMe</a></p>
<hr>
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">联系我们</h2><a id="user-content-联系我们" class="anchor" aria-label="Permalink: 联系我们" href="#联系我们"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<markdown-accessiblity-table><table>
<thead>
<tr>
<th><a href="https://discord.gg/eYMpfnkG8h" rel="nofollow">Discord</a></th>
<th><a href="https://x.com/agentscope_ai" rel="nofollow">X (Twitter)</a></th>
<th><a href="https://qr.dingtalk.com/action/joingroup?code=v1,k1,OmDlBXpjW+I2vWjKDsjvI9dhcXjGZi3bQiojOq3dlDw=&amp;_dt_no_comment=1&amp;origin=11" rel="nofollow">钉钉</a></th>
<th><a href="https://www.xiaohongshu.com/user/profile/691c18db0000000037032be9" rel="nofollow">小红书</a></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://discord.gg/eYMpfnkG8h" rel="nofollow"><img src="https://camo.githubusercontent.com/e9a88e8b54eaf26cda4abe522968eac3ed9bb8a1fe2f97d83fb3ca21ed64cd26/68747470733a2f2f67772e616c6963646e2e636f6d2f696d6765787472612f69312f4f31434e3031686844316d75314464334257565576784e5f2121363030303030303030303233382d322d7470732d3430302d3430302e706e67" width="80" height="80" alt="Discord" data-canonical-src="https://gw.alicdn.com/imgextra/i1/O1CN01hhD1mu1Dd3BWVUvxN_!!6000000000238-2-tps-400-400.png" style="max-width: 100%; height: auto; max-height: 80px;; aspect-ratio: 80 / 80; background-color: var(--bgColor-muted); border-radius: 6px" class="js-gh-image-fallback"></a></td>
<td><a href="https://x.com/agentscope_ai" rel="nofollow"><img src="https://camo.githubusercontent.com/b3385d88ba15f66d127dc80ed7a691df7ee878792d20ad589fa7b9d0f59be1a7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f582d626c61636b2e7376673f6c6f676f3d78266c6f676f436f6c6f723d7768697465" width="80" height="80" alt="X" data-canonical-src="https://img.shields.io/badge/X-black.svg?logo=x&amp;logoColor=white" style="max-width: 100%; height: auto; max-height: 80px;; aspect-ratio: 80 / 80; background-color: var(--bgColor-muted); border-radius: 6px" class="js-gh-image-fallback"></a></td>
<td><a href="https://qr.dingtalk.com/action/joingroup?code=v1,k1,OmDlBXpjW+I2vWjKDsjvI9dhcXjGZi3bQiojOq3dlDw=&amp;_dt_no_comment=1&amp;origin=11" rel="nofollow"><img src="https://camo.githubusercontent.com/9861133332cda2421cd33b38201749b1f8cd434c12bc65641b6bd4e760b4db75/68747470733a2f2f696d672e616c6963646e2e636f6d2f696d6765787472612f69322f4f31434e303176435749386131736b48744c4758454d515f2121363030303030303030353830342d322d7470732d3435382d3436302e706e67" width="80" height="80" alt="钉钉" data-canonical-src="https://img.alicdn.com/imgextra/i2/O1CN01vCWI8a1skHtLGXEMQ_!!6000000005804-2-tps-458-460.png" style="max-width: 100%; height: auto; max-height: 80px;; aspect-ratio: 80 / 80; background-color: var(--bgColor-muted); border-radius: 6px" class="js-gh-image-fallback"></a></td>
<td><a href="https://www.xiaohongshu.com/user/profile/691c18db0000000037032be9" rel="nofollow"><img src="https://camo.githubusercontent.com/44ecf3f680ee1d92f2938add62b2fb84ca669ce375fc1a64824d398fe7b88cee/68747470733a2f2f696d672e616c6963646e2e636f6d2f696d6765787472612f69332f4f31434e303136426f455053316c33334345396d4862395f2121363030303030303030343736322d302d7470732d3136302d3136302e6a7067" width="80" height="80" alt="小红书" data-canonical-src="https://img.alicdn.com/imgextra/i3/O1CN016BoEPS1l33CE9mHb9_!!6000000004762-0-tps-160-160.jpg" style="max-width: 100%; height: auto; max-height: 80px;; aspect-ratio: 80 / 80; background-color: var(--bgColor-muted); border-radius: 6px" class="js-gh-image-fallback"></a></td>
</tr>
</tbody>
</table></markdown-accessiblity-table>
<hr>
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">掌握最新动态</h2><a id="user-content-掌握最新动态" class="anchor" aria-label="Permalink: 掌握最新动态" href="#掌握最新动态"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<a href="https://github.com/agentscope-ai/QwenPaw">
  <img src="https://camo.githubusercontent.com/4d5c65623bdb6c7cebb9ea26b3533b9f033a8334d118b2b4f720df1e22cf3cf5/68747470733a2f2f696d672e616c6963646e2e636f6d2f696d6765787472612f69312f4f31434e303156384859763631427930485963494461715f2121363030303030303030303031332d312d7470732d313639382d3935342e676966" width="600" alt="Star QwenPaw" data-animated-image="" data-canonical-src="https://img.alicdn.com/imgextra/i1/O1CN01V8HYv61By0HYcIDaq_!!6000000000013-1-tps-1698-954.gif" style="max-width: 100%;">
</a>
<p dir="auto">在 GitHub 上 Star QwenPaw，第一时间收到新版本发布通知。</p>
<hr>
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">遥测数据</h2><a id="user-content-遥测数据" class="anchor" aria-label="Permalink: 遥测数据" href="#遥测数据"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto">QwenPaw 在执行 <code>qwenpaw init</code> 时会收集<strong>匿名</strong>使用数据，帮助我们了解用户环境并优化产品。数据<strong>每个版本收集一次</strong> — 当你升级 QwenPaw 后，会重新收集以便我们了解版本分布。</p>
<p dir="auto"><strong>收集的信息：</strong></p>
<ul dir="auto">
<li>QwenPaw 版本（如 1.1.12）</li>
<li>安装方式（pip、Docker 或桌面应用）</li>
<li>操作系统及版本（如 macOS 14.0、Ubuntu 22.04）</li>
<li>Python 版本（如 3.13）</li>
<li>CPU 架构（如 x86_64、arm64）</li>
<li>GPU 是否可用（是/否）</li>
</ul>
<p dir="auto"><strong>不收集：</strong> 不涉及任何个人数据、文件、密钥、IP 地址或可识别信息。</p>
<p dir="auto">交互式运行 <code>qwenpaw init</code> 时，会询问你是否同意。使用 <code>--defaults</code> 模式则自动同意。提示每个版本仅出现一次，且不影响 QwenPaw 的任何功能。</p>
<hr>
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">许可证</h2><a id="user-content-许可证" class="anchor" aria-label="Permalink: 许可证" href="#许可证"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto">QwenPaw 采用 <a href="/agentscope-ai/QwenPaw/blob/main/LICENSE">Apache License 2.0</a> 开源协议。</p>
<hr>
<div class="markdown-heading" dir="auto"><h2 tabindex="-1" class="heading-element" dir="auto">贡献者</h2><a id="user-content-贡献者" class="anchor" aria-label="Permalink: 贡献者" href="#贡献者"><svg data-component="Octicon" class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"></path></svg></a></div>
<p dir="auto">感谢所有为 QwenPaw 做出贡献的朋友们：</p>
<a href="https://github.com/agentscope-ai/QwenPaw/graphs/contributors">
  <img src="https://camo.githubusercontent.com/ad26b7b9a83c8ee9cf8379b0b50e3b2f6a60a9c8862240c680d97fb28e3b000b/68747470733a2f2f636f6e747269622e726f636b732f696d6167653f7265706f3d6167656e7473636f70652d61692f5177656e506177" alt="贡献者" data-canonical-src="https://contrib.rocks/image?repo=agentscope-ai/QwenPaw" style="max-width: 100%;">
</a>
</article></div><div class="d-none"></div></section></div></div></div> </div> <!-- --> </div></div></div></div></div></div><div class="ScrollMarksContainer-module__scrollMarksContainer__Eu7uU" id="find-result-marks-container"></div><div class="d-none"></div><div class="d-none"></div></div> <!-- --> <!-- --> </div>
</react-app>




  </div>

</turbo-frame>

    </main>
  </div>

  </div>

          <footer class="footer f6 color-fg-muted color-border-subtle tmp-pt-7 tmp-pb-6 p-responsive" role="contentinfo"  >
  <h2 class='sr-only'>Footer</h2>

  


  <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap">
    <div class="d-flex flex-items-center flex-shrink-0 mx-2">
      <a aria-label="GitHub Homepage" class="footer-octicon mr-2" href="https://github.com">
        <svg aria-hidden="true" data-component="Octicon" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github">
    <path d="M10.226 17.284c-2.965-.36-5.054-2.493-5.054-5.256 0-1.123.404-2.336 1.078-3.144-.292-.741-.247-2.314.09-2.965.898-.112 2.111.36 2.83 1.01.853-.269 1.752-.404 2.853-.404 1.1 0 1.999.135 2.807.382.696-.629 1.932-1.1 2.83-.988.315.606.36 2.179.067 2.942.72.854 1.101 2 1.101 3.167 0 2.763-2.089 4.852-5.098 5.234.763.494 1.28 1.572 1.28 2.807v2.336c0 .674.561 1.056 1.235.786 4.066-1.55 7.255-5.615 7.255-10.646C23.5 6.188 18.334 1 11.978 1 5.62 1 .5 6.188.5 12.545c0 4.986 3.167 9.12 7.435 10.669.606.225 1.19-.18 1.19-.786V20.63a2.9 2.9 0 0 1-1.078.224c-1.483 0-2.359-.808-2.987-2.313-.247-.607-.517-.966-1.034-1.033-.27-.023-.359-.135-.359-.27 0-.27.45-.471.898-.471.652 0 1.213.404 1.797 1.235.45.651.921.943 1.483.943.561 0 .92-.202 1.437-.719.382-.381.674-.718.944-.943"></path>
</svg>
</a>
      <span>
        &copy; 2026 GitHub,&nbsp;Inc.
      </span>
    </div>

    <nav aria-label="Footer">
      <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3>

      <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading">


          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a>
          </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a>
          </li>


            <li class="mx-2">
              <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a>
            </li>

            <li class="mx-2">
              <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a>
            </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to community&quot;,&quot;label&quot;:&quot;text:community&quot;}" href="https://github.community/" data-view-component="true" class="Link--secondary Link">Community</a>
          </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to docs&quot;,&quot;label&quot;:&quot;text:docs&quot;}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a>
          </li>

          <li class="mx-2">
            <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a>
          </li>

          
<li class="mx-2" >
  <cookie-consent-link>
    <button
      type="button"
      class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent"
      data-action="click:cookie-consent-link#showConsentManagement"
      data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;cookies&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;cookies_link_subfooter_footer&quot;}"
    >
      Manage cookies
    </button>
  </cookie-consent-link>
</li>

  <li class="mx-2">
    <cookie-consent-link>
      <button
        type="button"
        class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent text-left"
        data-action="click:cookie-consent-link#showConsentManagement"
        data-analytics-event="{&quot;location&quot;:&quot;footer&quot;,&quot;action&quot;:&quot;dont_share_info&quot;,&quot;context&quot;:&quot;subfooter&quot;,&quot;tag&quot;:&quot;link&quot;,&quot;label&quot;:&quot;dont_share_info_link_subfooter_footer&quot;}"
      >
        Do not share my personal information
      </button>
    </cookie-consent-link>
  </li>

      </ul>
    </nav>
  </div>
</footer>



    <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999"
      data-locale="en"
      data-initial-cookie-consent-allowed=""
      data-cookie-consent-required="true"
    ></ghcc-consent>




  <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden>
    <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
    <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
</svg>
    <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
    </button>
    You can’t perform that action at this time.
  </div>

    <template id="site-details-dialog">
  <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open>
    <summary role="button" aria-label="Close dialog"></summary>
    <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal">
      <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog>
        <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
    <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
      </button>
      <div class="octocat-spinner tmp-my-6 js-details-dialog-spinner"></div>
    </details-dialog>
  </details>
</template>

    <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;">
  <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;">
  </div>
</div>

    <template id="snippet-clipboard-copy-button">
  <div class="zeroclipboard-container position-absolute right-0 top-0">
    <clipboard-copy aria-label="Copy code to clipboard" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w">
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2 tmp-m-2">
    <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
</svg>
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2 tmp-m-2">
    <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path>
</svg>
    </clipboard-copy>
  </div>
</template>
<template id="snippet-clipboard-copy-button-unpositioned">
  <div class="zeroclipboard-container">
    <clipboard-copy aria-label="Copy code to clipboard" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w">
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon">
    <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
</svg>
      <svg aria-hidden="true" data-component="Octicon" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none">
    <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path>
</svg>
    </clipboard-copy>
  </div>
</template>




    </div>
    <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div>
    <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div>
  </body>
</html>

