mcpField
G
google-slides

google-slides

github.com/sanjay3290文档处理447399 次安装7 周前更新
代码仓库

关于 google-slides

用于读取和编辑 Google Slides 演示文稿的命令行技能,面向 Google Workspace 用户。它通过独立 OAuth 认证运行,无需 MCP 服务。

主要功能

  1. 01搜索演示文稿
  2. 02提取幻灯片文本和表格数据
  3. 03创建演示文稿和幻灯片
  4. 04读取演示文稿元数据
  5. 05管理 OAuth 认证

适用场景

  1. 01按查询查找演示文稿
  2. 02提取文本以供审阅
  3. 03创建演示文稿或添加幻灯片
  4. 04查看幻灯片数量和布局元数据

安装

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

$npx skills add https://github.com/sanjay3290/ai-skills --skill google-slides

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

包含的文件

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

README.md
requirements.txt
scripts/
auth.py
requirements.txt
slides.py

详细介绍

Google Slides

轻量级 Google Slides 集成,采用独立的 OAuth 身份验证。无需 MCP 服务。支持完整的读取和写入权限。

需要 Google Workspace 账号。 不支持个人 Gmail 账号。

首次设置

通过 Google 进行身份验证(打开浏览器):

python scripts/auth.py login

检查身份验证状态:

python scripts/auth.py status

需要时退出登录:

python scripts/auth.py logout

读取命令

所有操作均通过 scripts/slides.py 执行。如果尚未登录,首次使用时会自动进行身份验证。

# Get all text content from a presentation
python scripts/slides.py get-text "1abc123xyz789"
python scripts/slides.py get-text "https://docs.google.com/presentation/d/1abc123xyz789/edit"

# Find presentations by search query
python scripts/slides.py find "quarterly report"
python scripts/slides.py find "project proposal" --limit 5

# Get presentation metadata (title, slide count, slide object IDs)
python scripts/slides.py get-metadata "1abc123xyz789"

写入命令

# Create a new empty presentation
python scripts/slides.py create "Q4 Sales Report"

# Add a blank slide to the end
python scripts/slides.py add-slide "1abc123xyz789"

# Add a slide with a specific layout
python scripts/slides.py add-slide "1abc123xyz789" --layout TITLE_AND_BODY

# Add a slide at a specific position (0-based index)
python scripts/slides.py add-slide "1abc123xyz789" --layout TITLE --at 0

# Find and replace text across all slides
python scripts/slides.py replace-text "1abc123xyz789" "old text" "new text"
python scripts/slides.py replace-text "1abc123xyz789" "Draft" "Final" --match-case

# Delete a slide by object ID (use get-metadata to find IDs)
python scripts/slides.py delete-slide "1abc123xyz789" "g123abc456"

# Batch update (advanced - for formatting, inserting shapes, images, etc.)
python scripts/slides.py batch-update "1abc123xyz789" '[{"replaceAllText":{"containsText":{"text":"foo"},"replaceText":"bar"}}]'

幻灯片版式

add-slide --layout 可使用以下版式:

  • BLANK - 空白幻灯片(默认)
  • TITLE - 标题幻灯片
  • TITLE_AND_BODY - 标题和正文
  • TITLE_AND_TWO_COLUMNS - 标题和两栏文本
  • TITLE_ONLY - 仅标题栏
  • SECTION_HEADER - 章节分隔页
  • ONE_COLUMN_TEXT - 单栏文本
  • MAIN_POINT - 重点内容突出显示
  • BIG_NUMBER - 大号数字显示

演示文稿 ID 格式

可以使用以下任一形式:

  • 直接使用演示文稿 ID:1abc123xyz789
  • 完整的 Google Slides URL:https://docs.google.com/presentation/d/1abc123xyz789/edit

脚本会自动从 URL 中提取 ID。

输出格式

get-text

返回从所有幻灯片中提取的文本,包括:

  • 演示文稿标题
  • 每张幻灯片中形状和文本框里的文本
  • 包含单元格内容的表格数据
find

返回匹配的演示文稿列表:

{
  "presentations": [
    {"id": "1abc...", "name": "Q4 Report", "modifiedTime": "2024-01-15T..."}
  ],
  "nextPageToken": "..."
}
get-metadata

返回演示文稿详情:

{
  "presentationId": "1abc...",
  "title": "My Presentation",
  "slideCount": 15,
  "pageSize": {"width": {...}, "height": {...}},
  "hasMasters": true,
  "hasLayouts": true
}

令牌管理

令牌使用系统密钥环安全存储:

  • macOS:Keychain
  • Windows:Windows Credential Locker
  • Linux:Secret Service API(GNOME Keyring、KDE Wallet 等)

服务名称:google-slides-skill-oauth

使用 Google 的云函数自动刷新过期令牌。

评论

支持 Markdown