让 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 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
依赖的 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预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
LJH-snow/dsh-tool-gmail
让 Agent 读取邮件、线程与附件内容
相关插件 · 平台集成
智能体工程课walkinglabs/learn-harness-engineering
一门项目制课程,教你搭建环境、管理状态、做验证、加控制机制,让 AI 编程智能体稳定干活。
★ 21,155已汉化DSH
71.7
视频翻译配音liuzhao1225/YouDub-webui
开源视频本地化工作台:导入视频,识别、翻译并逐句克隆原声,生成字幕和配音成片。
★ 5,792已汉化Cordis
71.4
失败经验库Ikalus1988/MisakaNet
📚 零依赖、由 git 支撑的微课程库,让 AI 智能体异步分享并检索经过验证的调试经验。| https://misakanet.org
★ 553已汉化DSH
71.2
IM 机器人接入xmanrui/dsh-im
让 DeepSeek Harness 触手可及 Connecting DeepSeek Harness
★ 3,170已汉化DeepSeek 客户端
71
桌面智能体工作区freestylefly/wesight
WeSight 是开源桌面控制台,面向本地 AI 智能体。它帮你安装或复用 Claude…
★ 933已汉化MCP
71
中国平台研究引擎Jesseovo/last30days-skill-cn
给 AI Agent 的中文互联网研究 Skill:检索 8 大平台最近 30…
★ 2,041已汉化DSH
70.7
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。