Skip to content
dsh.fish
Bundle

dsh-plugin-dedup

Review duplicate dynamic Cordis plugins and produce merge plans for DeepSeek Harness (DSH). Detects content-similar packages (token Jaccard/containment), clusters duplicates, and yields safe merge plans or superset final sources. Entirely AI-generated.

Source
lordship12138-crypto
stars
1 stars
License
MIT
Updated
Updated 6 days ago

Readme

# dsh-plugin-dedup

> ## ⚠️ AI 生成声明(AI-Generated Disclosure)
>
> **本仓库全部内容均由 AI(DeepSeek)生成**——包括全部代码、文档、技能、配置与提交信息。
> 仓库所有者**仅提供思路与发布**,未手写任何实现细节;所有者对生成内容保留仓库所声明的许可权利。
> 使用前请自行审阅:本插件注册模型工具与技能,代码未经人工逐行审查。

DeepSeek Harness(DSH)repository 插件:审查动态 Cordis 插件是否**重复生成(内容相似)**,并产出**合并方案**。

## 功能

注册一个模型工具 **`plugin_dedup_review`** 和一个同名用途的运行时技能 `plugin-dedup-review`:

- **`action=review`**:对每对插件包计算归一化源码的 **token Jaccard / 包含度**(剔除 JS 关键字与噪声 token)+ 名称/用途文本相似度,判定四档:
  - `duplicate` —— 跨插件内容重复(Jaccard ≥0.5,或包含度 ≥0.9,或元相似 ≥0.6 且 Jaccard ≥0.3);
  - `overlapping` —— 部分重叠(Jaccard ≥0.25 或元相似 ≥0.5);
  - `version-duplicate` —— 同一插件内的旧版本(历史版本,**永不建议删除**);
  - `distinct` —— 无关。
  并把 `duplicate` 对聚成集群(union-find)。
- **`action=merge-plan`**:对指定集群给出:
  - `inject` 并集、跨成员共享代码行、各成员独有段(合并素材);
  - `droppedAudit`:被丢弃成员**未被覆盖的 token** 清单,合并前核对不丢功能;
  - **安全超集合并**:保留包 token 覆盖其余成员 ≥90% 时,直接返回 `finalMergedSource`(最终合并源码);
  - `steps`:可执行的 cordis 操作序列(`cordis_define` / `cordis_run` / `cordis_stop` / `cordis_undefine`)。
- 可选 `write_report: true` 把完整报告落盘到 workspace 的 `.plugin-dedup-report.json`。

## 安装

```sh
dsh plugin --profile web add github:<owner>/dsh-plugin-dedup
```

纯 ESM JavaScript,零构建、无 `prepare` 脚本,安装即用。若 pnpm 提示 `allowBuilds`,本插件不需要构建许可(无构建脚本)。

## 使用

1. `cordis_inspect_self` 列出插件,再逐包取源码;
2. 组装描述符数组传给 `plugin_dedup_review`,`action=review`;
3. 有重复集群时,同一输入 `action=merge-plan` + `cluster=<索引>`;
4. 按 `mergePlan.steps` 执行合并。

完整口径见 [SKILL.md](./SKILL.md)(与运行时技能内容一致)。

## 边界(设计决策)

- 工具**无状态**:merge-plan 需要重新传入同一组描述符;
- 工具**不能自行枚举插件**:DSH 未向插件暴露动态插件注册表服务,描述符必须由 `cordis_inspect_self` 采集;
- 同插件旧包不可单独删除(`cordis_undefine` 作用于整个插件),因此旧版本只标记不合并。

## 目录

```
index.js          插件主体:注册工具 + 技能
skill.js          运行时技能注册内容(与 SKILL.md 一致)
cordis.patch.yml  bundle patch(mount 行)
SKILL.md          使用文档
AGENTS.md         面向 agent 的仓库说明
```

## 许可

MIT(见 [LICENSE](./LICENSE))。代码为 AI 生成,所有者按本声明保留权利。

Install

dsh plugin --profile web add github:lordship12138-crypto/dsh-plugin-dedup

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source