Preface

When developing DSH plugins or agent workflows, code review often stalls at the “suggestion-only” stage: looking at a few files in a single conversation, asking a few questions, but not continuing to fix, verify, and review again. iterate-plugin addresses this scenario by embedding iterate’s review loop into DSH, supporting multi-round read-only review first, and then executing closed-loop fixing, verification, and convergence in normal mode.

The following introduces its positioning, two modes, tool layer, UI layer, installation commands, and typical usage.

What is this

iterate-plugin is a DSH plugin maintained by jingzhao-l, licensed under MIT. It converts the iterate skill into an autonomous closed-loop harness:

plan -> parallel review xN -> atomic fixes -> validate -> loop -> auto-stop

This pipeline describes the main flow of normal mode.

At the same time, it provides a dry-run pure review mode, supports multi-round convergence, and provides meta-review: auditing the consistency of the review report and outputting a final review report.

According to the documentation, the plugin code is maintained in the iterate-skill main repository and synchronized to this repository via git subtree; releases and npm publishing are done in this plugin repository, which is the canonical publish point for the DSH ecosystem. The documentation suggests starring / forking the main repository and submitting issues in the main repository’s Issues.

Two Modes

The dry-run mode is used for read-only review, suitable for understanding the issues first without modifying files. Verified capabilities include:

  • dry-run read-only multi-round review
  • zero file modification (read-only)
  • repeated review until convergence
  • parallel dimension review
  • deterministic aggregation / dedupe / sort
  • meta-review report consistency audit
  • self-stop when converged
  • breakpoint save / resume (long iterations)

The normal mode is used for autonomous closed-loop fixing, suitable for continuing to fix, verify, and converge after confirming the review direction. Verified capabilities include:

  • autonomous closed-loop code iteration: review → triage → fix → validate → converge
  • automatic atomic fix
  • validation after each round’s fixes
  • rollback on failed fixes
  • fix atomic findings only, keep architectural for later
  • self-stop when converged
  • repeated review until convergence
  • parallel dimension review
  • deterministic aggregation / dedupe / sort
  • meta-review report consistency audit
  • breakpoint save / resume (long iterations)

Doing dry-run first, then normal is a more stable order: confirm issues and review dimensions first, then execute fixing and verification.

Tool Layer

iterate-plugin provides 13 registered tools:

iterate_config
iterate_validate
iterate_decision_log
iterate_context
iterate_review
iterate_triage
iterate_fix
iterate_diff
iterate_rollback
iterate_checkpoint
iterate_status
iterate_history
iterate_prune

These tools cover configuration, validation, decision logging, context, review, triage, fixing, diff, rollback, checkpoint, status, history, and cleanup.

findings triage loop

The process is:

review → UI triage(y/n/a)→ iterate_triage 写回 known_intentional → 下一轮自动过滤

This allows marking which findings are intentional in the UI, filtering them automatically in the next round, and no longer processing them repeatedly.

Fixing and Rollback

In a structured fixing system, each fix first backs up, writes a registry entry, and records a diff. After a failed fix is validated, iterate_rollback can be used to roll back.

Breakpoint Resume

Checkpoints are saved at the start of each round, allowing long iterations interrupted to be resumed.

Historical Audit

iterate_history reads the decision log and fix registry summary, used to view the running process and fix records.

Runtime Cleanup

iterate_prune cleans up expired decision-log entries, checkpoints, orphaned fix backups, and empty rounds. By default, it is dry-run/report-only; real cleanup requires dryRun:false, and every cleanup logs the action.

Configuration Read/Write

iterate_config supports validated, backed-up, and rollback-capable partial writes.

UI Layer

iterate-plugin provides a build-free Web UI layer, including triage panel, convergence dashboard, stats card, theme skin, etc.

Installation and Enablement

Official installation command:

dsh plugin --profile web add iterate-plugin

This command is used to install iterate-plugin into the current DSH web profile.

Typical Usage

The reproducible entry points provided in the documentation are as follows:

  1. Install this plugin:
dsh plugin --profile web add iterate-plugin
  1. Use dry-run mode for read-only, zero-file-modification multi-round review.

  2. Use normal mode for autonomous closed-loop fixing, verification, and convergence.

After the above steps, you can first complete the review and convergence judgment in read-only mode, and then switch to normal mode to execute fixing, verification, and convergence.

Suitable Scenarios and Notes

Suitable for the following scenarios:

  • Need to do code review loops in DSH, not just single-round Q&A
  • Need to read-only review first, then decide whether to auto-fix
  • Need repeated review until convergence, parallel dimension review, deterministic aggregation / dedupe / sort
  • Need long iteration breakpoint resume, historical audit, and runtime cleanup
  • Need DSH plugin form of triage panel, convergence dashboard, stats card, theme skin, etc. UI components

Notes:

  • dry-run mode is read-only with zero file modification; normal mode will execute fixes and modify files.
  • The plugin runs with the permissions of the current DSH process; check source code and license before installing.
  • License is MIT.
  • GitHub repository: https://github.com/jingzhao-l/iterate-plugin.
  • This article does not mention star count, categories, directory URLs, DSH minimum version, or system requirements, as they are not explicitly provided in the current documentation.

Conclusion

The value of iterate-plugin lies in turning iterate’s review / fix loop into a DSH plugin: dry-run handles read-only review, normal handles closed-loop fixing, verification, and convergence, while the tool layer and UI layer jointly support review, triage, fixing, rollback, breakpoint resume, and cleanup.

Repository address: https://github.com/jingzhao-l/iterate-plugin. If you need to use it in the DSH community directory, you can search for iterate-plugin in the directory; the specific directory page depends on the entry provided by your current DSH environment.