Preface¶
DeepSeek Harness (command name dsh) treats models, tools, sessions and interfaces as plugins. The official repository deepseek-ai/deepseek-harness uses the slogan “Everything is a Plugin”: changing capabilities only requires modifying configuration, not framework source code. It is currently in developer preview, with the default Web UI running at http://127.0.0.1:3080.
When you open the web chat view and an agent enters a running loop, a hardcoded Deep diving... will appear in the status bar. This same text is used during first token generation, tool execution, and streaming output. There is no official interface to change this text. The community plugin ui-status-label was built exactly for this purpose: it adds a text input field in the General settings to replace the running status text with your custom content.
This article is organized after cross-checking with the plugin directory page, GitHub README and package.json. The community directory deepseek-harness-plugin.com is an independent site for discovering and installing community plugins, and has no official affiliation with DeepSeek or HyperFind. Do not treat it as an official app store.
What is this¶
ui-status-label is a UI enhancement plugin maintained by GitHub user alingalingling, with the repository address alingalingling/ui-status-label. Its npm package name is dsh-ui-status-label, current version is 0.1.0, main language is TypeScript, and license is MIT.
The directory page was added on 2026-08-15, and the last push to the repository was also on 2026-08-15. The GitHub repository currently shows 37 stars; the community directory page marked 31 stars at the time of inclusion, the directory number is a snapshot, so please refer to the repository page for the star count in this article.
It only modifies browser rendering. The README clearly states: the settings do not affect any model requests. Its scope of action is the running status text in the dsh Web chat view.
Core Features¶
- Configurable running status text. The plugin provides a “Running Status Text” input field in the General settings area. The text displayed in the chat view during a running loop (waiting for first token, tool execution, streaming output) will be replaced with the content you entered. The changes take effect immediately without clicking save.
- Two生效 paths. The README’s compatibility description lists two paths, which work directly with official stable versions (including
0.1.0-rc.6):- DOM injection (default fallback): Listens for elements with
role="status"and hardcoded textDeep diving...in the chat view, and replaces the text with the configured value. It does not rely on new official mechanisms. conversationStatusoptional service: After the upstreamui-conversationmerges the extension point (theUPSTREAM-EXTENSION.patchin the repository), the chat view will directly render the configured text, and the DOM injection will automatically give way, so the two paths will not conflict.
- DOM injection (default fallback): Listens for elements with
- Per-user persistence. The plugin registers the
ui-status-labelsettings namespace, with the default text being小难梁在0721. If saved to$DSH_HOME/settings.yaml, it will take effect across Web ports for the same user home directory. The text is stored per user rather than per session, with a maximum length of 40 characters. Clearing the input box will revert to the default text. - Web-only. The
dsh.client.platformfield inpackage.jsonis declared asweb. The README clearly states: this plugin is only for the browser interface; installing it on headless/TUI profiles has no purpose.
Installation and Activation¶
The installation command given on the directory page is as follows, run it in the DeepSeek Harness terminal:
dsh plugin add github:alingalingling/ui-status-label
The repository README mentions --profile web for Web scenarios, which uses the same repository source as the directory page, just explicitly specifies the profile:
dsh plugin --profile web add github:alingalingling/ui-status-label
For reproducible installations, the directory page recommends pinning the commit hash:
dsh plugin add github:alingalingling/ui-status-label#commit
Replace commit with the actual hash value. The repository README also lists two other installation methods: local tarball and npm package name. The npm installation command is dsh plugin --profile web add dsh-ui-status-label, and the README also notes that this package has not been published to npm yet, so do not use this command before publication.
One note for git installation: pnpm ≥10 blocks prepare scripts for git dependencies by default, so the first add may report Ignored build scripts. The repository has already submitted the pre-built lib/ folder (including type declarations) with the source code, so you can use the built product directly even if you skip the prepare script. If you need to rebuild from source code, add the package name to allowBuilds in pnpm-workspace.yaml under the profile directory:
allowBuilds:
dsh-ui-status-label: true
After installation, you need to restart the dsh web process. The currently running GUI will not hot-reload the new plugin bundle. After restarting and refreshing the page, the settings entry will appear in the settings panel.
To uninstall:
dsh plugin --profile web remove dsh-ui-status-label
There is one edge case: if you are using a custom dsh build that has this plugin pre-built (such as a local build in the deepseek-harness repository), do not install it again, otherwise the ui-status-label settings namespace will be registered twice. The official released versions do not include this plugin, so normal installation is fine.
Typical Usage¶
After installation and restart, follow the steps in the README to modify the text:
1. Open the dsh Web page, the default address is http://127.0.0.1:3080.
2. Click the gear icon in the bottom-left corner of the page to open the settings panel.
3. Select the General section from the left navigation bar.
4. Find the “Running Status Text” input field, and enter the text you want to display, such as “Working hard”.
5. The changes take effect immediately. The next time the agent enters a running loop, the status line in the chat view will display your entered text.
Clearing the input box will revert to the default text 小难梁在0721. The changes apply to the current user’s settings, not a specific session.
Applicable Scenarios and Notes¶
Who it is suitable for: Users who regularly use dsh --profile web (or custom Web combinations) who are tired of the default Deep diving... text and want to replace it with their own prompts, internal team slang, or just make the status bar read more naturally. It does not provide themes, sidebars or skill management, only modifies this single line of text.
Who it is not suitable for: Users who only use headless/TUI environments; and users who expect it to modify model behavior, inference processes or request content. The “Model Experience” section of the README clearly states “None”.
Please note before installation:
1. The plugin runs with the permissions of the current dsh process, and may execute code during installation. You should check the source code repository and license before installing. This plugin uses the MIT license, and the source code is publicly available on GitHub.
2. The community directory is not an official app store. Please refer to the original text on the directory page for installation commands, and refer to GitHub for the repository address.
3. The text has a maximum length of 40 characters and is persisted per user. Do not treat it as a session-switchable state machine.
4. DOM injection relies on the official hardcoded Deep diving... text. If the upstream changes this string or merges the conversationStatus extension point, the behavior will change accordingly; once the latter is merged, the injector will automatically give way.
5. DeepSeek Harness is still in developer preview, and the API may have incompatible changes. Please test with your current dsh version after installation.
Summary¶
ui-status-label turns the Deep diving... text in the dsh Web chat view into configurable text: change one line in the General settings, and it will take effect immediately during the running loop. Technically, it first uses DOM injection as a fallback, and then uses the conversationStatus service once the upstream extension point is ready. It is small and has clear boundaries: it only modifies the interface presentation, and does not touch model requests.
Directory page: https://deepseek-harness-plugin.com/zh-CN/plugins/ui-status-label/
GitHub: https://github.com/alingalingling/ui-status-label