Skip to main content

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

— 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