DeepSHPlugins
dsh-review-loop 專案預覽
GITHUB / COMMUNITY PROJECT

dsh-review-loop

工具與整合TypeScriptMIT

增量程式碼審查外掛:批准一批改動後只審查檢查點之後的新改動,提供 Web 審查面板與 `/review` 命令,並把審查意見注入回 agent。

2 Starswuxiangru915 更新時間 2026-08-21
訪問 GitHub 倉庫
dsh-review-loop 專案預覽
dsh-review-loop 介面截圖dsh-review-loop 介面截圖

專案介紹

中文

增量程式碼審查外掛:批准一批改動後只審查檢查點之後的新改動,提供 Web 審查面板與 `/review` 命令,並把審查意見注入回 agent。

English

Incremental diff reviewer for DSH: after approving a batch, only new changes since the checkpoint are shown, with a Web review panel and `/review` command that inject feedback back to the agent.

專案資訊與收錄訊號

快照 2026-09-11
作者 / 組織
wuxiangru915
倉庫
wuxiangru915/dsh-review-loop
GitHub Stars
2
Forks
0
開發語言
TypeScript
許可證
MIT
最近推送
2026-08-21
Manifest
資料中檢測到宣告

公開倉庫不自動等於可商用;許可證與當前相容性以原專案文件為準。Manifest 和資料評分不構成安裝安全認證。

資料評分

59/ 100
維護活躍
86
文件與實用資訊
100
生態關注度
14
安裝便捷訊號
100
專案宣告訊號
100

近 21 天仍在更新;README 含完整安裝與使用說明;關注度尚低(2)。

評分來自已有資料快照的五維模型,僅作瀏覽參考,不是實際使用評測或安全檢測結論。

安裝與使用

所有專案資料與許可均以對應 GitHub 倉庫為準。

dsh plugin --profile web add github:wuxiangru915/dsh-review-loop

複製命令不會自動執行。請先閱讀倉庫文件,確認環境要求與許可證。

專案截圖

倉庫 README

GitHub 原文

已儲存的倉庫文件快照;文件抓取時間未記錄,可能與上方目錄介紹處於不同版本。安裝前請核對當前倉庫說明。

儲存庫檔案保留原文,指令與授權文字不作自動改寫。

dsh-review-loop

Incremental diff reviewer for DeepSeek Harness.

中文 · MIT License

dsh-review-loop turns code review of agent work into an incremental, closed-loop process: after you approve a batch of changes, a checkpoint is recorded and the next review shows only the changes made afterward — never a re-review of what you already saw. Review feedback is injected back to the agent through the harness's normal message channel, without interrupting its work.

What it solves

An agent task commonly touches a dozen or more files. Reviewing the full diff every time is slow, and re-reviewing unchanged work wastes attention. This plugin makes review follow the agent's progress:

agent works (modifies files)
  -> open the review panel: only changes since the last review checkpoint
  -> inspect each file's diff, add feedback
  -> approve: a new checkpoint is recorded, feedback is injected to the agent
  -> the agent responds and keeps working; new changes become the next batch

Features

  • Incremental review (since-review): approving snapshots the working tree into a checkpoint; the next review diffs checkpoint -> current, so reviewed files disappear from the queue unless they change again.
  • Two entry points: a Web UI review panel docked above the conversation composer (2s polling), and a /review command for keyboard-first use. The same core logic backs both.
  • Feedback closed loop: approvals may carry a comment, delivered to the agent as a user message via agent.inject().
  • No tool-call parsing: any on-disk change — by the agent, by you, or by another process — is reflected; the plugin reads git, not the agent loop.
  • Checkpoint persistence: $DSH_HOME/review-loop/<workspace-hash>.json, written atomically, never polluting the workspace's own git status.
  • Zero core modifications: a pure bundle plugin (dsh.bundle patch layer); the agent-loop skeleton is untouched.

Installation

# one line, from a git source
dsh plugin --profile web add github:wuxiangru915/dsh-review-loop

# restart the web server, then hard-refresh the page

Local development:

# Development requires a sibling checkout of the DeepSeek Harness source
# repository at ../deepseek-harness: the @deepseek-ai/dsh-* packages are not
# fully published to npm (dsh-type-meta is missing), so devDependencies link
# to the workspace instead. Adjust the link paths in package.json if your
# checkout lives elsewhere.
pnpm install && pnpm build
dsh plugin --profile web add /path/to/dsh-review-loop

The repository ships prebuilt lib/ artifacts, so git-source installs work without a build step on the user's machine.

Usage

Web UI

Review panel (English)

In any session whose workspace is a git repository, a review panel appears above the composer:

  • A status line — N file(s) to review — with an Open review button.
  • The expanded panel lists the pending files with toggleable, colorized diffs (added lines use the success token, removed lines the error token; the sign is always visible).
  • An optional feedback input and an Approve & checkpoint button.
  • After approval the panel shows the reviewed state; later edits re-surface the file.

Command line

CommandBehavior
/reviewIncremental: changes since the last checkpoint (or the full change set vs HEAD when none exists)
/review allThe complete working-tree change set vs HEAD, ignoring the checkpoint
/review approveRecord a checkpoint
/review approve <comment>Record a checkpoint and inject the comment into the agent

Architecture

src/
├── review.ts      Pure core (collectState / approve / renderState) — shared by command and HTTP paths
├── git.ts         git helpers (status / diff / hash-object; zero-dependency spawnSync)
├── checkpoint.ts  checkpoint persistence ($DSH_HOME/review-loop/<ws-hash>.json, atomic write)
├── http.ts        Web routes: GET /plugins/dsh-review-loop/state · POST /plugins/dsh-review-loop/approve
└── client/
    └── review-panel.tsx  Browser panel (conversation.input.dock slot, polling refresh)
command: /review ------> renderState() ----+
                                           +--> src/review.ts (pure, shared)
web UI:  GET /state ----> collectState() --+
         POST /approve --> approve() + agent.inject()

The client bundle is a CJS __ModuleLoader__ artifact served at /plugins/@dsh-plugin/dsh-review-loop/client.js; routes and command share one checkpoint store, so approving from the UI advances the same queue the /review command reads.

Incremental algorithm

for each working-tree change vs HEAD:
  compare its content hash with the checkpoint's recorded hash
    same  -> reviewed (hidden)
    changed / new / HEAD moved -> pending (the incremental queue)
approve re-snapshots the tree -> the checkpoint advances

Testing

pnpm test       # 7 integration tests: real cordis + real git repositories
pnpm typecheck
pnpm build      # dual-half build: host ESM + client bundle

Roadmap

  • [x] /review command (incremental diff / approve / feedback injection)
  • [x] Web UI review panel (file list + diff + approve)
  • [x] Checkpoint persistence (incremental queue)
  • [ ] Line-level comments (diff parser)
  • [ ] Session-branch coupling (checkpoint follows session branches)
  • [ ] npm publish (@dsh-plugin/dsh-review-loop)

Requirements

  • DeepSeek Harness >= 0.1.0-rc.5 (Cordis 4.x)
  • A git repository (hard prerequisite)
  • Node.js >= 22

License

MIT

使用前核對

安裝步驟、相容版本與授權範圍以原專案當前文件為準。Stars 和評分是快照中的導航訊號。

安裝與排錯 · 專案問題反饋

同類專案