     fs.readJsonAsync(@mirrorPath).then (@mirrors_) =>
       mirrorConf = config.get 'packageManager.mirrorName', if navigator.language is 'zh-CN' then  "taobao" else "npm"
       proxyConf = config.get "packageManager.proxy", false
-      @selectConfig(mirrorConf, proxyConf).then =>
+      betaCheck = config.get "packageManager.enableBetaPluginCheck", false
+      @selectConfig(mirrorConf, proxyConf, betaCheck).then =>
         @mirrors_
 
   # select a mirror and set proxy config
-  # @param {object, object} mirror name, is proxy enabled
+  # @param {object, object, object} mirror name, is proxy enabled, is check beta plugin
   # @return {Promise<Object>} return the npm config
-  selectConfig: (name, enable) ->
+  selectConfig: (name, enable, check) ->
     @getMirrors().then =>
       @config_.mirror = @mirrors_[name]
       config.set "packageManager.mirrorName", name
       @config_.proxy = enable
       config.set "packageManager.proxy", enable
+      @config_.betaCheck = check
+      config.set "packageManager.enableBetaPluginCheck", check
       new Promise (resolve) =>
         npmConfig =
           prefix: PLUGIN_PATH

  setUpdateInformation: ->
    @getMirrors().then =>
      @getInstalledPlugins().then =>
        Promise.all(@plugins.map (plugin) =>
          @getLastestVersionOfPlugin(plugin).then (version) ->
            plugin.lastestVersion = version
            plugin.isOutdated = semver.lt plugin.version, plugin.lastestVersion
        )

  # get the current plugins

    @config_ =
      mirror: null
      proxy: null
      betaCheck: null

    # @const
    @VALID = 0
