No description
  • JavaScript 68.7%
  • TypeScript 31.3%
Find a file
Lynixenn 272191658a Cut the config surface to the knobs anyone sets, and rebuild
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.
2026-10-15 22:20:39 +02:00
docs Cut the config surface to the knobs anyone sets, and rebuild 2026-10-15 22:20:39 +02:00
lib Cut the config surface to the knobs anyone sets, and rebuild 2026-10-15 22:20:39 +02:00
src Cut the config surface to the knobs anyone sets, and rebuild 2026-10-15 22:20:39 +02:00
test Cut the client surfaces nobody reads 2026-10-15 22:20:39 +02:00
.gitignore Python virtualenv tool, vendored mupdf PDF reader, reworked seats 2026-10-08 15:43:55 +02:00
build.mjs Cut the source comments back to what a reader cannot infer 2026-10-15 21:44:23 +02:00
cordis.patch.yml Cut the config surface to the knobs anyone sets, and rebuild 2026-10-15 22:20:39 +02:00
package.json Remove the calm theme 2026-10-15 21:57:38 +02:00
pnpm-lock.yaml Python virtualenv tool, vendored mupdf PDF reader, reworked seats 2026-10-08 15:43:55 +02:00
pnpm-workspace.yaml feat(pdf): move the PDF page reader into this bundle 2026-09-30 09:27:10 +02:00
README.md Cut the config surface to the knobs anyone sets, and rebuild 2026-10-15 22:20:39 +02:00
tsconfig.json dsh-personal-utils: combine balance meter + markdown color into one plugin 2026-08-30 07:43:15 +02:00

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

Agent surface

  • Slash commands add /audit and /review for over-engineering passes.
  • Agent seats ship the general-purpose research seat and point the registry at it.
  • Project briefs let a seat read the handoff.md in the project root.

Documentation

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.