How to use oh-dsh
A single DSH runtime packaged into Electron desktop, browser Web, and terminal TUI interfaces. All three share sessions, skins, plugin marketplace, and local workspace, without separate environment installations.
This article is auto-derived from indexed fields (wiki / faq / compatibility_json), not freshly AI-generated.
This article is derived from the plugin's already-indexed fields (wiki / faq / compatibility_json / readme), not freshly generated by AI. Source field is noted at the end of each section.
Quick start
oh-dsh
— source: plugin_wiki.wiki_content
Install & verify
dsh plugin --profile web add github:hust-open-atom-club/oh-dsh
Run the command above in your DSH Web Profile. Then enable the plugin in the plugin list.
— source: plugins.install
Key points
- **macOS:**打开 DMG,将 Oh-DSH Desktop 拖入 Applications。
- **Windows:**运行安装包,或解压便携版后启动。
- **Linux:**直接运行 AppImage,或使用
apt安装 deb。 - 安装、操作与排错
- 架构设计与插件边界
— source: plugin_wiki.readme_en (fallback readme_raw)
FAQ
Do I need to install Node or DSH runtime separately after installing oh-dsh?
No, you don't need to. Each distribution comes with fixed versions of Node and DSH runtime, just extract and run, no need to pre-install any runtime or additional dependencies.
Is data shared between Desktop, Web, and TUI clients?
Yes, they are interoperable. The three clients share the ~/.ohdsh directory by default for storing sessions, credentials, skins, plugin cache, and plugin states; setting OH_DSH_HOME can uniformly change the data root.
Can I expose oh-dsh Web to others on my local network?
Yes, but you must explicitly add --trusted-host. Web defaults to listening only on 127.0.0.1; using 0.0.0.0 without trusted-host will be rejected on startup.
Can I install plugins in TUI mode? Can I manage plugins?
Installation transactions can be successfully committed on all three clients, but only plugins that declare TUI support will actually take effect in TUI. Management and preview operations are done via /plugins (or Ctrl+M).
Do plugin installation requests and Agent installing plugins for me in the terminal go through the same workflow?
Yes. Humans and Agents share the same transaction manager, which includes four stages: preview, risk approval, apply, and rollback; Agents cannot bypass approval to directly modify the current Profile.
Can I migrate old Oh-DSH-Desktop data to the new shared directory?
When starting the new version of Desktop or Web for the first time, it will automatically migrate sessions, plugins, and skin preferences from the old Oh-DSH-Desktop app data directory or ~/.oh-dsh-web/dsh to ~/.ohdsh; the old directory won't be modified, allowing for rollback.
Will running two oh-dsh processes at the same time conflict?
It won't destroy data, but only one process can write to ~/.ohdsh. Other processes will enter read-only mode to view history and cannot write active sessions during that time; writing will automatically resume after the write lock is released.
How does oh-dsh handle image recognition?
All three clients share the built-in @oh-dsh/vision plugin, which provides a view_image tool for OCR, image analysis, and UI diagnosis of images in the workspace, HTTP(S) images, or image data URLs; it defaults to calling Zhipu glm-4.6v-flash, but can be configured to use local Ollama/LM Studio models.
Are both macOS arm64 and Windows x64 supported?
Yes, supported. Distributions cover macOS (arm64/x64), Linux x64, and Windows x64; the packaging scripts dist:mac, dist:linux, dist:win, dist:web, dist:tui correspond to different forms.
Where can I find the version number and release notes?
The version number displayed uniformly across all interfaces comes from the repository tag (see the latest tag parsing in src/version.ts); detailed macOS, Windows, Linux, Web packaging steps and signing requirements are in docs/usage.md.
— source: plugin_wiki.faq_json
Compatibility
- DSH: 0.1.0-rc.6+(pinned,上游 DSH 运行时内嵌于发行版)
- Node: >=24(自带 Node runtime,用户无需自行安装)
— source: plugin_wiki.compatibility_json
Pitfalls
Review the upstream repo before installing. This guide is auto-derived from indexed fields and may lag the latest release. If anything contradicts the official docs, treat the upstream source as authoritative.
— source: general rule