# @agentcomms/gmail 中文文档

规范地址：https://npmcn.com/package/%40agentcomms/gmail/

版本：0\.37\.0
npm 元数据更新时间：2026-10-28T22:10:31.939Z
中文译文更新时间：2026-11-06T03:54:36.706Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40agentcomms/gmail
原文对照：https://npmcn.com/package/%40agentcomms/gmail/?lang=original
源码仓库：https://github.com/crissmoldovan/agent-communications

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：6.5 MB，40 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.12\.0
- 运行依赖：2 个
- 首次发布：2026-09-19T20:07:02.794Z
- 最新版本发布：2026-10-28T22:10:31.583Z
- 近 30 天下载量：5264（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：59（近 12 个月 59 个）

## 中文简介

编码代理的Gmail:代理-gmail CLI,一个MCP服务器和一个库-搜索,读取,分析和起草跨越许多收件箱,通过批准发送门.

## 安装

```sh
npm install @agentcomms/gmail
```

也可以使用：`pnpm add @agentcomms/gmail`、`yarn add @agentcomms/gmail`、`bun add @agentcomms/gmail`

## README

# @ agentcomms/ gmail (英语)

用于编码代理的Gmail:搜索、读取、分析和起草多个邮箱——与 **发送门由 用户当时给予的批准**。 。 。 .

这个包是 `agent-gmail` 命令和背后的 MCP 服务器。 这是其中的一部分 [代理通讯](https://github.com/crissmoldovan/agent-communications)。 。 。 .

本地事件守护进程, [`@agentcomms/events-daemon`](https://npmcn.com/package/%40agentcomms/events-daemon/README.md),可能称此包的内部 只读事件操作。 它没有添加 Gmail 命令 或 MCP 工具,它不能发送.

## 为什么发送规则存在

每个Gmail允许一个应用程序写一个草稿也允许它发送:没有将两者分开的范围. 因此"代理人可以起草但不能发送"不能由赠款执行,而在这里执行——一个代码路径 到达Gmail的发送端点,在没有与发送的准确信息匹配的批准的情况下拒绝.

## 谁的留言似乎来自

一个探员的草稿写道: `"Jo Example (agent)" <jo@example.com>` 所以无论谁收到 可以知道是这个人的代理人寄来的,而不是这个人([设计](https://npmcn.com/package/docs/superpowers/specs/2026-10-15-agent-label-design.md), (中文(简体) ), 第5条.

-   **名称** 是 Gmail 在“ 发送邮件为” 下为该地址持有的地址; 当它没有, 或有一个标签 无法使用,核心中设置的标签名称(它的 CLI) `label name`,或 `comms_label`草案被否决,并说 如何设置一个. **词** 实值 `agent`,除非该人选择 `assistant`, (中文(简体) ), `twin`, (中文(简体) ), `minion`, (中文(简体) ), `bot`, (中文(简体) ), `fake` 或者说 `AI`。 。 。 .
-   **`--as me`** 打开 `draft new`, (中文(简体) ), `draft reply`, (中文(简体) ), `draft update` 财务报告和审定财务报表 `send prepare` (单位:千美元)`as: "me"` 写着: 被打上标签的那个人 因为当他们为这个信息说到这一点时 他们的标签规则另作决定,通过邮箱, (地址或 `@domain`,仅在每个接受者进行匹配时进行匹配)和按种类进行匹配(`send` 用于新的 消息或前进, `reply` 以示答复;没有规定,电文被贴上标签.
-   **`send prepare` 又解决了.** 一份草案,其来源没有说明它似乎来自谁——写作: Gmail,在发布之前写, 或一条规则或 `as` 现在位置不同了 重写它的标题 其它的都是Gmail的字节 预览中说From被改写了 草稿来自 邮箱不能按拒绝的方式发送地址,而不能重新贴上标签.
-   **预览的第一行** 说它会是.. `me`, (中文(简体) ), `Sent as you, with no label: it will look as if you wrote it yourself` a 预览空白后更改的 这个.

Gmail 不记录它通过它的 API 发送的 From 名称来做什么 。 报告说,它保留了书面名称; 设计中的活检(§10)是解决它的方法.

## 安装

```sh
npm install -g @agentcomms/gmail    # or run it with npx @agentcomms/gmail <command>
```

节点22.12或更新. 没有别的了:指挥舰作为一捆.

## 连接邮箱

```sh
npm i -g @agentcomms/gmail
agent-gmail setup
```

`setup` 是进来的路 您需要符合资格的 OAuth 客户端: 您自己的客户端, 或者一个组织配置文件提供客户端 . 为您自己在 Google Cloud 中创建一次( 类型 ) **桌面应用程序**并公布它,以免它的迹象在以后失效 一个星期.. `setup` 将这五个屏幕与每个屏幕连在一起,并说每个字段要打什么字。 以一个简介, `setup --profile <file>` 通过自己的批准加入,并在邮箱名称选择时跳过"云"行走 活动客户端。 它随后连接了邮箱并主动提出注册MCP服务器. 它跳过任何已经做的, 因此,运行它再次增加了另一个邮箱—— 并停止了部分, 它提供继续 从最后一个屏幕确认.

在终端上,它绘制一个列表,您用光标键移动; `--no-tui` 问同样的问题 一行 在一个时候。 没有人能回答一个.. `--json`, (中文(简体) ), `--no-input`,CI,一个被改变方向的溪流——它作用于它的旗帜 并点出本可以继续使用的旗帜:

```sh
agent-gmail setup --client-json ~/Downloads/client_secret_*.json \
  --inbox acme/gmail --email you@example.com --mcp-client claude-code --json
```

它无法完成的一步是赠与: 它返回登录链接和完成它的命令 继续将Gmail放入该应用程序的 MCP 连接,当 `--mcp-client` 带着邮箱来的`--standalone` 与0.35.0之前一样,登记Gmail自己的条目。 每一个邮箱都要Gmail 应用程序在哪里 连接已经把 Gmail 保存在一个邮箱里,或者只读它, 它离开它,当你选择它 所以说 `agentcomms connection change` 这会让它到达新的邮箱。 注册 OAuth 客户端 而连接 MCP 服务器是您批准的更改 。 由经纪人管理, `setup` 每个站点都有预览和一个 批准编号,并再次运行 `--approval <id>` 用于 OAuth 客户端或 `--mcp-approval <id>` mCP 服务器 一旦你答应了,在终点站它就会问你.

### 通过手

命令 `setup` 包装都还在那里:

```sh
agent-gmail client add ~/Downloads/client_secret_*.json --move
agent-gmail inbox add acme/gmail --email you@example.com --start   # prints a link
# open the link, choose the account, leave every permission ticked
agent-gmail inbox add --finish fl_… --wait 60
agent-gmail whoami --inbox acme/gmail
```

添加配置文件不会移动已连接的邮箱 。 读取其活动客户端 `agentcomms org show <organisation>`,然后移动一个 `agent-gmail inbox reauth <name> --client <organisation>-1 --start`,使用 生成名称 `org show` 报告.

`--start` 财务报告和审定财务报表 `--finish` 是两个命令,因为同意需要几分钟 代理的外壳不会持续 长。 在终端上,平平 `agent-gmail inbox add acme/gmail` 等待浏览器本身.

## 图标

| 命令 | 它会做什么 |
| --- | --- |
| `setup` | google Cloud 步骤,客户端,一个邮箱和代理连接,在一个命令中 |
| `client add|list|remove` | google Cloud OAuth 客户端 每个邮箱的标志通过 |
| `inbox add|list|show|reauth|rename|policy|remove|import` | 连接和管理邮箱 |
| `whoami --inbox <name>` | 谷歌说的信箱 |
| `doctor [--inbox <name>]` | 检查所有需要工作的东西, 并说如何修复什么没有 |
| `mcp` | 在 stdio 上运行 MCP 服务器 |
| `mcp install --client claude-code|claude-desktop|codex|cursor|gemini|vscode|json` | 注册服务器,并证明它开始(先得到批准) |
| `mcp prune [--dry-run]` | 删除遗留的旧版本( 先批准) |

每个命令都用 `--json` 和指纹 `{"ok":true,"schemaVersion":1,"data":…}` 或者,如果失败, `{"ok":false,"schemaVersion":1,"error":{"code","message","hint"}}` ——有文件记载的出站代码 (`--help` 列表 ,他们。 数据到 stdout,消息到 stderr.

### 保存附件

```sh
agent-gmail attachments find --inbox acme/gmail --from sam@partner.test --filename pdf
agent-gmail attachments download 18f2c7a9e03b41d6 --inbox acme/gmail --part 1
```

**你说他们去哪里.** 在您有文件之前, 任何文件都不会被保存: 命令列出文件—— 每个名称、 大小和 发件人——并询问是否将其保存在 `1` 您的下载文件夹, `2` 您运行的文件夹, 或 `3` 文件夹 名称(绝对,或从 `~`;如果缺失,则制作)。 两个文件夹都按其精确路径显示. 下载是 `defaults.downloadsDir` 当设置一个时; 否则, 您的系统会保存的文件夹 — 在 Linux 上的 XDG 1 (单位:千美元)`XDG_DOWNLOAD_DIR`,或 `~/.config/user-dirs.dirs`这样 `~/Téléchargements` 在法国桌面上),在Windows上 下载已知文件夹, 否则移动到何处 `~/Downloads`在自己的终端,你也可以说它与 `--to downloads`, (中文(简体) ), `--to current` 或者说 `--to <folder>` - 只有那里:没有终点站 `--json`通过管子,或 由代理操作,命令将不保存任何信息,用选择的 id 打印问题并退出 `10`,以及 `--to` 需求 问题 `--choice` 旁边 超过 MCP `gmail_attachment_download` 问同样的方式:它的第一个呼叫答案 `destinationRequired: true` 问题和a `choiceId`选择这些附件,用它的名字 显示,没有其他;使用一次,30分钟后失效。 与其他论点一起发出的呼吁被拒绝,而且 问题不放过.

**你的回答遵循了邮箱的变更政策.** 下 `chat` (默认),代理 传递你的回答回 - `saveTo` 与 `choiceId`,或 `--to <answer> --choice <id>`下调 `confirm` 氮ê琌贝 无法:在您自己的终端上,如果结果给出了批准的命令,那么这个命令就是问题所在 再次问 `1`, (中文(简体) ), `2` 或者说 `3`,或者在表格中您信任的客户端 `confirm-clients add` 给你看 经纪人 然后再次打电话与 `choiceId` 仅此而已,在争论中传递的答案被拒绝,问题就留了下来 为你打开.

**有些文件夹从不保存到, 谁回答.** 一个隐藏的文件夹, 任何深度和任何磁盘上.. `~/.ssh`, (中文(简体) ), `~/.config`,一个项目 `.git`, (中文(简体) ), `.github`, (中文(简体) ), `.husky`, (中文(简体) ), `.vscode` 或者说 `.claude` - 除了在下面的取出 `.claude/worktrees/<name>`,这与其他项目一样(其中隐藏的文件夹仍然被拒绝);文件夹 程序加载软件包,无论它来自何处 -- `node_modules`, (中文(简体) ), `site-packages`, (中文(简体) ), `dist-packages`, (中文(简体) ), `__pycache__`,以及任意 python 虚拟环境中的文件夹, 一个 `pyvenv.cfg` 在其中或上方; Python 中的任何文件夹 安装,一个 `conda-meta`, (中文(简体) ), `Lib/os.py` 或者说 `lib/python3.<minor>/os.py` 在它或上面,例如 `~/miniconda3` 或者说 `C:\Python312` (你的家和磁盘的根 从来没有被拿走过); `~/Library`; 此软件包是自己的 配置、状态、数据和证书文件夹;系统的文件夹(`/`, (中文(简体) ), `/etc`, (中文(简体) ), `/usr`, (中文(简体) ), `/bin`, (中文(简体) ), `/var`, (中文(简体) ), `/System`,虽然一个家庭内部,例如 `/root`,属于您的;在Windows上 `AppData`, (中文(简体) ), `%PROGRAMDATA%`,则 Windows 文件夹、 程序文件、 PowerShell 的配置文件夹(`Documents\PowerShell` 财务报告和审定财务报表 `Documents\WindowsPowerShell`, (中文(简体) ), 无论Windows说文档在哪里),驱动器的根,网络共享和没有驱动器的路径——在Linux上同样 通过 WSL 到达的 Windows 文件夹, 在一个 Windows 驱动器上, 无论它在哪里挂载, 也无论它在哪里挂载 (`/mnt/<letter>` 以 默认 : 驱动器本身, 及其上的一个文件夹命名 `Windows`, (中文(简体) ), `Program Files`, (中文(简体) ), `ProgramData` 或者说 `AppData`,或 PowerShell的简介文件夹,无论深度和大小. 通过链接导致一个文件夹被拒绝 作为文件夹: a `hooks` 链接到 `.husky` 实值 `.husky`在其中任何一个中,一个文件会是一个程序运行或装入的东西 ——钩子,包子,剖面图,密钥,批准——而不是你读取的文件. 这些是每个文件夹 其类型的机器有,或者其中的某个文件可以简单化;一个文件夹被告诉一个程序可以装入整个程序——一个zsh 补全文件夹、 应用程序插件或启动文件夹 —— 从这里无法得知, 保存到它就是您的 选择。 您的家庭文件夹本身是好的。 当您运行的文件夹是其中之一时, 选项 `2` 显示为 没有,原因。 无法写入的文件夹也会被拒绝, 以免您的答案被使用 .

每个文件都以其发送者给它的名称保存,使之安全——没有路径,没有线索点(`.npmrc` 保存为 `npmrc.download`),没有控件或bodi字符,没有Windows设备名称——并且从来没有超过一个文件:新 一个被保存在旁边作为 `-2`。发送过两次相同的文件——同名和同字节——是写过一次;同名 两个名字下的字节是两个文件. 文件夹中没有其它内容;下载记录在审计日志中 并显示在本软件包的状态目录下。 一个停止部分记录其保存内容的下载, 删除它只写了一部分的文件, 并说保存了什么和没有。 发件人所说的文件来了 回到不可信内容信封内 保存在信封下面的名字及其路径也一样 除非是 完全是一个文件名。 从来没有打开或运行.

**一个文件被保存在一个名称下 没有运行它.** 它只在文件是查看器时才保留扩展名 打开后, 任何程序都不会用它的名称来运行或加载: 一个文档(`pdf`, (中文(简体) ), `doc`, (中文(简体) ), `docx`, (中文(简体) ), `xls`, (中文(简体) ), `xlsx`, (中文(简体) ), `ppt`, (中文(简体) ), `pptx`, (中文(简体) ), `odt`, (中文(简体) ), `ods`, (中文(简体) ), `odp`, (中文(简体) ), `rtf`, (中文(简体) ), `txt`, (中文(简体) ), `csv`, (中文(简体) ), `tsv`),图像(`png`, (中文(简体) ), `jpg`, (中文(简体) ), `jpeg`, (中文(简体) ), `gif`, (中文(简体) ), `webp`, (中文(简体) ), `heic`, (中文(简体) ), `heif`, (中文(简体) ), `bmp`, (中文(简体) ), `tif`, (中文(简体) ), `tiff`),声音或视频(`mp3`, (中文(简体) ), `m4a`, (中文(简体) ), `wav`, (中文(简体) ), `aac`, (中文(简体) ), `flac`, (中文(简体) ), `ogg`, (中文(简体) ), `mp4`, (中文(简体) ), `mov`, (中文(简体) ), `m4v`, (中文(简体) ), `webm`, (中文(简体) ), `avi`, (中文(简体) ), `mkv`),一个归档(`zip`, (中文(简体) ), `tar`, (中文(简体) ), `gz`, (中文(简体) ), `tgz`, (中文(简体) ), `bz2`, (中文(简体) ), `xz`, (中文(简体) ), `7z`, (中文(简体) ), `rar`、日历、联系人或邮件文件(`ics`, (中文(简体) ), `vcf`, (中文(简体) ), `eml`),或苹果文档(`pages`, (中文(简体) ), `numbers`, (中文(简体) ), `key`) (中文(简体) ). 其它任何——可执行文件,脚本,配置 (单位:千美元)`json`, (中文(简体) ), `yaml`, (中文(简体) ), `toml`, (中文(简体) ), `ini`, (中文(简体) ), `md`,...),宏文档,HTML或SVG,a `.pth`, (中文(简体) ), `.plist` 或者说 `.lnk`,名称没有 扩展名——一个工具读取的几个名字,尽管其扩展名列在该列表上(`CMakeLists.txt`, (中文(简体) ), `requirements.txt` 不管项目叫它什么.. `dev-requirements.txt` 还有.. `conanfile.txt`, (中文(简体) ), `apt.txt`, (中文(简体) ), `runtime.txt`, (中文(简体) ), `python312.zip`以 `.download` 整个名称后: `setup.exe` 作为 `setup.exe.download`, (中文(简体) ), `CLAUDE.md` 作为 `CLAUDE.md.download`, (中文(简体) ), `Makefile` 作为 `Makefile.download`。以扩展名或名称加载文件的程序 知道吗? Python的音乐 `.pth`钩子 特工的钩子 `CLAUDE.md` ——通过这样的文件,直到你重新命名它;一个 将每个文件加载到文件夹中, 不管它叫什么 都不会被名字所停止, 这就是为什么文件夹是您的 选择。 此文件被标记 `saved-as-download` (和 `auto-read` 当工具读取它的名称。 各题名 在您回答之前的“ setup.exe( 可执行) ” 将被保存为 setup. exe.download —— 一个可以运行的类型; 重命名它 如果你相信它的话... ... ..... `warnings`。 。 。 .

`doc`, (中文(简体) ), `xls`, (中文(简体) ), `ppt`, (中文(简体) ), `odt`, (中文(简体) ), `ods` 财务报告和审定财务报表 `odp` 保持他们的名字,因为你打开他们 当你打开一个 `docx`,但不像一个 `docx` 每一个都可以持有宏。 每个都有标记 `macro-capable`,而问题和结果 以言语说: "report.xls可以持有宏——只有信任发送者才能打开".

**每个被保存的文件都标记为从互联网下载**正如浏览器所标注的一样——一旦完成, 在它的字节被写入之前, 所以在文件夹中找不到标记 : 在 macOS 上使用 `com.apple.quarantine` 属性,所以门卫在它首次运行前询问,并在 Windows 上询问 `Zone.Identifier` 用于 Internet 区域的流,所以 SmartScreen 询问, Office 在保护视图中打开它。 Linux 没有这样的标记,和 文件 WSL 也不会保存到 Windows 驱动器上 。 每个文件 `marked` 说它携带的; 无法保存的文件 标记仍然保存,以及 `warnings` 这么说的.

### 需要你批准的改动

`client add` 财务报告和审定财务报表 `client remove`, (中文(简体) ), `inbox import` 财务报告和审定财务报表 `inbox remove`, (中文(简体) ), `confirm-clients add`一个松散的 `inbox policy`, (中文(简体) ), a 一个 `inbox reauth` 这要求更多的访问 比邮箱, `mcp install` (它给一个客户端 一套新的工具) 财务报告和审定财务报表 `mcp prune` (一个被删除的运行时间不能收回) 每一个松动的东西或者无法被取消,所以每个都是 在事发前就通过了 在终端上,命令会显示确切的改变,并要求您输入 `yes` - 或者, 下划线 `confirm` 更改策略,由结果给出的批准命令显示的代码. 由特工或无代理操作 终端,它用批准代码打印同样的预览和退出 `10`; 一旦你答应了, 同样的命令与 `--approval <id>` 做改变。 收紧政策从来不问.

MCP服务器将每个都作为要求相同方式的工具,一个表面的审批可以是 另一种说法是:这是一个变化。 注册和运行是核心服务器的 `comms_server_install` 财务报告和审定财务报表 `comms_server_prune` 与 `channel: "gmail"`,他们和 `mcp install` 财务报告和审定财务报表 `mcp prune`。 。 。 . `mcp install --print`, (中文(简体) ), `--client json` 财务报告和审定财务报表 `mcp prune --dry-run` 改变不了什么, 问谁都不要.

### 获取信件

当多个代理会话读取同一个邮箱时,第一个接受消息的人有,其他的人则离开. A 类 本届会议在回答这个问题之前要发出一个信息,当它不是自己的信息时就把它交回来——说为什么,用闭门话—— 或标记已完成的:

```sh
agent-gmail take 18c2f0a1b2c3d4e5 --inbox acme/gmail                    # this session has it now
agent-gmail take 18c2f0a1b2c3d4e5 --inbox acme/gmail --hand-back --reason not-mine --note "about billing"
agent-gmail take 18c2f0a1b2c3d4e5 --inbox acme/gmail --done
agent-gmail taken 18c2f0a1b2c3d4e5 --inbox acme/gmail                   # who has it
```

通过MCP,这些 `gmail_take` (单位:千美元)`step`数字 : `take`, (中文(简体) ), `hand-back` 或者说 `done`和 `gmail_taken`。接下来的届会是 由服务器或命令从它所运行的进程中(从一个参数中从不)确定 在会话最后一幕之后的一小时,或者在它的代理窗口结束后,除非它准备了一个发送 还在等待你的同意 只有到达的邮件才能被取走:不是这个邮箱发送的信息,也不是草稿. A 类 理由是 `not-mine`, (中文(简体) ), `wrong-account`, (中文(简体) ), `needs-the-person`, (中文(简体) ), `duplicate` 或者说 `other`; 注释最多为200个字符和 单独向您展示。 只读服务器的报价 `gmail_taken` 没有 `gmail_take`。 。 。 .

其他学习的只是闭门话: `you`, (中文(简体) ), `another session` 或者说 `the person`、采取或采取、提议和 它被交回的原因——从来不是哪个会话、它的文件夹或它的客户端,也从来不是纸条. `read`, (中文(简体) ), `thread`, (中文(简体) ), `search` 他们的工具在每条消息上都这么说 `taken`。 。 。 .

与 `agentcomms taking acme/gmail --require on`在会议起草答复之前,会议必须听取信息 在它准备或发出答复之前——一个寄给该邮箱的地址。 不拿这个动作 拒绝使用 `TAKE_REQUIRED` (离职) `10`在任何草案、预览或批准之前,以及在发送之前:a 接受释放 之间发送什么, 批准是原样。 另一个会话被拒绝 `TAKEN_ELSEWHERE` (离职) `10`是否需要抽取——组织和拆分它也是如此,它从来没有 需要一个拍摄。 一个新的信息 和前进的答案 没有人的信息, 无需承担。 追随你自己的邮件 因此它需要这个信箱收到的最新消息 被拒绝 其它会话有其中之一; 单凭您自己的邮件线条就不需要接受。 在你的终端 从来没有坚持服用: `agentcomms takes keep` 给你留个口信 `takes list`, (中文(简体) ), `release` 财务报告和审定财务报表 `give` 这是你的 在核心的读取.

拍摄本身就无从谈起:每一次发送都需要行为规则,发送政策和你的"是". 有两个 会话从回答同一消息开始;它不是针对您运行的进程的边界。 Gmail没有,所以.. 照对寄件人不说.

## 来自另一个 Gmail MCP 服务器

```sh
agent-gmail inbox import --dry-run    # says what it would take from ~/.gmail-mcp
agent-gmail inbox import
```

它复制;它从不移动或删除任何东西. 其无法继承的两件事:每个邮箱是哪个Google账户 (这些信使是无 `openid`),并允许标签或存档。 一个 `agent-gmail inbox reauth <name> --start` 每个邮箱都修补.

**它还告诉你另一个服务器是否仍然与一个代理连接.** 虽然如此,服务器的发送工具是 里面也没有东西能挡住他们.

## 作为 MCP 服务器

```sh
agent-gmail mcp install --client claude-code
```

它显示它会注册什么,请您输入 `yes`; 由代理操作, 它退出 `10` 带有预览和一个 批准编号,再运行时登记 `--approval <id>` 在你答应之后.

或入其内:

```js
import { createGmailMcpServer } from '@agentcomms/gmail';

const server = await createGmailMcpServer({ inbox: 'acme/gmail' });
await server.connectStdio();
```

工具仅通过进程标记注册,所以工具列表在连接之间从未变化;每个邮箱可能包含的内容 在每次通话时都会检查配置, 此时此刻的情况。 添加收件箱或收紧保险单 当服务器运行时,它适用于下一个呼叫.

每个账户命令都有其工具—— `gmail_client_add`, (中文(简体) ), `gmail_inbox_reauth`, (中文(简体) ), `gmail_inbox_import`, (中文(简体) ), `gmail_inbox_remove`, (中文(简体) ), `gmail_inbox_policy`, (中文(简体) ), `gmail_confirm_client_add` 需要改变 核准结果 `approvalRequired` 预览和一个 `approvalId` 而不是演戏。 经纪人告诉你 预览并再次使用您同意后的 id 拨打 . `gmail_client_add` 从您的路径读取客户端 JSON 机器; 文件从不通过对话, 没有工具返回它的秘密 .

## 保存着的东西

| 什麽 | 何处 |
| --- | --- |
| 配置 | `$XDG_CONFIG_HOME/agent-communications`,则 `~/.config/agent-communications` (单位:千美元)`%APPDATA%` 在窗口上) |
| 密码和客户机密 | 系统密钥链,或仅所有者的文件(`--store file`(中文(简体) ) |
| 核准、审计记录、状况 | `<config>/state` |
| 每个代理窗口读取、完成和发送的内容:活动日志 | `<config>/state/activity`,一天一个文件,保留了30天:id,对象,发件人,所搜索的字词,文件名和大小,发件人的收件人——从来不是身体或附件(`agentcomms activity sessions`(中文(简体) ) |
| 您保存的附件 | 下载、 运行命令的文件夹或您命名的文件夹 |
| 出口 | `~/Downloads/agent-communications`,或 `defaults.downloadsDir` |

没有秘密会写给 `config.json`,由命令打印,或者将结果放入.

## 许可证

麻省理工学院

## 常见问题

### @agentcomms/gmail 是什么？

编码代理的Gmail:代理-gmail CLI,一个MCP服务器和一个库-搜索,读取,分析和起草跨越许多收件箱,通过批准发送门\.

### 如何安装 @agentcomms/gmail？

在项目目录运行 npm install @agentcomms/gmail，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 agent-gmail，可以用 npx agent-gmail 直接运行。

### @agentcomms/gmail 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @agentcomms/gmail 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @agentcomms/gmail 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.12\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @agentcomms/gmail 可以商用吗？

@agentcomms/gmail 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @agentcomms/gmail 的下载量有多少？

根据 npm 官方下载统计，@agentcomms/gmail 在 2026/10/05 – 2026/11/03 这 30 天内被下载 5,264 次，日均约 175 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @agentcomms/gmail 还在维护吗？

最新版本 0\.37\.0 发布于 2026/10/29（9 天前）；至今共发布 59 个版本，其中过去 12 个月发布了 59 个；首次发布于 2026/09/20。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

