Skip to content

[Bug] v0.3.0版本启动时工具名校验失败 #2

@LIUBINfighter

Description

@LIUBINfighter

环境

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_-]+$'.
Image

排查,推断和本地修复

排查后发现,插件导出的工具名用了带 . 的格式,例如:

  • 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/plugin1.0.85,而我自己的是@opencode-ai/plugin@1.2.25。可能有版本不兼容问题?升级后对于工具名校验更严格了可能是。

"@opencode-ai/plugin": "1.0.85",

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions