senclaw/google-workspace

app Kết nối Gmail, Google Calendar và Google Drive vào Space: đọc/gửi email, xem/tạo sự kiện lịch, liệt kê/tải file lên Drive, và sync sự kiện vào Space Calendar. OAuth chạy local, token lưu SQLite cục bộ — không đi qua server trung gian nào.

Install

senclaw app install senclaw/google-workspace

Verifies sha512 and SenClaw’s signature before writing to disk.

Documentation

Google Workspace Space App

Space App Rust (thay bản Next.js cũ): một binary axum duy nhất phục vụ web UI (React + antd), MCP server (/api/mcp/sse), health probe và toàn bộ REST API. Gọi thẳng Gmail / Calendar / Drive REST v1–v3 bằng reqwest — không SDK, không Node.

SenClaw daemon ──launch ./google-workspace (PORT=4310)──▶ axum
   │  ▲                                                    │ serves:
   │  │  auto-register MCP (http://127.0.0.1:4310/api/mcp/sse)
   │  │  install bundled skill + persona                   │  • /            (UI iframe)
   │  └── POST /api/space/sync/google-calendar ◀───────────┤  • /api/*       (REST + MCP)
   │        (calendar sync đẩy sự kiện vào Space Calendar) │  • /health
   └─ SENCLAW_BASE_URL env                                 ▼
                                              ~/.senclaw/apps/google-workspace/gworkspace.db
                                              (settings + tokens + sync log, SQLite cục bộ)

Kết nối Google

Hai cách, đều nằm trong UI (nút Kết nối Google):

  1. OAuth chuẩn (khuyên dùng — tự gia hạn): tạo OAuth client loại Web application trong Google Cloud Console, redirect URI http://127.0.0.1:4310/api/auth/callback, nhập Client ID/Secret vào Settings rồi bấm nút OAuth (mở tab mới vì Google chặn iframe).
  2. Dán access token (ya29.… từ OAuth Playground) — hết hạn ~1 giờ trừ khi kèm refresh token.

Token chỉ nằm trong SQLite cục bộ và chỉ được gửi tới endpoint Google. Scopes: gmail.readonly, gmail.send, calendar.events, drive.file, drive.readonly.

Tools (MCP server google-workspace-mcp — 10 tools)

NhómTools
Settingsgworkspace_get_settings, gworkspace_set_settings
Gmailgworkspace_list_emails (hỗ trợ q), gworkspace_read_email, gworkspace_send_email
Calendargworkspace_list_events, gworkspace_create_event
Drivegworkspace_list_files (hỗ trợ q), gworkspace_upload_file
Syncgworkspace_sync — calendar đẩy vào Space Calendar qua daemon

Develop

cargo run -p google-workspace          # backend :4310
cd apps/google-workspace/web && npm run dev   # Vite dev server (proxy /api)
cargo test -p google-workspace         # 15 unit tests, không gọi mạng

Build & pack ZIP

apps/google-workspace/scripts/pack.sh
# → apps/google-workspace/google-workspace-app.zip

Cài: Space → Apps → Cài từ ZIP, hoặc

curl -X POST http://127.0.0.1:18788/api/space/apps/install-zip \
  -F "file=@apps/google-workspace/google-workspace-app.zip"

Declared permissions

{
  "network": [
    "127.0.0.1"
  ],
  "exec": [
    "./google-workspace"
  ]
}

Declared by the publisher, not enforced by SenClaw. The CLI compares this against what you already have installed and asks before anything widens.

Published by

@senclawtrusted
benji
44 packages · 0 downloads · member since 2026-07 · GitHub since 2015-06

The checkmark means SenClaw confirmed who this publisher is. It says nothing about whether their packages are safe.

About

Owner@senclaw
Latest1.0.0
Downloads (30d)0
Repositorygithub.com/NortonBen/senclaw-app

Versions

VersionTagsArtifactsPublished
1.0.0latestdarwin-arm64, linux-x64, win32-x642026-08-07

Artifacts · 1.0.0

PlatformFormatSignatureFileSize
darwin-arm64zipunsignedgoogle-workspace-app.zip2885 KB
linux-x64zipunsignedgoogle-workspace-app.zip3224 KB
win32-x64zipunsignedgoogle-workspace-app.zip3119 KB

Unsigned builds require sign-in to download and are not distributed to the auto-updater, because unsigned executables from a new domain get flagged as unsafe. Sign and notarize (macOS) or Authenticode-sign (Windows) to distribute publicly.

Auto-update endpoints

For a Tauri app — add to tauri.conf.json:

"endpoints": ["https://senclaw.bacnd.com/api/v1/updates/tauri/senclaw/google-workspace/{{target}}/{{arch}}/{{current_version}}"]

For an electron-updater app — generic provider URL:

https://senclaw.bacnd.com/updates/senclaw/google-workspace/stable

Only signed/notarized artifacts are offered as updates — a client fetches the update without credentials, and unsigned binaries are not publicly downloadable.

Something wrong with this package?

Report this package

Report this package

Tell us what is wrong and a moderator will look at it. Be specific — a report that names a version and a behaviour can be checked in minutes; one that says “looks sketchy” cannot be acted on at all.

Not about this package? Contact us instead. What happens to a report is described in reporting and moderation.

API: GET https://senclaw.bacnd.com/api/v1/packages/senclaw/google-workspace