
Rosynb666/dsh-whale-catch
dsh-whale-catch
dsh-whale-catch is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile desktop add github:Rosynb666/dsh-whale-catchRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-whale-catch)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from Rosynb666/dsh-whale-catch, cleaned of badges and images.
🐋 深海鱼篓 · dsh-whale-catch
不用登记。 这次会话里产出的文件,自己游进鱼篓。
English | 中文
给 DeepSeek Harness(DSH)的右侧栏插件:把一场会话里产出或改动的文件汇总到一个篮子里,预览、看差异、打包 zip、一键归档。
上图是用
lib/client.js里真实的面板组件 + 示例数据在无头 Chrome 里渲染的静态预览(外面那圈深色栏框是预览页加的),不是 DSH 实机截图;实际配色跟随你的主题。
它解决什么
在 DSH 里干活,"文件生成完就找不到了"几乎是日常:
- 内核的产出物卡片只在当前这一轮出现,往下翻几屏就散了;
- 我在
bash里跑python build_doc.py写出来的 docx / pdf,既不算"文件工具改动",也没调present,两套机制都不认; - 攒了十几个交付物想一次发给别人,只能回目录里翻,还要担心漏掉。
鱼篓只做三件事:自动收、一处看、一键打包/归档;改过的文件还能就地展开差异,不用回 git 里翻。
和内核产出物的区别
先说清楚,这不是重复造轮子——内核的 deliverables/presented 与 workspace/changes 我照单全收,只是它们各自覆盖不到的场景,鱼篓补上:
| 内核产出物卡片 | 鲸鱼鱼篓 | |
|---|---|---|
| 来源 | present 声明 + git / 文件工具改动 | 同样两条,再加目录扫描兜底(bash、python、构建脚本的产物) |
| 范围 | 单轮,轮末出现 | 整场会话,跨轮聚合 |
| 改动详情 | 轮末卡片里显示一次 | 行数徽章常驻,点开就地看 unified diff,还能按轮分组 |
| 能做什么 | 打开源文件 | 预览 / 看差异 / 打包 zip / 归档到指定目录 / 复制路径 / 复制 Markdown 清单 |
| Host 重启后 | 改动摘要活在内存里,重启即失 | 靠 mtime 重建(present 的描述会丢,见已知限制) |
| 要不要 agent 配合 | 要模型记得调 present | 不要,零登记 |
安装
要求:DSH >= 0.2.0-rc.2,Node ^22.19 || >=24(Desktop 自带运行时已满足)。
# 从 GitHub 安装
dsh plugin --profile desktop add github:Rosynb666/dsh-whale-catch
# 从 npm 安装
dsh plugin --profile desktop add dsh-whale-catch
# 本地开发:直接用目录
dsh plugin --profile desktop add /绝对路径/dsh-whale-catch
刷新页面(⌘R),右侧栏点 +,在引导页里选 「打开深海鱼篓」,或直接点侧栏里的鱼篓图标。
卸载:
dsh plugin --profile desktop remove dsh-whale-catch
界面
右侧栏里的鱼篓(窄栏布局,随主题 token 变色):
┌──────────────────────────────────────┐
│ 🐋 鱼篓 12 条鱼 · 3.4 MB [刷新] │
│ [全部 12] [📄 文档 7] [📊 表格 3] [🖼 图片 2] │
├──────────────────────────────────────┤
│ ☑ 📄 项目周报.docx +12 −3 │
│ 第三季度周报 · 周报.docx [预览] [差异] ⧉ │
│ 1.2 MB · 3 分钟前 · 交付 · 改动 │
│ ☐ 📊 预算表-2026.xlsx │
│ plan.xlsx · 88 KB · 12 分钟前 │
│ ☐ 🖼 产品手册.pdf │
│ ... │
├──────────────────────────────────────┤
│ 已选 2 项 [归档] [打包 zip] │
│ 扫描于 刚刚 │
└──────────────────────────────────────┘
- 差异 → 对内核记录过的改动就地展开 unified diff(
+/−着色、加粗的@@段头),二进制与超大文件给明确提示 - 按轮分组 → 按"第 N 轮"把文件分段,一眼看出每轮产出了什么
- 复制清单 → 把当前列表导成 Markdown(文件名、路径、体积、轮次、行数、描述),贴进周报或 Issue 就能读
- 勾选 → 只打包选中的;一个都不选就是「全部打包」
- 归档 → 复制到归档目录,保留相对路径,同名文件自动加
(2)不覆盖;cwd 外的文件统一收进_external/ - 预览 → 新标签页打开原文件:图片 / PDF / 文本直接看,Office 走下载
- ⧉ → 复制绝对路径(贴给别的工具最省事)
它是怎么"零登记"的
三条来源合并,同一个绝对路径取并集:
| 来源 | 从哪来 | 覆盖什么 |
|---|---|---|
presented | 内核会话事件 deliverables/presented | 模型显式交付的文件,带描述与轮次 |
changed | 内核会话事件 workspace/changes + ctx.workspaceChanges.summary() / .diff() | git 快照与文件工具改动,带行数与 unified diff |
scanned | 会话工作目录扫描(mtime ≥ 会话创建时间) | bash / python / 构建脚本写出的文件 |
扫描有边界:只在会话 cwd 内、不跟符号链接、跳过 node_modules / .git / 点开头目录、受深度 / 数量 / 体积上限约束。细节见 docs/architecture.md。
配置
用自己的 profile 补丁层覆盖,不要改包里的 cordis.patch.yml(升级会被覆盖):
…

