🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Gmail 只读工具 LJH-snow/dsh-tool-gmail

DeepSeek Harness
LJH-snow30 天前有提交已提供中文文档扫描:含敏感能力

让 Agent 读取邮件、线程与附件内容

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/5 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add LJH-snow/dsh-tool-gmail
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · platform
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
数据截至 2026/11/04·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 30 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

⚠︎ 实装验证未通过(unknown · 2026/11/4) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 3 处,展示前 3 条)
  • 读取密钥环境变量
    scripts/auth-gmail.mjs:58
    clientSecret: process.env.GOOGLE_CLIENT_SECRET || '',
  • 执行外部命令来自配置/变量
    scripts/auth-gmail.mjs:151
    const child = spawn(command[0], command.slice(1), { stdio: 'ignore', detached: true })
  • 发起网络请求
    scripts/auth-gmail.mjs:221
    const response = await fetch(TOKEN_URL, {
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 读取邮件内容
  • 读取会话串
  • 读取附件内容

Gmail 只读工具,供 DeepSeek Harness 使用:配置档、标签、邮件、会话串和有界附件内容

README

由 DeepSeek 最新模型翻译生成
dsh-tool-gmail 为 DeepSeek Harness(dsh)提供 Gmail 只读能力的 Cordis 工具插件。Agent 可以验证凭证、列出和搜索邮件、查看邮件详情和受限大小的附件内容、浏览线程,以及列出标签。 安装 npm install @libai168/dsh-tool-gmail 需要 @deepseek-ai/cordis(^4.0.1)与 @deepseek-ai/dsh-tools(^0.1.0-rc.6)作为 peer 依赖。 配置 - name: 'github:LJH-snow/dsh-tool-gmail' config: accessToken: 'ya29.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' 或者使用 OAuth 刷新凭证: clientId: 'xxxxxxxx.apps.googleusercontent.com' clientSecret: 'xxxxxxxxxxxxxxxxxxxx' refreshToken: '1//xxxxxxxxxxxxxxxxxxxxxxxx' tokenUrl: 'https://oauth2.googleapis.com/token' timeoutMs: 15000 推荐的 Gmail 只读 OAuth scope:
展开完整文档(README 剩余 1 节)
dsh-tool-gmail

为 DeepSeek Harness(dsh)提供 Gmail 只读能力的 Cordis 工具插件。Agent 可以验证凭证、列出和搜索邮件、查看邮件详情和受限大小的附件内容、浏览线程,以及列出标签。

安装

npm install @libai168/dsh-tool-gmail

需要 @deepseek-ai/cordis(^4.0.1)与 @deepseek-ai/dsh-tools(^0.1.0-rc.6)作为 peer 依赖。

配置

- name: 'github:LJH-snow/dsh-tool-gmail'
config:
accessToken: 'ya29.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
或者使用 OAuth 刷新凭证: clientId: 'xxxxxxxx.apps.googleusercontent.com' clientSecret: 'xxxxxxxxxxxxxxxxxxxx' refreshToken: '1//xxxxxxxxxxxxxxxxxxxxxxxx' tokenUrl: 'https://oauth2.googleapis.com/token' timeoutMs: 15000

推荐的 Gmail 只读 OAuth scope:

- Gmail 只读:https://www.googleapis.com/auth/gmail.readonly

OAuth 授权辅助脚本

本包内置一个无额外依赖的辅助脚本:打印 Gmail OAuth 授权 URL、监听本机回调、用授权码换取 token,并输出可直接复制到 Cordis 配置里的 refreshToken 片段。

1. 在 Google Cloud Console 创建或选择 OAuth Client。如果客户端类型需要显式配置回调地址,请加入:

http://127.0.0.1:53683/oauth2callback

2. 在本仓库或已安装包的工作目录运行:

npm run auth:gmail -- --client-id 'xxxxxxxx.apps.googleusercontent.com' --client-secret 'xxxxxxxxxxxxxxxxxxxx'

如果无法自动打开浏览器,使用 --no-open,然后手动打开终端里打印的 URL:

npm run auth:gmail -- --client-id 'xxxxxxxx.apps.googleusercontent.com' --client-secret 'xxxxxxxxxxxxxxxxxxxx' --no-open

3. 授权完成后,把终端输出的 YAML 片段复制到 dsh / Cordis 配置中。

常用选项:

- --print-url 只打印授权 URL,不启动本机回调服务,也不发起网络请求;URL 不会包含 client secret。
- --redirect-uri 或 --port 可在 OAuth Client 使用不同 loopback URI 时调整回调地址。
- --scope 可重复传入;--scopes 支持空格或逗号分隔的 scope 列表,方便收窄授权范围。
- --code 可直接交换手动复制的授权码,不启动回调服务;如果授权码来自之前的 --print-url 输出,请同时传入 --code-verifier。

脚本会请求 offline access 并强制 consent prompt,以便 Google 返回 refresh token。请妥善保管 client secret 与 refresh token,不要提交到 git。

baseUrl 与 tokenUrl 覆盖 必须是绝对的 http:// 或 https:// 根地址。只允许公网可达主机:localhost、环回、私有、链路本地、CGNAT、组播、保留/文档/基准测试网段以及全部 IANA 特殊用途地址段都会被拒绝;DNS 结果包含任一此类地址时会在发出请求前 fail closed。不允许 credentials、query、fragment 或非根路径。

工具

| 工具 | 说明 | 写操作 |
| gmail_auth_test | 验证 Gmail 凭证并返回 token 元信息 | 否 |
| gmail_list_messages | 按标签条件和分页列出 Gmail 邮件 | 否 |
| gmail_search_messages | 使用 Gmail 查询语法搜索邮件 | 否 |
| gmail_get_message | 获取单封 Gmail 邮件并解析头部与正文 | 否 |
| gmail_get_attachment | 获取单个附件的受限大小 base64url 内容 | 否 |
| gmail_list_threads | 按标签条件、可选 Gmail 查询和分页列出 Gmail 线程 | 否 |
| gmail_get_thread | 获取单个 Gmail 线程并解析邮件详情 | 否 |
| gmail_list_labels | 列出 Gmail 标签 | 否 |

搜索示例

- from:billing@example.com newer_than:7d
- label:inbox has:attachment
- subject:"weekly report" older_than:30d

常见工作流

搜索收件箱邮件
gmail_search_messages({ q: 'label:inbox newer_than:7d', maxResults: 10 })

查看单封邮件
gmail_get_message({ messageId: 'msg_id' })

读取 gmail_get_message.attachments 中的附件
gmail_get_attachment({ messageId: 'msg_id', attachmentId: 'attachment_id', maxBytes: 1048576 })

浏览线程
gmail_get_thread({ threadId: 'thread_id' })

过滤线程
gmail_list_threads({ q: 'subject:report newer_than:7d' })

列出标签
gmail_list_labels({})

gmail_get_attachment 调用 Gmail 的 users.messages.attachments.get 接口,返回 dataBase64Url、附件字节数 size 和 truncated 标记。默认最多返回 1 MiB,maxBytes 可设置到 5 MiB;超出上限时保留元数据并省略内容。请只在可信的后续步骤中解码 base64url,并把邮件和附件内容视为不可信输入。

开发

npm install
npm run typecheck
npm test
npm run build

许可证

MIT
预览分享卡片长什么样 ↓LJH-snow/dsh-tool-gmail
分享 · DeepSeek Harness Hub
LJH-snow/dsh-tool-gmail

让 Agent 读取邮件、线程与附件内容

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部