dsh-fun-waiting: Replace DSH's waiting prompt with rotating fun phrases

Preface

During model thinking, DSH displays a waiting prompt like “DeepSeeking, taking X seconds…”. The default text is fixed and looks repetitive after running for a long time; on shared machines, this prompt is also a way to observe the Agent’s status. If you want the waiting process to be recognizable but don’t want to modify DSH’s code, the plugin introduced below can solve this problem.

Its approach is to retain the original waiting text structure, replacing only the static prefix with a set of phrases rotated at intervals, and placing the edit entry directly into the settings interface.

What is it

dsh-fun-waiting is a desktop plugin for DSH (DeepSeek Harness), maintained by JackyHuang75414 (GitHub). It replaces waiting prompts like “DeepSeeking, taking X seconds…” in the DSH chat interface with rotating fun phrases, such as “Slacking off”, “Fighting aliens”, “Destroying the world”, “Being quiet”, and “Hunting for rice”.

The problem it solves is relatively simple: the waiting text is fixed, and people who want to change the content are forced to modify source code or config files. The plugin converges this action into the settings interface, where changes are saved and used immediately.

According to its README, the plugin is a pure client-side implementation that replaces text by intercepting the locale service, without modifying official code.

A bit of technical background: The plugin package includes cordis.patch.yml, which is pointed to by dsh.bundle.patch in package.json. This means it relies on DSH’s patch mechanism to take effect, rather than directly rewriting files in the installation directory. This point needs to be understood alongside the “no modification of official code” statement below: it is the DSH source code that isn’t modified, but patching is still a step during plugin loading.

Core Features

Based on the README and package.json, the capabilities are as follows:

  1. Waiting prompts rotate automatically at set intervals, retaining the original “taking {duration} seconds…” part so time information is not lost.
  2. Chinese and English interfaces use their own phrase lists respectively, preventing them from mixing.
  3. The edit entry is in “Settings → Waiting Phrases”, requiring no file modification or restart.
  4. New phrases take effect immediately after the user saves their input.
  5. The implementation involves intercepting the locale service on the client side, as clearly stated in the README “no official code is modified”.

Plugin package information (from package.json, version numbers are based solely on declarations within the package):

  • Name: dsh-fun-waiting
  • Version: 0.2.0
  • License: MIT
  • Author: Yuhao Huang huang199864@gmail.com (GitHub: JackyHuang75414)
  • Entry point: lib/index.js, client entry lib/client.js
  • DSH version requirement: >=0.2.1-rc.5 <0.3.0
  • peerDependencies: @deepseek-ai/cordis ~4.0.5
  • Client platform: web

Installation and Enablement

The installation command comes from the README, installed using the desktop profile:

dsh plugin --profile desktop add github:JackyHuang75414/dsh-fun-waiting

If the source code is already on the local machine, local link installation can also be used:

dsh plugin --profile desktop add "link:/path/to/dsh-fun-waiting"

After installation, the plugin will not automatically replace the text; you need to explicitly enable it and fill in the phrases in the settings interface.

Typical Usage

Following the steps in the README, the complete process consists of four steps:

  1. Open “Settings → Waiting Phrases”.
  2. Check the “Enable” switch and set the “Rotation Interval” to the desired number of milliseconds.
  3. Fill in a set of phrases in the Chinese and English input boxes respectively, one phrase per line, separated by newlines.
  4. Click “Save” — it takes effect immediately after saving, no restart required.

One way to write the config file (corresponding to the two input boxes in the settings interface, for reference only, actual usage depends on the interface):

Slacking off
Fighting aliens
Destroying the world
Being quiet
Hunting for rice

The English interface is the same; the examples given in the README include Slacking off, Fighting aliens, Destroying the world, Hibernating, and Hunting for rice.

Persistence and Recovery

Changes are written to fun-waiting.settings.json in the DSH home directory, not the plugin directory. To restore default behavior, simply delete this file; no need to uninstall the plugin.

This also means: when changing machines or migrating environments, you need to take this file with you, otherwise the previously configured phrases will not follow.

Suitable Scenarios and Notes

Suitable for these needs: wanting a bit of distinction in the waiting interface for long tasks; not wanting to modify DSH source code just to change a line of text; needing to accommodate text styles for both Chinese and English interfaces simultaneously.

Points to note:

  1. The plugin runs with the permissions of the current DSH process. It needs to write to the DSH home directory and also uses the Cordis patch mechanism. Before installing, read the source code first to confirm that the scope of patches in cordis.patch.yml meets expectations.
  2. The license is MIT, as stated in package.json; it is still recommended to verify the LICENSE file in the repository root directory yourself.
  3. There is a version range requirement for DSH (>=0.2.1-rc.5 <0.3.0). If your DSH is not in this range, the plugin may not load properly.
  4. The plugin comes from a community maintainer and is not an official project by DeepSeek or Huanfang; it is also listed in the third-party community directory SkillHub; this directory is an independent site with no affiliation to the official project.
  5. Library versions may change as DSH evolves; version information in this article is based on the current plugin repository.

Conclusion

The value of dsh-fun-waiting lies in making a very small task light enough: changing waiting text no longer requires changing code, editing files, or restarting; it ends with opening the settings interface and clicking save. Its implementation is also restrained, affecting only the client display layer without touching Agent behavior.

Directory Page: https://www.skillhub.cn/plugins/JackyHuang75414/dsh-fun-waiting
Repository: https://github.com/JackyHuang75414/dsh-fun-waiting

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye