Registro de compatibilidade
Os contratos de compatibilidade de Plugin são rastreados no registro central emsrc/plugins/compat/registry.ts.
Cada registro tem:
- um código de compatibilidade estável
- status:
active,deprecated,removal-pendingouremoved - owner: SDK, config, setup, canal, provider, execução de Plugin, runtime do agente ou core
- datas de introdução e descontinuação, quando aplicável
- orientação de substituição
- docs, diagnósticos e testes que cobrem o comportamento antigo e o novo
Pacote do inspetor de Plugins
O inspetor de Plugins deve ficar fora do repositório principal do OpenClaw, como um pacote/repositório separado, apoiado pelos contratos versionados de compatibilidade e manifesto. A CLI do primeiro dia deve ser:- validação de manifesto/schema
- a versão de compatibilidade de contrato que está sendo verificada
- verificações de metadados de instalação/origem
- verificações de import no caminho frio
- avisos de descontinuação e compatibilidade
--json para uma saída estável legível por máquina em anotações de CI. O
core do OpenClaw deve expor contratos e fixtures que o inspetor possa consumir,
mas não deve publicar o binário do inspetor a partir do pacote principal openclaw.
Política de descontinuação
O OpenClaw não deve remover um contrato de Plugin documentado na mesma release em que introduz sua substituição. A sequência de migração é:- Adicionar o novo contrato.
- Manter o comportamento antigo conectado por meio de um adaptador de compatibilidade nomeado.
- Emitir diagnósticos ou avisos quando autores de Plugins puderem agir.
- Documentar a substituição e o cronograma.
- Testar os caminhos antigo e novo.
- Aguardar durante a janela de migração anunciada.
- Remover apenas com aprovação explícita de release com breaking change.
Áreas atuais de compatibilidade
Os registros atuais de compatibilidade incluem:- imports amplos legados do SDK, como
openclaw/plugin-sdk/compat - formatos legados de Plugin baseados apenas em hooks e
before_agent_start - comportamento de allowlist e ativação de Plugins empacotados
- metadados legados de manifesto de variáveis de ambiente de provider/canal
- activation hints que estão sendo substituídos pela propriedade de contribuição do manifesto
- aliases de nomenclatura
embeddedHarnesseagent-harnessenquanto a nomenclatura pública migra paraagentRuntime - fallback gerado de metadados de configuração de canal empacotado enquanto os metadados
channelConfigscom registro em primeiro lugar são implementados - a variável de ambiente legada para desativação do registro persistido de Plugins, enquanto fluxos de reparo migram operadores
para
openclaw plugins registry --refresheopenclaw doctor --fix
Notas de release
As notas de release devem incluir próximas descontinuações de Plugin com datas previstas e links para a documentação de migração. Esse aviso precisa acontecer antes que um caminho de compatibilidade passe pararemoval-pending ou removed.