> ## Documentation Index
> Fetch the complete documentation index at: https://docs.molesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 登录

> 通过浏览器以 OAuth 2.1 或用 API Token 登录 MoleSignal 命令行，用 profile 保存多个登录，并在代理后检查设置。

命令行登录一次，之后的命令沿用这次登录。有两种方式：

| 方式 | 适用场景 |
| - | - |
| 浏览器登录 | 有浏览器的电脑前有人操作。使用 OAuth 2.1，会自动续期。 |
| API Token | 脚本、构建机和没有浏览器的电脑。 |

浏览器登录只能访问 MoleSignal 的 MCP 端点。上报发布、上传 Source Map 与符号、发送日志调用 MoleSignal 的 API，需要 API Token。

## 在浏览器中登录

```bash theme={null}
molesignal login --url https://molesignal.example.com
```

1. 命令行向 MoleSignal 注册自己，并在默认浏览器中打开 MoleSignal 的授权页。还没有登录 MoleSignal 时，先在浏览器中登录。
2. 授权页列出客户端、账号和组织，以及这次授权允许做的事。属于多个组织的用户在 **组织** 中选择一个，授权绑定到所选组织。
3. 点 **授权**。浏览器回到命令行，命令行显示可用的工具数。

命令行申请 `mcp` 和 `offline_access` 两个权限范围，所以登录会自动续期，直到被撤销。授权页等待五分钟，超时后命令结束，之前保存的登录保持不变。授权被拒绝或中途中断时，之前的登录同样保持不变。

> [!NOTE]
>
> 浏览器回到 `http://127.0.0.1` 上的一个监听端口，它只在命令运行期间存在。命令结束后，本机不再监听任何端口。通过 SSH 连接的远程机器上，浏览器访问不到这个端口，请在那里用 API Token 登录。

## 用 API Token 登录

在 **身份与访问 → API tokens** 中创建 Token，再从标准输入传给命令行：

```bash theme={null}
printf '%s' "$MOLESIGNAL_TOKEN" | molesignal login --url https://molesignal.example.com --with-token
```

Token 以其所属用户或服务账号的权限操作。

## 不保存 Token 直接使用

在环境变量中给出地址和 Token，例如在构建机上。这种方式不保存任何内容：

```bash theme={null}
MOLESIGNAL_URL=https://molesignal.example.com MOLESIGNAL_TOKEN=<token> molesignal status
```

`--url` 和 `--token` 对单个命令起同样的作用。为一个地址保存的 Token 不会发送给其他地址。

## 保存多个登录

每个登录保存在一个 profile 中：一个地址，以及访问它的凭据。有多个 profile 时，命令行可以同时登录多个 MoleSignal 实例，或同一实例的多个组织。`--profile` 指定登录保存到哪个 profile：

```bash theme={null}
molesignal login --url https://staging.molesignal.example.com --profile staging
```

最后登录的 profile 成为当前 profile。命令使用当前 profile；`--profile` 或 `MOLESIGNAL_PROFILE` 为单个命令指定另一个。第一次登录且没有 `--profile` 时，登录保存到名为 `default` 的 profile。

| 命令 | 作用 |
| - | - |
| `molesignal profiles` | 列出 profile、登录方式和地址。`*` 标出当前 profile。 |
| `molesignal use <profile>` | 把一个 profile 设为当前 profile。 |
| `molesignal logout --profile <profile>` | 删除一个 profile 的登录，保留其地址。 |
| `molesignal profiles remove <profile>` | 删除一个 profile。 |

## 登录保存在哪里

profile 保存在 `~/.config/molesignal/config.json`，只有其所有者可读。设置了 `XDG_CONFIG_HOME` 时放在其下；Windows 上放在 `%APPDATA%` 下。`MOLESIGNAL_CONFIG` 可以指定另一个文件。

## 通过代理访问

`HTTPS_PROXY`（或 `HTTP_PROXY`）让命令行的每个请求都经过代理，`NO_PROXY` 列出不经过代理直接访问的主机：

```bash theme={null}
HTTPS_PROXY=http://proxy.example.com:3128 NO_PROXY=localhost molesignal status
```

MoleSignal 的证书由私有证书颁发机构签发时，把该机构的证书写入 `NODE_EXTRA_CA_CERTS`。

## 检查登录与设置

`molesignal status` 显示地址、profile、应答的服务器、MCP 协议版本、登录方式和 MCP 工具数：

```bash theme={null}
molesignal status
```

`molesignal whoami` 显示用户、组织、角色，以及 MoleSignal 授予的权限：

```bash theme={null}
molesignal whoami
```

`molesignal doctor` 逐项检查命令行依赖的条件，并说明未通过时怎么处理：Node.js、配置文件的权限、地址、代理、网络与 TLS、时钟、登录，以及 MCP 端点。有检查未通过时以 `1` 退出：

```bash theme={null}
molesignal doctor
```

## 退出登录

`molesignal logout` 删除本机当前 profile 保存的登录：

```bash theme={null}
molesignal logout
```

MoleSignal 中的授权在被撤销之前一直有效，在 **Mole Agent → 设置 → Inbound MCP** 中撤销。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.