DSH Market
D

Dsh Custom Tool

by omdsh-dev · omdsh-dev/dsh-custom-tool

Build failsBundlegit (build fails)fresh

Create and manage sandboxed JavaScript tools for DeepSeek Harness with a Monaco editor and model-driven tool lifecycle.

Install Dsh Custom Tool

Likely fails to load: not on npm, needs a build, and ships no `prepare` script — a git install fetches sources, not built artifacts, so the entry point is never produced.

This install is expected to fail

A git install pulls source, not build output. This package needs a build step, has no prepare script to run it, and is not published to npm — so nothing produces the compiled output the loader then goes looking for.

Three things would fix it, all of them on the author's side: publish the package to npm, add a prepare script that builds on install, or commit the build output to the repository. Until one of those happens, the command below is here so you can reproduce the failure, not so you can install it.

What would be run — expected to install and then fail to load

# 1. add the bundle to a profile — --profile my-profile points at $DSH_HOME/profiles/my-profile
dsh plugin --profile my-profile add github:omdsh-dev/dsh-custom-tool

# 2. verify: the bundle should show up as a layer in the resolved config
dsh --profile my-profile --dump-config

# 3. boot the profile
dsh --profile my-profile

Before you run it

  • A plugin runs with your permissions once loaded: it can read your files, use your credentials and reach the network. Tool approvals do not sandbox it.
  • Installing from git resolves a moving branch. Pin a commit — github:omdsh-dev/dsh-custom-tool#<commit-sha> — so the code you reviewed is the code you install.

Prerequisites

API key
Not required.
Network access
Required at runtime.
Language
TypeScript — a git install pulls this source, not build output.

Install check

Every field the verdict was derived from, so you can re-derive it yourself

Field checkedResultWeightWhat the spec says about it
lifecycleScriptspassinfono install-time scripts
dsh.bundlepassfatalpackage.json declares a `dsh.bundle` layer
dsh.bundle.patch filepassfatalpatch file present at `cordis.patch.yml`
npm registrymissingwarn`dsh-custom-tool` is not published to npm
prepare scriptmissingfatalneeds a build but ships no `prepare` script — a git install fetches sources, not built artifacts
Verdict reason
git-only + needs build + no prepare script
package.json read
package.json
Rules applied from
docs/user/develop/basic/publish.md
Checked at
2026-08-15

From the README

Excerpt as published by the author, plain text, unedited

Custom tools for the DeepSeek Harness: users author their own JavaScript tools in the settings UI with a Monaco (VS Code) editor and TypeScript intellisense, and the model grows and prunes the same toolset itself through `custom_tool_create` / `custom_tool_remove` / `custom_tools_list`. Every tool is durable, hot-registered, and written into the model prompt on the next step. - **Users cannot extend their agent**: before this plugin, adding a capability meant shipping a harness package. Now a tool is a form in the settings UI — name, description, parameters, code — saved live and callable by the model immediately. - **The model cannot grow itself**: `custom_tool_create` lets the model persist tools mid-session (hot-registered, visible on its next step), with the same validation gate the UI

Topics

GitHub topics on this repository

Related entries

Nearest entries by similarity — this one landed in no themed cluster