opencode-plugin-hub 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -10
- package/dist/gui-experimental.cjs +125 -33
- package/package.json +1 -1
- package/src/contract.ts +2 -0
- package/src/gui/catalog.ts +25 -7
- package/src/gui/page.tsx +348 -202
package/README.md
CHANGED
|
@@ -35,7 +35,7 @@ OpenCode 的 GUI 插件 SDK 目前没有提供左侧「主页 / 新建会话」
|
|
|
35
35
|
| 命令面板 | 命令面板搜「插件中心」 | 同一个独立弹窗 |
|
|
36
36
|
| 设置页 | 设置 → 插件中心 | 完整设置页面 |
|
|
37
37
|
|
|
38
|
-
弹窗里保留了和设置页一致的紫渐变 Hero:说明文字和配置路径。统计合并到标签页(「已安装」标签带「可更新」数),打开配置 / 重载配置 / 彻底重启合并到标签页右侧的工具栏。只有大标题交给弹窗自己的标题栏,避免重复。标签栏做成 sticky
|
|
38
|
+
弹窗里保留了和设置页一致的紫渐变 Hero:说明文字和配置路径。统计合并到标签页(「已安装」标签带「可更新」数),打开配置 / 重载配置 / 彻底重启合并到标签页右侧的工具栏。只有大标题交给弹窗自己的标题栏,避免重复。标签栏做成 sticky,列表滚动时仍然能切换。弹窗默认约 1180×780(受窗口大小限制,最小约 720×480),内容在弹窗内滚动;右下角可以拖动调整大小。底部的「在设置中打开」会关闭弹窗并跳到设置里的插件中心页,想要更宽的空间也可以用这个入口。
|
|
39
39
|
|
|
40
40
|
如果以后 SDK 增加侧边栏导航注册表,可以把 Pill 换成真正的侧边栏同级项。
|
|
41
41
|
|
|
@@ -49,7 +49,7 @@ OpenCode **没有官方插件市场**。官方只提供两种加载方式(配
|
|
|
49
49
|
|
|
50
50
|
| 来源 | 内容 | 能不能装 |
|
|
51
51
|
|---|---|---|
|
|
52
|
-
| 精选目录(registry.json) | 97
|
|
52
|
+
| 精选目录(registry.json) | awesome-opencode 社区维护的 97 条 curated 条目,带描述、分类、GitHub 地址;Hero 里的 awesome-opencode 可点击查看来源 | 75 条可在应用内直接安装,其余 22 条只发布在 GitHub |
|
|
53
53
|
| npm 搜索 | 带 `opencode-plugin` 标签的包,约 3000 个 | 能,但没有筛选,噪音多 |
|
|
54
54
|
| 内置快照 | 上面 97 条的构建期副本,断网时兜底 | 同精选目录 |
|
|
55
55
|
|
|
@@ -57,13 +57,13 @@ OpenCode **没有官方插件市场**。官方只提供两种加载方式(配
|
|
|
57
57
|
|
|
58
58
|
| 标签 | 说明 |
|
|
59
59
|
|---|---|
|
|
60
|
-
| 精选目录 | 社区 curated
|
|
60
|
+
| 精选目录 | awesome-opencode 社区 curated 列表(Hero 里的来源名可点击),本地筛选(不打网络请求),可按类型过滤,标出可安装/仅 GitHub/已安装/可更新 |
|
|
61
61
|
| npm 搜索 | 直查 `keywords:opencode-plugin`,覆盖目录之外的长尾;显示周/月下载量、发布者、许可证,可按相关度、下载量或发布时间排序 |
|
|
62
62
|
| 已安装 | 读配置里的 `plugins` 数组,显示当前版本与最新版本,可查看详情、更新、移除 |
|
|
63
63
|
|
|
64
64
|
每张卡片右侧都有操作区:`详情` 打开完整信息弹窗,`源码` / `主页` / `npm` 用系统浏览器打开,`安装` / `更新` / `移除` 直接改配置。卡片正文也可以点击(有键盘焦点支持)。
|
|
65
65
|
|
|
66
|
-
安装 / 更新 /
|
|
66
|
+
安装 / 更新 / 移除成功后,提示条会提醒你点工具栏里的「彻底重启」;整个页面/弹窗只保留这一个常驻重启按钮,点一下就会退出应用、清掉旧的 `serve --service`,再自动打开。
|
|
67
67
|
|
|
68
68
|
安装写入配置时刻意走 jsonc 单节点编辑,**保留你原有的注释、缩进和行序**。
|
|
69
69
|
|
|
@@ -131,7 +131,7 @@ README 是判断「这个插件具体干啥」最直接的来源。很多包的
|
|
|
131
131
|
网络(12 小时 TTL) → 本地缓存 ~/.cache/opencode/plugin-hub/registry.json → 内置快照
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
-
|
|
134
|
+
断网时页面不会空,会回退到内置快照,加载时会提示具体错误;Hero 里的 awesome-opencode 仍会链接到实际的 registry 来源。点「更新目录」可强制跳过缓存。
|
|
135
135
|
|
|
136
136
|
## 为什么装完要重启
|
|
137
137
|
|
|
@@ -144,7 +144,7 @@ OpenCode 在启动时对插件列表和 provider 模型目录做快照,改配
|
|
|
144
144
|
3. 清理残留的 `serve --service`;
|
|
145
145
|
4. 等进程真正退出后,用 `open -b ai.opencode.desktop` 重新拉起应用。
|
|
146
146
|
|
|
147
|
-
所以正常流程是:安装 / 更新 / 移除插件 →
|
|
147
|
+
所以正常流程是:安装 / 更新 / 移除插件 → 点工具栏里的「彻底重启」→ 确认 → 应用自动退出并重新打开,不需要再手敲命令。
|
|
148
148
|
|
|
149
149
|
每次重启会往 `~/.cache/opencode/plugin-hub/restart.log` 追加时间、应用 PID、服务 PID 和当前步骤。自动重启没生效时,先看这个日志。
|
|
150
150
|
|
|
@@ -225,7 +225,7 @@ npm publish --access public # publishConfig 会把它发到 registry.
|
|
|
225
225
|
|
|
226
226
|
### 后续版本:GitHub Actions + Trusted Publishing
|
|
227
227
|
|
|
228
|
-
`0.1.0`
|
|
228
|
+
`0.1.0` / `0.1.1` 已发布。后续版本用 **push `v*` tag 自动发布**,仓库里不存 `NPM_TOKEN`。
|
|
229
229
|
|
|
230
230
|
先在 npm 配置 trusted publisher:
|
|
231
231
|
|
|
@@ -245,13 +245,21 @@ npm version patch
|
|
|
245
245
|
git push --follow-tags
|
|
246
246
|
```
|
|
247
247
|
|
|
248
|
-
|
|
248
|
+
`npm version` 会创建 `v0.1.2` 这样的 annotated tag;`git push --follow-tags` 把 main 和 tag 一起推上去,tag push 会自动触发 **Publish to npm**,不需要创建 Release,也不需要手动点。
|
|
249
|
+
|
|
250
|
+
`.github/workflows/publish.yml` 会:
|
|
251
|
+
|
|
252
|
+
- 校验 tag 和 `package.json` 的 version 一致
|
|
253
|
+
- 用 `id-token: write` 和 `npm publish --provenance` 发布
|
|
254
|
+
- 不需要 `NPM_TOKEN`
|
|
249
255
|
|
|
250
256
|
注意:
|
|
251
257
|
|
|
252
258
|
- `package.json` 的 `version` 必须先 bump,且不能和 npm 上已有版本重复。
|
|
253
|
-
-
|
|
254
|
-
-
|
|
259
|
+
- 已发布的 tag 不要强推;要重发就 bump 一个新版本。
|
|
260
|
+
- 如果还没配置 Trusted Publishing 就推 tag,publish workflow 会失败。
|
|
261
|
+
- 如果 tag 没有跟着 push 上去(极少数 `--follow-tags` 情况),补一个 `git push origin v0.1.2`。
|
|
262
|
+
- `.github/workflows/ci.yml` 仍然在 push / PR 时跑 typecheck 和 build;手动 **Publish to npm** 仅作为重试入口保留。
|
|
255
263
|
|
|
256
264
|
## 已知边界
|
|
257
265
|
|