Skip to content

[anolisa] feat(anolisa): support static adapter operation notices #1153

Description

@kongche-jbw

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.

Metadata

Metadata

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions