DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
E

dsh-edit-panel

Edit Panel

Live writing panel for DeepSeek Harness: the AI writes a text or Markdown file section by section into a right-sidebar editor where you can type at the same time; rewrites of existing text become proposals you keep or refuse change by change.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:MathieuPortmann/dsh-edit-panel#cc10756b8f19f00f3d31ab77efeb2cdce5b6d035
READMECompatibilityVersions

Compatibility and provenance

Edit Panel is published as dsh-edit-panel and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/25/2026

Versions

0.1.0stable
10/25/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/25/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in productivity-workflow.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseExperimental Schedule Bundle@deepseek-ai/dsh-experimental-schedule-bundleOptional bundle that adds Schedule, its task page, and time context to the Web compositionClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / pet / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。

README

dsh-edit-panel

Live writing of text files for DeepSeek Harness (DSH): the AI writes a text or Markdown file section by section into an editor in the right sidebar, and you can type in the same file at the same time.

Maintenance: best-effort. Issues may go unanswered; forks are welcome.

What it adds

  • Five tools for the model, in every conversation:
    • edit_begin(path, outline, title?) creates the file with its headings and opens the panel;
    • edit_write_section(section, content) writes one section, saved to disk at once;
    • edit_status() says what is written, what you changed, and what to do next;
    • edit_finish() ends the draft;
    • edit_open(path) shows an existing file in the panel without changing it.
  • The panel (a right-sidebar tab, Live writing): each section in a small word-processor editor (bold, italic, headings, lists, quotes, links, undo; read and written as Markdown). What you type is saved after a short pause, and the AI cannot overwrite a section while you are typing in it.
  • Proposals instead of overwrites: when the AI rewrites a section that already has text, the file does not change; the panel shows its proposal word by word (added in green, removed struck in red), and you keep or refuse each change, or all of them.
  • Existing files are safe: an existing file is drafted in <file>.draft and replaces the original only when you press Finish (the original is copied to the backup folder first); Cancel discards the draft. A file opened with edit_open is edited in place, after a backup copy.
  • Ask the AI about a passage: select text, then the ✦ Ask the AI pill (or Ctrl+K) puts the passage, with its section, in the message box, with quick actions (shorten, rephrase, fix, translate).
  • Documents of the conversation: a drawer above the message box lists the files opened in this conversation; a click reopens one. A click on a text file link [name](/path/file.md) in the conversation opens it in the panel.
  • Your instructions per section and your decisions are given back to the model as runtime context, so they survive compaction.

Files: .md, .markdown, .txt, .text, .tex, .org, .rst, .qmd, .rmd, inside your home folder and not in a hidden folder. In Markdown files, sections are the ## headings.

The interface is in English, and in French when DSH's language is French (tables en and fr at the top of client.js).

Install

dsh plugin --profile web add github:MathieuPortmann/dsh-edit-panel

Restart the profile afterwards. Requires Node ^22.19.0 || >=24 and DSH >=0.2.0-rc.2 <0.3.0 (see Compatibility). Once the package is on npm, dsh plugin --profile web add dsh-edit-panel works too.

Configuration

Options of the edit-panel row:

OptionDefaultMeaning
dataDir<DSH_HOME>/edit-panelstate of the drafts (one JSON per conversation) and the document list
backupDir<DSH_HOME>/backups/edit-panelcopies of files before they are replaced or opened
announcetrueone line in every conversation telling the model that text files are written through the panel; set false to use the tools only when asked

How it works

  • lib/draft.js holds the drafts: it renders the file from its sections, reads it back to see what you changed (a fingerprint per section), keeps proposals waiting, locks a section for 30 s while you type, and replaces or restores files with backups. lib/docs.js keeps the document list. Both are pure Node.js and covered by tests/.
  • index.js (host side) registers the tools, sends the draft state as runtime context, and serves the panel through an RPC channel at /edit-api/<method>, behind DSH's own connection check.
  • client.js (page side) draws the tab, the drawer and the editors. The editor itself (web/editor.js) is a bundle of ProseMirror and markdown-it built from web-src/editor.js; the page receives it from the host and loads it once.

Compatibility

ComponentSupported
Node.js^22.19.0 || >=24.0.0 (engines.node)
DSH>=0.2.0-rc.2 <0.3.0; declared as optional peerDependencies on @deepseek-ai/dsh-tools and @deepseek-ai/schemastery, the only DSH packages the host side imports
PlatformLinux (tested); pure JavaScript, no native addon
PageDSH's web UI with the right sidebar; the drawer finds the message box by its editable area and may need an update when the page changes

Tested with DSH 0.2.0-rc.2 on Node 22.23 (see Verification).

Permissions and external services

Everything the plugin can touch, and what happens when it fails:

CapabilityWhereUsed forIf it fails
Fileslib/draft.js, lib/docs.jswrites the text files the model drafts and the files you open in the panel, only inside your home folder, never in hidden folders, only the text extensions above; <file>.draft working copies; backup copies in backupDir; state in dataDirthe tool or the panel shows the error; nothing is written
Networknonenothing leaves the computern/a
Commandsnoneno child process, no shelln/a
Tools for the modelindex.jsedit_open, edit_begin, edit_write_section, edit_status, edit_finish (see above)an error text is returned to the model
HTTP routeindex.js (ctx.webServer.register)POST /edit-api/<method> for the panel, behind ctx.connection.admit() (DSH's Host/Origin fence and token); JSON bodies only, limited to 1 MiBnon-admitted requests get 401/403; other errors are returned in the RPC envelope
Dynamic module loadingindex.js (importFromDsh)loads @deepseek-ai/dsh-tools and @deepseek-ai/schemastery from the DSH installation that runs the plugin. Nothing is downloadedthe plugin fails to load
Code evaluation in the pageclient.js (loadLib)the editor bundle, read by the host from this package's web/editor.js, is turned into code with new Function once (or, under a strict content policy, loaded as a blob script). No other text is ever evaluated, and nothing comes from the networkthe panel shows "Editor unavailable" and the sections as plain text
Interfaceclient.jsa right-sidebar tab, a drawer above the message box, a click handler on text file links of the conversation, the font choice saved in the browser's ; registers a French dictionary and language entry with DSH's locale service

Verification

Checked on a disposable profile (DSH_HOME pointing at a temporary folder, so the real profile is never touched):

npm pack
dsh plugin --profile t add file:$PWD/dsh-edit-panel-0.1.0.tgz   # install
dsh t --port 3095 --no-open                                      # start: plugin loads, no error
dsh plugin --profile t remove dsh-edit-panel                      # uninstall

npm test runs 9 standalone tests (drafts: new and existing files, the user's edits, locks, proposals kept, merged or refused, open in place, cancel, duplicate headings, path rules; the document list) with no DSH installation needed.

web/editor.js is reproducible: cd web-src && npm ci && npm run build rebuilds it byte for byte with the versions pinned in web-src/package-lock.json (esbuild 0.28.2). The bundled libraries and their licenses are listed in THIRD_PARTY_NOTICES.md.

Develop

npm test
cd web-src && npm ci && npm run build   # after changing web-src/editor.js

License

MIT for this plugin. The bundled libraries keep their own licenses (MIT, and BSD-2-Clause for entities), see THIRD_PARTY_NOTICES.md.

localStorage
no panel