oh-dsh 是什么?一套 DSH runtime 的 Desktop、Web 与 TUI 三端开发体验
oh-dsh(Oh-DSH)是一套 DSH runtime 界面插件,它把 DeepSeek Harness、Node.js 与内置插件打包成 Desktop、Web 与 TUI 三种可安装发行版,用同一个 ohdsh 命令启动,解决「换一种环境就要重新适应界面、还要单独装 Node.js」的繁琐。 本文介绍 oh-dsh 是什么、核心功能、完整的安装更新卸载命令与典型用法,帮你把 AI Agent、Workspace、本地工具与插件生态带进自己习惯的界面。
oh-dsh 是什么?
oh-dsh 解决的是「在不同环境里使用 DSH 界面不一致、环境配置繁琐」的问题:它把 DSH runtime 连同 Node.js 一起打包成桌面应用、网页服务与终端程序,安装即用、三端体验统一。 以下定位与事实来自官方 README 与使用文档(来源):
oh-dsh(GitHub 仓库 hust-open-atom-club/oh-dsh)由 hust-open-atom-club 维护,MIT 协议开源,是 DSH Plugin 生态里的界面类插件。它把上游 DeepSeek Harness 运行时、本地开发工具和内置插件打包,模型服务仍可按需跑在云端,而 Workspace、终端、Git Review、浏览器、文件与会话状态由本地工作台统一组织。三端共用数据根 ~/.ohdsh 却保留各自独立 Profile,还共享同一份 Agent preset 名册;每种发行自带固定版本的 DSH 与 Node runtime,不要求你单独安装运行环境。它保留上游实现与署名,在之上提供统一启动器、跨端皮肤与发行打包,因此安装 oh-dsh 不会改变 DeepSeek Harness 本身的会话与插件加载机制。
oh-dsh 的核心功能有哪些?
核心能力围绕「三端一致、本地工作台、代码评审、插件生态、跨端皮肤、可拆分发行」展开:同一个 ohdsh 命令在不同形态之间切换,把开发常用的工具都收进一个工作台。 以下能力来自官方 README 与使用文档(来源):
- 三种交互界面:用同一个
ohdsh命令启动 Desktop、Web 或 TUI,三端共享会话、凭据、皮肤与插件缓存,同时保留独立 Profile。 - 本地开发工作台:内置 Workspace、PTY 终端、浏览器、文件浏览、Side chat 与 Trajectory,面板可折叠、固定、分屏或全屏展开。
- Git Review:查看工作区改动与 commit diff,在代码行上添加 review comment,并在同一侧栏完成分支、提交与推送。
- 内置插件市场:Desktop、Web 与 TUI 都能检索、预览与安装插件,共享同一套交易与恢复状态,并明确标注插件实际生效的界面(有些插件只在 Web 或 Desktop 生效、在 TUI 不生效)。
- 跨端皮肤:
@oh-dsh/skins为三端提供统一主题,并针对各界面的布局与可读性分别适配。 - 可拆分发行:按需安装完整版、Web-only 或 TUI-only,每种发行都自带固定版本的 DSH 与 Node runtime,web 与 tui 可并行安装、互不影响。
怎么安装与启用 oh-dsh?
安装 oh-dsh 有两条路:把它作为 DSH Plugin 装进 Web profile,或直接跑官方安装脚本装成独立应用;独立安装默认只装 TUI,桌面与 Web 要用 --surface 显式指定。 命令来自官方 README 与插件元数据(来源):
1. 作为 DSH Plugin 安装(可选):在 DSH 宿主执行安装命令,把 oh-dsh 装入 Web profile,之后可在「设置 → 插件」中统一管理:
dsh plugin --profile web add github:hust-open-atom-club/oh-dsh
2. 从官方安装脚本安装(macOS / Linux,默认 TUI):仓库根目录的 install.sh 不需要克隆仓库,默认安装 TUI 并把 ohdsh 注册到 ~/.local/bin:
curl -fsSL https://raw.githubusercontent.com/hust-open-atom-club/oh-dsh/main/install.sh | bash
3. 需要 Web 或 Desktop 时显式选择发行形态:分别使用 --surface web 或 --surface desktop,桌面形态会创建应用入口:
curl -fsSL https://raw.githubusercontent.com/hust-open-atom-club/oh-dsh/main/install.sh | bash -s -- --surface web
curl -fsSL https://raw.githubusercontent.com/hust-open-atom-club/oh-dsh/main/install.sh | bash -s -- --surface desktop
4. 从 Windows 安装:Windows 使用同等的 install.ps1,不带参数时同样默认安装 TUI:
irm https://raw.githubusercontent.com/hust-open-atom-club/oh-dsh/main/install.ps1 | iex
5. 启动已安装的界面:ohdsh 会按子命令路由到已安装的 surface;gui 是 desktop 的别名,ohdsh 只会启动已经安装的 surface:
ohdsh desktop
ohdsh web
ohdsh tui
6. 更新(update)插件:独立安装重复执行同一命令即为原地升级,升级校验通过后原子替换旧载荷;也可直接运行更新命令:
ohdsh update
7. 卸载插件:独立安装用 --uninstall 按 surface 卸载;以 DSH Plugin 形式装进 profile 的,在宿主插件管理中移除即可:
sh install.sh --uninstall --surface tui
dsh plugin remove oh-dsh
oh-dsh 典型用法
装完即用:先 ohdsh web 或 ohdsh tui 进入界面,再在本地工作台里做对话、开终端、跑 Git Review,需要隔离测试时用 OH_DSH_HOME 或 --data 另起数据目录。 步骤来自官方使用文档(来源):
1. 启动 Web 界面:运行 ohdsh web 会启动 HTTP 服务并打印访问地址,在浏览器打开即可使用:
ohdsh web
2. 指定或随机选择 Web 端口:端口被占用时用 --port 指定,排查阶段可用随机端口并禁止自动打开浏览器:
ohdsh web --port 3080
ohdsh web --port 0 --no-open
3. 在 TUI 中切换 Agent preset:进入终端界面后,在空白会话输入斜杠命令切换 preset,liangshen 是随发行版提供的模式:
/preset liangshen
4. 使用本地工作台与 Git Review:在 Desktop 或 Web 中打开 Workspace 目录,用内置 PTY 终端跑命令;改动后到 Git Review 侧栏查看 diff、在代码行加评论,再完成分支、提交与推送。三端共用同一插件市场,TUI 中可输入 /plugins(或按 Ctrl+M)打开终端市场。
5. 用独立数据目录做隔离测试:设置 OH_DSH_HOME 可让某次启动使用全新数据根,互不污染日常会话:
OH_DSH_HOME=/tmp/ohdsh ohdsh web
oh-dsh 常见问题与排错
oh-dsh 的高频问题集中在 surface 没装、PATH 没加载、Web 端口冲突与 macOS 首次打开被拦,分别用显式 --surface、重开终端、随机端口与右键打开解决。 依据来自官方使用文档(来源):
1. 提示 surface 未安装:症状是执行 ohdsh web 或 ohdsh desktop 时报错说该界面未安装。原因:ohdsh 只会启动已经安装的 surface,默认安装只带 TUI。解决:用 --surface web 或 --surface desktop 重跑安装脚本,装完重新打开终端。
2. 找不到 ohdsh 命令:症状是新终端里提示 command not found。原因:安装器把启动器放在 ~/.local/bin(Windows 在用户 PATH 目录),当前终端还没有加载新 PATH。解决:重新打开终端,先运行 ohdsh --help 确认 CLI 来源与参数:
ohdsh --help
3. Web 界面启动异常或端口占用:症状是 ohdsh web 起不来或地址打不开。原因:3080 等默认端口被占用,或服务参数不对。解决:用随机端口验证服务本身可用,--no-open 避免重复打开浏览器:
ohdsh web --port 0 --no-open
4. macOS 提示无法打开应用:症状是首次运行 Desktop 时被系统拦截(未公证构建)。原因:测试构建未经过 Apple 公证,Gatekeeper 默认阻止。解决:在 Finder 中右键应用选择「打开」放行一次,或对已下载的 DMG 清除隔离属性:
xattr -d com.apple.quarantine ~/Downloads/Oh-DSH-Desktop-*.dmg
适用场景与注意
oh-dsh 适合想要「桌面应用、浏览器、纯终端一套体验」的 DSH 重度用户:本地开发在 Desktop,浏览器与服务器用 Web-only,SSH 与纯终端用 TUI-only,三者数据一致。 适用性与限制来自官方使用文档(来源):
典型场景包括:本地开发工作台——打开 Workspace 后在同一窗口里对话、开 PTY 终端、浏览文件并做 Git Review;轻量/远程部署——在服务器或浏览器环境装 Web-only,不需要 Electron;纯终端环境——通过 SSH 使用 TUI-only,体验接近上游 dsh-TUI。需要留意的限制有:插件市场会标注插件实际生效的界面,安装可能三端都成功,但某些插件只在 Web 或 Desktop 生效、在 TUI 不生效;同一时间只有一个 oh-dsh 前端持有共享数据根的写入权,其他前端只能只读启动;三端默认不加载 ~/.dsh 里的全局插件配置;每个 surface 启动时会做一次更新检查(离线时静默失败,可用 OH_DSH_UPDATE_CHECK=0 关闭);macOS 的未公证构建首次运行需要右键「打开」放行。
项目链接
oh-dsh 是 hust-open-atom-club 维护的 MIT 开源项目,作为一套 DSH runtime 提供 Desktop、Web 与 TUI 三端开发体验并持续迭代。 想查看完整功能、截图与插件信息,欢迎访问本站的 oh-dsh 插件详情页:oh-dsh。
本页是基于该插件官方 README 独立重写的导读——权威文档和最新变更请以源头为准:hust-open-atom-club/oh-dsh。插件是安装时就在你机器上运行的第三方代码;收录不代表背书——安装前请自行审阅源码。
常见问题
oh-dsh 只会启动已安装的 surface。提示未安装时,用官方脚本显式指定发行形态,例如 --surface web 或 --surface desktop;安装完成后重新打开终端,让 PATH 加载新启动器。
oh-dsh 的 Desktop、Web 与 TUI 默认共用 ~/.ohdsh 存放缓存、配置、会话、凭据与插件状态,同时保留独立 Profile。设置 OH_DSH_HOME 环境变量可统一更换数据目录,实现隔离实例。
oh-dsh 的 view_image 工具支持对 Workspace 内的本地图片、HTTP(S) 图片或 image data URL 做 OCR、读图与界面诊断。TUI 没有图形化缩略图,在消息中提供图片路径或 URL 即可调用同一能力。
oh-dsh 的 liangshen 模式让主 Agent 与子 Agent 首轮只保留 Minimal 双工具,首次工具调用后开放完整工具目录。Web 或 Desktop 在 Agent preset 中选择,TUI 用 /preset 切换。
不会。oh-dsh 安装器在校验发布资产的 SHA-256 摘要之前不会触碰旧安装,下载失败、摘要不匹配或解压中断都保持原安装可用。重复执行同一命令即为原地升级,install.sh 的 --uninstall 按 surface 卸载。
oh-dsh 作为 DSH Plugin 安装时执行 dsh plugin --profile web add github:hust-open-atom-club/oh-dsh;更新重跑该命令,卸载运行 dsh plugin remove oh-dsh。
相关术语
- oh-dsh
- oh-dsh(Oh-DSH)是 hust-open-atom-club 维护的 DSH runtime 界面插件,把 DeepSeek Harness、Node.js 与内置插件打包为 Desktop、Web 与 TUI 三种可安装发行版。— oh-dsh README
- surface(发行形态)
- surface 是 oh-dsh 对交互界面的称呼,指 desktop、web 与 tui 三种发行形态;每个 surface 单独安装、互相独立,由同一个 ohdsh 启动器按子命令路由。— oh-dsh README
- view_image
- view_image 是 oh-dsh 内置的视觉工具,可对 Workspace 内本地图片、HTTP(S) 图片或 image data URL 做 OCR、读图与界面诊断,三端共用同一能力。— oh-dsh README
- liangshen(梁神模式)
- liangshen 是 oh-dsh 随发行版提供的 Agent preset,让主 Agent 与子 Agent 首轮保持 Minimal 双工具,首次工具调用后开放完整工具目录,压缩后重新锚定。— oh-dsh README
- OH_DSH_HOME
- OH_DSH_HOME 是 oh-dsh 的数据目录环境变量,默认三端共用 ~/.ohdsh;设置后缓存、配置、会话、凭据与插件状态统一使用新目录。— oh-dsh README