← 返回 Skills 市场
Gmail Enhanced
作者
jason-aka-chen
· GitHub ↗
· v1.0.0
· MIT-0
105
总下载
0
收藏
1
当前安装
1
版本数
在 OpenClaw 中安装
/install gmail-enhanced
功能描述
Enhanced Gmail integration with advanced features including label management, attachment handling, advanced search, email parsing, and automated email proces...
使用说明 (SKILL.md)
Gmail Enhanced
Advanced Gmail integration with powerful automation features.
Features
1. Advanced Search
- Complex query building (AND, OR, NOT)
- Date range filters
- Attachment filters
- Label filters
- Search within attachments
2. Label Management
- Create, rename, delete labels
- Nested labels (folders)
- Color customization
- Label statistics
3. Attachment Handling
- Download attachments
- Upload and send attachments
- Filter attachments by type/size
- Extract attachments to cloud storage
4. Email Processing
- Auto-categorize emails
- Extract data from emails
- Auto-reply rules
- Email templates
- Bounce detection
5. Email Parsing
- Extract structured data
- Parse invoices, receipts
- Extract contact info
- HTML parsing
Prerequisites
- Enable Gmail API in Google Cloud Console
- Create OAuth 2.0 credentials
- Download credentials.json
- Generate tokens.json (run once with authentication)
Configuration
export GMAIL_CREDENTIALS_PATH="/path/to/credentials.json"
export GMAIL_TOKEN_PATH="/path/to/tokens.json"
Or place credentials in default locations:
~/.credentials/gmail-credentials.json~/.credentials/gmail-token.json
Usage
Send Email
from gmail_enhanced import GmailClient
gmail = GmailClient()
# Simple email
gmail.send(
to="[email protected]",
subject="Hello",
body="Email content"
)
# With attachment
gmail.send(
to="[email protected]",
subject="Report",
body="Please find the report attached",
attachments=["report.pdf"]
)
Advanced Search
# Complex queries
results = gmail.search(
query="from:[email protected]",
label="INBOX",
after="2024/01/01",
has_attachments=True
)
# Search with OR
results = gmail.search_or([
"subject:urgent",
"label:important"
])
Label Management
# Create label
label = gmail.create_label("Projects/Work/Q1", color="#4A90E2")
# Get label stats
stats = gmail.get_label_stats("INBOX")
# Apply labels
gmail.add_labels(["Label1", "Label2"], message_ids)
Attachment Handling
# Download attachments from search results
attachments = gmail.search_attachments(
query="subject:invoice",
save_dir="./downloads"
)
# Upload attachment
gmail.send(
to="[email protected]",
subject="File",
attachments=["/path/to/file.pdf"]
)
Auto-categorization
# Create rule
gmail.add_rule(
name="Categorize invoices",
query="subject:invoice has:attachment",
add_labels=["Processed/Invoices"]
)
# Run rules
gmail.process_rules()
API Reference
Core Methods
| Method | Description |
|---|---|
send(to, subject, body, attachments, cc, bcc) |
Send email |
search(query, max_results, label) |
Search emails |
get_message(msg_id, format) |
Get email details |
delete_message(msg_id) |
Move to trash |
archive_message(msg_id) |
Archive email |
Label Methods
| Method | Description |
|---|---|
create_label(name, color) |
Create label |
rename_label(old_name, new_name) |
Rename label |
delete_label(name) |
Delete label |
get_labels() |
List all labels |
get_label_stats(label) |
Get label statistics |
Attachment Methods
| Method | Description |
|---|---|
download_attachment(msg_id, attachment_id, save_path) |
Download attachment |
search_attachments(query, save_dir) |
Search and download |
get_attachment_info(msg_id) |
List attachments |
Automation Methods
| Method | Description |
|---|---|
add_rule(name, query, actions) |
Create processing rule |
process_rules() |
Run all rules |
create_template(name, subject, body) |
Create email template |
send_template(template_name, to, variables) |
Send using template |
Parsing Methods
| Method | Description |
|---|---|
parse_email(msg_id) |
Extract structured data |
extract_invoice(msg_id) |
Parse invoice data |
extract_contacts(msg_id) |
Extract email addresses |
Email Query Syntax
Basic:
from:[email protected]
to:[email protected]
subject:keyword
"exact phrase"
Filters:
after:2024/01/01
before:2024/12/31
older_than:7d
newer_than:2h
Flags:
has:attachment
has:drive
is:unread
is:starred
is:important
Labels:
label:INBOX
label:Work
Combinations:
from:boss AND subject:urgent
(from:alice OR from:bob) AND is:unread
Error Handling
Common errors:
invalid_credentials: Re-authenticaterate_limit: Wait and retrynot_found: Message ID invalidpermission_denied: Check scopes
Scopes Required
https://www.googleapis.com/auth/gmail.readonly
https://www.googleapis.com/auth/gmail.send
https://www.googleapis.com/auth/gmail.labels
https://www.googleapis.com/auth/gmail.modify
Links
安全使用建议
This skill implements an OAuth-based Gmail client and will prompt for OAuth credentials, run a local OAuth flow, read your credentials.json and tokens.json (or the paths you set), and write a tokens file (containing refresh tokens) to disk. Before installing: 1) Only proceed if you trust the publisher, because the code will be able to read/write local files and access your Gmail via granted scopes. 2) Be aware the registry metadata does not declare the required env vars or Python dependencies (google-auth, google-auth-oauthlib, google-api-python-client); you will need to install them manually. 3) Review where tokens will be saved (GMAIL_TOKEN_PATH) and whether that location is acceptable. 4) When using attachment features, avoid pointing the skill at sensitive local files and consider scanning attachments before opening. 5) If you want higher assurance, request the publisher add an install spec, declare required env vars, and provide a dependency list and a short security/privacy note describing token storage and telemetry (if any).
功能分析
Type: OpenClaw Skill
Name: gmail-enhanced
Version: 1.0.0
The skill provides extensive Gmail integration with high-risk capabilities including sending, modifying, and deleting emails, as well as downloading attachments. While these features align with the stated purpose in SKILL.md, the implementation in gmail_enhanced.py includes a local automation engine that persists rules in a hidden file (~/.gmail_rules.json) and supports automated auto-replies. Additionally, the parsing logic extracts all URLs and email addresses from message bodies, which, combined with broad API scopes, presents a significant surface for data collection or misuse if the agent is misdirected.
能力评估
Purpose & Capability
The name and description (Gmail features like search, labels, attachments, parsing, automation) align with the code and SKILL.md. The code uses the Gmail API and expects OAuth credentials and tokens, which is appropriate for this purpose.
Instruction Scope
SKILL.md and the code direct the agent to use OAuth credentials, run the local OAuth flow, read credentials.json and tokens.json, download and upload attachments (arbitrary local paths), and save tokens to disk. Those actions are expected for a Gmail client, but they do involve reading/writing local files and handling arbitrary attachments — so users should be aware it needs filesystem access and will store a refresh token locally.
Install Mechanism
There is no install spec despite a non-trivial Python module being included. The code imports google-auth, google_auth_oauthlib, and googleapiclient, but the registry metadata doesn't declare these dependencies or provide installation instructions. Missing dependency/install info is a deployment/operational risk and reduces auditability.
Credentials
Registry metadata lists no required env vars or primary credential, but both SKILL.md and the code expect GMAIL_CREDENTIALS_PATH and GMAIL_TOKEN_PATH (or default files). That mismatch is an incoherence: the skill will require OAuth credential files and will write a token file, yet the package metadata doesn't declare this. The skill will also access arbitrary local files when handling attachments (expected for functionality) — make sure you trust any code that can read local paths you pass to it.
Persistence & Privilege
The skill is not always-enabled and does not request elevated platform privileges. It will create/write its own token file (normal for OAuth clients) but does not appear to modify other skills or global agent settings.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install gmail-enhanced - 安装完成后,直接呼叫该 Skill 的名称或使用
/gmail-enhanced触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
- Initial release of gmail-enhanced with advanced Gmail integration.
- Features include label management, attachment handling, advanced search, email parsing, and automated email processing workflows.
- Supports robust search queries, auto-reply rules, template management, and structured data extraction.
- Provides comprehensive API methods for sending, searching, parsing, and managing emails, labels, and attachments.
- Includes detailed setup instructions and usage examples for streamlined configuration.
元数据
常见问题
Gmail Enhanced 是什么?
Enhanced Gmail integration with advanced features including label management, attachment handling, advanced search, email parsing, and automated email proces... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 105 次。
如何安装 Gmail Enhanced?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install gmail-enhanced」即可一键安装,无需额外配置。
Gmail Enhanced 是免费的吗?
是的,Gmail Enhanced 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Gmail Enhanced 支持哪些平台?
Gmail Enhanced 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Gmail Enhanced?
由 jason-aka-chen(@jason-aka-chen)开发并维护,当前版本 v1.0.0。
推荐 Skills