- DSH
- 0.2.0-rc.2
- 系统
- Windows / macOS / Linux
- 风险
- high
本页目录(11)
先查看功能、兼容性、权限和同类选择,再按本文操作。
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 写入仓库或截图。
- 安装 Node.js 22.19、Node.js 24 或项目当前声明支持的更高版本,并确认
pnpm可用。 - 使用独立的
webProfile 和可丢弃测试工作区,不直接连接生产目录。 - 备份当前 Profile 配置,并记录安装前的
--dump-config输出。 - 核对固定来源中的外部服务、账号、运行时和平台限制。
- 需要凭据时只准备测试凭据;本页识别到的候选变量包括
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
安装后设置
- 在测试项目目录的终端中运行 npx --yes @deepseek-ai/[email protected] --profile web 启动 TUI;按作者默认安装到 dsh-tui Profile 时改用 --profile dsh-tui。
- 先运行 /preset status 与 /permission,确认实际 Preset、sandbox 和 approval。
- Windows 用户在接触敏感目录前先收紧 danger-full-access 与 approval=never。
- 如需 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
-
确认组合配置中出现 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。
-
在空测试仓库启动 TUI 并发送一个只读问题。
期望结果:流式输出正常,横幅显示 v0.12.0,状态行可见且没有文件变化。
-
在足够高的终端窗口里触发一个需要审批的低风险测试动作。
期望结果:审批选项完整可见,行为符合当前 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
- 导出需要保留的测试会话后,运行 npx --yes @deepseek-ai/[email protected] plugin --profile web remove @deepseek-harness-tui/dsh-tui。
- 用 /auth logout 退出测试账号,删除不再需要的 dsh-auth/credentials.json 与 .credentials.yaml 中的测试条目,并在服务端撤销测试凭据。
- 删除不再需要的 ~/.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 复制过来。
固定来源证据
以下资料是本文配置结论的依据:
- README.md(外部链接,在新标签页打开)
- docs/configuration.md(外部链接,在新标签页打开)
- docs/README.md(外部链接,在新标签页打开)
- docs/configuration.en.md(外部链接,在新标签页打开)
- docs/getting-started.en.md(外部链接,在新标签页打开)
- docs/user-guide.en.md(外部链接,在新标签页打开)
继续查看:返回 dsh-TUI 插件详情页,重新核对兼容性、权限、同类插件和来源状态。
来源与维护信息
本文根据以下原始资料整理。版本变化后,请以官方资料和页面标注的验证日期为准。
- GitHub:ccch1mneyyy/dsh-TUI(外部链接,在新标签页打开)
- GitHub:ccch1mneyyy/dsh-TUI 固定提交 package.json(外部链接,在新标签页打开)
- GitHub:deepseek-ai/deepseek-harness 固定提交 plugin-compatibility.ts(外部链接,在新标签页打开)
- GitHub:ccch1mneyyy/dsh-TUI 固定提交 README.md(外部链接,在新标签页打开)
- GitHub:ccch1mneyyy/dsh-TUI 固定提交 configuration.md(外部链接,在新标签页打开)
- GitHub:ccch1mneyyy/dsh-TUI 固定提交 README.md(外部链接,在新标签页打开)
- GitHub:ccch1mneyyy/dsh-TUI 固定提交 configuration.en.md(外部链接,在新标签页打开)
- GitHub:ccch1mneyyy/dsh-TUI 固定提交 getting-started.md(外部链接,在新标签页打开)