mcpField
G
google-workspace

google-workspace

github.com/krishagel生产力737 次安装33 周前更新
代码仓库

关于 google-workspace

google-workspace 是用于管理三个指定账户中 Gmail、Calendar、Drive、Tasks 和 Chat 的技能。它通过脚本提供常见操作,并可显式指定账户或根据上下文选择账户。

主要功能

  1. 01Gmail 列表、搜索、读取与发送
  2. 02Calendar 活动搜索与管理
  3. 03Drive 文件浏览与创建
  4. 04Google Tasks 任务管理
  5. 05Chat 空间与消息操作
  6. 06三账户选择及跨账户操作

适用场景

  1. 01查找指定账户中的未读邮件
  2. 02安排或修改日历活动
  3. 03搜索并上传 Drive 文件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/krishagel/geoffrey --skill google-workspace

安装后在 Claude Code 中输入/google-workspace确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

bun.lock
package.json
auth/
GOOGLE_CLOUD_SETUP.md
oauth_setup.js
token_manager.js
calendar/
create_event.js
list_events.js
search_events.js
update_event.js
chat/
get_eod_messages.js
list_spaces.js
read_messages.js
send_message.js
docs/
create_doc.js
edit_doc.js
read_doc.js
drive/
create_file.js
download_file.js
list_files.js
read_file.js
gmail/
get_unread_summary.js
list_messages.js
read_message.js
search_messages.js
send_message.js
send_with_attachment.js
send_with_attachments.js
sheets/
create_sheet.js
edit_sheet.js
read_sheet.js

详细介绍

Google Workspace 技能

概述

统一集成 Google Workspace,可管理三个账号中的邮件、日历、文件和通信:

别名用途邮箱
psd工作PSD 学区邮箱
kh个人个人 Gmail
hrg商务咨询与房地产

账号选择

明确指定
  • “查看我的 psd 邮件”
  • “从 hrg 发送邮件”
  • “查看 kh 明天的日历”
根据上下文推断

Geoffrey 会根据上下文推断合适的账号:

  • 工作相关 → psd
  • 个人事务 → kh
  • 商务/房地产 → hrg

可用操作

Gmail
脚本说明示例
list_messages.js列出收件箱、未读邮件或指定标签下的邮件“显示未读的 psd 邮件”
read_message.js获取完整邮件内容“阅读那封邮件”
send_message.js撰写并发送邮件“给 John 发邮件,内容关于……”
send_with_attachment.js发送带文件附件的邮件“发送报告并附上 PDF”
search_messages.js使用 Gmail 运算符搜索“查找上周 Sarah 发来的邮件”
get_unread_summary.js未读邮件数量和热门邮件“有多少封未读邮件?”
日历
脚本说明示例
list_events.js获取即将举行的活动“我今天的日历上有什么安排?”
create_event.js安排新活动“安排明天下午 2 点开会”
update_event.js修改现有活动“把那场会议改到下午 3 点”
search_events.js按条件查找活动“查找和 Mike 的会议”
Drive
脚本说明示例
list_files.js浏览/搜索文件“查找预算电子表格”
read_file.js获取文件内容“给我看看那份文档”
create_file.js创建新文档/电子表格“创建一个新电子表格”
upload_file.js上传本地文件“把这个上传到 Drive”
任务
脚本说明示例
list_tasks.js获取任务列表“显示我的 Google Tasks”
create_task.js添加新任务“添加任务到 Google Tasks”
complete_task.js标记为已完成“完成那个任务”
Chat
脚本说明示例
list_spaces.js获取可用空间“列出聊天空间”
send_message.js在空间中发消息“在团队聊天中发消息”
read_messages.js获取聊天记录“显示最近的聊天消息”

使用模式

运行脚本

所有脚本都使用 token_manager 进行身份验证:

const { getAuthClient } = require('./auth/token_manager');

async function main() {
  const account = process.argv[2] || 'psd';
  const auth = await getAuthClient(account);

  // Use auth with Google API
  const gmail = google.gmail({ version: 'v1', auth });
  // ...
}
输出格式

所有脚本都返回 JSON:

{
  "success": true,
  "account": "psd",
  "data": { ... },
  "metadata": {
    "timestamp": "2024-01-15T10:30:00Z",
    "count": 5
  }
}
错误处理
{
  "error": "Token expired",
  "account": "psd",
  "action": "Run: node token_manager.js refresh psd"
}

所需设置

使用此技能前:

  1. 完成 Google Cloud Console 设置(参见 auth/GOOGLE_CLOUD_SETUP.md)
  2. 将凭据添加到 ~/Library/Mobile Documents/com~apple~CloudDocs/Geoffrey/secrets/.env
  3. 对所有三个账号进行身份验证
  4. 对于 PSD 账号:在 Google Admin 中将 OAuth 应用加入允许列表

跨账号操作

有些操作可以跨账号进行:

  • “转发这封邮件到我的个人邮箱”
  • “将此文件复制到我的工作云端硬盘”
  • “添加到两个日历中”

Gmail 搜索运算符

支持标准 Gmail 搜索:

  • from: - 发件人
  • to: - 收件人
  • subject: - 主题行
  • has:attachment - 包含附件
  • after: / before: - 日期范围
  • is:unread - 仅未读邮件
  • label: - 按标签搜索

示例:“搜索 psd 邮件,查找 from:[email protected] after:2024-01-01 has:attachment”

备注

  • 访问令牌 1 小时后过期(会自动刷新)
  • 刷新令牌不会过期,除非被撤销
  • 所有 API 调用都受到 Google 的速率限制
  • Keep API 的可用性有限(可能尚未启用)

评论

支持 Markdown