深海鱼篓(dsh-whale-catch):会话产出自动汇总到右侧栏

前言

在 DeepSeek Harness(DSH)里做一轮长会话,常见情况是:模型用文件工具改了几个文件,你在 bash 里又跑脚本生成了 docx、pdf,内核的产出物卡片只跟当前轮次绑定,往下翻几屏就散了;想一次性打包发给同事,还得回工作区目录里逐个找,容易漏。

社区插件 dsh-whale-catch(深海鱼篓)面向这类场景:把一场会话里产出或改动的文件聚到一个篮子里,在右侧栏预览、打包 zip、归档,且不要求 agent 每次记得调 present。下面介绍它的定位、安装方式与使用边界。插件由 Rosynb666 维护,在 SkillHub 目录中归类为客户端;仓库 GitHub 约 33 stars,许可证 MIT,当前包版本 0.1.2。

这是什么

dsh-whale-catch 是挂在 DSH 右侧栏的 Cordis 插件:Host 侧监听会话事件并扫描工作区,浏览器侧展示鱼篓面板。自述目标是「不用登记」——本场会话里出现的交付物自动进筐,在一处查看并导出。

它与内核自带的产出物机制是互补关系:内核的 deliverables/presented 与 workspace/changes 鱼篓照样收录,另外用目录扫描兜底 bash、python、构建脚本等写出来的文件;范围是整场会话跨轮聚合,而不是单轮卡片。

核心功能

鱼篓 README 归纳为三件事:自动收、一处看、一键打包/归档。

  1. 三条来源合并(同一路径取并集)
    - presented:内核事件 deliverables/presented,带描述与轮次。
    - changed:workspace/changes 与 ctx.workspaceChanges.summary(),覆盖 git 快照与文件工具改动。
    - scanned:在会话工作目录内按 mtime ≥ 会话创建时间扫描,补上脚本产物。

  2. 右侧面板操作
    - 按类型筛选(文档、表格、图片等),勾选后只打包选中项;不勾选则打包全部。
    - 预览:新标签打开原文件;图片、PDF、文本可直接看,Office 类多为下载。
    - 打包 zip、归档到配置目录(同名自动加 (2),不覆盖)。
    - ⧉ 复制绝对路径。

  3. 配置与上限
    可通过 profile 补丁配置归档目录、忽略目录、最大文件数、遍历深度、单文件大小、无会话创建时间时的回看分钟数等;扫描跳过 node_modules、.git、点开头目录,不跟符号链接,并受深度/数量/体积约束。

  4. 安全边界(本机 Host)
    /file、/zip、/archive 只接受已进筐登记的路径;同源与跨站请求有栅栏;写操作要求 application/json。单文件默认上限 64 MB,打包总量 512 MB 等可在配置中调整。

安装与启用

环境要求:DSH >= 0.2.0-rc.2,Node ^22.19 || >=24(Desktop 自带运行时一般已满足)。插件无单独构建步骤,运行时依赖 @deepseek-ai/schemastery。

从 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

配置示例

在自有 profile 补丁中覆盖,勿改包内 cordis.patch.yml(升级会被覆盖):

# ~/.dsh/profiles/desktop/cordis.patch.yml
- id: dsh-whale-catch
  config:
    archiveDir: ~/Documents/鱼篓归档
    ignore: [dist, build, .venv]
    maxFiles: 800
    maxDepth: 6
    maxFileBytes: 67108864
    lookbackMinutes: 720

改完后热重载即可,无需重启 DSH。

典型用法

  1. 在 DSH Desktop profile 安装插件并刷新界面,打开右侧鱼篓。
  2. 正常会话:让模型改文件、或在终端跑构建脚本;鱼篓会合并 present、改动摘要与扫描结果。
  3. 需要外发时:在列表中勾选若干文件(或不选表示全部),点 打包 zip;需要留档时点 归档。
  4. 需要把路径贴给其他工具时,用条目旁的复制路径按钮。

面板示意(实际配色跟随主题):

┌──────────────────────────────────────┐
│ 鱼篓            12 条鱼 · 3.4 MB  [刷新] │
│ [全部] [文档] [表格] [图片]              │
├──────────────────────────────────────┤
│ ☑ 项目周报.docx          [预览] ⧉     │
│ ☐ 预算表.xlsx                          │
├──────────────────────────────────────┤
│ 已选 2 项              [归档] [打包 zip] │
└──────────────────────────────────────┘

适用场景与注意

适合谁:经常在 DSH 单会话里堆多种交付物、又不想依赖模型每次 present 的开发者;需要跨多轮汇总再 zip 或归档的场景。

与内核的差异要心里有数:Host 重启后,present 的描述与轮次不会恢复,文件会靠 mtime 重新出现;mtime 早于会话创建时间的文件不进筐;只覆盖当前会话工作目录(present 的绝对路径除外)。归档默认在 $DSH_HOME/whale-catch/archive,不会自动同步网盘。

安装前:插件在本机 DSH Host 进程权限下运行 HTTP 路由与文件读写,安装前应查看 源码与许可证。DSH 生态是「一切皆插件」;SkillHub 目录 为社区站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-whale-catch 把会话内的交付物收成一处:零登记、右侧栏预览与导出,并补上脚本产物的扫描兜底。若要安装或读架构细节,可从目录页 SkillHub · dsh-whale-catch 或仓库 github.com/Rosynb666/dsh-whale-catch 进入。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye