<div align="center">

# DSH File Review

**无需离开 DeepSeek Harness Web，即可立即审查 Agent 刚刚修改的每个文件。**

[![Adapted DSH CLI version](https://img.shields.io/badge/DSH_CLI-0.2.1--rc.5-4f46e5?style=flat-square)](package.json)
![Web profile](https://img.shields.io/badge/profile-Web-0ea5e9?style=flat-square)
[![npm version](https://img.shields.io/npm/v/dsh-file-review?style=flat-square&logo=npm)](https://www.npmjs.com/package/dsh-file-review)
[![npm downloads](https://img.shields.io/npm/dm/dsh-file-review?style=flat-square&logo=npm)](https://www.npmjs.com/package/dsh-file-review)
[![GitHub repository](https://img.shields.io/badge/GitHub-Repository-181717?style=flat-square&logo=github)](https://github.com/left0ver/dsh-file-review)
[![MIT License](https://img.shields.io/badge/license-MIT-22c55e?style=flat-square)](LICENSE)
[![dsh.so install](https://www.dsh.so/badge/install/dsh-file-review.svg)](https://www.dsh.so/artifact/dsh-file-review/)

[English](README.md) · 简体中文

</div>

## 怎么用

<p align="center">
  <strong>💬 Chat &nbsp;→&nbsp; ✨ Generate &nbsp;→&nbsp; 📄 Click a changed file &nbsp;→&nbsp; 🔍 Review</strong>
</p>

## 效果预览

![preview](./assets/preview.png)

## 功能

1. 本插件支持标准模式、PTC模式、创造模式、**暂时不支持极简模式**。
2. 可以通过`Diff`面板审查 Agent 刚刚修改的每个文件。
3. 支持撤销操作，目前支持对编辑文件、新增文件等操作进行撤销。**暂不支持对删除的文件进行撤销操作。**
   > 因为目前dsh暂时没有提供删除文件的相关tool，因此本插件暂时不支持对删除的文件进行撤销操作。后续若dsh提供了删除文件的tool，本插件会进一步地支持。
4. 可对变更行添加评论，并让 Agent 根据评论内容继续修改，或者对该变更进行询问。
5. 审查时支持长文本自动换行，可在“设置 → 插件 → 插件配置 → 文件审查”中开启，默认关闭。
6. 多语言支持，包括中文和英文。

## 兼容性声明

顶部徽章是本版本实际测试过的 DSH CLI 版本。插件同时兼容该 DSH 版本的其他预发布版和正式版（例如所有 `0.2.1-rc.x` 以及 `0.2.1`），准确范围见 [package.json](package.json) 中的 `engines.dsh`；DSH 0.2.1 起以它为准，不再看 `peerDependencies`（两者范围相同）。

超出该范围时，DSH 会拒绝加载插件。如果仍想使用（风险自负），可以为对应的精确版本授予豁免：

```bash
dsh plugin --profile web allow-version dsh-file-review@<plugin-version> --dsh-version <dsh-version> --accept-risk
```

## 快速开始

### 0. 将dsh-file-review添加到pnpm冷静期白名单

找到`~/.dsh/profiles/web/pnpm-workspace.yaml`,加上

```yaml
minimumReleaseAgeExclude:
  - dsh-file-review
```

这是因为较新版的`pnpm`有冷静期，默认情况下，新发布的包得过了冷静期之后才会被安装。因此要安装最新版本，需要将`dsh-file-review`加入到名单中。

### 1. 安装本插件

```sh
dsh plugin --profile web add dsh-file-review
```

### 2. 启动 DSH Web

```sh
dsh web
```

### 3. 享受它

## 从源码安装

```sh
git clone https://github.com/left0ver/dsh-file-review.git
cd dsh-file-review
pnpm install
pnpm run build
dsh plugin --profile web add ${PWD}
```

## 从GitHub仓库进行安装

```sh
dsh plugin --profile web add github:left0ver/dsh-file-review
```

## 更新插件

```sh
dsh plugin --profile web update dsh-file-review
```

## 卸载插件

```sh
dsh plugin --profile web remove dsh-file-review
```

## 路线图

- [ ] 支持对删除的文件进行撤销操作。

## 友情链接

[LINUX DO](https://linux.do/) — 新的理想型社区

## 许可证

[MIT](LICENSE)
