OpenClaw mantém contratos de plugins antigos conectados por meio de adaptadores de compatibilidade nomeados antes de removê-los. Isso protege plugins agrupados e externos existentes enquanto os contratos do SDK, manifesto, configuração, config e runtime do agente evoluem.Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Registro de compatibilidade
Os contratos de compatibilidade de plugins 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 - proprietário: SDK, config, configuração, canal, provedor, execução de plugin, runtime do agente, ou core
- datas de introdução e descontinuação quando aplicável
- orientação de substituição
- documentação, diagnósticos e testes que cobrem o comportamento antigo e o novo
src/commands/doctor/shared/deprecation-compat.ts. Esses registros cobrem
formatos antigos de config, layouts de ledger de instalação e shims de reparo
que talvez precisem continuar disponíveis depois que o caminho de compatibilidade
de runtime for removido.
Varreduras de release devem verificar ambos os registros. Não exclua uma
migração do Doctor apenas porque o registro correspondente de compatibilidade de
runtime ou config expirou; primeiro verifique se não há um caminho de upgrade
compatível que ainda precise do reparo. Também revalide cada anotação de
substituição durante o planejamento de release, porque a propriedade de plugins
e a área de config podem mudar à medida que provedores e canais saem do core.
Pacote do inspetor de plugins
O inspetor de plugins deve viver fora do repositório central do OpenClaw como um pacote/repositório separado respaldado pelos contratos versionados de compatibilidade e manifesto. A CLI do primeiro dia deve ser:- validação de manifesto/schema
- a versão de compatibilidade do contrato sendo verificada
- verificações de metadados de instalação/origem
- verificações de importação de caminhos frios
- avisos de descontinuação e compatibilidade
--json para 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.
Trilha de aceite dos mantenedores
Use o Blacksmith Testbox com Crabbox para a trilha de aceite de pacote instalável ao validar o inspetor externo em pacotes de plugins do OpenClaw. Execute a partir de um checkout limpo do OpenClaw depois que o pacote for construído:Política de descontinuação
OpenClaw não deve remover um contrato de plugin documentado na mesma release 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 a janela de migração anunciada.
- Remover somente com aprovação explícita de release com breaking changes.
active.
Áreas de compatibilidade atuais
Os registros de compatibilidade atuais incluem:- imports amplos legados do SDK, como
openclaw/plugin-sdk/compat - formatos legados de plugins apenas com hooks e
before_agent_start - entrypoints legados de plugin
activate(api)enquanto plugins migram pararegister(api) - aliases legados do SDK, como
openclaw/extension-api,openclaw/plugin-sdk/channel-runtime, builders de status deopenclaw/plugin-sdk/command-auth,openclaw/plugin-sdk/test-utils(substituído por subcaminhos de testeopenclaw/plugin-sdk/*focados), e os aliases de tipoClawdbotConfig/OpenClawSchemaType - comportamento de allowlist e habilitação de plugins agrupados
- metadados legados de manifesto de variáveis de ambiente de provedor/canal
- hooks legados de plugins de provedor e aliases de tipo enquanto provedores migram para hooks explícitos de catálogo, auth, thinking, replay e transporte
- aliases legados de runtime, como
api.runtime.taskFlow,api.runtime.subagent.getSession,api.runtime.stte os descontinuadosapi.runtime.config.loadConfig()/api.runtime.config.writeConfigFile(...) - registro dividido legado de plugin de memória enquanto plugins de memória migram para
registerMemoryCapability - helpers legados do SDK de canais para schemas de mensagens nativas, gating de menções, formatação de envelopes inbound e aninhamento de capacidade de aprovação
- aliases legados de chave de rota de canal e helper de alvo comparável enquanto plugins
migram para
openclaw/plugin-sdk/channel-route - dicas de ativação que estão sendo substituídas pela propriedade de contribuições do manifesto
- fallback de runtime de
setup-apienquanto descritores de configuração migram para metadados friossetup.requiresRuntime: false - hooks de
discoveryde provedores enquanto hooks de catálogo de provedores migram paracatalog.run(...) - metadados
showConfigured/showInSetupde canais enquanto pacotes de canais migram paraopenclaw.channel.exposure - chaves legadas de config de política de runtime enquanto o Doctor migra operadores para
agentRuntime - fallback gerado de metadados de config de canais agrupados enquanto metadados
channelConfigsregistry-first chegam - flags de ambiente legadas de desabilitação do registro persistido de plugins e migração de instalação enquanto
fluxos de reparo migram operadores para
openclaw plugins registry --refresheopenclaw doctor --fix - caminhos legados de config de pesquisa web, busca web e x_search pertencentes a plugins enquanto
o Doctor os migra para
plugins.entries.<plugin>.config - config autorada legada de
plugins.installse aliases de caminho de carregamento de plugins agrupados enquanto metadados de instalação se movem para o ledger de plugins gerenciado por estado
Notas de release
As notas de release devem incluir próximas descontinuações de plugins com datas alvo e links para a documentação de migração. Esse aviso precisa acontecer antes que um caminho de compatibilidade passe pararemoval-pending ou removed.