dsh-better-edit
Hash-anchored read, edit, batch edit, and undo tools for DeepSeek Harness.
Install
$ dsh plugin --profile <name> add dsh-better-edit # from npmPlugin Overview & Capabilities
AI-assisted organization based on the public repository snapshot. The content must be grounded in source evidence and does not replace compatibility or security verification.
Key Capabilities
- Provides hash-prefixed file reads with offset and limit paging.
- Edits line ranges using hash anchors instead of echoed old text or line numbers.
- Rejects stale, unserved, unverified, and ambiguous edit ranges before writing.
- Supports up to 32 edits in one atomic batch_edit call.
- Provides undo_last_edit when the file still matches the stored post-edit state; undo history persists across restarts.
- Stores snapshots, served-state records, and undo history in a per-workspace SQLite store.
- Integrates through a Cordis bundle patch and shadows built-in read/edit tools on the agent scope.
Useful For
- Making repeated or structural code edits while retaining stable references to previously read lines.
- Reducing replacement-text transcription in agent-driven file edits.
- Preventing edits from silently applying to stale or incorrectly resolved file ranges.
- Applying several dependent file modifications atomically.
- Reverting the most recent hashline edit after a restart when the file has not changed.
Who It Fits
- DeepSeek Harness users working with coding agents.
- Developers making multi-step edits to source files.
- Users who need verified, content-addressed edit ranges.
Documented Limitations
- Requires Node.js ^22.19.0 or >=24.0.0 and a DSH profile.
- Hashline editing applies only to readable, writable UTF-8 text files; directories, binary files, and non-UTF-8 files are rejected.
- Files over the plugin's hashline line ceiling are rejected for editing.
- A file must be read in the session before it can be edited, and ranges must have been served to the model.
- batch_edit is limited to 32 edits per call.
- Undo is unavailable if the file changed or was deleted after the edit, and earlier shared-home undo history is not migrated to the per-workspace layout.
- The README notes DSH is in developer preview and the plugin is pinned to DSH 0.1.0-rc.6, with future breaking changes possible.
DSH Compatibility
Version-specific runtime evidence collected by DSH Plugin. A missing result means we have not tested that combination yet.
Security Signals
Objective signals discovered from package metadata and source inspection. These are not a guarantee that a plugin is safe.
package.json declares 4 runtime, 11 development, 6 peer, and 0 optional dependencies.
package.json declares DSH bundle metadata.
GitHub reports the repository license as MIT.
A root package.json was captured and can be inspected by the registry.
Public GitHub source metadata is available for this registry snapshot.
Source & Registry Notes
Public provenance, Registry classification, and the latest source check for this entry, kept separate from runtime verification.
- Source repository
- Rianico/dsh-better-edit
- Registry source
- GitHub · dsh-plugin topic
- Registry classification
- Plugin
- Source checked
- 9b711c8 · 2026-08-19
This project is independently indexed from public source information. DSH Plugin is not affiliated with DeepSeek or the plugin author. Always check the author repository before installation.
Repository Activity
- GitHub stars
- 10GitHub stars
- Forks
- 2
- Open issues
- 1
- Last commit
- 2026-08-18
- Last release
- 2026-08-18
Related DSH Plugins
Ranked by overlapping capabilities, use cases, plugin type, categories, and DSH profile.
Crash-rescue undo and rollback plugin for DeepSeek Harness, with snapshots, Safe Mode, and offline recovery tools.
View plugin →Vision routing and pixel-level image tools for DeepSeek Harness Web.
View plugin →A DeepSeek Harness notification plugin with model-facing tools, automatic session-event alerts, and multi-channel delivery.
View plugin →A DeepSeek Harness plugin that bridges local DSH agents into Feishu/Lark bots.
View plugin →