       latest: latest
   onSelectOpenFolder: ->
     shell.openItem path.join PLUGIN_PATH, 'node_modules'
+  onSelectOpenSite: (e) ->
+    shell.openExternal "https://www.npmjs.com/search?q=poi-plugin"
+    e.preventDefault()
   onSelectInstallFromFileComplete: (data, er) ->
     if er
       notify __ 'Install failed. Maybe the selected files are not plugin packages.',

npm = require 'npm'
semver = require 'semver'
{$, $$, _, React, ReactBootstrap, FontAwesome, ROOT} = window
{Grid, Col, Input, Alert, Button, ButtonGroup, DropdownButton, MenuItem, Label} = ReactBootstrap
{config} = window
shell = require 'shell'
{dialog} = remote.require 'electron'

                           pulse={@state.installing}/>
              <span> {__ "Install all"}</span>
            </Button>
            <Button onClick={@handleAdvancedShow}
                    className="control-button"
                    style={width: '25%'}>
              <span> {__ "Advanced"}</span>
              <FontAwesome name="#{if @state.timeSettingShow then 'angle-up' else 'angle-down'}" />
            </Button>
          </ButtonGroup>
          <Collapse in={@state.advanced}>
            <div>
              <Well>
                <Row>
                  <Col xs=12>
                    {
                      installButton =
                        <Button bsStyle='primary' onClick={@handleManuallyInstall.bind @, @state.manuallyInstallPackage, @onSelectInstallFromFileComplete}>
                          {__ 'Install'}
                        </Button>
                      <Input type="text"
                             value={@state.manuallyInstallPackage}
                             onChange={@changeInstalledPackage}
                             label={__ 'Install directly form npm'}
                             placeholder={__ 'Input plugin package name...'}
                             bsSize='small'
                             buttonAfter={installButton} />
                    }
                  </Col>
                  <Col xs=12>
                    <label className='control-label' style={width: '100%'}>
                      {__ 'Select npm server'}
                    </label>
                    {
                      for server, index in mirror
                        <Col key={index} xs=6>
                          <Input type="radio"
                                 label={server.menuname}
                                 checked={@state.mirror == index}
                                 onChange={@onSelectServer.bind @, index} />
                        </Col>
                    }
                  </Col>
                  <Col xs=12>
                    <label className='control-label' style={width: '100%'}>
                      {__ 'Other options'}
                    </label>
                    <ButtonGroup style={width: '100%'}>
                      <Button style={width: '50%'} onClick={@onSelectOpenFolder}>
                        {__ 'Open plugin folder'}
                      </Button>
                      <Button style={width: '50%'} onClick={@onSelectOpenSite}>
                        {__ 'Search for plugins'}
                      </Button>
                    </ButtonGroup>
                  </Col>
                </Row>
              </Well>
            </div>
          </Collapse>
        </Col>
        <Col xs={12} style={paddingBottom: 10}>
          <div className="folder-picker"
