🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

回归感知 Lint 修复 lemonxiny55/dsh-lint-loop

DeepSeek Harnessv0.7.0
lemonxiny5510 天前有提交已提供中文文档扫描:含敏感能力

零配置 lint 反馈回路(eslint / biome / ruff),面向 DeepSeek Harness——lint_diagnostics / lint_workspace_errors / lint_fix 工具…

36.2/100
综合分
3
GitHub 星标
361
npm 周下载
—/5
用户评分

数据截至 2026/10/22 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-lint-loop
npm 源 · dsh-lint-loop 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · dev
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 10 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-lint-loop @ 0.7.0
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/28 02:52:21

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 25 处,展示前 10 条)
  • 读取本地文件
    dist/index.js:191
    await access(file);
  • 读取本地文件
    dist/index.js:200
    content = await readFile(pyproject, "utf8");
  • 读取本地文件
    dist/index.js:409
    await stat(path3.join(dir, ".git"));
  • 读取本地文件
    dist/index.js:721
    entry = readFile2(absFile).then((buf) => new LineIndex(buf)).catch(() => null);
  • 读取本地文件
    dist/index.js:906
    await access2(fromBase);
  • 执行外部命令来自配置/变量
    dist/index.js:950
    const child = spawn(shell ? shellCommand : command, shell ? [] : args, {
  • 执行外部命令来自配置/变量
    dist/index.js:983
    const killer = spawn(
  • 读取本地文件
    dist/index.js:1191
    const content = await readFile3(file, "utf8").catch(() => void 0);
  • 写入本地文件
    dist/index.js:1261
    await writeFile(file, original, "utf8");
  • 写入本地文件
    dist/index.js:1280
    await writeFile(file, original, "utf8");
扫描于 2026/10/21(11 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

1 张 · 点击查看大图

功能亮点

  • 零配置lint反馈回路
  • 编辑后自动注入问题清单
v0.7.02026-10-21
dsh-lint-loop v0.7.0 — 证据完整性:修好智能体弄坏的东西,忽略本来就坏的,并证明改动是干净的。0.7.0 版为 DeepSeek Harness 的变更感知质量循环加上证据完整性:在 DSH 工具执行前后检查可观察的文件系统影响,把历史失败与本次工作引入的回归分开。 · 新增内容 · 证据完整性 · 在 DSH 工具分发前后,以及成功、失败或取消之后,采集有界、只读的内容检查点。 · 检测直接文件工具、shell 命令或脚本造成的可观察文件内容变化、新增、删除和重命名。覆盖范围包括测试套件与宿主验证中的 shell、bash 和 pwsh 场景。 · 按规范化的前后内容验证直接文件操作,并区分已知工具目标与来源不确定的变化。 · 在质量回执中记录证据范围、内容标识、排除项、预算和不确定性。 · 证据缺失、过期、不稳定、不透明、超出预算或不足以确定来源时,返回 incomplete。命令成功并不证明所有文件系统影响都已弄清,单凭它不能得出干净结论。 证据完整性不证明每项变化由谁写入,不观察瞬态的写入后还原活动,不覆盖被排除的路径和环境状态,也不约束任意后台脚本。配置的证据无法确定结果时,回执写 incomplete,而不是声称 CLEAN。 · 更快的检查点扫描 有界检查点读取上限从四提高到八。在 Windows / Node 24.19 上、1000 文件夹具的基准中,连续编辑检查点的中位时间从 394.46 ms 降到 311.22 ms(约低 21.1%)。对比在预热后取 20 个测量样本,质量回执检查完整,回执语义一致。 这是 v0.7 证据完整性实现内部两个读取上限的对比,不是相对 v0.6 的提速声明,v0.6 的扫描不够完整,没有清点并哈希全部源文件。八读取上限让扫描保持有界;实验中十六读取更快,但占用明显更多批处理堆内存。 · DSH 工作目录兼容性 修复新版 DSH 宿主在 cd 后的工作目录解析,改为通过公开上下文 API 读取当前的可选服务。旧版宿主仍走不可变头回退。现有配置、公开 API、对等策略、回归感知检查和有界安全 lint 修复保持兼容。 · 验证 · Windows/Linux × Node 22/24 的 CI 矩阵四个任务全部通过。每个任务通过 197 项测试、类型检查、构建、兼容性冒烟、已发布 DSH API 检查,以及真实 AgentLoop 集成演示。见 CI 运行。 · 最终八读取候选包在 Windows 上安装到隔离的 DSH Web 与官方 DSH Desktop 配置档中运行。两者都使用真实 DSH 生命周期、文件工具和检查进程,各自得到 regression → regression → clean → clean,并保留同样的三项历史失败。 · Web/Desktop 验收归档是 0.7.0-rc.0,不是已发布的 npm 0.7.0 tarball。验收候选包与稳定 npm 包携带相同的八读取运行时 bundle SHA-256:96d57d4c3f4cb053c41aac9fd7d9f657cbaf27466922792a38e18142ec837d5e。验收中的模型输入是确定性脚本适配器,不对真实模型的质量作任何声明。 · 在两台 Windows 宿主上,pwsh 的成功、失败和写入后取消用例都保留了观察到的文件影响,把变化标为来源不明,并返回 incomplete。退出码为零并不意味着 CLEAN。真实 bash 的成功/失败/取消和文件变化断言也由 Linux CI 宿主测试覆盖。 见详细发布验证记录与证据完整性架构和限制。 · 安装 把已发布的包安装到 DSH 配置档: dsh plugin --profile web add dsh-lint-loop@0.7.0 把 web 换成你用的配置档。稳定包在 npm 上以 dsh-lint-loop@0.7.0 发布。 · 链接 · GitHub 仓库 · PR #7 — DSH 工作目录兼容性 · PR #8 — 证据完整性 · 证据完整性架构 · v0.7.0 发布验证 · Windows/Linux × Node 22/24 CI 运行 · npm v0.7.0 --- · 中文更新摘要 dsh-lint-loop v0.7.0:证据完整性升级 · 在 DSH 工具调用前后执行有界、只读的内容检查点,追踪 shell、bash、pwsh 和文件工具可观察到的内容变化、新增、删除与重命名。 · 直接文件操作按规范化的前后内容验证;无法确定来源的变化标为来源不明。证据缺失、过期、不稳定或超出预算时返回 incomplete,不会仅凭命令成功就宣称
v0.6.02026-10-08
· v0.6.0 — 质量闭环 修好智能体弄坏的东西,放过本来就坏的东西,再证明这次改动是干净的。 回归感知的 lint 循环现在会拿改动完成后的结果,对照智能体首次编辑前抓取的证据做检查。历史遗留的 lint、类型和测试失败照常显示,但不会挡住无关任务。 · 两种速度:编辑后快速给出 lint 反馈并安全修复,随后做有边界的完成检查,覆盖 lint 增量、TypeScript 诊断和受影响的测试。 · 改动感知测试:通过反向依赖和包范围挑出受影响的 Vitest/Jest 测试;关系不确定时扩大支持的测试套件,证据缺失则明确标为不完整。 · 质量回执:实际执行的命令、跑过的测试、忽略的旧账、新增回归、自动/智能体修复、预算、耗时和最终结论。 · 简单预设:默认 balanced,只做 lint 用 fast,仓库包测试套件用 strict,高级覆盖项保留。 原有 eslint/biome/ruff 行为、配置和 Node 22/24 支持不变。0.5.1 修好的 DSH 0.1.x / 0.2.x 对等策略保持不变。生命周期处理覆盖取消和模型报错;Electron 托管的编译/测试工具在支持的 Node 模式下运行。修复保留历史旧账和文件范围。 本次发布在两条支持的 Node 线上都通过了 162 个测试,还通过了真实桌面回归/修复与自动闸门验收,以及从任务入口到展开已保存回执的原生 GUI 冒烟。发布 PR 和合并后的 main CI 在 Node 22/24 上通过 Windows/Linux;两次完整运行的链接见下。 UI 边界:结构化回执可通过普通 DSH 工具结果和原生事件详情查看器获取。独立的 Quality Bar 暂缓,因为经审计的客户端不消费 Host 展示描述符。没有把任何客户端注入或原型图当作已实现的 UI 呈现。 静态依赖选择偏保守。Shell/自定义编辑、删除、不稳定测试、自定义/链式运行器、node:test 和 TypeScript 引用构建仍属已记录的局限。本次发布不包含 LLM 评审、需求、安全/覆盖率平台、CI 替代或强制配套插件。 dsh plugin --profile web add dsh-lint-loop@0.6.0 完整验证 · 原生桌面 GUI 冒烟 · 正式发布验证 · 发布 PR #6 在四个 PR CI 任务全部通过后合并。 · 合并后的 main CI 在 Windows/Linux × Node 22/24 上通过:冻结安装、类型检查、162 个测试、构建和兼容性冒烟。 · 本地全新验证还通过了 DSH 0.1/0.2 运行时冒烟和隔离的 0.2 声明检查。 · 精确的七文件 npm tarball 装进隔离目录,通过了 DSH 0.2 加载/卸载/重挂载检查。 · 原有的析取式 DSH 对等范围和根 lockfile 保持不变。 从 npm 安装 · 可复现桌面演示 / 可复现实测演示 演示仓库 · 中文步骤 · 原始质量回执。 真实 DSH Desktop 结果:保留 17 个历史 lint 问题,安全自动修复 2 个新增回归,受影响测试 12/12,lint/类型/测试均 clean。初始基线 15/15;修复后整个源码逐字节一致。 30 秒 GIF 展示的是原生查看器里实际保存的 DSH 工具结果,不是连续实时录像。原始截图、MP4、真实终端验证录像和脚本 · 运行来源与局限。所有检查都在模型限流打断文字总结前完成;续写只有文字。测试夹具只引入 lint 问题。不暗示有新插件版本或独立 Quality Bar。 桌面实测保留 17 个旧 lint 问题,安全修复 2 个新增回归,受影响测试 12/12,三项检查均 clean;首次基线为 15/15,整个源码修复前后逐字节一致。GIF 是真实工具记录导览,不是连续实时录像,原始帧、终端复验录屏与脚本见上方链接。编辑与检查已在限流前完成,下一轮只补文字总结;本例只引入 lint 问题。已发布的软件包不变,独立 Quality Bar 未上线。
v0.5.12026-10-06
· DSH 0.2 兼容补丁 · 接纳 DSH 0.2 预发布版和稳定宿主版本线,同时保留此前支持的所有 0.1.x 版本。 · 使用 peer 范围 >=0.1.0-rc.1 =0.2.0-0 <0.3.0-0,排除未来的 0.3 版本线。 · 为 dsh-tools@0.1.7-rc.2 把开发/测试用的 Cordis 对齐到 ~4.0.4。 · 移除过时的 smoke 锁文件导入器,修正兼容性更新日志。 · 不改动功能逻辑。 · 致谢 感谢 @heptaspirit(David Wong)在 #3 中发现并修复 DSH 0.2 兼容性问题。你最初的提交 a2756f19ab49d3cc837b0d96fca8781db0883a84 和作者署名都保留在发布历史中。维护者的后续处理恢复了旧版兼容性并对齐 Cordis peer;集成 PR #4 保留了两方的贡献。 · 验证 · Node 22.23.3 和 24.19.0:冻结安装、类型检查、131 项测试、构建和 13 个 semver 边界全部通过。 · 发布前,官方主 CI 和发布 PR CI 的 Node 22/24 矩阵任务均通过。 · 检查过的 npm 包包含预期的七个文件。 安装:pnpm add dsh-lint-loop@0.5.1 npm 上的包
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-lint-loop — v0.7.0 Evidence Integrity DeepSeek Harness 的变更感知质量闭环。 Fix what the agent broke. Ignore what was already broken. Prove the change is clean. 修复 Agent 本轮引入的问题,忽略历史债务,并明确证明本轮变更验证了什么。 Quality Loop 在首次编辑前捕获基线,只让可归因的新增问题触发修复与续轮。编辑后给出快速 lint 增量;任务完成前验证类型和受影响测试,用 Quality Receipt 说明实际检查了什么。 v0.7.0 — Evidence Integrity。 完整参数见 English README。 新增有时间、条目数和字节预算的只读内容检查点,覆盖 shell/bash/pwsh、自定义脚本、新增、删除和跨目录重命名(保守表示为删除+新增)。保留 edit/write 的历史债务保护和有界安全修复。执行窗口中观察到变更,不等于证明由 Agent 写入;外部或归因不确定的变更纳入验证范围,但不自动修复,也不计为 Agent 的新增回归或修复成绩。
展开完整文档(README 剩余 1 节)
dsh-lint-loop — v0.7.0 Evidence Integrity

DeepSeek Harness 的变更感知质量闭环。

Fix what the agent broke. Ignore what was already broken. Prove the change is clean.

修复 Agent 本轮引入的问题,忽略历史债务,并明确证明本轮变更验证了什么。

Quality Loop 在首次编辑前捕获基线,只让可归因的新增问题触发修复与续轮。编辑后给出快速 lint 增量;任务完成前验证类型和受影响测试,用 Quality Receipt 说明实际检查了什么。

v0.7.0 — Evidence Integrity。 完整参数见 English README。

新增有时间、条目数和字节预算的只读内容检查点,覆盖 shell/bash/pwsh、自定义脚本、新增、删除和跨目录重命名(保守表示为删除+新增)。保留 edit/write 的历史债务保护和有界安全修复。执行窗口中观察到变更,不等于证明由 Agent 写入;外部或归因不确定的变更纳入验证范围,但不自动修复,也不计为 Agent 的新增回归或修复成绩。

Quality Receipt 新增 evidenceCoverage:记录范围、排除目录、SHA-256 内容标识、归因、实际结果、资源预算和缺口。DSH 文件工具的真实 before/after 与检查点比对; quality_receipt 会检查已保存回执是否过期。证据缺失、不完整或过期时不会返回 CLEAN。

安装已发布版本:

dsh plugin --profile web add dsh-lint-loop@0.7.0

架构与实验 · 验证记录 · v0.7.0 正式 Release · npm v0.7.0 · 真实 DSH 生命周期演示。

以下为上一版本 v0.6.0 的安装方式与历史演示:

dsh plugin --profile web add dsh-lint-loop@0.6.0

把 web 替换为实际 profile。桌面端可让 plugin_manager 安装并启用已发布 bundle。独立 Demo 与复现步骤。

- 只处理新增回归:旧 lint、类型错误和失败测试继续记录,不要求顺带清理。
- 两条通道:编辑后快速 lint 反馈与安全修复,完成前有界验证 lint 增量、类型和受影响测试。
- 可核对的证明:回执列出实际命令、执行用例、修复、历史债务,以及无法验证的部分。

真实 DSH 工具结果导览

桌面实测:保留 17 个旧 lint 问题,安全修复 2 个新增回归,受影响测试 12/12,lint / 类型 / 测试均为 clean。 首次基线跑了 15/15;源码修复前后逐字节一致。原始回执与运行来源。

30 秒 GIF 是真实已保存工具结果的原生窗口导览,并非连续实时录像。MP4、原始帧与录制脚本。展示的是普通 Receipt 详情,独立 Quality Bar 尚未上线。

使用项目已安装的 linter、TypeScript 与测试工具;插件不捆绑这些依赖。

两条通道

- Fast Lane:现有编辑 → lint delta → 提示反馈;lint_repair 最多两轮,修复仅限本轮新增/改变的 lint 问题。
- Completion Lane:awaited agent/turn-stopping checkpoint 或 quality_verify,验证 lint delta、每个 Node package 的 typecheck 与 impacted tests。第一次编辑前进行一次有预算的类型/测试基线扫描,之后保留原始基线。最多两次强制继续,复验保留整轮文件集合。

历史错误被忽略不等于仓库没有错误。只有完整且可比的检查没有新增问题,才能得到 clean;无法证明的部分显示 incomplete,默认 gate 不会因证据缺失而要求清理历史代码。

Before / after

编辑前:旧 lint warning、旧 TS2322、旧 migration test 失败 Agent 修改 parser.ts:引入可修复 lint 错误、返回类型错误、parser test 失败

普通 wrapper:旧 lint + 新 lint 混在一起,lint 通过便可能交付 Quality Loop:安全修复新 lint → 检测新类型/测试失败 → 有上限地要求修复修复后:历史债务仍保留,Receipt 显示本轮 clean 和真实测试范围

模式

| 模式 | 完成验证 | 总扫描预算 |
| fast | lint;明确跳过类型/测试,完整质量 verdict 为 incomplete | 60s |
| balanced(默认) | lint delta、package typecheck、受影响测试与保守降级 | 60s |
| strict | lint delta、package typecheck、仓库 package 测试套件 | 120s |

- id: lint-loop
config:
mode: balanced

原有配置兼容;高级字段覆盖 preset。新增 completionChecks、qualityTimeoutMs、qualityMaxFiles(2000)、qualityMaxChecks(32)。Node 22/24 与现有 DSH 0.1/0.2 peer 范围保留。

Evidence Integrity 另有 trackingTimeoutMs(每次只读扫描 2000ms)、trackingMaxBytes(共享 32MiB)和 trackingMaxFileBytes(单文件 2MiB)。达到预算会明确标记证据不完整;不会缩小范围后宣称 CLEAN。

工具与 UI

新增 quality_verify(只读完整验证)和 quality_receipt(读取最后回执);保留 lint_status、lint_repair、lint_diagnostics、lint_workspace_errors、lint_fix。

quality_verify / quality_receipt 通过普通 DSH 工具结果展示结构化回执。纯 Host 展示适配保留 running / clean / regression / failed、文件数量和三个检查状态。桌面/Web Quality Bar 延后:已审计的 DSH 0.2 桌面客户端不消费 Host presentCall / presentResult,专用界面需要客户端集成。v0.6 不加入客户端 bundle 或 UI hack。自动 gate 保存结果,调用 quality_receipt 可读取。

UI 审计与后续截图说明 · 实际桌面回执

正常完成、模型报错或取消任务都会清理本轮基线和修复预算,取消未完成检查,保留最后一份回执。下一轮重新捕获基线,避免限流中断后混入上一轮记录。补分号不会把同一个类型错误重复计入修复数量。

Impacted tests 与安全

第一版支持本地 Vitest 与 Jest JSON reporter。跟踪传递的相对 import/re-export、.js → .ts 和直接修改的测试。不能证明测试关系时跑 package;动态依赖、workspace alias、配置/fixture/setup 或自定义发现规则变化时扩大到仓库 packages。预算不足仍显示 incomplete。node:test、自定义命令链、非 Node 框架和 TypeScript project-reference build 暂不自动证明。

Typecheck 用文件 + TS code + message 多重集比较,忽略行号漂移;测试用 suite + fullName + failure signature 比较,旧失败症状改变也算新 regression。Receipt 包含实际命令、执行测试、基线、债务、自动/Agent 修复、轮次与耗时。

eslint/biome/ruff 的文件修复跳过历史可修复债务,验证失败或产生新 lint 时回滚。自动 Go/Rust package/crate fixer 因可能修改邻居/manifest/lockfile 而跳过;诊断和显式独立 fixer API 保留。已有 baseline 的 lint_fix 也遵守 regression-only;无 baseline 的独立调用保持旧的显式清理用法。

边界与限制

仅归因成功 DSH edit/write 与兼容 fs-intent;shell/custom-tool 编辑、删除与并发外部修改不保证完整归因。Flaky tests 可能形成 regression;检查本身可能有副作用。没有 LLM review、需求管理、安全扫描、coverage/CI 平台,也不强依赖其他插件。

dsh-doublecheck 管交付纪律和需求;dsh-test-runner 管通用测试执行;dsh-review-loop 管人的增量 diff review;本插件证明 本轮 Agent 变更没有引入新的质量问题。

架构审计 · 候选版本验证记录

pnpm install --frozen-lockfile
pnpm typecheck
pnpm test
pnpm build

MIT License
预览分享卡片长什么样 ↓lemonxiny55/dsh-lint-loop
分享 · DeepSeek Harness Hub
lemonxiny55/dsh-lint-loop

零配置 lint 反馈回路(eslint / biome / ruff),面向 DeepSeek Harness——lint_diagnostics / lint_workspace_errors / lint_fix 工具…

回到顶部