DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
E

dsh-edit-panel

Edit Panel

DeepSeek Harness 的实时写作面板:AI 会在右侧边栏编辑器中逐段写入文本或 Markdown 文件,你可以同时进行输入;对现有文本的重写会变成提案,你可以逐项保留或拒绝更改。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:MathieuPortmann/dsh-edit-panel#cc10756b8f19f00f3d31ab77efeb2cdce5b6d035
README兼容性版本

兼容性与来源证明

Edit Panel 以 dsh-edit-panel 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/25

版本

0.1.0stable
2026/10/25

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/25
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 productivity-workflow 分类下经过校验的插件。

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Experimental Schedule Bundle@deepseek-ai/dsh-experimental-schedule-bundle为 Web 组合添加 Schedule、其任务页面和时间上下文的可选捆绑包Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。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