dsh-monaco
Manifest validDeepSeek Harness plugin: serves the Monaco editor distribution over a host HTTP route, so an editor plugin needs no CDN and no extra bundler outputs
dsh-monaco
Serves the Monaco Editor distribution to the browser over a host HTTP route, for DeepSeek Harness plugins that need a real code editor in the page.
Why a route instead of a bundle
The harness browser plugin channel delivers exactly one file per plugin (/plugins/<id>/client.js), and the dynamic bundler emits no extra chunks or assets. Monaco is a multi-file distribution — a loader, per-language modules, and a stylesheet — so it cannot arrive that way.
This plugin mounts those files under a route of its own, reading them from the installed monaco-editor package. The editor therefore stays local: no CDN at runtime, and no third-party origin inside a tool that reads the operator's source tree.
Install
dsh plugin --profile web add github:DevViking-Persike/dsh-monaco
Restart dsh. The distribution is then available under /monaco.
Use it from a client plugin
Monaco publishes itself through its own AMD loader:
await loadScript('/monaco/loader.js')
window.require.config({ paths: { vs: '/monaco' } })
window.require(['vs/editor/editor.main'], () => {
window.monaco.editor.create(host, { value: '', language: 'typescript' })
})
Configuration
| Field | Default | Meaning |
|---|---|---|
route | /monaco | Absolute URL prefix, no trailing slash. |
- id: dsh-monaco
name: 'dsh-monaco'
config:
route: /vendor/monaco
Model Experience
None. This plugin serves static bytes to the browser and registers no tool, prompt section, or session event, so nothing it does reaches a model request or consumes context.
Safety
- Every request path is resolved against the distribution root and then proved to be inside it.
resolvecollapses..first, so an escape is caught by the containment test rather than by pattern-matching request text — including percent-encoded attempts, which reach the server intact. - A read failure under the root answers
404, the same as an unknown path, so the browser cannot learn which files exist from a distinguishable error. - Only
GETandHEADare served; anything else answers405. - An extension absent from the content-type table is served as
application/octet-streamrather than guessed, so a wrong type never makes the browser execute something as script.
Known Limitations and Deferred Work
- The route serves the whole distribution, including language modules a given page never loads. Serving a subset would need to know each consumer's languages up front, which the route cannot see.
- Responses carry a one-week immutable
cache-control. That is safe because the distribution is version-pinned by the installed package, but a Monaco upgrade needs a cache-busting route change or a hard reload to take effect in an open tab. - Files are read per request with no in-process cache; the OS page cache absorbs this, and holding a 24 MB distribution in heap to avoid it has no current consumer.
- Monaco's web workers are not configured here. A consumer that wants them must serve its own worker entry and set
MonacoEnvironment; without one Monaco runs its language services on the main thread.
License
MIT — see LICENSE. NOTICE.md carries attribution for Monaco Editor (© Microsoft, MIT) and the DeepSeek Harness project whose plugin conventions this follows.
Comments
Loading…
Similar plugins
by Dpf555
VS Code-style three-column Explorer + Monaco editor plugin for the DeepSeek Harness web GUI
★ 5
MIT
JavaScript
Aug 15, 2026
dsh plugin --profile web add @dsh-local/dsh-workbenchby dkjsiogu
DeepSeek Harness plugin: browse host files/folders in the Web composer and insert absolute paths
★ 0
MIT
TypeScript
Aug 15, 2026
dsh plugin --profile web add dsh-path-browserby Decodo
DeepSeek Harness (dsh) plugin: Decodo as the provider behind the built-in web_fetch tool
★ 0
MIT
TypeScript
Oct 9, 2026
dsh plugin --profile web add @decodo/dsh-web-fetchby bobleer
MCP server that lets any agent discover, install, and run DeepSeek Harness plugins (topic: dsh-plugin).
★ 3
MIT
TypeScript
Aug 13, 2026
dsh plugin --profile web add deepseek-harness-plugin-mcpby 904915452
DeepSeek Harness plugin: open the current workspace in a detected editor (VS Code, GoLand, PhpStorm, HBuilderX, …) from a header dropdown
★ 0
MIT
JavaScript
Aug 17, 2026
dsh plugin --profile web add @zhangqingyu/dsh-editor-launcherby Qingzhou-Joshua
DeepSeek Harness plugin—a simple toolkit for developers.
★ 0
MIT
TypeScript
Aug 14, 2026
dsh plugin --profile web add dsh-dev-toolbox