Linux 软件免费装
Banner图

ConfigOps – Configuration Management

开发者 pyrra
更新时间 2026年8月25日 20:51
PHP版本: 8.2 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

settings wp-cli automation rollback configuration

下载

0.3.0 0.4.0 0.4.1 0.4.2 0.5.0 0.2.0 0.4.3 0.5.1 0.6.0 0.7.0

详情介绍:

The undo button WordPress forgot WordPress shows you the settings form. ConfigOps shows you what the save actually changed. Agent-ready. Human by default. WordPress Abilities and machine-readable JSON WP-CLI commands let an authorized tool list recorded changes, inspect redacted diffs, control named Change Sessions, and run the restore checks without writing. Compatible MCP adapters can expose the same abilities as agent tools. Humans retain write authority by default. A service user with the separate configops_apply capability can replace human confirmation for one mutation only by sending dangerouslyRunUndo: true or --dangerously-run-undo. That acknowledgement does not bypass scope, conflict, reference, lock, audit, verification, or compensation checks. ConfigOps exposes no generic option writer, raw SQL tool, or plugin installer. Visit the ConfigOps website or read the documentation. Change a supported WordPress or plugin setting as usual. ConfigOps automatically opens an isolated observation for that save, groups the resulting writes, and reduces repeated writes to the same option into the original-to-final change. A compact evidence card states how many values WordPress wrote, separates likely decisions from housekeeping, and links to the stored diff. Whole-save Undo appears only when every recorded value is restorable and still passes the conflict check. Version 0.7 adds private Configuration Packs. Save a completed Change Session as a declarative .configops.json desired state, remove individual settings, import it on another website, inspect the complete Apply Preview, and apply it as an ordinary undoable History session. Packs are not database snapshots. They contain no old values, autoload flags, table names, SQL, or executable code. Complete options containing protected data are excluded before export. Import rechecks the destination's WordPress and plugin versions, adapter ownership, local references, protected values, current baselines, and site scope before writing. URLs, absolute paths, email addresses, and environment-specific values are warned instead of silently rewritten. Private Packs remain deliberately local files. Version 0.7 includes no cloud, marketplace, account, synchronization, variable substitution, or drift engine. One action. The hidden writes behind it. A clear diff. A conflict-checked undo. What a settings save actually wrote ConfigOps is not a generic activity log. It does more than report that somebody clicked Save: it records the supported Options API writes caused by the request, separates likely decisions from plugin housekeeping, and attributes the responsible component and code path where possible. ConfigOps is not a backup. It restores only supported setting values that still match the recorded state, so a later legitimate change is not silently overwritten. ConfigOps is not plugin-version rollback. It works with configuration values, not plugin or theme code. What ConfigOps records and checks Safety before convenience Probable credentials are removed before mutation history is stored. Undo first checks that the current value still matches the observed value. An interrupted or incomplete observation loses whole-save undo instead of pretending its evidence is safe. Direct writes to custom plugin tables are recorded as value-free warnings. ConfigOps does not store raw SQL and does not claim it can reverse data it does not understand. Site icons, site logos, and supported Yoast logo and social-image settings show the referenced attachment name, file type, dimensions, thumbnail, and missing state. Yoast publisher-policy, content-ignore, and LLMs.txt page IDs show bounded page identity instead of a bare database ID. ConfigOps never copies or deletes referenced media or content. All evidence remains in the website database. ConfigOps does not send observation data to pyrra or another external service. Suggested disclosure text is added to WordPress's privacy-policy guide. Tested component contracts The current release includes pinned adapters for: These plugin ranges cover every version line that the official WordPress.org usage API exposed separately on 2026-08-24. CI rechecks that list and fails when a newly visible line has no real-plugin contract. Every contract also audits the release’s published option map, registered defaults, or Settings API and fails on settings ConfigOps still treats as unknown. WordPress.org combines the remaining installations under "other" without disclosing their versions, so that bucket is not advertised as verified support. The Support contracts screen lists each tested plugin version, mapped settings family, refused operation, and undo level. The WooCommerce contract covers core Options API settings, feature flags, REST and catalog performance controls, and Point of Sale receipt details. HPOS datastore switches and Cost of Goods are explained but not undone; orders, products, tax-rate tables, shipping zones, webhooks, extension gateways, and scheduled jobs are not rolled back. An untested component version keeps its observed evidence but disables automatic undo. Plugins without a dedicated adapter still retain their source slug and, when WordPress can resolve the owning plugin file, the version observed when the setting was saved. When WordPress Core performs the final write for an option that a plugin registered through the Settings API, the review says Setting registered by instead of pretending that the plugin directly called the Options API. Their nested leaf keys receive readable labels, but ConfigOps explicitly marks the plugin meaning as unmapped instead of inventing semantics. Multisite in version 0.7 On a network-active installation, each site keeps its own isolated evidence lifecycle. On Multi-Network installations, ConfigOps derives the network from the actual site record after every internal context switch, refuses lifecycle work that crosses networks, and excludes foreign Network Options writes from the current network ledger. An affected open capture is marked incomplete instead of silently appearing trustworthy. Network Admin receives a separate network-wide ledger for supported Network Options API changes, with guarded mutation-level undo for complete additions and updates. Network option deletes remain review-only because WordPress reports them after the previous value is gone. Named Network Change Sessions can group network-owned evidence, but whole-network-change undo, cross-site aggregation, and bulk operations are not available. Version 0.7 is a local single-site and Multisite evidence layer plus private, site-scoped Configuration Packs for supported WordPress settings. Packs are not available for the Network Options ledger. ConfigOps is not a staging service, backup, content migration, database synchronization, fleet manager, or generic activity log.

安装:

  1. Upload the ConfigOps ZIP through Plugins > Add Plugin > Upload Plugin.
  2. Activate ConfigOps.
  3. Change one WordPress or plugin setting as usual.
  4. Use the ConfigOps evidence card to review the hidden writes or undo a save whose recorded values all pass the restore policy.
  5. For a multi-request task, open ConfigOps and start a named Change Session.
For Multisite, network-activate ConfigOps to initialize and maintain isolated site ledgers. Super administrators can review supported Network Options changes from Network Admin → ConfigOps.

屏幕截图:

  • See the supported WP Mail SMTP decisions behind one save while the changed SMTP password is removed before storage.
  • See one Yoast SEO toggle as one understandable XML sitemaps decision with its conflict-checked Undo action.
  • Review a real Network Settings change in Network Admin with explicit network-wide scope, add/update undo boundaries, and guarded mutation undo.
  • Enable verified key undo for ordinary plugin settings arrays without a dedicated adapter and review the exact structures it refuses.

升级注意事项:

0.7.0 Adds private declarative Configuration Packs with complete Apply Preview, protected-value exclusion, conflict-checked Apply, History provenance, and ordinary Undo. 0.6.0 Adds WooCommerce support, precise adapterless provenance, and capability-gated single-mutation agent undo behind an explicit danger acknowledgement. 0.5.1 Adds agent-readable WordPress Abilities, JSON WP-CLI commands, and read-only restore planning. Restore apply remains a human action in wp-admin. 0.5.0 Verified key undo beyond dedicated adapters is available as an opt-in site setting under ConfigOps → Support contracts. It remains off by default; test the owning plugin's save and undo path in staging before enabling it in production.

常见问题:

Does ConfigOps observe custom plugin tables?

Not generically. ConfigOps records a value-free warning when it observes a direct database write, but understanding or reversing a custom table requires an explicit adapter.

Is ConfigOps an activity log, backup, or plugin rollback tool?

No. An activity log records events, a backup restores a broad site state, and plugin rollback replaces code. ConfigOps explains the supported setting writes behind a save and restores only values that still pass its safety checks.

What does ConfigOps record automatically?

ConfigOps observes supported Options API mutations in authorized WordPress admin, REST, and WP-CLI requests. It does not record anonymous front-end traffic as settings evidence. Named Change Sessions are available when you want to group several requests into one investigation. WP-CLI's optional --user parameter is not required for observation. A shell-authorized command without a WordPress user is recorded with actor ID 0. If another plugin virtualizes a site or network target through an Options API read filter, ConfigOps refuses undo before writing instead of treating the virtual value as stored database state.

Does ConfigOps support WordPress Multisite?

Yes. Version 0.7 supports network activation, isolated per-site evidence, lifecycle and retention across sites, Multi-Network ownership boundaries, and a separate Network Admin ledger for supported Network Options changes. Named Network Change Sessions can group a planned task, and complete network additions and updates can be undone one mutation at a time. Packs remain site-scoped; Network Packs, network deletes, whole-network-change undo, cross-site aggregation, and bulk actions are not supported.

What is inside a Configuration Pack?

A Pack is strict JSON containing a format and schema version, stable Pack identity and version, a name and description, WordPress/plugin requirements, and a list of desired option states pinned to adapter schemas. It contains no before-state, database metadata, SQL, PHP, callbacks, or executable templates. Reserved variable and extension objects must remain empty in schema version 1. Export is conservative: only complete, restorable, non-secret options owned by a currently available tested adapter are selectable. Import repeats those checks against the destination. A warning is not an automatic rewrite; remove a questionable setting from the preview or configure that value explicitly after Apply.

Can automation tools operate ConfigOps?

Yes. ConfigOps is agent-ready through site-scoped native WordPress Abilities and machine-readable JSON WP-CLI commands for authenticated state, capture and mutation reads, named capture control, restore planning, and deliberately authorized single-mutation undo. The same discoverable abilities can be exposed by compatible MCP adapters. Use a dedicated least-privilege WordPress service user. Mutation evidence may contain non-secret configuration values, even though probable credentials are removed before storage. Do not grant configops_apply unless the agent may actually change settings. The danger acknowledgement skips human confirmation but never the normal safety checks. Generic option-writing tools are not available. Example commands: wp --user=configops-agent configops state wp --user=configops-agent configops captures list --limit=20 wp --user=configops-agent configops restore plan --mutation=842 wp --user=configops-agent configops restore apply --mutation=842 --dangerously-run-undo

Can ConfigOps undo an array without a plugin adapter?

Complete generic Options API values already use exact current-value checks. Site administrators can additionally enable Verified key undo for plugin arrays under Support contracts. For unclaimed associative wp_options updates, it cross-checks the complete patch against both typed snapshots, reverses only captured target keys, and preserves unrelated later keys. Current adapter ownership and current parent shapes are checked again before apply. It refuses secrets, root replacements, integer-keyed parent arrays, list-index edits, redacted or truncated evidence, malformed or overlapping paths, autoload drift, adapter-owned options, and any target key that changed again.

Are secrets stored in the mutation history?

Probable secret fields and options are replaced before persistence. Supported adapters may undo neighboring non-secret fields while preserving the current credential. ConfigOps never reconstructs a redacted secret.

Is rollback guaranteed?

No. ConfigOps restores supported Options API values after a conflict check. Side effects in files, caches, remote services, or custom tables may remain. The interface states when undo is limited or unavailable. If earlier referenced media or content has since been deleted or moved to the trash, ConfigOps refuses to restore its local ID.

What happens when observation storage fails?

The host settings request is allowed to finish. ConfigOps marks the observation incomplete through a value-free emergency marker and disables whole-save undo after storage recovers.

How long is local history kept?

While ConfigOps is active, completed and interrupted observations are kept for 30 days by default. Cleanup is bounded and never selects an active Change Session. Developers may change the window with the configops_retention_days filter. Uninstalling ConfigOps removes its observation history, installation options, scheduled cleanup, and capabilities.

How do I report a security issue?

Email felix@pyrra.net. Do not post credentials, configuration values, database exports, or customer data in a public support thread.

更新日志:

0.7.0 0.6.0 0.5.1 0.5.0 0.4.3 0.4.2 0.4.1 0.4.0 0.3.1 0.3.0 0.2.0 0.1.0