tntcannon5000/edit-chat-dsh0

edit-chat-dsh

Edit DeepSeek Harness chat prompts: branch from the last completed turn and resend the revised message in the DSH Web GUI. The original conversation is archived (never rewritten, never deleted).

包名
edit-chat-dsh
版本
0.1.0-alpha.1
许可证
MIT
最近更新
2026年9月2日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:tntcannon5000/edit-chat-dsh

edit-chat-dsh — Edit messages in DeepSeek Harness

edit-chat-dsh is a DeepSeek Harness plugin that lets you edit chat prompts/messages in the DSH Web GUI. Select Edit on any of your messages, change the text, and hit Send: the plugin branches the conversation from the last completed turn and resends your revised message — the old conversation is archived, never rewritten, never deleted.

npm version npm downloads CI MIT License

What it does

  • Edit pencil next to Copy on every user message in the chat view.
  • Inline editor with Cancel / Send — the same edit-and-resend flow you know from other AI chat UIs.
  • On Send the plugin forks the conversation at the previous completed turn, opens the fork, and sends the edited message (text and images) into it automatically. Editing the very first message starts a fresh conversation in the same workspace.
  • The original conversation is archived through DeepSeek Harness's native archive — it never appears in your sidebar again, stays fully restorable, and is never modified.
  • No deletion, ever. Browsing, restoring, and cleaning up archived conversations belongs to your archive-manager plugin (for example Session Archive). Without one, archived originals simply stay out of sight.

How it works

DeepSeek Harness sessions are an append-only log. edit-chat-dsh never rewrites, masks, or deletes log events — that property is what keeps exports, search, and resume correct. Instead it uses the supported session-fork API: the fork cuts at the last turn/end before the edited message, so the model sees your revised prompt as a fresh turn with the same history prefix. Workspace files are never touched.

Quick start

dsh plugin --profile web add edit-chat-dsh@alpha

Restart DSH once (dsh web), then hover any of your messages and click the pencil. Pinned install: edit-chat-dsh@0.1.0-alpha.1.

Uninstall:

dsh plugin --profile web remove edit-chat-dsh

Compatibility

DeepSeek HarnessStatus
0.1.2-alpha.4Supported (CI-tested target)
other 0.1.2-alpha.*Unknown until the scheduled compatibility check passes
0.1.1-rc.* and olderUnsupported
DeepSeek Harness with native message editingObsolete — see AUTOUPDATE.md

Requires Node ^22.19.0 || >=24.0.0 (the DeepSeek Harness baseline) and the web profile.

Limitations

  • Edit is hidden while the model is working. Press the stop control first, then edit.
  • Steering messages (messages injected mid-turn) cannot be edited — there is no completed-turn boundary before them.
  • First-message edits continue in a new chat (same workspace), because a session's first turn has no branch point. The original is archived on success.
  • If the boundary is not loaded yet (long conversations), the editor asks you to scroll up first so the fork point exists in the loaded window.
  • The plugin replaces the built-in user-bubble renderer (a defined Slots replacement point). It reimplements the bubble's copy/clock/image features faithfully; if DeepSeek Harness changes that bubble, the compatibility check in AUTOUPDATE.md flags it.

Privacy

edit-chat-dsh runs entirely in your browser against your local DeepSeek Harness host. It adds no telemetry, no external requests, and no model-visible content beyond the message you edit and send.

Troubleshooting

  • No pencil appears — the profile must be restarted after install; check dsh --profile web --dump-config for an edit-chat-dsh row.
  • Another plugin also replaces the user bubble — keyed renderers replace each other; use one user-bubble replacement plugin at a time.
  • "Scroll up to load earlier messages" — the fork point needs the previous turn in the loaded window; scroll up (or click load-older) and press Send again.
  • Archiving failed — the edited branch is already live; archive the original manually from your archive manager.

Development

npm install
node scripts/gen-paths.mjs   # type authority: a DeepSeek Harness checkout at ../deepseek-harness
npm run check                # typecheck + tests + build + artifact verification + pack dry-run

scripts/gen-paths.mjs maps @deepseek-ai/* type imports to a local DeepSeek Harness checkout (../deepseek-harness by default), so the plugin typechecks against the exact runtime it targets. Pass a different checkout path if yours lives elsewhere.

Native-support and deprecation policy

This plugin exists because DeepSeek Harness has no built-in message editing. When a tagged DeepSeek Harness release ships native support, this plugin becomes obsolete and will be deprecated through the human-approved sequence in AUTOUPDATE.md — never silently.

License

MIT