环境
macOS
OpenCode 1.2.25
@opencode-ai/plugin@1.2.25
opencode-workaholic@0.3.0
复现 Reproduce
启用 opencode-workaholic@0.3.0 后,OpenCode 启动时报错:
Invalid 'tools[27].name': string does not match pattern. Expected a string that matches the pattern '^[a-zA-Z0-9_-]+$'.

排查,推断和本地修复
排查后发现,插件导出的工具名用了带 . 的格式,例如:
workaholic.start
workaholic.status
workaholic.checkout
workaholic.stop
但我当前版本的 OpenCode 对工具名有校验,只允许 [a-zA-Z0-9_-],所以插件加载时直接失败。发布产物里实际注册的 tool name 与当前OpenCode 的校验规则不兼容。我自己改成兼容格式后好了(直接修改index.js产物),比如:
workaholic_start
workaholic_status
workaholic_checkout
workaholic_stop
这个插件其包内依赖的 @opencode-ai/plugin 是 1.0.85,而我自己的是@opencode-ai/plugin@1.2.25。可能有版本不兼容问题?升级后对于工具名校验更严格了可能是。
|
"@opencode-ai/plugin": "1.0.85", |