Skip to content
dsh.fish
Bundle

dsh-weneedfirst

DeepSeek Harness plugin: make the chain of thought open with "We need" instead of "Let me"

Source
XiaoWind
License
MIT
Updated
Updated 6 days ago

Readme

# dsh-weneedfirst

English | [中文](README.zh.md)

A [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (DSH)
plugin that shapes the model's **chain of thought**. It registers a global
system-prompt section instructing the model to adopt a role that fits the
conversation, think in **English**, and open every reasoning block with
**"We need"**.

There is no build step and no extra runtime state — the plugin contributes one
prompt section to the `systemPrompt` registry and does nothing else.

## Install

```sh
# from GitHub (works immediately — no npm publish required)
dsh plugin --profile web add git+https://github.com/XiaoWind/dsh-weneedfirst.git

# or from npm, once published
dsh plugin --profile web add dsh-weneedfirst
```

The `dsh plugin` command forwards to `pnpm` inside the `web` profile directory,
then reconciles the profile's `dsh.profile.bundles` layer list. Because this
package declares `dsh.bundle.patch`, it joins the layer stack automatically.
Restart the Web app after installing.

> The plugin injects the `systemPrompt` service, so it activates in every
> profile that composes a system prompt — the shipped `web` profile does.

## Update

```sh
dsh plugin --profile web update dsh-weneedfirst
```

Restart the Web app after updating — the bundle layer is composed at boot, so a
running Web process does not hot-reload an installed plugin.

## Configuration

The opening phrase is configurable in your profile's `cordis.patch.yml`:

| Config | Default | Meaning |
|---|---|---|
| `openingPhrase` | `We need` | The phrase every chain-of-thought block must open with. |

```yaml
# your profile's cordis.patch.yml
- id: we-need-first
  config:
    openingPhrase: "We need"
```

## Development

```sh
# syntax check
node --check lib/index.js
```

The plugin is a single-file ESM Cordis function plugin (`lib/index.js`). It
exports `apply`, `inject`, and `name`, and the bundle layer `cordis.patch.yml`
inserts it into the profile composition.

## License

MIT

Install

dsh plugin --profile web add github:XiaoWind/dsh-weneedfirst

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source