Preface

When handling a long session in DSH, it is inconvenient to manually scroll through logs and check individually if certain phrases repeatedly appear in the reasoning blocks of the current session.

dsh-think-phrases is a statistical plugin for the DSH client: it counts let me, we, let's, and I'll in all reasoning blocks of the current session and displays the results in the utilities area on the right side of the session header.

What is this

dsh-think-phrases is maintained by deathbook and is licensed under the MIT license.

Its one-sentence positioning is: count let me / we / let's / I'll in all reasoning blocks of the current session in the top right corner.

In other words, it solves a specific problem: in DSH Desktop or the standard dsh web environment, quickly view the occurrence count of these phrases in the current session’s reasoning blocks, rather than flipping through the full message body.

Core Features

First, let’s talk about what it can do:

  • Count the occurrences of let me, we, let's, and I'll in all reasoning blocks (reasoning) of the current session.
  • Only count reasoning (reasoning) text, not visible body text or user messages.
  • Counting is case-insensitive.
  • The panel displays each count and the total in real-time.
  • Mounted to the official slot conversation.session.header.utilities, which is the utilities area on the right side of the session header.
  • Register the thinkPhrases session projection.

Note the matching rules for we: it matches we expressing “we” (us), including we're, we'll, we-need, pre-we, etc.; it does not match we that accidentally appears in words like weird or sweet.

The count for I'll also includes the full form I will.

Compatibility

The plugin is suitable for DSH Desktop and standard dsh web environments.

It supports the following environments:

  • DSH Desktop 2.x
  • Standard dsh web / dsh console
  • DSH upstream (without Desktop service)

The plugin does not depend on Desktop-specific services, including desktopProfiles, desktopPnpm, and desktopWindow.

Installation and Activation

First, install the plugin. You can use the npm method:

dsh plugin --profile desktop add dsh-think-phrases

You can also use the GitHub method:

dsh plugin --profile desktop add github:deathbook/dsh-think-phrases

If you want to do local development or debugging, you can install via source code:

git clone https://github.com/deathbook/dsh-think-phrases.git
cd dsh-think-phrases
pnpm install

In the source code method, link to the local directory in the profile’s dependencies.

After installation, restart the DSH host. The plugin will automatically mount to the profile’s bundle combination via cordis.patch.yml.

Another profile-level activation method is: add dsh-think-phrases to the profile’s dependencies, append "dsh-think-phrases" to dsh.profile.bundles, and then execute:

pnpm install

Finally, restart the dsh host.

Typical Usage

After installation and restart, you can see the statistics panel in the utilities area on the right side of the DSH session header.

The panel will display the count and total for each of let me, we, let's, and I'll in real-time.

If it’s just for local build verification, you can execute:

pnpm install
pnpm run build

The build artifacts are in lib/. The published package carries lib/, but the Git repository does not track this directory.

Use Cases and Notes

Suitable for developers to debug reasoning chain text and check phrase counts in the current session in the DSH environment. Especially suitable for scenarios where you maintain both DSH Desktop and standard dsh web, and don’t want to maintain a separate set of statistical logic for the desktop side.

It is recommended to check the source code and license before use. The plugin runs with the permissions of the current dsh process. Before installing it into a host used for a long time, you should confirm that you trust its source code and dependencies.

According to the displayed fields, the runtime requirements include:

  • peerDependencies requires react ^18.2.0
  • engines requires node ^22.19 || >=24

Links

Following the steps above, dsh-think-phrases turns the reasoning chain phrase count into a small panel at the session header, suitable for lightweight debugging and status checking.