@joe-broadhead/opencode-gws

中文文档
0.0.0发布于 2026/11/01MITES Module零依赖构建来源已验证

b谷歌工作空间的非官方开放代码插件(gws CLI)

中文使用文档
文档目录10 节
  1. 要求
  2. 安装
  3. 登录
  4. 使用
  5. 权限
  6. 配置
  7. 组织推广
  8. 故障排除
  9. 卸载
  10. 链接

谷歌OpenCode工作空间

通过谷歌的开源,提供了OpenCode代理Gmail,驱动器,日历,文档,表格和谷歌工作区的其余部分 gws 每个更改都先计划好,只有在您批准后才提交。

非正式的;与b谷歌无关。

要求

  • OpenCode >=2.2.3 <2.3.0,在2.2.3和2.2.4上进行了测试。
  • macOS (arm64, x64)或Linux (arm64, x64, glibc)。
  • 一个谷歌帐户和一个桌面应用程序OAuth客户端:您自己的,或者您的组织提供的。

安装

opencode plugin add @joe-broadhead/opencode-gws

NPM也会安装匹配 @joe-broadhead/opencode-gws-bin-<target> 包,它保存未修改的 gws 二进制版本的插件引脚(细节). 运行时不会下载任何内容,也没有安装脚本。

在没有选项的情况下,插件创建一个只读帐户, default, bgmail,驱动器,日历,文档和工作表。

登录

运行 /connect 并选择 谷歌的工作区. 界面显示登录链接:按 o 或按回车键在浏览器中打开。命令行自动打开浏览器:

opencode auth login gws-default

没有谷歌OAuth客户端附带插件。第一次,表单要求您自己的桌面应用程序OAuth客户端的客户端ID和秘密,除非您的组织设置了一个(参见 组织推广). 要做一个,跟着做 创建桌面客户端. 表单在b谷歌的同意屏幕前列出了确切的范围。只读是默认值;读和写是一个单独的选择,需要确认。每个人都有几个账户 /connect 条目命名为 谷歌工作区(<alias>).

详情及范围表: 文档/ auth.md.

使用

问代理人你需要什么。它分为四个步骤:

  1. gws_catalog 查找操作,并且 gws_schema 显示其参数。
  2. gws_read 执行读取操作。列表和搜索呼叫需要 fields.
  3. gws_plan 干运行更改并返回 planId 带有编辑预览。
  4. 由计划的类别(gws_write, gws_send, gws_share, gws_delete, gws_export 或者 gws_admin)运行它,只有 planId. OpenCode首先会问你。

gws_status 告诉代理帐户别名以及是否丢失了登录。结果中的工作区内容是数据,而不是指令。

在TUI中, 谷歌工作区:状态 在命令面板中,或 /gws,打开状态对话框。在一次会议中, /gws-status 发布具有任何未决计划的相同状态,以及 /gws-doctor 对每个启用的服务进行一次小的读取。他们都不能批准或承诺。

权限

这个插件添加了一个请求规则 gws.write, gws.export, gws.send, gws.share, gws.delete 和 gws.admin 给每个代理,在代理的基本允许规则之后。读书不问,故而也在作工 opencode run.

后面的规则胜出。您自己的允许规则,或 总是 在写入或导出时,删除该提示。发送,分享,删除和管理从不提供总是。您的拒绝规则和Plan代理保持拒绝提交。每条规则都需要 resource:

{ "action": "gws.write", "resource": "work:*", "effect": "allow" }

仅在配置中定义的代理不会获得请求规则。 /gws-status 状态对话框命名这些代理并给出要首先添加的块 代理人自己的 permissions. 不要放在顶层 permissions这将放松Explore。

配置

插件条目上的选项有:帐户及其服务和访问、OAuth客户端、仅拒绝策略规则和管理门。看到 文档/ configuration.md 还有注释的 例子.

组织推广

在组织的谷歌云项目(用户类型)中创建一个桌面应用程序OAuth客户端 内部 将其保留到您的组织),并将其设置在OpenCode的系统配置中: /Library/Application Support/opencode/opencode.json 在macOS上,或者 /etc/opencode/opencode.json 在Linux上。

{
  "plugins": [
    {
      "package": "@joe-broadhead/opencode-gws",
      "options": {
        "oauthClient": {
          "clientId": "<your client ID>.apps.googleusercontent.com",
          "clientSecret": "<your client secret>"
        }
      }
    }
  ]
}

成员只能运行 /connect,选择谷歌Workspace,并选择访问级别:表单隐藏客户端字段并使用这些值。谷歌将桌面客户端的秘密视为非机密;安全性取决于PKCE、环回重定向和用户的同意。

故障排除

/gws-status 将每个帐户显示为 connected, sign-in required 或者 not configured,还有下一步。常见错误码:

代码该怎么做
AUTH_REQUIRED运行 /connect 选择谷歌Workspace,或者运行 opencode auth login gws-<alias>.
AUTH_SCOPE_MISSING再次登录并选择“读写”,或将范围添加到 accounts.<alias>.scopes. 什么跑。
AUTH_CLIENT_REQUIRED运行 /connect 并选择谷歌Workspace,然后输入您的Desktop OAuth客户端ID和密钥,或者询问您的管理员。
API_DISABLED在消息中的URL上启用API,等待大约一分钟,然后重试。 /gws-doctor 检查每个服务。
HOST_UNTESTED使用OpenCode 2.2.3或更高的2.2。X,或者集合 "allowUntestedHost": true.
GWS_UNAVAILABLE重新安装,以便平台包存在或设置 binary.path 到一个 gws 固定版本的可执行文件(细节)。
POLICY_DENIED策略规则或管理员门拒绝呼叫。拒绝是最后的决定。

gws 使用OpenCode服务的代理设置,例如 opencode service set env HTTPS_PROXY http://proxy.example:8080. 所有的代码: 错误.

卸载

opencode plugin remove @joe-broadhead/opencode-gws

然后删除每个谷歌工作区登录 /connect,或 opencode auth logout gws-<alias>.

版本与发布记录

@joe-broadhead/opencode-gws 共发布 2 个版本,首次发布于 2026/11/01;过去 12 个月发布了 2 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.0.0latest2026/11/012 天前
0.0.0-stage2026/11/012 天前

关于 @joe-broadhead/opencode-gws 的常见问题

@joe-broadhead/opencode-gws 是什么?

b谷歌工作空间的非官方开放代码插件(gws CLI)

如何安装 @joe-broadhead/opencode-gws?

在项目目录运行 npm install @joe-broadhead/opencode-gws,或使用 pnpm add / yarn add / bun add。

@joe-broadhead/opencode-gws 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/joe-broadhead__opencode-gws 是否存在。

@joe-broadhead/opencode-gws 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@joe-broadhead/opencode-gws 可以商用吗?

@joe-broadhead/opencode-gws 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@joe-broadhead/opencode-gws 还在维护吗?

最新版本 0.0.0 发布于 2026/11/01(2 天前);至今共发布 2 个版本,其中过去 12 个月发布了 2 个;首次发布于 2026/11/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。