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):
- 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). - 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óm | Tools |
|---|---|
| Settings | gworkspace_get_settings, gworkspace_set_settings |
| Gmail | gworkspace_list_emails (hỗ trợ q), gworkspace_read_email, gworkspace_send_email |
| Calendar | gworkspace_list_events, gworkspace_create_event |
| Drive | gworkspace_list_files (hỗ trợ q), gworkspace_upload_file |
| Sync | gworkspace_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ạngBuild & pack ZIP
apps/google-workspace/scripts/pack.sh
# → apps/google-workspace/google-workspace-app.zipCà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
The checkmark means SenClaw confirmed who this publisher is. It says nothing about whether their packages are safe.
About
| Owner | @senclaw |
| Latest | 1.0.0 |
| Downloads (30d) | 0 |
| Repository | github.com/NortonBen/senclaw-app ↗ |
Versions
| Version | Tags | Artifacts | Published |
|---|---|---|---|
1.0.0 | latest | darwin-arm64, linux-x64, win32-x64 | 2026-08-07 |
Artifacts · 1.0.0
| Platform | Format | Signature | File | Size |
|---|---|---|---|---|
darwin-arm64 | zip | unsigned | google-workspace-app.zip | 2885 KB |
linux-x64 | zip | unsigned | google-workspace-app.zip | 3224 KB |
win32-x64 | zip | unsigned | google-workspace-app.zip | 3119 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