連結自己的 Google(企業版,v1.76.0)
讓 AI 員工使用你自己的 Google,不必更動公司共用帳號。哪些員工可以用,要由你本人決定;你隨時可以收回。
請管理員先在「整合 → Google」設定 Google 應用程式,適時開啟 Google 整合,並把憑證保護改放支援的系統金鑰圈。個人憑證會用這把保護金鑰封存;只有密碼保護、金鑰圈不可用或紀錄無法讀取時,一律拒絕個人存取。Linux 與 Docker 目前沒有支援的系統金鑰圈。
管理員必須在 Google 應用程式登記「我的連線」顯示的完整返回網址,路徑結尾為 /api/me/google/callback。允許清單內的 HTTPS 控制台使用原網址;其他網址改用同連接埠的 HTTP 本機回送位址,並提供貼上完成。完整路徑與連接埠必須符合 Google 登記值。遇到返回網址錯誤,請修正登記,不要放寬登入或公開本機回呼。
Google 的「外部」應用程式若處於「測試」狀態,更新憑證會在七天後到期;Google 列出的純基本身分權限例外,不適用於這裡要求的工作服務。Workspace 內部應用程式與個人 Gmail 的正式審核是不同情境,受限 Gmail 權限可能另須 Google 驗證與安全評估。正式使用前請管理員完成適用程序。參考 Google 憑證規則及網頁應用程式授權說明。
DuDuClaw 在開啟 Google 前會說明:要求的權限可存取哪些 Google 資料、憑證與取回內容會在哪裡處理或保存,以及設定的 AI 服務商不得用 Google Workspace 資料訓練或改善一般化模型。請先閱讀連結的完整隱私政策,再明確勾選確認。官方介面沒有確認就不能繼續,RPC 也必須明確帶入這項確認。管理員若無法確認所選服務商符合限制,應改用合適的本機模型,或不要連結 Google。
Google 授權只接受專用的 Google 連線流程。自訂 OAuth provider 或遠端 MCP 的 issuer、授權端點、token 端點或要求權限只要可辨識為 Google,就會拒絕。訓練資料列在能以可靠來源 lineage 證明不含 Google Workspace 資料前,DuDuClaw 也會對所有安裝拒絕建構資料集、匯出資料集及建立新微調工作;既有工作仍可查看或取消,資料集仍可刪除。
在這一版揭露前建立的連線,必須重新連結並接受目前版本,才能再次使用或更新憑證。舊連線仍可由本機執行中斷與供應商撤銷清理;DuDuClaw 不會把舊連線自動視為已接受。
- 登入企業版控制台,打開「我的連線」,閱讀並確認 Google 資料使用揭露,再按「連結我的 Google」。舊的登入憑證必須先重新登入。
- 在新視窗完成 Google 授權。你可以取消某些服務,只會保存 Google 實際回傳的開放範圍;沒開放的服務不能用。
- 瀏覽器回到「我的連線」。如果最後的本機回送頁面無法載入,將網址列的完整網址貼回原控制台;不要把該網址傳給別人。
- 核對已連結的 Google 信箱。它可以和 DuDuClaw 登入信箱不同,畫面會明確提醒。
- 管理員尚未開啟 Google 整合時,連線先保存;個人連結不會自動打開全機開關。
返回代碼本身不能完成連結。系統會要求同一位使用者、同一次已驗證的控制台登入,且十分鐘內完成;已用過、過期、被新操作取代或已中斷的流程不能重用。存取與更新憑證不會出現在控制台回應、網址、使用紀錄或員工設定。
允許員工使用
Section titled “允許員工使用”管理員可在員工的「連線」選「跟著負責人」或「指定同事」。指定人必須是有效、直接綁定的 Owner。多位 Owner 時優先使用明確指定的主要負責人;舊的多 Owner 資料沒有指定者,必須由管理員選擇。新增第二位 Owner 時保留原本唯一的 Owner 為主要負責人;主要負責人被移除或降權後不保留該身分,若只剩一位 Owner,則自動解析為那位。
變更主要負責人前,畫面會要求確認:系統先停止這位員工進行中的瀏覽器工作階段,並清除儲存的瀏覽器登入,再套用新負責人。清除失敗時不變更主要負責人。最後寫入的同一筆交易會重新確認管理員仍有效、具管理權限且沒有必須變更密碼的要求,因此等待瀏覽器清理期間被撤銷的權限不能用來完成變更。即使從 A 換成 B 再換回 A,也不會恢復 A 原本的瀏覽器登入。
主要負責人變更的同一筆交易也會遞增這位員工的負責人版本。儲存的瀏覽器登入會在同一份資料庫快照核對版本與 Owner 資料,因此兩次重疊的 A→B→A 變更,也不能恢復在清理後、寫入前建立的登入;其他員工各自維持自己的版本。這次更新後,舊格式儲存的瀏覽器登入會在下次使用時清除,需要重新登入以建立新狀態。
Owner 可以選「用我的 Google」或「不使用」,也能縮小發問者範圍、關閉公司帳號備援;不能擴大範圍或選別人的帳號。儲存自己的帳號前,畫面要求確認誰也能透過員工使用。
非管理員的直接 Owner 關閉 Google 時,保留原 requesters 限制,也可明確選擇合法的較窄範圍;明示較寬範圍仍會被拒絕。關閉時也會關閉公司帳號備援。重新啟用本人帳號 user:<本人id> 時保留該發問者限制;owner 僅在主要 Owner 解析為呼叫本人時可選,仍須帳號本人確認分享範圍。管理員改成 none 或 home 時維持既有的政策清理行為;一般員工更新、即時權限檢查、比較後寫入(CAS)與本人同意規則不變。
管理員設定不等於本人同意。帳號本人要到「我的連線」逐位允許或拒絕;決定前會顯示綁定同事、允許通道與發問者規則。公開訪客一律拒絕。排程工作仍須通過員工、人員狀態及同意檢查;owner_only 的工作若帶有真人發問者,只能是帳號本人。
本人關閉後,後續呼叫立即拒絕,管理員也不能代為同意。一般員工編輯器不能新增自己的帳號選擇,請走「連線」,讓本人同意與稽核一起記錄。
員工專屬外部連線金鑰本身不會識別真人發問者。專用 Google 原生工具會依單次核准固定的帳號與最終參數執行,並重查目前發問者、Owner 與本人同意;因此個人帳號仍須管理員明確允許 requesters = "anyone"。設定為個人帳號的遠端 HTTP Google 掛載,會在每次操作使用真正發問者並重查權限,不沿用探索工具清單時的舊發問者;個人 oauth://google stdio 掛載仍會拒絕。產品內的個人 Google 原生工具仍走原有發問者與本人同意檢查,並拒絕公開網站訪客。其他外部路徑的個人帳號支援須另行驗證。
- Google 失效或需要額外服務時按「重新連結」。每次呼叫都重查有效人員、Owner、同意、Google 應用程式、已開放服務與連線版本;更新憑證只在 gateway 執行,同一人的並行更新會排隊。
- 「中斷連結」先刪除本機連線並取消待完成流程,再嘗試撤銷 Google 授權。管理員也可在「整合 → Google」中斷指定人;離職與移除帳號會清除個人連線。即使清除失敗,停用人員仍然不能使用。
- Google 撤銷可能影響整份授權。其他個人紀錄使用同一 Google 識別或信箱、或公司共用帳號相同時,只刪本機。紀錄讀不懂、橋接帳號未知、公司憑證過期或帳號查詢失敗,也不撤銷 Google 端。若你要撤銷整份授權,請自行到 Google 已連結應用程式檢查。
- 公司授權代表與個人連線分開,中斷個人連線不會刪除公司網域委派。
- 最近三十天紀錄最多顯示目前保留的五百筆時間、員工、工具名稱及成功狀態,不回傳輸入、輸出或信件內容。舊紀錄可能已輪替移除。
- 個人來信逐封過濾;有效本人可讀自己的已連結帳號來信。共用、舊資料與放入資料夾的信仍採較嚴權限;讀取權限不會開放寄信或核准外寄。
撤銷結果不明與離線復原
Section titled “撤銷結果不明與離線復原”取得授權、核對帳號到保存連線,和撤銷判斷及供應商請求共用跨行程協調鎖,涵蓋公司共用 OAuth 回呼、CLI/原生工具共用的更新路徑,以及動態遠端 OAuth 交換與更新。本機中斷與持久版本守門一定先完成,才等鎖。升級時請重啟所有 gateway/CLI 行程,避免舊行程繞過新協調。
只把可信 Google 撤銷端點對「這次請求」的同步 HTTP 200 回覆視為確認。其他回覆、網路錯誤、逾時、取消,或送出後當機,都保留 <home>/locks/google-grant-revoke-uncertain.json;此檔在請求前已寫入並同步落盤。檔案存在時拒絕新的 Google/遠端授權,已中斷者的本機使用權持續停止。遠端帳號不明、其他公司 OAuth 紀錄無法確認或帳號查詢失敗時,僅中斷本機,回傳 provider_revoked=false 並稽核原因。
沒有線上清除介面,也不會等一段時間自動放行。再次撤銷成功、換用戶端 ID、Google 帳號設定頁面,都不能證明先前逾時的請求已停止。復原是依賴外部人工查證的安全例外,不是程式能確認已解除風險:
- 保持新連線停用,保存不確定紀錄、操作代號、相關稽核與事件紀錄。
- 在 Google 端撤銷舊應用程式授權,並取得先前請求已結束的外部確認。無法確認就保留守門,向供應商查證,不猜等待時間。
- 停止使用此資料目錄的所有 gateway/CLI。只有完成外部查證後,離線操作人員才能將該檔移出作用中的檔名,保留操作代號與理由供稽核;不要刪其他憑證或鎖檔。
- 重啟後由帳號本人重新連結,事件紀錄註明此次放行依賴外部證據、由操作人員執行;產品並未程式驗證遠端晚到請求風險已消失。
不同 OAuth 用戶端可能仍屬同一 Google Cloud 專案,因此換用戶端 ID 不能作為自動復原的證明。
Unix 必須成功同步守門檔、locks 目錄及 home 父目錄後才送撤銷。Windows 目前缺少所需的目錄持久化實作,因此個人中斷只刪本機;正常連結及更新仍可用。Unix 測試不能視為 Windows 耐斷電證據。動態遠端 OAuth 一律只中斷本機,不依當下是否存在個人/公司憑證檔判斷;那些應用程式請本人到服務商撤銷。
[integrations.google_identity]allowed_domains = ["example.com"] # 留空不限# agent.toml[google]identity = "owner" # 或 "user:<直接 Owner 的 id>"fallback = "none" # 管理員可明確改為 "home"requesters = "bound_people" # 或 "owner_only";"anyone" 須明確確認allowed_domains 優先核對 Google 回傳的組織網域,否則核對信箱網域;它限制帳號網域,不是獨立的 Workspace 成員資格證明。無法辨識的設定一律拒絕。
本人操作介面為 me.google.status、connect_start、connect_finish、connect_paste、disconnect、consents.set(後五者同屬 me.google)。使用者代號由已驗證登入決定;users.google_disconnect、agents.primary_owner_set 限管理員。個人連線入口僅企業版提供,個人版沿用既有共用/home 連線。
封存紀錄在 <home>/person_credentials/store.json,目錄及檔案只限系統使用者存取,並保存版本守門;不搬動既有公司 OAuth 紀錄。備份或搬機時請保留支援的系統金鑰圈;使用個人連線期間不支援降版。
這些平台守門不會隔離與 gateway 使用相同 OS 帳號、又有不受限 Bash 的員工;它仍可能繞過產品路徑或改寫本機資料。請只給必要能力。另外,Google 的 Gmail 草稿權限本身也能寄信,雖然原生草稿工具不會寄出。
另見:原生 Google Workspace、Google PKCE 說明、OpenID 帳號資訊、Google 撤銷授權。
帳號選擇與狀態查詢(v1.76.0)
Section titled “帳號選擇與狀態查詢(v1.76.0)”公司帳號備援會把已授予的服務權限固定到原先選定的原生工具,保留既有的擇一授權規則。只有原先的個人帳號無法使用、且管理員已允許公司備援時,才會選用同一份公司共用 OAuth 連線;原本可用的個人選擇不能在後續出錯後改成公司備援。
專用連線的核准流程會固定本次帳號與最終參數。選用公司備援時,核准卡會明示本次使用公司共用連線,且 Google 帳號主體尚未驗證,不把它當成已驗證的信箱。google_status 會消耗這次單次核准,只查本機授權紀錄,不取得權杖或連線測試 Google。
已選定帳號的專用送出介面涵蓋 18 個原生 HTTP 工具。整次操作維持核准帳號,不自動重試或跟隨重新導向;健康個人帳號後續失敗不會改用公司備援。公司備援結果會附上 Google 帳號主體未驗證的相同告知。遠端 Google MCP 延伸使用下述獨立操作預算;公司服務帳號、Apps Script 與公司授權代表依下列來源規則處理。
操作可能已送達 Google,卻無法確認結果時,會回傳 result_unconfirmed。寫入請先到 Google 檢查,再決定是否重試;取消或逾時不會撤回遠端變更。專用路徑維持 120 秒總預算,每個 HTTP 請求逾時為 30 秒。單次回覆上限 4 MiB、整次操作累計回覆 16 MiB、請求網址加本文 1 MiB、最多 26 個 HTTP 請求、完整結果封套 512 KiB;Gmail 搜尋最多 25 封。超限會拒絕,不把截斷結果當成成功。既有舊路徑維持原有上限。
遠端 HTTP Google MCP 每次操作會固定原管理員設定項目、端點、標頭、工具與最終參數。健康個人帳號發生錯誤時不會改用公司備援;已允許的公司備援只使用 OAuth,並明示 Google 主體未驗證。純公司帳號與網域委派保留原行為,不在這次延伸範圍。掛載設定改變,或新發問者沒有權限時,會拒絕操作。
遠端操作共用同一期限,涵蓋排隊、準備、三個協定 POST 與結果處理。請求 frame 上限 16 MiB,每個 POST 的回覆各自上限 16 MiB,不是整次累計 16 MiB。不自動重試、跟隨重新導向或使用環境 proxy。逾期結果連同帳號告知與新查閱代碼一起扣留。取消不會撤回 Google 寫入;結果不明時請先到 Google 檢查,再決定是否重試。已開始的本機紀錄維護可能稍後才完成,因此取消不保證所有本機紀錄立即刪除。
遠端延伸納入 v1.76.0。M1/CLI 本機聚焦測試與獨立程式/安全審查已通過,範圍見下方整合驗證說明。既有 D1 證據仍獨立保留;這些測試不代表 Google 實際連線或使用者驗收。
系統金鑰圈與本機同步讀寫無法被逾時強制中止;返回後會重新核對同一期限,再決定是否送出或交付結果。
公司來源與核准期限
Section titled “公司來源與核准期限”已配置的公司服務帳號優先;只有未配置服務帳號時才嘗試 OAuth。直接連線取得憑證失敗,可在核准前選定已配置的 Apps Script。核准卡分別標示 OAuth、服務帳號與 Apps Script,不捏造 OAuth 編號或已驗證的 Google 信箱。公司授權代表遇到發問者或憑證保護拒絕會停止;只有原本允許備援的軟失敗,且明確配置公司備援,才可改用公司來源。
個人帳號改用公司備援,會在原有 Ask 核准前預備一次憑證。伺服器整段預備共用 18 秒期限,CLI 保持 20 秒逾時。核准章的名義期間仍為 1800 秒,但預備憑證可能更早失效。預備期限包含交付結果;同步檢查逾時返回也不能開始資料操作。系統時間往回調不會延長已預備 OAuth 憑證的可用期間;到期或來源變動時,必須重新選擇並核准,Ask 後不刷新或重選來源。待核准資料保留原上限:全機 1024 筆、每員工 32 筆、每筆 64 KiB、合計 8 MiB,計入保留的憑證容量與預備中的保留額度。過大的秘密參照可能超過單筆容量而被拒絕。
公司服務帳號與授權代表可用 18 個原生 HTTP 工具及遠端 Google MCP,沿用完整既有權限清單。Apps Script 支援 Gmail 搜尋/讀信/草稿、Calendar 列表/建立、Sheets 讀取/附加;CC、參與者及 Meet 不在橋接支援範圍,遠端 MCP 也不能把它當 bearer。狀態查詢不取得權杖、不測試 Google。資料操作固定核准來源,不自動重試、跟隨重新導向或使用環境 proxy,沿用既有資料大小上限。Bridge 只允許在驗證過的 302/303 後讀取一次不帶憑證的結果,POST 與 GET 共用 60 秒;結果網址含原橋接密鑰時會在 GET 前拒絕,不會修改密鑰後繼續送出;可能已送出的寫入失敗回傳結果未確認,請先檢查 Google 再決定是否重試。
原生工具的 attendees 參數是逗號分隔的字串,不是陣列。Bridge 會在 I/O 前拒絕非空 cc、CSV 解析後非空的參與者清單,或 with_meet=true。空的 cc、空參與者清單與 with_meet=false 沒有要求這些不支援的功能,可繼續一般請求;這不保證所有未知或錯型欄位都會被拒絕。
檔案、環境變數、設定與標記的本機變化會使原選擇失效。沒有版本通知的 Keychain/外部秘密管理服務採每次操作快照;無法立即察覺帶外輪替或外部服務恢復。同步 OS/金鑰圈操作無法硬中斷,返回後會先驗期限,再決定是否開始下一步;跨檔案觀察與最後檢查到送出之間仍有競態限制。這些變更納入 v1.76.0。W3 本機聚焦測試與獨立程式/安全審查已通過;真 Google/Apps Script 相容性、平台檢查與使用者驗收仍須獨立證據,CI 以各 PR 最新 head 為準。郵件輪詢等既有自動化 API 不在本次範圍。
帳號選擇不會試跑 Apps Script POST 當健康檢查。直接憑證取得的歷史失敗只用來固定 Ask 前的選擇,不代表服務當下健康狀態;直接資料操作可能已送出後,不會再改用 Bridge 重送第二次。既有 direct→Bridge 備援行為保留在舊 API 路徑。
驗證範圍(2026-10-25)
Section titled “驗證範圍(2026-10-25)”整合來源 4e37c1f3 已編譯四個測試程式,22 個命令共通過 107 項本機聚焦測試:M1/CLI 43、W3 58、發問者限制回歸 6,0 失敗、0 忽略。獨立程式、安全與執行紀錄審查通過。這不是全量測試,也不是單一 PR head 的驗證;各 PR 最新 CI 須另外確認。歷史失敗保留於驗收紀錄。
這些測試未證實真 Google/Workspace 管理控制台行為、官方遠端 MCP 是否接受權杖、真 Keychain、Windows 真機、出貨 CLI stdio、付費授權或瀏覽器使用者驗收。帶外憑證輪替仍有上述快照限制;未宣稱發布或部署。