# @joe-broadhead/opencode-gws 中文文档

规范地址：https://npmcn.com/package/%40joe-broadhead/opencode-gws/

版本：0\.0\.0
npm 元数据更新时间：2026-11-01T11:16:10.362Z
中文译文更新时间：2026-11-01T14:22:26.550Z
软件包许可：MIT

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40joe-broadhead/opencode-gws
原文对照：https://npmcn.com/package/%40joe-broadhead/opencode-gws/?lang=original
项目主页：https://github.com/joe-broadhead/opencode-gws#readme
源码仓库：https://github.com/joe-broadhead/opencode-gws

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：577 kB，11 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2026-11-01T10:42:20.719Z
- 最新版本发布：2026-11-01T11:16:09.932Z
- 已发布版本数：2（近 12 个月 2 个）

## 中文简介

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

## 安装

```sh
npm install @joe-broadhead/opencode-gws
```

也可以使用：`pnpm add @joe-broadhead/opencode-gws`、`yarn add @joe-broadhead/opencode-gws`、`bun add @joe-broadhead/opencode-gws`

## README

# 谷歌OpenCode工作空间

通过谷歌的开源，提供了OpenCode代理Gmail，驱动器，日历，文档，表格和谷歌工作区的其余部分 [`gws`](https://github.com/googleworkspace/cli) 每个更改都先计划好，只有在您批准后才提交。

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

## 要求

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

## 安装

```sh
opencode plugin add @joe-broadhead/opencode-gws
```

NPM也会安装匹配 `@joe-broadhead/opencode-gws-bin-<target>` 包，它保存未修改的 `gws` 二进制版本的插件引脚([细节](https://github.com/joe-broadhead/opencode-gws/blob/HEAD/docs/backend.md)）. 运行时不会下载任何内容，也没有安装脚本。

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

## 登录

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

```sh
opencode auth login gws-default
```

没有谷歌OAuth客户端附带插件。第一次，表单要求您自己的桌面应用程序OAuth客户端的客户端ID和秘密，除非您的组织设置了一个(参见 [组织推广](https://npmcn.com/package/%40joe-broadhead/opencode-gws/#readme-organisation-rollout)）. 要做一个，跟着做 [创建桌面客户端](https://github.com/joe-broadhead/opencode-gws/blob/HEAD/docs/auth.md#create-your-desktop-client)． 表单在b谷歌的同意屏幕前列出了确切的范围。只读是默认值；读和写是一个单独的选择，需要确认。每个人都有几个账户 `/connect` 条目命名为 **谷歌工作区(`<alias>`）**.

详情及范围表： [文档/ auth.md](https://github.com/joe-broadhead/opencode-gws/blob/HEAD/docs/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`：

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

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

## 配置

插件条目上的选项有：帐户及其服务和访问、OAuth客户端、仅拒绝策略规则和管理门。看到 [文档/ configuration.md](https://github.com/joe-broadhead/opencode-gws/blob/HEAD/docs/configuration.md) 还有注释的 [例子](https://github.com/joe-broadhead/opencode-gws/blob/HEAD/examples/opencode.jsonc).

## 组织推广

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

```json
{
  "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` 固定版本的可执行文件([细节](https://github.com/joe-broadhead/opencode-gws/blob/HEAD/docs/backend.md)）。 |
| `POLICY_DENIED` | 策略规则或管理员门拒绝呼叫。拒绝是最后的决定。 |

`gws` 使用OpenCode服务的代理设置，例如 `opencode service set env HTTPS_PROXY http://proxy.example:8080`． 所有的代码: [错误](https://github.com/joe-broadhead/opencode-gws/blob/HEAD/docs/configuration.md#errors).

## 卸载

```sh
opencode plugin remove @joe-broadhead/opencode-gws
```

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

## 链接

-   [登录和范围](https://github.com/joe-broadhead/opencode-gws/blob/HEAD/docs/auth.md)
-   [配置](https://github.com/joe-broadhead/opencode-gws/blob/HEAD/docs/configuration.md)
-   [状态对话框、命令和RPC](https://github.com/joe-broadhead/opencode-gws/blob/HEAD/docs/ui.md)
-   [管理操作](https://github.com/joe-broadhead/opencode-gws/blob/HEAD/docs/admin.md)
-   [安全策略和模型](https://github.com/joe-broadhead/opencode-gws/blob/HEAD/SECURITY.md)
-   [这个 `gws` 二进制](https://github.com/joe-broadhead/opencode-gws/blob/HEAD/docs/backend.md)
-   [更新日志](https://github.com/joe-broadhead/opencode-gws/blob/HEAD/CHANGELOG.md)， [执照](https://github.com/joe-broadhead/opencode-gws/blob/HEAD/LICENSE) 和 [请注意](https://github.com/joe-broadhead/opencode-gws/blob/HEAD/NOTICE)
-   [问题](https://github.com/joe-broadhead/opencode-gws/issues)

## 常见问题

### @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 和提交记录判断。

