---
title: "安装 DSH TUI 0.12.0 并配置终端会话权限"
seo_title: "DSH TUI 0.12.0 教程：安装、权限与会话恢复"
description: "介绍 DeepSeek Harness（DSH）TUI 0.12.0 在 0.2.0-rc.2 上的 npm 安装、模型与 Preset 配置、工具审批、会话恢复，以及 Windows 高权限风险。"
canonical: https://52dsh.com/tutorials/ccch1mneyyy-dsh-tui-install-config/
authors: ["52DSH 编辑部"]
audience: []
outcomes: []
prerequisites: ["Node.js 与 pnpm","独立 web Profile","可丢弃测试工作区"]
difficulty: advanced
estimated_action_time: null
next_steps: null
published_at: 2026-08-22
updated_at: 2026-10-02
verified_on: 2026-10-02
maintenance_status: community
verification_level: source_reviewed
risk_level: high
dsh_version: 0.2.0-rc.2
plugin_id: ccch1mneyyy-dsh-tui
tutorial_kind: plugin_configuration
related_plugin_url: https://52dsh.com/plugins/ccch1mneyyy-dsh-tui/
---

# 安装 DSH TUI 0.12.0 并配置终端会话权限

介绍 DeepSeek Harness（DSH）TUI 0.12.0 在 0.2.0-rc.2 上的 npm 安装、模型与 Preset 配置、工具审批、会话恢复，以及 Windows 高权限风险。

<!-- BEGIN REVIEWED GUIDE SUPPLEMENT -->
## 2026-10-02 更新到 dsh-TUI 0.12.0，适配 DSH 0.2.0-rc.2

本页安装目标更新为 `@deepseek-harness-tui/dsh-tui@0.12.0`，命令固定使用 DSH 0.2.0-rc.2。新版本声明兼容 0.2.0-rc.2；本站只做了固定版本的源码与发布包静态复核，没有安装或运行。

- 安装方式改为 npm 包 `@deepseek-harness-tui/dsh-tui`：作者明确说明不支持用 Git URL 安装（源码依赖 workspace 包和子模块），本站原来的 GitHub 固定提交安装方式不再使用。
- 必须在真实终端里启动；由 DSH Web 等非终端宿主启动时 TUI 会自动跳过。
- **Windows 用户注意：** 作者的 Windows Profile 默认 `danger-full-access` 且审批为 `never`，工具没有沙箱和确认；接触敏感目录或不可信仓库前先收紧。

**仍在使用 DSH 0.1.x：** 仍在使用 DSH 0.1.x 的用户请不要升级到 0.12.0：它的部分 peer 只接受 DSH 0.2.0-rc.1/rc.2，安装会被宿主门禁拒绝；可继续使用本站此前记录的 dsh-TUI 0.9.3（文档基线 DSH 0.1.1-rc.2）。由于作者不支持 Git URL 安装，旧版建议改用 npm 包 @deepseek-harness-tui/dsh-tui@0.9.3（对应 tag v0.9.3 提交 a3439a3，比本站当时审阅的 main 提交 2dfab279 略早）。

依据：[固定证据 1](https://github.com/ccch1mneyyy/dsh-TUI/blob/3066b29113bde90606921b64bcf7c25fad31068d/README.md)、[固定证据 2](https://github.com/ccch1mneyyy/dsh-TUI/blob/3066b29113bde90606921b64bcf7c25fad31068d/docs/getting-started.md)。
<!-- END REVIEWED GUIDE SUPPLEMENT -->

为 DeepSeek Harness 提供 Claude Code 风格终端入口，支持流式状态、工具审批、会话管理、终端图片与公式、模型与 Preset 切换、Skills、MCP、子 Agent，以及内置订阅与 DeepSeek 账号登录。

如果你的目标是安装终端界面并正确配置模型、Preset、会话恢复和工具审批，本教程会说明如何在 DeepSeek Harness（DSH）中准备、安装、配置、验证和回退 dsh-TUI。本文锁定作者仓库提交 `3066b29113bd`；已复核固定提交的原始资料，未进行运行实测。

> 对应插件：[查看 dsh-TUI 的功能、权限与兼容性说明](/plugins/ccch1mneyyy-dsh-tui/)。先确认它适合你的工作流，再执行安装。

## 先确认是否适合你

- **分类**：界面交互
- **风险等级**：high
- **核验证据**：source_reviewed
- **兼容性边界**：0.12.0 的 dsh-* peer 声明覆盖 DSH 0.2.0-rc.1 与 0.2.0-rc.2，按 semver 7 判定满足 0.2.0-rc.2；dsh-deepseek-account 与 dsh-host-webserver 只接受 0.2.0 系列，0.1.x 宿主会被安装门禁拒绝。52DSH 仅做固定发行源码与 npm 包静态复核，未在真实 TTY、Windows、SSH 或 Herdr 中运行。
- **主要权限关注**：复用所选 DSH Profile 的模型凭据、工具、文件、Shell、审批和会话存储，自身无沙箱；Windows 默认 danger-full-access 且 approval=never。新增内置 OAuth 保存长期 refresh token，DeepSeek 账号登录会在 127.0.0.1 启动本地回调监听；/update 会改写 profile 的 pnpm-workspace.yaml。

如果你准备在重要工作区使用，先阅读插件详情页的权限和数据流说明；“源码已审阅”或“资料已整理”都不等于安全认证。

## 安装前准备

**本页 DSH 命令版本：** `0.2.0-rc.2`。0.12.0 的 DSH peer 覆盖 0.2.0-rc.1 与 0.2.0-rc.2，其中 dsh-deepseek-account、dsh-host-webserver 只接受 0.2.0 系列，本页固定 DSH 0.2.0-rc.2；DSH 0.1.x 用户继续使用 0.9.3。仅静态复核，未在本站运行验证。

- **DSH 0.2.0-rc.2**：0.12.0 的部分 peer 只接受 0.2.0-rc.1 或 rc.2，旧宿主会被安装门禁拒绝。
- **Node.js 与 pnpm 10+**：Node.js 需满足 ^22.19 或 >=24；pnpm 9 会导致 TUI 启动后立即退出。
- **交互式终端**：必须在真实 TTY 中启动；由 DSH Web 等非终端宿主启动时 TUI 会自动跳过。
- **专用测试 Profile**：作者默认使用 dsh-tui Profile；在已有 Profile 上安装前先备份用户 cordis.patch.yml。
- **测试模型凭据**：只使用测试 Provider 或测试账号，不把密钥、token 写入仓库或截图。

1. 安装 Node.js 22.19、Node.js 24 或项目当前声明支持的更高版本，并确认 `pnpm` 可用。
2. 使用独立的 `web` Profile 和可丢弃测试工作区，不直接连接生产目录。
3. 备份当前 Profile 配置，并记录安装前的 `--dump-config` 输出。
4. 核对固定来源中的外部服务、账号、运行时和平台限制。
5. 需要凭据时只准备测试凭据；本页识别到的候选变量包括 `DEEPSEEK_API_KEY`、`DEEPSEEK_BASE_URL`、`DSH_PERMISSION_MODE`、`DSH_TUI_SESSION_ROOT`、`DSH_AUTH_CREDENTIALS`、`DSH_TUI_RENDER_LOG`。

## 安装 dsh-TUI

52DSH 使用目录中记录的精确安装目标，避免直接跟随可能变化的默认分支：

```bash
npx --yes @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add @deepseek-harness-tui/dsh-tui@0.12.0
```

GitHub 源码插件如果被 pnpm 拦截构建脚本，先检查终端提示的具体包和脚本。只在 `web` Profile 中放行确实需要的构建项，不要全局放行未知依赖。



## 插件专属配置

### 配置目标

- `$DSH_HOME/profiles/web/cordis.patch.yml`：用户覆盖层：调整 dsh-tui 行的模型、推理档位、全屏、图片预览与 Preset；按作者默认安装时对应 profiles/dsh-tui/。
- `dsh-tui-webserver 行（同一 cordis.patch.yml）`：DeepSeek 账号登录的本地回调监听，默认 127.0.0.1 随机端口；SSH 场景可改固定端口。
- `dsh-tui-auth 行（同一 cordis.patch.yml）`：内置订阅 OAuth 的 providers、credentialsFile 与 modelOverrides；覆盖时是整段替换。

### 环境变量

- `DEEPSEEK_API_KEY`（可选），敏感：使用 deepseek-official 路由时需要；改用 deepseek-account 账号登录时可不设置。
- `DEEPSEEK_BASE_URL`（可选）：覆盖 DeepSeek 兼容 API 端点，也影响余额查询地址。
- `DSH_PERMISSION_MODE`（可选）：非 Windows 平台覆盖 sandbox policy；Windows 需直接核对 Profile。
- `DSH_TUI_SESSION_ROOT`（可选）：覆盖 JSONL 会话根目录，默认 $DSH_HOME/sessions。
- `DSH_AUTH_CREDENTIALS`（可选），敏感：覆盖内置 OAuth 凭据文件路径，文件内含长期 refresh token。
- `DSH_TUI_RENDER_LOG`（可选），敏感：记录原始渲染帧，可能捕获提示词与工具输出，排障后应删除。
- `DSH_TELEMETRY_MODE`（可选）：TUI 补丁默认把遥测设为 DISABLED，显式设置此变量才会改变。

### TUI 常用覆盖示例

证据：[固定来源](https://github.com/ccch1mneyyy/dsh-TUI/blob/3066b29113bde90606921b64bcf7c25fad31068d/docs/configuration.md)。将路径、账号和凭据占位符替换为测试值。

```yaml
- id: dsh-tui
  config:
    provider: deepseek-official
    model: deepseek-flash
    effort: max
    activity: true
    contextBar: true
    fullscreen: false
    terminalImages: true
```

### SSH 远程登录固定回调端口

证据：[固定来源](https://github.com/ccch1mneyyy/dsh-TUI/blob/3066b29113bde90606921b64bcf7c25fad31068d/docs/configuration.md)。将路径、账号和凭据占位符替换为测试值。

```yaml
- id: dsh-tui-webserver
  config:
    host: 127.0.0.1
    port: 43123
```

### 安装后设置

1. 在测试项目目录的终端中运行 npx --yes @deepseek-ai/dsh@0.2.0-rc.2 --profile web 启动 TUI；按作者默认安装到 dsh-tui Profile 时改用 --profile dsh-tui。
2. 先运行 /preset status 与 /permission，确认实际 Preset、sandbox 和 approval。
3. Windows 用户在接触敏感目录前先收紧 danger-full-access 与 approval=never。
4. 如需 DeepSeek 账号登录，运行 /auth login deepseek-account，再用 /model 选择 deepseek-account 下的模型；它与需要 DEEPSEEK_API_KEY 的 deepseek-official 是不同路由。


## 配置验证与成功结果

先导出配置，再启动同一版本的 DSH Web：

```bash
npx --yes @deepseek-ai/dsh@0.2.0-rc.2 --profile web --dump-config
npx --yes @deepseek-ai/dsh@0.2.0-rc.2 web
```

1. **确认组合配置中出现 dsh-tui、dsh-tui-auth 与 working-activity 行。**

   ```bash
   npx --yes @deepseek-ai/dsh@0.2.0-rc.2 --profile web --dump-config
   ```

   期望结果：能看到 @deepseek-harness-tui/dsh-tui 及其补丁行，没有重复的 dsh-working-activity。

2. **在空测试仓库启动 TUI 并发送一个只读问题。**

   期望结果：流式输出正常，横幅显示 v0.12.0，状态行可见且没有文件变化。

3. **在足够高的终端窗口里触发一个需要审批的低风险测试动作。**

   期望结果：审批选项完整可见，行为符合当前 Profile；Windows 上不得假定存在沙箱。

## 第一次使用

- 用 /resume 查看测试工作区会话，再用 /new 创建空会话并确认模型和权限状态。
- 运行 /auth status 查看各账号登录状态，只在测试账号上尝试登录与退登。

## 数据、权限与凭据

**数据流：**终端输入、附件与设置 → DSH Agent、会话日志和所选模型/工具 → session 事件、审批与插件 API → TUI Channel 和 Ink 界面返回终端；登录流程经浏览器与本地回调交给宿主或 pi-ai 凭据文件，更新检查访问配置的 npm registry。

**权限关注：**复用所选 DSH Profile 的模型凭据、工具、文件、Shell、审批和会话存储，自身无沙箱；Windows 默认 danger-full-access 且 approval=never。新增内置 OAuth 保存长期 refresh token，DeepSeek 账号登录会在 127.0.0.1 启动本地回调监听；/update 会改写 profile 的 pnpm-workspace.yaml。

**数据存储：**会话写入 $DSH_HOME/sessions；TUI 偏好、输入历史、resume.txt 与 restart.log 写入 ~/.dsh-tui；/provider 添加的 API key 写入 ~/.dsh/.credentials.yaml；内置 OAuth 的 refresh token 写入 $DSH_HOME/dsh-auth/credentials.json；DeepSeek 账号凭据由宿主保存。

真实 Token、API Key、Cookie 和账号 ID 不应写进 Git 仓库、网页截图或公开 Issue。测试结束后撤销临时凭据。

## 卸载、回退与清理

停止 DSH 后，从同一个 Profile 移除包：

```bash
npx --yes @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web remove @deepseek-harness-tui/dsh-tui
```

1. 导出需要保留的测试会话后，运行 npx --yes @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web remove @deepseek-harness-tui/dsh-tui。
2. 用 /auth logout 退出测试账号，删除不再需要的 dsh-auth/credentials.json 与 .credentials.yaml 中的测试条目，并在服务端撤销测试凭据。
3. 删除不再需要的 ~/.dsh-tui 偏好、restart.log 与调试渲染日志；若曾全局安装启动器，同时卸载全局 @deepseek-harness-tui/dsh-tui。

## 常见问题

### 安装被门禁拒绝并提示与 dsh 0.1.x 不兼容

0.12.0 只适配 DSH 0.2.0-rc.1/rc.2；升级宿主到 0.2.0-rc.2，或继续使用旧插件版本，不要用版本豁免强行安装。

### 用 GitHub 地址安装报 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 WORKSPACE_PKG_NOT_FOUND

作者不支持 Git URL 安装，改用 npm 包 @deepseek-harness-tui/dsh-tui@0.12.0。

### 启动后权限过大

停止 TUI，检查 Profile 的 sandbox 与 approval；不要用功能测试代替权限核对。

### 全屏下看不到审批选项

放大终端窗口或在覆盖层把 fullscreen 设为 false；看不清命令全貌时选择拒绝。

### /update 后新功能没有生效

若同时存在全局安装，DSH 可能仍读取旧全局补丁；同步把全局包对齐到同一版本后重启。

### 启动后立即退出且几乎没有报错

检查 pnpm 版本，升级到 10 及以上后重新安装插件。

### 安装成功但页面或命令没有出现

先运行 `--dump-config` 确认 Bundle 已进入 `web` Profile，再重启 DSH Web 并硬刷新浏览器。不要通过反复扩大权限来解决加载问题。

### 插件运行后没有得到预期结果

把问题缩小到本页的最小验证任务，检查作者文档要求的变量、外部服务和平台限制。保存终端错误原文，并核对当前安装目标是否仍对应本页固定提交。

作者提供了独立故障文档，可从下方“固定来源证据”进入；本页没有把整份 README 复制过来。

## 固定来源证据

以下资料是本文配置结论的依据：

- [README.md](https://github.com/ccch1mneyyy/dsh-TUI/blob/3066b29113bde90606921b64bcf7c25fad31068d/README.md)
- [docs/configuration.md](https://github.com/ccch1mneyyy/dsh-TUI/blob/3066b29113bde90606921b64bcf7c25fad31068d/docs/configuration.md)
- [docs/README.md](https://github.com/ccch1mneyyy/dsh-TUI/blob/3066b29113bde90606921b64bcf7c25fad31068d/docs/README.md)
- [docs/configuration.en.md](https://github.com/ccch1mneyyy/dsh-TUI/blob/3066b29113bde90606921b64bcf7c25fad31068d/docs/configuration.en.md)
- [docs/getting-started.en.md](https://github.com/ccch1mneyyy/dsh-TUI/blob/3066b29113bde90606921b64bcf7c25fad31068d/docs/getting-started.en.md)
- [docs/user-guide.en.md](https://github.com/ccch1mneyyy/dsh-TUI/blob/3066b29113bde90606921b64bcf7c25fad31068d/docs/user-guide.en.md)

继续查看：[返回 dsh-TUI 插件详情页](/plugins/ccch1mneyyy-dsh-tui/)，重新核对兼容性、权限、同类插件和来源状态。

## 原始来源

- https://github.com/ccch1mneyyy/dsh-TUI
- https://github.com/ccch1mneyyy/dsh-TUI/blob/3066b29113bde90606921b64bcf7c25fad31068d/package.json
- https://github.com/deepseek-ai/deepseek-harness/blob/639ed015397290b3745d163aafe02ffee4aa3f84/packages/boot/app-boot/src/plugin-compatibility.ts
- https://github.com/ccch1mneyyy/dsh-TUI/blob/3066b29113bde90606921b64bcf7c25fad31068d/README.md
- https://github.com/ccch1mneyyy/dsh-TUI/blob/3066b29113bde90606921b64bcf7c25fad31068d/docs/configuration.md
- https://github.com/ccch1mneyyy/dsh-TUI/blob/3066b29113bde90606921b64bcf7c25fad31068d/docs/README.md
- https://github.com/ccch1mneyyy/dsh-TUI/blob/3066b29113bde90606921b64bcf7c25fad31068d/docs/configuration.en.md
- https://github.com/ccch1mneyyy/dsh-TUI/blob/3066b29113bde90606921b64bcf7c25fad31068d/docs/getting-started.md
