- JavaScript 68.7%
- TypeScript 31.3%
33 of the 48 knobs only re-declared the shipped default, so they leave the interface, the schema and the config reference: 18 remain. Three of those are restored deliberately, because webBaseUrl, webSearchPath and webFetchPath are the only way to reach the loopback path the docs document, so cutting them would have removed a feature rather than dead configuration. The balance handler loses its HTTP ceremony, the shipped patch loses its preset history, and the docs follow the code. lib/ is rebuilt from this tree. |
||
|---|---|---|
| docs | ||
| lib | ||
| src | ||
| test | ||
| .gitignore | ||
| build.mjs | ||
| cordis.patch.yml | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| tsconfig.json | ||
dsh-personal-utils
A DeepSeek Harness plugin that gathers the small utilities I use every day into one package.
I built it for myself. It is public because that makes it easy to install. There is no support and no promise that any of it behaves.
Install
Requirements: dsh >= 0.2.0-rc.1, Node ^22.19 || >=24, and pnpm on your PATH.
Ask the agent to install it. This is the profile's own plugin manager, and it asks you to approve the call before anything runs:
plugin_manager action: install_bundle
target: "git+https://git.serveraeh.de/esadm/dsh-personal-utils.git"
Or from a shell, which forwards its arguments to pnpm add in the profile directory. It installs the
same dependency, without the manager's compatibility check and restart reporting:
dsh plugin --profile <profile> add 'git+https://git.serveraeh.de/esadm/dsh-personal-utils.git'
Either way it is a git install with no build step: the built lib/ is committed and the manifest
declares no prepare or postinstall script, so nothing has to be approved to run. The plugin pulls
in no dependencies of its own, and the PDF reader's mupdf payload is committed inside lib/.
What is in it
Most of the surfaces below can be switched off from the Utilities settings page; see Visibility toggles.
Sidebar and settings
- Balance meter puts your DeepSeek balance in the sidebar footer, converted to USD, with the session's estimated cost on the row beneath it.
- Ollama Cloud usage adds session and weekly quota bars to the footer, plus a fuller panel on the settings page.
- Codex usage gives the same footer meter to an OpenAI Codex (ChatGPT plan) route.
- Peak-hours indicator draws the DeepSeek and Ollama peak windows on one strip, with the multiplier that applies right now.
- Markdown color and accent recolors chat markdown with the theme accent, or the accent you set in the plugin config.
- Visibility toggles hide any of the above.
Model tools
- Python executor runs a sandboxed
pythontool with a per-session virtualenv that can install packages. - PDF page reader returns a PDF page's text layer and its rendered image in the same result.
- YouTube transcription search searches YouTube and reads the transcripts.
- Ollama web search and fetch points the built-in
web_searchandweb_fetchat your Ollama account.
Agent surface
- Slash commands add
/auditand/reviewfor over-engineering passes. - Agent seats ship the general-purpose
researchseat and point the registry at it. - Project briefs let a seat read the
handoff.mdin the project root.
Documentation
- docs/FEATURES.md explains every surface and tool, with its ceilings.
- docs/CONFIGURATION.md lists every knob and its default.
License
MIT covers this plugin's own code. The bundled mupdf payload is the exception and is not covered by
that grant. It is AGPL-3.0-or-later, and its licence text ships beside it as
lib/mupdf-LICENSE.txt.