Background
anolisa adapter enable is replacing component-owned deployment scripts for
framework integration. Some deployment scripts also print user-facing follow-up
instructions after the adapter is enabled.
For example, sec-core's OpenClaw deploy script prints optional guidance such as:
Please restart OpenClaw gateway to load the plugin.
openclaw gateway restart
To block prompt-injection risks:
openclaw config set plugins.entries.agent-sec.config.promptScanBlock true
To enable code-scan approval mode:
openclaw config set plugins.entries.agent-sec.config.codeScanRequireApproval true
The required configuration is already handled by structured fields such as
[[adapters.openclaw.config]]. What is missing is a safe way for a component
contract to expose static user guidance that should be shown after enable or
disable.
Proposal
Add static adapter notices to the component contract, scoped to the generic
adapter or framework-specific section.
Example:
[[adapters.openclaw.notices]]
when = "post_enable"
level = "info"
text = "Please restart OpenClaw gateway to load Agent Security."
command = "openclaw gateway restart"
[[adapters.openclaw.notices]]
when = "post_enable"
level = "info"
text = "To block prompt-injection risks, enable prompt scan blocking."
command = "openclaw config set plugins.entries.agent-sec.config.promptScanBlock true"
Suggested semantics:
text is required.
command is optional and display-only.
when initially supports post_enable and post_disable.
level initially supports info and warning.
- Notices are static strings; no shell expansion and no execution.
- Human output prints notices after a successful adapter operation.
--json includes notices in the result payload.
--quiet suppresses notice printing.
--dry-run may preview declared notices, but must not treat them as executed.
Non-goals
- Do not add arbitrary post-install scripts.
- Do not add a templating DSL or conditional expression language.
- Do not move required framework configuration into notices; required settings
should continue to use structured config fields.
Acceptance Criteria
ComponentManifest can parse and serialize adapter notices.
- OpenClaw/Hermes framework-specific sections can carry notices.
anolisa adapter enable <component> <framework> prints declared
post_enable notices after success in human mode.
anolisa adapter disable <component> <framework> prints declared
post_disable notices after success in human mode.
- JSON output includes notices in a stable structured shape.
- Unit tests cover parse, human rendering, JSON rendering, and quiet/dry-run
behavior.
Background
anolisa adapter enableis replacing component-owned deployment scripts forframework integration. Some deployment scripts also print user-facing follow-up
instructions after the adapter is enabled.
For example, sec-core's OpenClaw deploy script prints optional guidance such as:
The required configuration is already handled by structured fields such as
[[adapters.openclaw.config]]. What is missing is a safe way for a componentcontract to expose static user guidance that should be shown after enable or
disable.
Proposal
Add static adapter notices to the component contract, scoped to the generic
adapter or framework-specific section.
Example:
Suggested semantics:
textis required.commandis optional and display-only.wheninitially supportspost_enableandpost_disable.levelinitially supportsinfoandwarning.--jsonincludes notices in the result payload.--quietsuppresses notice printing.--dry-runmay preview declared notices, but must not treat them as executed.Non-goals
should continue to use structured config fields.
Acceptance Criteria
ComponentManifestcan parse and serialize adapter notices.anolisa adapter enable <component> <framework>prints declaredpost_enablenotices after success in human mode.anolisa adapter disable <component> <framework>prints declaredpost_disablenotices after success in human mode.behavior.