@michengai/dsh-simplify

devtested: passnpmApache-2.0

Adds a /simplify command that asks the agent to simplify code within a selected Git change scope, including staged changes, commits, and untracked files.

下载量 / Downloads
15,147
依赖体积 / node_modules
11.51 MB
测试时间 / Tested
2026-11-06

Install

dsh plugin --profile web add @michengai/dsh-simplify

Sandbox test results

StageResult
1 install✓
2 list✓
3 mount—
4 boot—

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

<p align="center">

<img src="assets/branding/dsh-simplify-banner.png" alt="DSH Simplify" width="100%">

</p>

<div align="center">

DSH Simplify

在 DeepSeek Harness 中简化最近改动的代码,保持原有功能。

[English](README.md) · [安装](#安装) · [使用](#使用) · [故障排查](#故障排查) · [更新日志](CHANGELOG.zh-CN.md) · [Apache-2.0](LICENSE)

![许可证:Apache-2.0](LICENSE)

![npm package](https://www.npmjs.com/package/@michengai/dsh-simplify)

![DSH Web Plugin](https://github.com/deepseek-ai/deepseek-harness)

![DSH 支持至 0.2.2-rc.1](#安装)

![Node.js 22.19+](https://nodejs.org/)

</div>

DSH Simplify 是社区维护的 DeepSeek Harness 插件,并非 DeepSeek AI 官方产品。在当前会话中输入 /simplify,即可请 Agent 整理 Git 改动范围内的代码,改善可读性并保持原有功能。支持 DSH Web 及集成 DSH Web 的桌面应用。

命令文案及提示词使用简体中文。

功能概览

写完一轮代码后,用 /simplify 请当前 Agent 整理刚改过的部分,改善可读性并保持原有功能。

  • 聚焦本次改动:按 Git 变更范围整理代码,避免把需求扩大到无关文件。
  • 覆盖新增文件:新文件可以整份审查,也支持尚无首次提交的仓库。
  • 选择适合的范围:默认检查工作区改动,也可仅检查暂存区、指定提交或路径。
  • 提交后也能回看:默认模式在工作区没有改动时,可回看最近一次提交。
  • 范围不可靠时停止:遇到冲突、文件变化或读取失败时返回原因,便于修正后重试。

命令提交的是简化任务;是否完成修改和验证,应以 Agent 后续回复和实际差异为准。

DSH 产品生态

想使用桌面工作台,可下载 DSH Codex Desktop;已有 DeepSeek Harness 环境,可按各项目 README 按需安装。以下列出 11 个自研插件;桌面端实际随附范围以对应版本的发行说明和内置清单为准。

插件 · 你可以用它做什么

Codex UI · 整理项目与会话、搜索任务、跳转对话轮次

Agency Agents · 按任务选择并召唤专业角色

Skills Manager · 统一查找、启停、创建和导入本机技能

Archive Manager · 搜索、恢复或清理已归档会话

IM Connect · 从消息平台下任务、收回复

Automation · 按计划执行任务,查看每次运行的结果

BTW · 在当前上下文中临时旁问,不打断主任务

Simplify · 用 /simplify 整理 Git 改动范围内的代码

PUA · 引导 Agent 在失败时换方法、查原因,并在完成前验证结果

Code Review · 用 /review 发起独立 Agent 代码审查,在当前会话接收报告

Codex Pet · 通过桌面宠物查看会话提醒、处理工具审批和问题回答

前置条件

  • 宿主支持范围:DeepSeek Harness 0.2.x 全系列(>=0.2.0-rc.1 <0.3.0-0),已验证兼容 0.2.0-rc.1、0.2.0-rc.2、0.2.1-rc.1~0.2.1-rc.5、0.2.2-rc.1,并自动支持后续全部 0.2.x RC 版本,同代宿主升级无需重复等待发版。
  • 0.2.0-rc.1 之前的早期宿主会被版本门拒绝,0.3.0 代际破坏性更新由版本门拦截。仍在使用 0.1.x 的用户请安装插件 0.1.16。
  • Node.js >= 22.19,PATH 中可执行 Git。
  • 当前会话关联本地 Git 项目。

安装

以下命令使用 web profile,请按实际环境替换。安装前停用其他注册 /simplify 的插件。可在 DeepSeek Harness 0.2.x 全系列(>=0.2.0-rc.1 <0.3.0-0)上运行。

让 Agent 帮你安装(推荐)

把下面这段话发给任意能够执行本机终端命令的 Agent。将 web 替换为实际使用的 profile;安装完成后,在 DSH 中使用本插件。

请将 DSH 插件 @michengai/dsh-simplify 安装到本机 web profile,执行:dsh plugin --profile web add @michengai/dsh-simplify@1.0.1 --registry=https://registry.npmjs.org/。安装后执行 dsh --profile web --dump-config,确认配置包含 michengai-simplify,并告诉我如何重新加载 DSH 和开始使用。

手动从 npm 安装

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8

dsh plugin --profile web add @michengai/dsh-simplify@1.0.1 --registry=https://registry.npmjs.org/

<details>

<summary>从本地安装包安装</summary>

从 GitHub Release 下载已发布的 tgz,然后在安装包所在目录执行:

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8

dsh plugin --profile web add .\michengai-dsh-simplify-1.0.1.tgz --ignore-scripts

</details>

重新加载与确认

请在当前任务结束后安装或更新,桌面应用可能自动重载。若未生效,使用桌面应用的重新加载功能,或重启 dsh web;仅刷新浏览器不够。

执行 dsh --profile web --dump-config,确认包含 michengai-simplify。分享完整配置前先检查其中是否包含敏感设置。然后在 Git 项目会话中输入 /simplify。

使用

写完一轮代码后,在当前 Git 项目会话中输入:

/simplify

等待 Agent 完成修改与验证,再检查实际 diff。需要缩小范围时,可使用以下参数。

选择审查范围

输入 · 范围

/simplify · HEAD 到当前工作区的净改动,包含未跟踪新增文件;确实没有改动时回看最近一次提交

/simplify --staged · 仅暂存区;所选暂存文件另有未暂存改动时拒绝执行

/simplify --ref=main · 指定提交到当前工作区的差异,包含未跟踪文件;不回退其他提交

/simplify --ref HEAD · 显式 HEAD 范围,不启动上一提交回看

/simplify src/a.ts "src/中文 文件.ts" · 仅指定文件的改动;未跟踪文件按整文件处理

/simplify src · 展开目录中的变更文件

/simplify -- --special.ts · 选项终止符后可使用以连字符开头的路径

  • 路径相对当前会话目录,支持仓库内绝对路径;提示词统一使用仓库根目录相对路径。
  • 支持单双引号组合带空格路径,反斜杠按路径字符保留;不执行 Shell 展开、通配符或命令替换。
  • --ref 支持分支、标签和单个提交表达式,不支持 a..b / a...b;不能与 --staged 混用。
  • 没有首次提交时,所选范围内的文件视为新增文件,允许整文件整理:默认包含暂存与未跟踪文件,--staged 仅包含暂存文件。可指定文件或目录缩小范围,文件数量和大小限制仍然生效。只有一个提交且工作区干净时直接返回无变更。
  • 上一提交回看相对于 HEAD 第一父提交;merge commit 不做多父合并审查。

命令结果

返回结果 · 含义

已提交 N 个文件的简化审查 · 审查任务已入队,不代表 Agent 已完成编辑或测试。

没有可简化的当前代码行 · 没有可操作的当前行,不发起模型请求;结果可能附带跳过明细。

错误信息 · 无法可靠建立审查范围,不发起模型请求;修正所报问题后再试。

故障排查

回车后输入框清空,但没有回答。 空审查不会启动 Agent。已收到的用户反馈中,后端返回成功,但两份 CHANGELOG 被判定没有可简化的当前行而跳过;部分宿主界面未明显展示这类命令结果,反馈可见性仍待排查。后端成功不等于界面已经显示结果。

当前目录不是 Git 仓库。 在正确的 Git 项目会话中执行,或自行初始化项目仓库。插件不会自动初始化仓库、暂存或提交。

暂存文件还有未暂存改动。 先自行保存或处理这些改动,再运行 --staged;也可用默认 /simplify 审查当前工作区的净改动。插件不会自动重置或 stash。

安装器提示 peer 依赖缺失。 官方包可能由 DSH 宿主运行时提供。应核实实际模块解析版本和后端加载结果,不要直接向 profile 重复安装宿主包;版本仍需满足 package.json。

超时、输出超限或快照过期。 使用具体文件或目录缩小范围,并在并发编辑结束后重试。

执行边界

插件只执行 Git 只读查询和读取本地文件,不自动 git add、提交、重置或存储工作区。Git 参数通过 DSH subprocess 的 argv 传递,不依赖 PowerShell/Bash 引用规则。

修改范围是提示词约束,不是文件写入权限隔离。 Agent 按宿主工具和用户授权执行修改及测试;本插件没有拦截其他工具的写入,也不能保证排队后文件不再变化。不要把“已提交审查”理解成“已完成简化”。

实现针对本地文件系统与本地 subprocess 同一工作区,未验证远程 subprocess 或远程文件系统组合。

<details>

<summary>查看 Git 范围收集、快照校验与资源限制</summary>

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::24,最后更新 2026-11-05

Links

GitHub · Homepage · npm

Same category