dsh-plugin-hello
Verifieddsh-plugin-hello Β· v0.1.0 Β· MIT
A minimal DeepSeek Harness community plugin that adds a callable hello tool
Install
dsh plugin add dsh-plugin-hello Confirm the layer applied with dsh --profile default --dump-config β see the install guide.
Source
Published to npm without a public repository. Inspect the package contents before installing.
Creators
Readme
dsh-plugin-hello
A minimal DeepSeek Harness community plugin. It registers a single model-callable tool, hello, that greets a caller by name. It is the smallest complete example of a dsh-plugin bundle and a good starting point for a first contribution.
What it does
When the plugin loads, it registers the hello tool on ctx.tools:
- Input:
name(string, required) β the person to greet. - Output:
"<greeting>, <name>!"β for exampleHello, Ada!.
The greeting prefix is configurable and defaults to Hello.
Install into a profile
dsh plugin forwards to pnpm inside the profile directory, so any pnpm install form works:
dsh plugin --profile demo add github:you/dsh-plugin-hello
The first run initializes the profile with @deepseek-ai/dsh-base, links this package, and appends it to the profile's dsh.profile.bundles because package.json declares dsh.bundle. A git install fetches sources, so pnpm runs the prepare script to build lib/ from src/. pnpm 10+ refuses that script until it is allowlisted; dsh prints the exact allowBuilds entry to copy into the profile's pnpm-workspace.yaml. Verify the composed layer, then boot:
dsh --profile demo --dump-config # shows a "# == dsh-plugin-hello" layer
dsh --profile demo
Ask the model: Use the hello tool to greet Ada. It calls hello and receives Hello, Ada!.
Configure
Set a custom greeting by overriding the row in the profile's cordis.patch.yml:
- id: hello
name: dsh-plugin-hello
config:
greeting: Howdy
Invalid configuration fails the load.
Development
pnpm install
pnpm run typecheck
pnpm run build # emits lib/index.js and lib/index.d.ts
pnpm run test
Structure
hello/
βββ package.json # bundle manifest (dsh.bundle), scripts, deps
βββ cordis.patch.yml # the configuration layer the bundle inserts
βββ src/index.ts # the plugin: name / inject / Config / apply
βββ tests/hello.spec.ts
βββ tsconfig.json
βββ vitest.config.ts