Introduction¶
The DeepSeek Harness (DSH) Web interface is designed primarily for desktop environments. When used on a mobile phone, it suffers from issues such as overly small controls, a lack of gesture interactions, and layout misalignment. dsh-plugin-mobile-ui is an official slot client plugin designed to adapt DSH’s Web interface for mobile operation. By injecting styles and replacing some components, it implements features such as drawer navigation, keyboard adaptation, and landscape support without modifying the DSH source code.
Plugin Overview¶
- Name: dsh-plugin-mobile-ui
- Maintainer: loeissu
- License: MIT
- Positioning: An official slot client plugin. It does not fork
dsh-tetherand does not modify the DSH source code.
Core Features¶
The plugin primarily addresses mobile interaction experience issues:
- Drawer navigation: Provides a side-swiping navigation panel similar to a native app.
- Splash page: Optimizes the display for cold start and warm start.
- Keyboard adaptation: Uses visualViewport to handle soft keyboard occlusion.
- Landscape support: Adapts the layout for landscape orientation.
- Tool cards: Replaces some official tool cards (read/grep/edit/write) and supports collapsing plus automatic expansion on failure.
- Clipboard assistant: Provides a fallback for Android WebView issues where async clipboard requests are rejected, ensuring copy functionality remains available.
- Automatic reconnection: Automatically attempts to reconnect when the application returns to the foreground.
Installation and Activation¶
Installation requires downloading the release package from GitHub Releases.
- Download
dsh-plugin-mobile-ui-<version>.tgzto a fixed directory (do not place it in%TEMP%). - Run the install command:
dsh plugin --profile web add <那个 tgz 的完整路径>
After installation, you must restart the dsh web service for the plugin to take effect. If you later need to reload the plugin content (for example, after modifying the source code), simply refresh the mobile page; there is no need to restart the service.
Typical Usage¶
After installation and service restart, open the DSH Web client on your phone:
- Open navigation: Click the leftmost item in the top bar, 「Navigation」.
- Manage sessions: Inside the drawer, the list is displayed in groups: Just now / Today / Yesterday / Older.
- Create a new session: Click the + icon at the bottom of the drawer.
- View settings: Click Settings at the bottom of the drawer. Sections can be switched by swiping left and right.
- Refresh connection: If the connection appears stuck, click Refresh Connection at the bottom of the drawer.
- Copy content: Click Copy below a message. The plugin takes over the WebView clipboard logic and resolves silent failures on Android.
Toggles and Configuration¶
The core logic of the plugin is controlled by the FEATURES toggle in src/client/config.ts. The main configuration items include:
splash: Splash page toggle.drawerOverlay: Drawer navigation overlay toggle.settings: Mobile settings sections and dialog layout.toolCards: Tool card list (by default, replaces read/grep/edit/write).keyboardFit: Keyboard occlusion adaptation.resumeReconnect: Automatic reconnection when returning to the foreground.clipboardFallback: Clipboard fallback logic.
Use Cases and Notes¶
- Use cases: Mainly intended for using DSH on a phone browser or WebView for development debugging, log viewing, or simple interactions.
- Known trade-offs: The tool card replacement covers 4 official cards (
read/grep/edit/write), so it loses the official “view in trace” and file-opening features. - Verification method: The plugin does not include CI or unit tests. It mainly relies on
npm run verifyfor offline contract verification and CDP probe tests. - File dependency: The
.tgzinstallation package must be retained. Otherwise, subsequentdsh pluginoperations will report an error because the file cannot be found.
Conclusion¶
This plugin significantly improves the usability of DSH on mobile devices through simple installation and configuration. For developers who need to use DSH frequently on mobile devices, it is an effective solution to interaction pain points.