dsh-whale-catch · 让本场会话的交付物自己游进篮子
56.8/100
综合分
101
GitHub 星标
222
npm 周下载
—/5
用户评分
数据截至 2026/10/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/Rosynb666/dsh-whale-catch.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
生态插件
可安装,未声明 dsh 能力
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 1 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-whale-catch @ 0.2.0
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/27 23:39:19
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 7 处,展示前 7 条)
- 读取本地文件lib/index.js:24
const PKG = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')) - 发起网络请求lib/client.js:424
request = fetch(API + 'refresh', Object.assign({ - 发起网络请求lib/client.js:430
request = fetch(API + 'basket' + query, options) - 发起网络请求lib/client.js:534
return fetch(API + path, { - 发起网络请求lib/client.js:552
fetch(API + 'zip', { - 写入剪贴板lib/client.js:645
navigator.clipboard.writeText(text).then(function () { setNotice(done) }, function () { setNotice(text) }) - 发起网络请求lib/client.js:706
fetch(
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
1 张 · 点击查看大图深海鱼篓:不用登记智能体,自动收进本场会话产出的文件——右侧栏预览、一键打包 zip、归档。DeepSeek Harness 的零登记交付篮。
README
由 DeepSeek 最新模型翻译生成🐋 深海鱼篓
dsh-whale-catch · 让本场会话的交付物自己游进篮子
自动收集 · 一处预览 · 就地看差异 · 搜索排序 · 一键打包 / 归档
-blue?style=flat-square)
🚀 快速开始 · ✨ 功能地图 · ⚙️ 配置 · 🛡️ 安全模型 · English
🧪 0.3.2 面板静态预览:用 lib/client.js 里真实的面板组件 + 示例数据渲染,不是 DSH 实机截图。排序框、预览入口、行内差异都在图里;实际配色跟随你的主题。
给 DeepSeek Harness(DSH)的右侧栏插件:把一场会话里产出或改动过的文件汇总到「鱼篓」里,支持预览、行内差异、搜索、按轮分组、打包 zip、归档与复制清单。
展开完整文档(README 剩余 1 节)
🐋 深海鱼篓 dsh-whale-catch · 让本场会话的交付物自己游进篮子 自动收集 · 一处预览 · 就地看差异 · 搜索排序 · 一键打包 / 归档 -blue?style=flat-square) 🚀 快速开始 · ✨ 功能地图 · ⚙️ 配置 · 🛡️ 安全模型 · English 🧪 0.3.2 面板静态预览:用 lib/client.js 里真实的面板组件 + 示例数据渲染,不是 DSH 实机截图。排序框、预览入口、行内差异都在图里;实际配色跟随你的主题。 给 DeepSeek Harness(DSH)的右侧栏插件:把一场会话里产出或改动过的文件汇总到「鱼篓」里,支持预览、行内差异、搜索、按轮分组、打包 zip、归档与复制清单。 🧭 目录 - 🐋 为什么需要它 - ✨ 功能地图 - 🚀 30 秒上手 - 🖥️ 界面与交互 - 🧠 零登记是怎么做到的 - ⚙️ 配置 - 🛡️ 安全模型 - 📊 兼容性与已知限制 - 🛠️ 开发与测试 - 🗺️ 路线图 - 🤝 参与与致谢 🐋 为什么需要它 在 DSH 里连续干上几轮活之后,「文件到底产出到哪了」几乎是日常问题: - 🪟 内核的产出物卡片只在当前这一轮出现,往下翻几屏就散了; - 🐚 在 bash 里跑 python build_doc.py、npm run build 写出来的 docx / pdf / zip,既不算「文件工具改动」,也没调 present,两套机制都不认; - 📦 攒了十几个交付物想一次发给别人,只能回目录里翻,还要担心漏掉; - 🔍 改过的文件想看看「改了多少、改了什么」,得切回 git 或翻历史。 鱼篓只做三件事:自动收、一处看、一键打包 / 归档。改过的文件还能就地展开 unified diff,搜索、按轮分组、复制 Markdown 清单也都在同一个侧栏里完成。 💡 一句话: 不改变你的工作流,只给「这一场会话到底产出了什么」一个常驻的答案。 🆚 和内核产出物的区别 这不是重复造轮子——内核的 deliverables/presented 与 workspace/changes 鱼篓照单全收,只是把它们覆盖不到的场景补上: | | 🪟 内核产出物卡片 | 🧺 鲸鱼鱼篓 | | 来源 | present 声明 + git / 文件工具改动 | 同样两条,再加目录扫描兜底(bash、python、构建脚本的产物) | | 范围 | 单轮,轮末出现 | 整场会话,跨轮聚合 | | 改动详情 | 轮末卡片里显示一次 | 行数徽章常驻,点开就地看 unified diff,还能按轮分组 | | 能做什么 | 打开源文件 | 预览 / 看差异 / 搜索 / 打包 zip / 归档 / 复制路径 / 复制 Markdown 清单 | | Host 重启后 | 改动摘要活在内存里,重启即失 | 靠 mtime 重建文件列表(present 描述会丢,见已知限制) | | 要 agent 配合 | 要模型记得调 present | 不要,零登记 | | 交付物边界 | 内核认为的「产出」 | 额外兜住「外部进程写进 cwd 的文件」 | ✨ 功能地图 | 能力 | 你会看到什么 | | 🧺 自动收集 | present 声明、workspace/changes 改动、cwd 目录扫描三条来源合并;同一个绝对路径取并集 | | 👀 就地预览 | 图片 / PDF / Markdown / 文本 / 源码 / Office 统一在右侧栏用 DSH Document Preview 打开;cwd 外文件会提示复制路径或归档 | | 🔍 行内差异 | 对内核记录过的改动展开 unified diff:+ / − 着色、@@ 段头、新增 / 删除 / binary / oversized 提示 | | 🧭 搜索与分组 | 按文件名 / 路径 / 描述搜索;按分类 chip 过滤;按「第 N 轮」分组;复制 Markdown 清单 | | 📦 打包 zip | 只打选中项或全部;包内附 manifest.json + 交付清单.md;cwd 外文件统一 _external/ | | 🗂️ 一键归档 | 复制到归档目录,保留相对路径;同名自动 (2);失败逐条回传,不假装成功 | | 📊 改动徽章 | 每个文件常驻 +N −M 行数;头部汇总本场会话的增删行 | | 🌗 跟随主题 | 只用 --dsw-alias- / --dsw-static- 主题 token,深色 / 浅色自动适配 | | 🌐 中英双语 | 面板字典中英对齐;错误码有本地化文案 | | ⚡ 零构建 | lib/client.js 原样交给 __ModuleLoader__,没有打包步骤 | 🎁 0.3.2 亮点 - 🪟 预览不再开新窗口:Desktop 的 Electron 主进程会 deny 所有 window.open(只放行 https: 外链),之前「点预览没反应」就是这个原因。现在统一交给 DSH Document Preview:图片 / PDF / Markdown / 文本 / 源码 / Office 都在右侧栏打开。 - 📍 只保留一个「预览」入口;cwd 外文件明确提示「复制路径或归档」,不再假装能打开。 - 🖼️ 预览图按 0.3.2 面板重新渲染(排序 + 预览入口 + 行内差异)。 🎁 0.3.1 亮点 - 🔎 未知后缀也能读:/file 对 .patch、.bak 这类文件先嗅探前 8 KiB,是文本就按 text/plain 返回,不再一律触发下载。 🎁 0.3.0 亮点 - 📄 Office 文档交给 Document Preview:docx / xlsx / pptx 由 DSH 的预览按 PDF 渲染,转换交给内核 officeToPdf;0.3.2 起与其他文件统一成一个「预览」入口。 - ↕️ 排序:最近修改 / 名称 / 体积 / 类型,四档切换;已删除文件永远沉底。 - 🪟 分批渲染:先铺 200 行,点「显示更多」再追加——800 条也不会一次全渲染。 - 🧹 归档保留策略(可选):archiveKeep: 2 时每次归档写进独立批次目录,只保留最近 2 批;默认 0 保持旧布局,行为不变。 🎁 0.2.2 亮点 - 🛑 面板轮询不再扫盘:5 秒轮询只读缓存,首次打开、turn/end、手动刷新才扫描。 - 🌊 zip 流式写入:逐文件读取、异步压缩、边压边发,不再把整包攒进内存。 - 🎯 Range / ETag:PDF、大文件预览可拖动进度,不用重拉整份。 - 🛡️ Host 白名单:堵住 DNS rebinding 下「Origin 与 Host 同时是攻击者域名」的绕过。 - 🧹 归档安全:拒绝 archiveDir == cwd,realpath 挡住符号链接穿越,失败进 failed。 - 🔎 面板搜索:按名称 / 路径 / 描述过滤,和分类 chip 一起生效。 🚀 30 秒上手 环境要求 - DSH >= 0.2.0-rc.2 - Node ^22.19 || >=24(Desktop 自带运行时已满足) - 无需构建、无需额外服务、无需配置数据库 1. 安装 Desktop 用户走应用内:设置 → 插件 → 安装,粘贴下面任一标识(desktop profile 由 Electron 独占,命令行 dsh plugin --profile desktop add 会被拒绝): github:Rosynb666/dsh-whale-catch # GitHub 最新 main dsh-whale-catch@0.3.2 # npm 指定版本 非 Desktop 的自建 profile 才用 CLI: dsh plugin --profile <profile> add github:Rosynb666/dsh-whale-catch dsh plugin --profile <profile> add dsh-whale-catch@0.3.2 2. 打开面板 刷新页面(⌘R / Ctrl+R),右侧栏点 +,在引导页里选 「打开深海鱼篓」;也可以直接点侧栏里的 🐋 图标。 3. 开始干活 让 agent 随便做点产出,或手动点一次「刷新」,文件就会出现在鱼篓里。勾选文件 → 「打包 zip」或「归档」。 卸载 Desktop:设置 → 插件 → 卸载。非 Desktop profile: dsh plugin --profile <profile> remove dsh-whale-catch 🖥️ 界面与交互 窄栏布局,下面是一张示意(实际宽度随侧栏变化): ┌──────────────────────────────────────────────┐ │ 🐋 鱼篓 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] │ │ 扫描于 刚刚 │ └──────────────────────────────────────────────┘ 🎛️ 控件速查 | 控件 | 作用 | | ☑️ 复选框 / 行点击 | 勾选文件;只打包 / 归档选中的,一个都不选就是全部 | | 🔄 刷新 | 强制重扫当前会话 cwd,并拉最新快照 | | 🏷️ 分类 chip | 全部 / 文档 / 表格 / 演示 / 图片 / 代码 / 压缩 / 音视频 / 其他 | | 🔎 搜索框 | 文件名、相对路径、描述的 case-insensitive 子串匹配 | | 🔀 按轮分组 | 按「第 N 轮」分段,轮次倒序,没标轮次的沉底 | | ↕️ 排序 | 最近修改 / 名称 / 体积 / 类型,选择后立即重排 | | 📋 复制清单 | 当前勾选(没有勾选时用当前筛选)导出 Markdown,贴周报 / Issue | | ⧉ 复制路径 | 复制绝对路径,贴给别的工具最省事 | | 👁️ 预览 | 在右侧栏用 DSH Document Preview 打开(图片 / PDF / Markdown / 文本 / 源码 / Office);cwd 外文件提示不可预览 | | 🧾 差异 | 就地展开内核留下的 unified diff;只有带 workspace/changes 记录的条目才有 | | 📦 打包 zip | 生成带交付清单的 zip,直接下载 | | 🗂️ 归档 | 复制到配置的归档目录,失败会显示「成功 N / 失败 M」 | | 🔎 显示更多 | 超过 200 条时先铺前 200 行,点一下继续追加 | 📦 打包后的 zip 长这样 季度交付.zip ├── 项目周报.docx ├── assets/ │ └── chart.png ├── _external/ │ └── 外部交付.pdf └── _whale-catch/ ├── manifest.json # 机器可读:会话、包内路径、体积、轮次、sha256… └── 交付清单.md # 人可读:Markdown 表格 🗂️ 归档后的目录长这样 $DSH_HOME/whale-catch/archive/ └── <session-id>/ ├── 项目周报.docx ├── assets/chart.png └── _external/外部交付.pdf 开启 archiveKeep 后,每次归档进独立批次,旧批次自动清理: $DSH_HOME/whale-catch/archive/ └── <session-id>/ └── runs/ ├── 20261030-153012-120/ │ └── 项目周报.docx └── 20261030-160145-004/ # 只保留最近 N 批 └── 项目周报.docx 🧠 零登记是怎么做到的 鱼篓不要求智能体调工具登记文件。它把三条来源按绝对路径合并: | 来源 | 从哪来 | 覆盖什么 | | presented | 内核事件 deliverables/presented | 模型显式交付的文件,带描述与轮次 | | changed | 内核事件 workspace/changes + ctx.workspaceChanges.summary() / .diff() | git 快照与文件工具改动,带行数与 unified diff | | scanned | 会话 cwd 扫描(mtime >= 会话创建时间) | bash / python / 构建脚本写出的文件 | session/event ├─ deliverables/presented ──────────────┐ ├─ workspace/changes ───────────────────┤ └─ turn/end ──► scan cwd ───────────────┤ ▼ Basket(按绝对路径合并) │ GET /basket ───┴──► 右侧栏面板 🧭 扫描边界 - 只在当前会话 cwd 内,不越界、不跟符号链接; - 跳过 node_modules / .git 等默认目录; - 跳过点开头的文件与目录(.env、.gitignore 不会自动进筐;需要交付请用 present); - maxDepth(默认 6)、maxFiles(默认 800)、maxFileBytes(默认 64 MB),访问目录项上限 20000; - 超限会标记 truncated,面板会提示「目录太大」。 ⏱️ 什么时候扫描 | 触发 | 行为 | | 首次打开面板 | 扫一次 | | 每轮 turn/end | 延迟 1.2 秒扫一次(给写盘留时间) | | 手动「刷新」 | 强制重扫;若后台扫描在跑,先等它结束 | | 5 秒轮询 | 只读缓存,不扫盘 | 会话表按 LRU 保留最近 40 个会话;快照里的文件 stat 用 16 路并发限流。 ⚙️ 配置 配置写在你自己的 profile 补丁层里,不要改包里的 cordis.patch.yml(升级会被覆盖): ~/.dsh/profiles/desktop/cordis.patch.yml - id: dsh-whale-catch config: archiveDir: ~/Documents/鱼篓归档 # 归档目录;默认 $DSH_HOME/whale-catch/archive ignore: [dist, build, .venv] # 额外忽略的目录名 maxFiles: 800 # 最多收录多少个文件 maxDepth: 6 # 目录遍历深度 maxFileBytes: 67108864 # 单文件上限 64 MB maxZipBytes: 536870912 # 打包总量上限 512 MB maxBodyBytes: 1048576 # 请求体上限 1 MB archiveKeep: 0 # 归档保留批次数;0 = 不启用批次目录与清理 lookbackMinutes: 720 # 拿不到会话创建时间时往回看 12 小时 allowHosts: [] # 额外放行的 Host 名;默认只认 localhost / IP 字面量 | 字段 | 默认值 | 说明 | | archiveDir | $DSH_HOME/whale-catch/archive | 归档根目录;开头的 ~ / ~/ 会展开 | | ignore | [] | 额外跳过的目录名,叠加在内置黑名单上 | | maxFiles | 800 | 单次扫描最多收录多少个文件 | | maxDepth | 6 | 目录遍历深度 | | maxFileBytes | 67108864 | 单文件上限;zip 与归档共用 | | maxZipBytes | 536870912 | 打包总量上限;也用于 zip 预检 | | maxBodyBytes | 1048576 | JSON 请求体上限 | | archiveKeep | 0 | 归档保留批次数;0 保持旧布局,> 0 时每次归档进 runs/<时间戳>/ 并清理旧批次 | | lookbackMinutes | 720 | 拿不到会话创建时间时,往回看多少分钟 | | allowHosts | [] | 额外放行的 Host 名(反代域名等);IP 字面量与 localhost 总是允许 | 改完热重载即生效,无需重启。 🛡️ 安全模型 接口跑在本机 loopback 上,所以按「浏览器里的第三方页面会来打本机接口」来设防,而不是「本机其它进程」(它们本来就能读你的文件)。 | 防线 | 做什么 | | 🚧 路径白名单 | /file、/diff、/zip、/archive 只接受已在鱼篓登记表里的路径;../ 在入口就被挡掉 | | 🌐 同源 + Host | Origin 必须与 Host 一致;Sec-Fetch-Site: cross-site 拒绝;Host 必须是 localhost、IP 字面量或 allowHosts 值 | | 🧾 JSON 写操作 | 跨站表单发不出 application/json;声明它会触发预检,预检被 415 挡掉 | | 🧪 内联沙箱 | HTML / SVG 响应带 Content-Security-Policy: sandbox:能渲染样式,脚本不执行、源变 opaque | | 📦 zip 校验 | 条目名去掉 .. 与前导斜杠;清单名预留防撞;cwd 外文件统一 _external/ | | 🗂️ 归档校验 | realpath 确认父目录仍在归档根内,符号链接穿越记 unsafe-path;拒绝 archiveDir == cwd;批次清理只删 runs/ 下符合时间命名的普通目录 | | 📏 硬上限 | 单文件 64 MB、打包总量 512 MB、800 个文件、请求体 1 MB,均可配置 | | 🚫 失败不静默 | 超限 / 不安全 / 复制失败会进 failed,面板显示成功与失败数 | 隐私提示 - zip 的 _whale-catch/manifest.json 与 交付清单.md 会记录 cwd(用户主目录前缀脱敏为 ~)、会话 id 与 sha256;分享前留意。 - 扫描有意跳过点文件,避免把 .env、.gitignore 自动收进筐。 - 安全问题请走私密渠道:SECURITY.md。 📊 兼容性与已知限制 ✅ 兼容性 | 项目 | 支持范围 | | DSH | >= 0.2.0-rc.2 | | 预览 | 需要 DSH >= 0.2.1 的 Document Preview 与 sidebarRight.openResource();cwd 内文件均可预览,cwd 外文件给提示 | | Node | ^22.19 || >=24 | | 平台 | macOS / Windows / Linux(CI 三平台 × Node 22/24) | | 构建 | 无;lib/client.js 原样加载 | | 运行时依赖 | @deepseek-ai/schemastery(纯校验库) | ⚠️ 已知限制 | 限制 | 影响 / 说明 | | 只覆盖当前会话 cwd | cwd 外文件不进筐,present 声明的绝对路径除外 | | Host 重启 | present 描述与轮次号不恢复;文件靠 mtime 重新出现 | | mtime 早于会话创建 | 「复制进来但保留旧时间戳」的文件不会进筐 | | 差异只在 Host 存活期间可看 | workspace-changes 把对比留在内存,重启后只剩文件名 | | 差异依赖内核能力 | 宿主没有 workspaceChanges.diff() 时面板只给提示 | | 长 diff 截断 | /diff 最多 1200 行,面板每条 hunk 最多铺 300 行 | | 归档不自动清理 | 默认在 $DSH_HOME 下不清理;需要保留策略时设置 archiveKeep | | 预览依赖 DSH 预览插件 | 预览走 Document Preview;插件被禁用时面板提示打不开。cwd 外文件没有 dsh-resource 地址,提示复制路径或归档 | | 大列表分批渲染 | 先铺 200 行、点「显示更多」追加;还没有真正的窗口化;搜索是子串匹配 | | 点文件不自动收集 | .env 等需要 present 显式声明 | ❓ 常见问题 面板打开了但一直是空的? 先确认会话有没有 cwd、有没有在本轮结束后点一次「刷新」。文件 mtime 不能早于会话创建时间;.env 这类点文件默认不扫。还不行就看 Host 日志里有没有 no-cwd / scan 相关报错。 为什么「差异」按钮不出现? 只有带 workspace/changes 记录的文件才有前后对比。扫描进来的文件、单纯 present 的文件没有快照,按钮不会出现;Host 重启后旧轮次的对比也会失效。 为什么点预览没有反应? 0.3.2 起预览统一走 DSH 的 Document Preview,不再开新窗口。之前用 window.open 打开本机 /file 地址,会被 Desktop 的 Electron 主进程静默拒绝(它只放行 https: 外链),所以看起来像按钮坏了。升级到 0.3.2 后,cwd 内文件点「预览」应在右侧栏打开;cwd 外文件会提示复制路径或归档。 安装时 npm 报 EPERM / 缓存权限错误? 常见于受限环境把 ~/.npm 缓存挡在写权限之外。换一个可写缓存即可,不用 sudo: npm pack --dry-run --cache="$(mktemp -d)" 🛠️ 开发与测试 npm install npm test # 68 项:扫描 / 合并 / 改动元数据 / 流式 zip / Range / HTTP 栅栏 / 差异裁剪 / 原生地址 / 归档保留 / 插件装载 npm run check # 契约自检:包结构、patch、client.inject、locale meta、icon、依赖纪律 npm run verify # check + test 没有构建步骤:lib/index.js 是 Host 半边,lib/client.js 是原样交给 __ModuleLoader__ 的浏览器半边,改完直接重装即可。 依赖纪律:运行时依赖只有 @deepseek-ai/schemastery(纯校验库)。它必须是 dependencies 而不是 peer——profile 的 pnpm 配置是 autoInstallPeers: false,放 peer 在干净 profile 里根本装不上,Host 半边会在加载时直接失败。 dsh-whale-catch/ ├── lib/ │ ├── index.js # 插件入口:会话事件 → 鱼篓登记表,注册 HTTP 路由 │ ├── basket.js # 三来源合并、改动元数据、快照、路径准入(白名单) │ ├── scan.js # 带边界的工作区扫描 │ ├── zip.js # 零依赖 ZIP 写入器(流式 STORE + DEFLATE) │ ├── routes.js # HTTP 接口:预览 / 差异 / zip / archive │ ├── http.js # 同源 + Host 栅栏、JSON 收发、MIME、Range │ └── client.js # 右侧栏 tab + 面板(纯 JS,零构建) ├── locale/ # 市场与设置页展示用的元数据 ├── test/ # node:test,无测试框架依赖 ├── scripts/ # 契约自检 └── docs/ # 架构、发布清单、开发手册 - 🏗️ 架构与不变量:docs/architecture.md - 🚢 发布清单:docs/publish.md - 🤝 参与开发:CONTRIBUTING.md - 🛡️ 安全报告:SECURITY.md 🗺️ 路线图 - 🌉 跨会话视图:把所有会话的产物汇总成一份总台账。 - 💾 持久化 present 描述与轮次,Host 重启后仍可读。 - 🧹 归档清理的 dry-run,以及按日期 / 按项目的整理视图(archiveKeep 已支持按批保留)。 - ⚡ 大列表真正的窗口化(当前是 200 行分批 + 「显示更多」)。 - 🧪 客户端 Panel 的真实渲染测试、tsc --checkJs / lint。 🤝 参与与致谢 - 有 bug / 需求:走 Issue 模板。 - 想改代码:先看 CONTRIBUTING.md。 - 安全问题:不要公开提 issue,走 SECURITY.md。 感谢每一位愿意把「文件生成完就找不到」这个痛点讲出来的人,也感谢 DSH 社区里那些把插件边界踩清楚的前辈。 🐋 深海鱼篓 用爱、米饭和一点点强迫症维护。 如果它帮你省下过一次翻目录的时间,点个 ⭐ 就是最好的投喂。 📄 许可 MIT © Rosynb666
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Rosynb666/dsh-whale-catch
dsh-whale-catch · 让本场会话的交付物自己游进篮子
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 266,913已汉化DSH
71.8
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,848已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,171已汉化DSH
70.4