docs: def addPlugin(self, method="remote", **kwargs):
          """Add a plugin, support only for `.tar.gz` or `.zip` compression packages.
  
          :param method:
              `remote`, download and unpack a remote plugin package;
              `local`, unzip a local plugin package.
  
          :param url: str: for method is remote, plugin can be downloaded from the address.
  
          :param filepath: str: for method is local, plugin local absolute path
  
          :param remove: Boolean: for method is local, remove the plugin source code package, default is False.
  
          :returns: dict: add the result of the plugin, like dict(msg=str, code=int), code=0 is successful.
          """
          res = dict(code=1, msg=None)
          try:
              if method == "remote":
                  self._remote_download(kwargs["url"])
              elif method == "local":
                  self._local_upload(kwargs["filepath"], kwargs.get("remove", False))
              else:
                  res.update(msg="Invalid method")
          except Exception as e:
              res.update(msg=str(e))
          else:
              res.update(code=0)
          return res