# @zhangzhian/dsh-devtools-terminal 中文文档

规范地址：https://npmcn.com/package/%40zhangzhian/dsh-devtools-terminal/

版本：0\.3\.1
npm 元数据更新时间：2026-11-03T00:21:02.253Z
中文译文更新时间：2026-11-03T00:46:52.682Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40zhangzhian/dsh-devtools-terminal
原文对照：https://npmcn.com/package/%40zhangzhian/dsh-devtools-terminal/?lang=original
源码仓库：https://codeup.aliyun.com/67617ae720a07de19c7c1633/dsh-plugins

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

- 包体积（解压后）：618 kB，17 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- peer 依赖：@deepseek-ai/cordis ~4\.0\.4，@deepseek-ai/dsh-host-webserver ^0\.2\.0-rc\.2，@deepseek-ai/dsh-client-ui-slots ^0\.2\.0-rc\.2，@deepseek-ai/dsh-client-ui-primitives ^0\.2\.0-rc\.2，@deepseek-ai/dsh-client-ui-sidebar-right ^0\.2\.0-rc\.2
- 首次发布：2026-11-01T13:33:35.884Z
- 最新版本发布：2026-11-03T00:21:02.101Z
- 已发布版本数：3（近 12 个月 3 个）

## 中文简介

DSH 开发工具：右侧栏终端（Ctrl/Cmd+点击打开输出里的 URL）

## 安装

```sh
npm install @zhangzhian/dsh-devtools-terminal
```

也可以使用：`pnpm add @zhangzhian/dsh-devtools-terminal`、`yarn add @zhangzhian/dsh-devtools-terminal`、`bun add @zhangzhian/dsh-devtools-terminal`

## README

[英语](https://npmcn.com/package/%40zhangzhian/dsh-devtools-terminal/#readme-english) | 简体中文

# @zhangzhian / dsh-devtools-terminal

1 . DSH `terminal` 【中文译文 **按“Ctrl/Cmd +”**在 **2 . DSH**里打开（普通点击仍然是选择/光标， VSCode （VSCode）

【中文译文 `@deepseek-ai/dsh-client-ui-sidebar-terminal` “”“”“”“”“”“”“”“”“ **页签类型注册表**——李慈欣 `extension` 注册会顶掉内置类型。接管的是「怎么画」， 【中文译文 `ctx.webTerminals`（中文：）。

## 安装

不要单独装它。装清单包——它会作为依赖自动拉下来，并在插件页上给你一个可开关的组件行：

```bash
dsh plugin --profile web add @zhangzhian/dsh-devtools
```

清单包同时用 `browser.patch.yml` 【翻译**右栏浏览器** （`@deepseek-ai/dsh-client-ui-sidebar-browser`），所以终端链接点下去就落在那里。

本仓库开发回路：

```bash
pnpm install
pnpm --filter @zhangzhian/dsh-devtools-terminal build
node scripts/profile-link.mjs     # 把声明了 dsh.client 的包接进 ~/.dsh/profiles/web
node scripts/smoke-terminal-links.mjs   # 真浏览器 + 真 PTY 冒烟（链接落在右栏浏览器里）
```

装完/改完都要让运行中的dsh web重新发现插件(重启近年来网络,或等dsh-hmr重载)。 **不需要**【中文翻译】：http://www.chinac.cn/cn/】

## 提供什么

-   ；
-   **按“Ctrl / Cmd +”**在**右栏浏览器页签**里打开链接—— `ctx.sidebarRight.openTab('browser', { params: { url } })`，载体由平台决定： Web / `<webview>`； 地址栏、后退/前进/刷新和「在系统浏览器中打开」都由那个面板提供；
-   右栏浏览器页签**不可用**（配置文件） 自动回退 `window.open(..., 'noopener,noreferrer')`：浏览器里是新标签页， 【翻译**回退不会吞掉这次点击**；
-   普通点击不打开（选择/光标原样）；
-   ■■■■■■■■■■■■■■■■■■
-   OSC 8超链接走同一套逻辑(替掉xterm默认“单击+确认+空白页”的兜底);
-   终端服务缺席时正文显示提示，插件其余部分不崩。

### 为什么优先右栏浏览器（而不是系统浏览器）

开发工具用户的日常恰好是面板能打开的那一类页面:自己起的服务器(轻快地/下/ dev 故事书，......)，中文，中文，中文，中文，中文，中文。起完服务直接在右栏看， 【中文译文】公网站点仍可能因为 `X-Frame-Options` / `CSP frame-ancestors` 中文名称：中文名称 「在系统浏览器中打开」（↗）即可。

落点规则是纯函数（`src/link-target.ts`），单元测试钉住「面板优先 / 面板抛错回退 / 【中文翻译】：http://http://englishcn.cn/cn/ `scripts/smoke-terminal-links.mjs` Cmd/Ctrl+ <s:1> `window.open` 零次）。

## 要求

-   近年来 `0.2.0-rc.2` 【中文译文 `package.json` 里）；
-   浏览器侧运行时：`dsh.client.platform` 是 `web`；
-   宿主的终端服务（`@deepseek-ai/dsh-api-terminal-controller`）默认随 `dsh web` 提供； 没有它时正文显示「不可用」，不报错。

* * *

## 英语

# @zhangzhian / dsh-devtools-terminal

DSH devtools的右边栏终端接管了平台的内置 `terminal` 选项卡类型，以便在终端输出中打开url **Ctrl/Cmd + click** 在 **DSH右边栏浏览器选项卡** (普通点击仍然选择文本-相同 语义作为VS Code终端)。

为什么它接管而不是扩展：平台终端保留它的xterm 的私有惰性块中的实例和UI `@deepseek-ai/dsh-client-ui-sidebar-terminal`，所以第三方插件也不能 到达实例，而不是替换该UI。平台的干净扩展点 所提供的是 **tab-type注册表**:一个 `extension` 以相同方式注册 Kind优先于内置的。只有渲染被接管；这个 PTY仍然来自于平台 `ctx.webTerminals` (并发限制，空闲 回收，崩溃恢复和关闭处理程序继续工作)。

## 安装

请勿直接安装。安装manifest包——它把它作为一个 依赖并在插件页面上给你一个可切换的组件行：

```bash
dsh plugin --profile web add @zhangzhian/dsh-devtools
```

清单包还启用 **right-Sidebar浏览器** （`@deepseek-ai/dsh-client-ui-sidebar-browser`)，平台船只被禁用 Web，通过其 `browser.patch.yml` -所以终端连接就在那里。

此存储库的本地开发循环：

```bash
pnpm install
pnpm --filter @zhangzhian/dsh-devtools-terminal build
node scripts/profile-link.mjs     # link every package declaring dsh.client into ~/.dsh/profiles/web
node scripts/smoke-terminal-links.mjs   # real browser + real PTY smoke (link lands in the Sidebar browser)
```

安装或重建后，让运行 `dsh web` 重新发现插件 （重新启动它，或者等待ssh -hmr重新加载）。 **DSH安装没有变化 它本身是需要的** -新机器、新版本或远程SSH环境 只需要安装一次插件。

## 它提供了什么

-   右侧栏终端（多个选项卡）；将URL悬停会显示下划线和 指针游标；
-   **Ctrl / Cmd + click** 控件中的链接 **右边栏浏览器选项卡** - - - - - - `ctx.sidebarRight.openTab('browser', { params: { url } })`;平台挑选 载体：网络和手机上的iframe，原生的 `<webview>` 在桌面 (dsh-electron航母)。地址栏，后退/前进/重新加载和“在系统中打开” 浏览器"都来自那个面板；
-   当浏览器选项卡是 **不可用** (配置文件禁用了该行，或者 平台版本没有这样的选项卡类型)，它回落到 `window.open(..., 'noopener,noreferrer')` - Web上的一个新浏览器选项卡 系统浏览器通过桌面载体。退路永远不会吞噬一切 点击;
-   普通点击不打开（选择和光标的行为和以前一样）；
-   包装url，宽字符，CJK标点符号和平衡括号都是 处理自实端缓冲器；
-   OSC 8超链接遵循相同的规则（取代xterm的默认值） “点击+确认+空白页”回退)；
-   如果终端服务缺席，则正文显示通知，其余部分显示 插件保持工作。

### 为什么侧边栏浏览器是第一位的

开发服务器页面正是面板最擅长处理的：vite / next / 在环回端口上的故事书和后端预览页几乎从不拒绝 框架。启动服务器并在侧边栏中观察它，而不是将DSH留给 另一个浏览器选项卡。公共网站仍然可以显示空白框架，因为 `X-Frame-Options` / `CSP frame-ancestors` -这是一个的物理极限 面板上的“在系统浏览器中打开”（xxx）是出路。

目标规则是一个纯函数(`src/link-target.ts`)和单元测试 固定“面板第一/回落时面板抛出/从不打开非http(s)”； 真正的点击语义在真正的浏览器中由 `scripts/smoke-terminal-links.mjs` (普通点击打开什么，Ctrl/Cmd+点击 在侧边栏浏览器中以零打开 `window.open` 调用)。

## 要求

-   近年来 `0.2.0-rc.2` 或者是更新的（同侪范围） `package.json`);
-   浏览器端运行时: `dsh.client.platform` 是 `web`；
-   主机的终端服务(`@deepseek-ai/dsh-api-terminal-controller`)船只 与 `dsh web` 默认情况下;没有它，身体会显示“不可用”，而不是 失败。

## 常见问题

### @zhangzhian/dsh-devtools-terminal 是什么？

DSH 开发工具：右侧栏终端（Ctrl/Cmd\+点击打开输出里的 URL）

### 如何安装 @zhangzhian/dsh-devtools-terminal？

在项目目录运行 npm install @zhangzhian/dsh-devtools-terminal，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@deepseek-ai/cordis（~4\.0\.4）、@deepseek-ai/dsh-host-webserver（^0\.2\.0-rc\.2）、@deepseek-ai/dsh-client-ui-slots（^0\.2\.0-rc\.2）、@deepseek-ai/dsh-client-ui-primitives（^0\.2\.0-rc\.2）、@deepseek-ai/dsh-client-ui-sidebar-right（^0\.2\.0-rc\.2）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @zhangzhian/dsh-devtools-terminal 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @zhangzhian/dsh-devtools-terminal 支持 ESM 还是 CommonJS？

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

### @zhangzhian/dsh-devtools-terminal 可以商用吗？

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

### @zhangzhian/dsh-devtools-terminal 还在维护吗？

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

