Evidence snapshot reviewed Sep 10, 2026GitHub checked Aug 21, 2026
Evidence-verifiedPlugin BundleFiles & DocumentsWeb Profile

dsh-md-notes

A DSH web plugin for local Markdown notes, conversation capture, and optional Git sync.

At a glance

What it does

A DSH web plugin for local Markdown notes, conversation capture, and optional Git sync.

Use cases
Files & DocumentsFilesDocumentationContext
Works with
Deepseek HarnessWebGit
Compatibility

Web Profile
DSH 0.1.3-alpha.1 (verified for dsh-md-notes 0.12.0)

Trust & status

Evidence-verified
Checked Sep 6, 2026, 1:50 PM UTC

Code-evidenced contributions

What it adds to DSH

Web UIMarkdown Notes Manager

Adds a sidebar entry and full-screen manager for workspace Markdown notes, including editing, preview, search, and conversation capture.

Mechanism evidence
Model ToolsNote References in Chat

Lets users select notes with @ and injects their contents into model context when a chat is sent.

Mechanism evidence

Before you choose it

dsh-md-notes adds a Markdown notes manager to DeepSeek Harness web. Create and edit workspace-bound notes, search titles and bodies, append a user question and assistant final answer to a note, and reference notes in chat with @. Git synchronization can use one shared repository or separate repositories per workspace.

Best for

DeepSeek Harness web users who want file-based notes alongside their conversations and workspaces.

Common tasks

  • Capture a question and assistant final answer into a Markdown note.
  • Search notes across workspaces and open a matching line.
  • Reference a note with @ so its content is available in chat context.
  • Keep workspace notes synchronized through an optional Git repository.

Permissions and data

The plugin declares local note storage, a local browser-to-DSH HTTP API, and optional external update and Git-sync activity.

Permissions
  • Read and write Markdown notes and meta.json under each workspace's .dsh-notes directory.
  • Manage Git clones under $DSH_HOME/md-notes-repos/ when Git sync is configured.
Data handling
  • Stores notes as plain Markdown files associated with a workspace.
  • Can inject selected note content into the model context when the user sends a chat message.
External services
  • Optional Git repository synchronization.
  • Optional npm registry version check; it can be disabled with checkUpdate: false.
Credentials
  • The supplied documentation states that the plugin collects and transmits no credentials.

Limitations

  • The documented verified combination is plugin 0.12.0 with DSH 0.1.3-alpha.1; DSH is described as lacking backward compatibility.
  • A DSH web restart is required after installation or upgrade.
  • Conversation capture excludes reasoning and records only the final answer.
  • Git conflict visualization and resolution are listed as roadmap work.

What DSHub checked

  • Package version 0.12.0, MIT license, and immutable Git bundle structure are evidenced.
  • The README documents DSH web installation, workspace note storage, optional Git sync, and the verified DSH 0.1.3-alpha.1 combination.

What DSHub did not check

  • Installation, runtime behavior, Git synchronization, and model-context injection were not executed for this review.
  • Registry package contents were not audited.

Pinned install

Install dsh-md-notes

This plugin bundle does not have a DSH Plugin install action. Use its source documentation for the delivery method.

Visit the source project

Maintainer source

Project README

View at commit 848e984
Maintainer-authored contentCaptured from README.md on Sep 6, 2026. The text and repository-relative media are fixed to commit 848e9840e6db with content hash 762b2a182315; provider-hosted badges may update independently. README commands are upstream documentation; the DSHub copy action above is the verified, version-pinned install.
<p align="center"> <img src="assets/dsh-md-notes.png" width="96" alt="dsh-md-notes" /> </p><h1 align="center">dsh-md-notes</h1><p align="center"> <a href="README.zh.md">中文</a> </p><p align="center"> DSH third-party plugin (bundle): <b>MD Notes Manager</b> <br /> <a href="docs/usage.md">User Guide</a> · <a href="docs/features.md">Features</a> · <a href="docs/architecture.md">Architecture</a> · <a href="docs/context.md">Context</a> · <a href="docs/ai-conflict.md">AI Conflict</a> · <a href="docs/TODO.md">Roadmap</a> · <a href="CHANGELOG.md">Changelog</a> </p>

Overview

A note-taking plugin for DeepSeek Harness (DSH). It provides a full MD notes manager and MD notes editor, letting you quickly capture conversation content into notes. Notes can be maintained by syncing to a Git repository.

Who it's for: DSH web users who want local, file-based notes (no database, no cloud) — capture a conversation into a note with one click, keep editing the .md anywhere, and back up / sync with a Git repository.

Current features:

  • Sidebar notes entry → full-screen notes manager: per-workspace note list (grouped, collapsible), markdown edit/preview, save, delete (in-page confirm), create with one click.
  • Note search: a search box in the manager's top bar scans every workspace — titles and bodies (space-separated keywords, AND, case-insensitive); results are grouped by workspace with highlighted matched lines, and clicking a hit opens the note in the editor on that line with the keyword selected.
  • Assistant-message action (next to copy) → pick or create a note and append that conversation (user question + answer) to it instantly — the text is captured from the conversation itself, so there's no waiting; section labels are localized (reasoning is not captured — only the final answer).
  • Reference notes in chat (@): type @ to pick notes (cross-workspace included); on send the plugin's backend injects each note's content into the model context, so the model can cite it without being asked to read files.
  • Git sync (optional, URL-driven): shared repo mode (one repo for all workspaces, per-workspace folders) or own repos mode (per workspace: URL + branch + subpath). Push = mirror-sync (deletions included), Update = pull with three-way conflict confirmation, auto-pull on open, merge-remote-and-retry. Each workspace shows a Git sync card in the manager: "Synced" / "N unpushed" status, plus a hint when the remote has new commits.
  • Note write mutex: writes to the same note are locked across sessions — the sidebar entry, picker and manager stay in sync until the write finishes.
  • Settings panel (dsh Settings → MD Notes): mode, repo URL/branch/subpath, auto-pull, commit author — with dsh-styled form controls.
  • Theme & i18n: token-based colors (light/dark), UI copy follows dsh's language (Chinese / English), error messages localized.
  • Update notifications: a yellow "Update available" tag appears when a newer npm version exists.

On the roadmap (see docs/TODO.md): visual Git conflict rendering & resolution, note capability enhancements (TOC / wiki links & backlinks), and interaction UX polish (dirty-editor reminders, save shortcut, etc.).

Compatibility

dsh iterates fast and provides no backward compatibility, so a fixed dsh version only matches fixed plugin versions. Verified combinations are listed below (full adaptation history in docs/compatibility.md):

Plugin version dsh version Verified on
0.12.0 0.1.3-alpha.1 2026-09-06
0.11.0 0.1.3-alpha.1 2026-09-04
0.10.1 0.1.3-alpha.1 2026-09-04

The plugin is not pinned to a specific mainline commit; pin the plugin version at install time if you need a fixed combination (e.g. dsh plugin --profile web add dsh-md-notes@0.12.0). Runtime dependencies (@deepseek-ai/*, react) are declared as optional peer dependencies and resolve from the dsh installation.

Install / Uninstall

Prerequisites: dsh CLI installed, target profile is web.

Install from npm (recommended):

dsh plugin --profile web add dsh-md-notes

Then restart dsh web (bundle layer and client package metadata are cached in the process; a restart is required for changes to take effect).

Upgrade:

dsh plugin --profile web update dsh-md-notes

A restart of dsh web is required for it to take effect.

Uninstall:

dsh plugin --profile web remove dsh-md-notes

For development/debugging from source: run dsh plugin --profile web add ./dsh-md-notes from the parent directory of the plugin project.

Quick start

  1. Install the plugin (above), restart dsh web.
  2. Create a note: click the notes entry at the bottom of the sidebar (above Settings) → click + on a workspace row → in the dialog enter a title (default "Untitled note <date>") and an optional file name → type in the editor → Save.
  3. Capture a conversation: below any assistant answer, click the notes icon (next to copy) → pick a target note (or create one on the spot) → Write to note. The user question + answer are appended to the note as a "<session title> -- <timestamp>" section.
  4. Reference a note: type @ in the chat input to pick a note (cross-workspace included); on send the note's content enters the model context automatically.

Note files live in each workspace's .dsh-notes/ directory (<workspace>/.dsh-notes); you can open and edit them directly with any editor. Git sync is optional — point the plugin at a repo URL and it keeps notes in sync (shared repo or per-workspace repo).

For everything the plugin can do — the notes manager, capturing conversations, Git sync (shared / per-workspace repos), pushing/updating, conflict handling, and the settings panel — see the User Guide.

Configuration

All options are plugin Config keys, overridable in the profile's cordis.patch.yml (a patch replaces the whole config of the row):

- id: md-notes
  config:
    gitMode: 'off'               # 'off' | 'shared' | 'own'
    gitAutoPull: true            # pull remote before opening a note

The HTTP API prefix is fixed at /plugins/md-notes (the browser frontend hardcodes the same constant, so it is intentionally not configurable).

Key Default Meaning
gitMode 'off' Git sync mode: 'off' off / 'shared' shared repo / 'own' per-workspace repos.
gitAutoPull true Pull the remote before opening a note.
checkUpdate true Let the backend query registry.npmjs.org for a newer plugin version; false keeps it fully offline.

There are no environment variables and no secrets in this plugin's configuration.

Permissions & data

  • Filesystem: reads and writes notes as plain .md files (plus a meta.json sidecar) under each workspace's .dsh-notes directory (notes are workspace-bound); git operations touch only the plugin-managed clones under $DSH_HOME/md-notes-repos/.
  • Network: a loopback HTTP API (POST <route>, browser ↔ local dsh server) and the icon served from the same origin; the only other outbound call is the optional npm update check (registry.npmjs.org, fully off with checkUpdate: false). No telemetry, no other external calls.
  • Credentials: none collected or transmitted.

Troubleshooting

Symptom Fix
Changes don't appear after install/upgrade Restart dsh web — bundle layer and client metadata are cached in the process.
Icon looks stale Hard-refresh the page; the icon is served with no-cache and reflects assets/dsh-md-notes.svg on every request.
Plugin doesn't load Verify the layer: dsh --profile web --dump-config and look for the md-notes row.
Installed from git and add failed pnpm ≥10 blocks build scripts by default; add the printed package key under allowBuilds in the profile's pnpm-workspace.yaml, then re-run add.
Notes can't be created/saved Make sure the workspace's .dsh-notes points to an existing writable directory (create a workspace in the dsh sidebar first).
Something feels slow Grab request timings with the browser probe in docs/debug.md — tells queueing vs server time in seconds.

Rollback: dsh plugin --profile web remove dsh-md-notes restores the previous state (notes files are untouched).

Contributing

See CONTRIBUTING.md for details.

Repository structure

Path Contents
src/ Source code (Node backend + browser frontend)
src/host/ Notes domain (notes.ts) + Git (git.ts) + HTTP layer (http.ts) + context injection (context-inject.ts) + write mutex (keyed-lock.ts)
src/client/ Browser frontend: entry (index.ts) + feature modules under features/ (one directory per feature; when one outgrows a single file it splits out feature-private components/ and hooks/ subdirectories — see NotesManager/ for the pattern, docs/architecture.md)
src/client/features/locales/ zh/en UI dictionaries (dsh locale namespace md-notes)
assets/ Plugin icon (SVG source + PNG)
docs/ Docs: usage.md/usage.zh.md (user guide), features.md (functional), architecture.md, context.md (@ references), git.md (Git sync), ai-conflict.md (AI conflict resolution), state.md / write-lock.md (state & write-mutex design), manager-redesign.md (manager redesign), search.md (note search design), debug.md (performance), compatibility.md / compatibility.zh.md (dsh ↔ plugin version compatibility matrix, en/zh), TODO.md
scripts/ Dev tooling (e.g. link-deps.mjs)
lib/ Build output (gitignored; what npm publishes)

License & security

Licensed under the MIT License (see LICENSE).

Security issues: please report them privately via the repository's Security Advisory rather than a public issue, so they can be addressed before disclosure.

Operate deliberately

Install and manage

Prerequisites and target Profile

Target Web Profile

Delivery Dsh Bundle Git — XieZongChen/dsh-md-notes#848e9840e6dbf187249f692365eb7bc050234ab9

Verify, update, and remove

Show lifecycle commands
Verify
dsh plugin --profile web list

Compatibility and access

Verified with DSH 0.1.3 Alpha.1 for plugin 0.12.0 DSH 0.1.3-alpha.1 (verified for dsh-md-notes 0.12.0)

Review compatibility evidence

Risk facts

Filesystem

Writes workspace notes

Evidence
Network

Optional Git sync and npm update check

Evidence
Evidence and editorial reviewManifest, Bundle patch, distribution and freshness

Immutable evidence

Review status and source activity

AI reviewed

Use the pinned repository source if you prefer the evidenced immutable Git bundle; review the project documentation before enabling Git sync.

AI reviewed Sep 10, 2026, 11:36 AM UTCGitHub facts last checked Sep 10, 2026, 11:36 AM UTC

No material source change has been recorded since this evidence baseline.

Next step

Follow the Plugin installation workflow

Subscribe to material changes for dsh-md-notes