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

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

社区整理已复核原始来源
DSH
0.2.0-rc.2
系统
Windows / macOS / Linux
风险
high
本页目录(11)
对应插件dsh-TUI

先查看功能、兼容性、权限和同类选择,再按本文操作。

查看插件详情 →
<!-- BEGIN REVIEWED GUIDE SUPPLEMENT -->

2026-10-02 更新到 dsh-TUI 0.12.0,适配 DSH 0.2.0-rc.2

本页安装目标更新为 @deepseek-harness-tui/[email protected],命令固定使用 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/[email protected](对应 tag v0.9.3 提交 a3439a3,比本站当时审阅的 main 提交 2dfab279 略早)。

依据:固定证据 1(外部链接,在新标签页打开)、固定证据 2(外部链接,在新标签页打开)。

<!-- END REVIEWED GUIDE SUPPLEMENT -->

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

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

对应插件:查看 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 使用目录中记录的精确安装目标,避免直接跟随可能变化的默认分支:

npx --yes @deepseek-ai/[email protected] plugin --profile web add @deepseek-harness-tui/[email protected]

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 常用覆盖示例

证据:固定来源(外部链接,在新标签页打开)。将路径、账号和凭据占位符替换为测试值。

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

SSH 远程登录固定回调端口

证据:固定来源(外部链接,在新标签页打开)。将路径、账号和凭据占位符替换为测试值。

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

安装后设置

  1. 在测试项目目录的终端中运行 npx --yes @deepseek-ai/[email protected] --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:

npx --yes @deepseek-ai/[email protected] --profile web --dump-config
npx --yes @deepseek-ai/[email protected] web
  1. 确认组合配置中出现 dsh-tui、dsh-tui-auth 与 working-activity 行。

    npx --yes @deepseek-ai/[email protected] --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 移除包:

npx --yes @deepseek-ai/[email protected] plugin --profile web remove @deepseek-harness-tui/dsh-tui
  1. 导出需要保留的测试会话后,运行 npx --yes @deepseek-ai/[email protected] 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/[email protected]。

启动后权限过大

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

全屏下看不到审批选项

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

/update 后新功能没有生效

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

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

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

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

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

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

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

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

固定来源证据

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

继续查看:返回 dsh-TUI 插件详情页,重新核对兼容性、权限、同类插件和来源状态。

来源与维护信息

本文根据以下原始资料整理。版本变化后,请以官方资料和页面标注的验证日期为准。

完成当前任务后

按结果继续,不要停在文章末尾

已成功

继续完成配置、验证或下一阶段任务。

继续下一步 →
仍未解决

保留现象和错误原文,再进入对应排障路径。

DSH 安装 Git 插件被 allowBuilds 阻止怎么办 →安装和管理 DeepSeek Harness(DSH)插件 →