# @fish-under-sea/dsh-fish 中文文档

规范地址：https://npmcn.com/package/%40fish-under-sea/dsh-fish/

版本：2\.0\.2
npm 元数据更新时间：2026-11-12T17:48:27.999Z
中文译文更新时间：2026-11-14T20:25:14.228Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40fish-under-sea/dsh-fish
原文对照：https://npmcn.com/package/%40fish-under-sea/dsh-fish/?lang=original
项目主页：https://github.com/Fish-under-sea/dsh-fish#readme
源码仓库：https://github.com/Fish-under-sea/dsh-fish

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：408 kB，10 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=24\.9
- 运行依赖：11 个
- 首次发布：2026-09-30T05:09:49.680Z
- 最新版本发布：2026-11-12T17:48:27.821Z
- 近 30 天下载量：4587（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：58（近 12 个月 58 个）

## 中文简介

Fish DSH 插件聚合包：十一个本仓库成员（含思考强度与 AgentTeams）统一 2.0.0，依赖逐项精确固定；破甲不内置，需单独安装。

## 安装

```sh
npm install @fish-under-sea/dsh-fish
```

也可以使用：`pnpm add @fish-under-sea/dsh-fish`、`yarn add @fish-under-sea/dsh-fish`、`bun add @fish-under-sea/dsh-fish`

## README

# @fish-under-sea/dsh-fish

![Fish](https://npmcn.com/package/%40fish-under-sea/dsh-fish/icon.png)

**2.0.2 · 十一个插件，一个聚合入口**

[English](https://npmcn.com/package/%40fish-under-sea/dsh-fish/README.en.md)

## 安装

```sh
dsh plugin --profile <profile> add @fish-under-sea/dsh-fish@2.0.2
```

安装后重启 DSH。桌面版无 CLI 时在插件管理器添加同名包。需要 Node `>=24.9`；宿主最低 `0.2.2-rc.1`。各成员的宿主声明分别生效。

## 本次更新

**2.0.2：十一个成员全部收进本仓库，统一版本、统一图标、统一说明。**

-   **2.0.2 修复**：AgentTeams 的成员默认路由与 fallback 改为直接从官方 subagent 允许名单派生；`memberModel` / `memberLlmProvider` / `fallback` 不再需要在 profile 里手工同步，名单外 fallback 会自动换成名单内另一条路由，显式越界仍报错。
-   **2.0.1 修复**：skill-lens 在热更新/禁用时释放 `/skill-lens/api` 路由，更新不再因 `duplicate prefix route` 失败；AgentTeams 模型选择器按官方 subagent 允许名单过滤，避免选到名单外路由。
-   **effort 并入**：`dsh-better-reasoning-effort-fish` 从独立仓库迁入 `packages/`，成为聚合成员。它在「模型」页卡片内编辑每个模型的思考档位与输入模态，带八大模型家族主题。
-   **AgentTeams 并入**：`dsh-agent-teams-fish` 从独立仓库迁入 `packages/`，不再作为外部依赖。行 id `agent-teams`、状态目录 `.agent-teams` 与配置键保持不变。
-   **开始页命令菜单排序**：设置导航顺序插件把「文件、代码审查和变更、新建终端、Git、浏览器、任务管理、侧边对话、本地模型、会话数据诊断、壁纸引擎」这列做成全量可排序；按分区重排，搜索态不打扰，顺序写入 `state.json`，换机可恢复。
-   **空输入发送增强**：审批说明插件新增——输入框为空时点发送按钮，自动填入并发送「继续任务，并梳理进度」，让「继续」不再需要先打字。非空输入、停止按钮、附件、上传中与输入法组合态完全不接管。
-   **统一外观**：十一个成员共用聚合包 `icon.png`；每个包补齐 `locale/{zh,en}.json` 的标题与一句话说明，插件列表里显示的是同一套中文定位。
-   **版本**：十一个成员与聚合包统一为 **2.0.2**，依赖逐项精确固定。
-   **仍不内置**：Git 图谱继续退役；破甲仍需单独安装。

## 插件清单

以下 11 个成员当前均为 **2.0.2**，全部在本仓库 `packages/`。聚合包本身也是 **2.0.2**，依赖逐项精确固定。

| 插件 | npm | 功能 |
| --- | --- | --- |
| 审批说明 | `@fish-under-sea/dsh-approval-guide` | 为审批弹窗补充中文动作、风险与依据说明；空输入点发送自动续跑。 |
| Git 同步 | `@fish-under-sea/dsh-git-sync` | 将选定的 DSH 配置同步到私有 Git 仓库，支持预览、提交、拉取和还原；凭据不随 Git 同步。 |
| 设置导航排序 | `@fish-under-sea/dsh-settings-nav-order` | 重排和隐藏设置侧栏；开始页命令菜单全量排序、跨机恢复；管理扩展命令的图标与中文标题。 |
| 视觉伴侣 | `@fish-under-sea/dsh-visual-companion` | 绑定视觉伴侣目录，把网页上提交的选择和备注合并为用户消息并唤醒目标会话。 |
| 技能中心 | `@fish-under-sea/dsh-skill-lens-fish` | 技能清单、概览、文件浏览和编辑、依赖图、新建、导入与删除。 |
| 任务看板 | `@fish-under-sea/dsh-client-ui-task-board-fish` | Host 权威任务账本、看板与子任务；真实会话执行、cron 与单次计划、验收与团队执行。 |
| SSH 运维 | `@fish-under-sea/dsh-ssh-fish` | 主机管理、持久连接池、Web PTY 终端、SFTP、端口转发与集群执行。 |
| 用量统计 | `@fish-under-sea/dsh-usage-fish` | token 台账、余额、订阅配额、峰谷成本估算与侧栏速览。 |
| 会话归档 | `@fish-under-sea/dsh-session-archive-fish` | 集中检索、批量归档、受保护的级联物理删除与自动保留策略。 |
| 思考强度 | `@fish-under-sea/dsh-better-reasoning-effort-fish` | 每个模型的思考档位与图片输入声明，内置模型知识库与线协议推断，模型卡片内直接编辑。 |
| 团队协作 | `@fish-under-sea/dsh-agent-teams-fish` | 自然语言组队、任务依赖 DAG、信箱通信、质量门与修复轮次、持久恢复与厂商美术。 |

## 可选：单独安装破甲

破甲 `@fish-under-sea/dsh-purge-fish` **不在聚合内**，需要时单独安装。它给所有模型注入可替换的清洗提示词，可按模型分别配置，并带红队演练台与一键回滚。

```sh
dsh plugin --profile <profile> add https://github.com/Fish-under-sea/dsh-purge/archive/refs/heads/master.tar.gz
```

单装时由它自己的 `cordis.patch.yml` 完成宿主提示改写；聚合不再代做这些改写。行 id `dsh-purge` 与数据目录 `$DSH_HOME/redteam` 不变。

## 从旧版迁移

-   先安全备份 `$DSH_HOME`、profile 清单和补丁；本地 link 插件源码需另外备份。
-   **effort 与 AgentTeams 已改为聚合成员**：如果 profile 里单独装过 `@fish-under-sea/dsh-better-reasoning-effort-fish`（0.5.x）或 `@fish-under-sea/dsh-agent-teams-fish`（1.1.0），先移除单独安装与对应 bundle 行，避免与聚合重复挂载。包名、行 id、状态目录不变。
-   **Git 图谱仍不在聚合**：需要时单装 `@fish-under-sea/dsh-client-ui-git-graph-fish@1.0.2`，不要与聚合同时挂载。
-   **破甲仍单装**：`dsh-purge` 四行与 `system-prompt` 改写由它自己负责；聚合不注入。
-   旧版本（`<2.0.2`）已在 npm 上标记 deprecated，安装时请使用 `@fish-under-sea/dsh-fish@2.0.2`。
-   更新聚合包不会自动清掉 profile 中单独添加的旧包、bundle 或覆盖行；请在插件管理器核对并移除对应旧项后再重启。

## 共存与数据

不要同时启用同功能的上游 `dsh-web-all` 行和 Fish 行；不同 id 也可能重复注册服务。Skill Lens 与上游版共用 `skill-lens` 行 id，不能重复插入。本聚合只插入自己的 11 行，不改写宿主 `system-prompt`，也不停用旧独立红队行。不改变宿主内置标题功能。

配置与业务数据保留在 `$DSH_HOME` 或工作区中，不写死机器路径。SSH 凭据可能明文保存；会话物理删除不可撤回；Git 同步不等于完整备份；调度和团队执行消耗真实模型额度。详见各成员 README 的安全边界。

## 开发与来源

以下检查按需手动执行，不是提交或发布前置门禁。标签发布只生成 GitHub Release，不运行构建或测试。

```sh
pnpm install --frozen-lockfile
pnpm test:release
pnpm -r --if-present typecheck
pnpm -r --if-present test
pnpm -r --if-present build
```

聚合自身是空实现，挂载入口是 `cordis.patch.yml`。十一个成员都在 `packages/`，lib 已提交，可独立构建、独立发布；浏览器模块必须以实际包名重新构建。聚合包与成员统一版本 2.0.2。

Fish 原生：审批说明、Git 同步、设置排序、视觉伴侣。Fork 来源：

-   [x-feichen/dsh-skill-lens](https://github.com/x-feichen/dsh-skill-lens) · MIT
-   [zhu1090093659/dsh-web](https://github.com/zhu1090093659/dsh-web) · Apache-2.0（Git 图谱已跟随上游退役）
-   [NanmiCoder/dsh-agent-teams](https://github.com/NanmiCoder/dsh-agent-teams) · MIT
-   [HaoyueQin/dsh-better-reasoning-effort](https://github.com/HaoyueQin/dsh-better-reasoning-effort) · MIT
-   [YuJunZhiXue/dsh-purge](https://github.com/YuJunZhiXue/dsh-purge) · MIT（破甲单装包的上游，已不在本聚合内）

原作者版权、各成员 LICENSE 和 NOTICE 保留。聚合入口采用 MIT。历史变更移至 [更新记录](https://npmcn.com/package/%40fish-under-sea/dsh-fish/CHANGELOG.md).

## 常见问题

### @fish-under-sea/dsh-fish 是什么？

Fish DSH 插件聚合包：十一个本仓库成员（含思考强度与 AgentTeams）统一 2\.0\.0，依赖逐项精确固定；破甲不内置，需单独安装。

### 如何安装 @fish-under-sea/dsh-fish？

在项目目录运行 npm install @fish-under-sea/dsh-fish，或使用 pnpm add / yarn add / bun add。

### @fish-under-sea/dsh-fish 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/fish-under-sea\_\_dsh-fish 是否存在。

### @fish-under-sea/dsh-fish 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @fish-under-sea/dsh-fish 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=24\.9。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @fish-under-sea/dsh-fish 可以商用吗？

@fish-under-sea/dsh-fish 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @fish-under-sea/dsh-fish 的下载量有多少？

根据 npm 官方下载统计，@fish-under-sea/dsh-fish 在 2026/10/15 – 2026/11/13 这 30 天内被下载 4,587 次，日均约 153 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @fish-under-sea/dsh-fish 还在维护吗？

最新版本 2\.0\.2 发布于 2026/11/13（2 天前）；至今共发布 58 个版本，其中过去 12 个月发布了 58 个；首次发布于 2026/09/30。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

